diff --git a/DesktopEdge/MainWindow.xaml.cs b/DesktopEdge/MainWindow.xaml.cs
index 0ae3c81c..b937e43f 100644
--- a/DesktopEdge/MainWindow.xaml.cs
+++ b/DesktopEdge/MainWindow.xaml.cs
@@ -924,6 +924,11 @@ namespace ZitiDesktopEdge {
idItem.OnStatusChanged += Id_OnStatusChanged;
idItem.Identity = id;
IdList.Children.Add(idItem);
+ if (IdentityMenu.Visibility==Visibility.Visible) {
+ if (id.Fingerprint==IdentityMenu.Identity.Fingerprint) {
+ IdentityMenu.Identity = id;
+ }
+ }
}
//IdList.Height = ;
DoubleAnimation animation = new DoubleAnimation((double)(ids.Length * 64), TimeSpan.FromSeconds(.3));
diff --git a/DesktopEdge/Views/ItemRenderers/ServiceInfo.xaml.cs b/DesktopEdge/Views/ItemRenderers/ServiceInfo.xaml.cs
index 4458bf5b..fb44001c 100644
--- a/DesktopEdge/Views/ItemRenderers/ServiceInfo.xaml.cs
+++ b/DesktopEdge/Views/ItemRenderers/ServiceInfo.xaml.cs
@@ -1,82 +1,86 @@
using NLog;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using ZitiDesktopEdge.Models;
-using ZitiDesktopEdge.ServiceClient;
-
-namespace ZitiDesktopEdge {
- ///
- /// Interaction logic for MenuItem.xaml
- ///
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using ZitiDesktopEdge.Models;
+using ZitiDesktopEdge.ServiceClient;
+
+namespace ZitiDesktopEdge {
+ ///
+ /// Interaction logic for MenuItem.xaml
+ ///
public partial class ServiceInfo : UserControl {
- private static readonly Logger logger = LogManager.GetCurrentClassLogger();
-
- private ZitiService _info;
-
- public delegate void Mesage(string message);
- public event Mesage OnMessage;
- public delegate void Details(ZitiService info);
- public event Details OnDetails;
-
- public ZitiService Info {
- get {
- return _info;
- }
- set {
- this._info = value;
- MainEdit.ToolTip = this._info.ToString();
- MainEdit.Text = this._info.ToString();
- MainLabel.ToolTip = this._info.Name;
- MainLabel.Text = this._info.Name;
- WarningColumn.Width = new GridLength(0);
- if (this._info.Warning.Length > 0) {
- WarnIcon.ToolTip = this._info.Warning;
- WarnIcon.Visibility = Visibility.Visible;
- WarningColumn.Width = new GridLength(30);
+ private static readonly Logger logger = LogManager.GetCurrentClassLogger();
+
+ private ZitiService _info;
+
+ public delegate void Mesage(string message);
+ public event Mesage OnMessage;
+ public delegate void Details(ZitiService info);
+ public event Details OnDetails;
+
+ public ZitiService Info {
+ get {
+ return _info;
+ }
+ set {
+ this._info = value;
+ MainEdit.ToolTip = this._info.ToString();
+ MainEdit.Text = this._info.ToString();
+ MainLabel.ToolTip = this._info.Name;
+ MainLabel.Text = this._info.Name;
+ WarningColumn.Width = new GridLength(0);
+ if (this._info.Warning.Length > 0) {
+ WarnIcon.ToolTip = this._info.Warning;
+ WarnIcon.Visibility = Visibility.Visible;
+ WarningColumn.Width = new GridLength(30);
}
if (this._info.IsAccessable) {
// the service is accessible - failing posture checks "probably" should be ignored...
logger.Debug("Service {0} is marked as accessible. failing posture checks probably do not matter", this._info.Name);
} else {
if (this._info.PostureChecks != null && this._info.PostureChecks.Length > 0) {
+ string checks = "";
+ bool hasFailing = false;
for (int i = 0; i < this._info.PostureChecks.Length; i++) {
if (!this._info.PostureChecks[i].IsPassing) {
- WarnIcon.ToolTip = "Posture Check Failing: " + this._info.PostureChecks[i].QueryType;
+ hasFailing = true;
+ checks += ((checks.Length>0)?", ":"")+this._info.PostureChecks[i].QueryType;
WarnIcon.Visibility = Visibility.Visible;
WarningColumn.Width = new GridLength(30);
}
}
- }
- }
- }
- }
-
- public ServiceInfo() {
- InitializeComponent();
- }
-
- private void MainEdit_PreviewMouseUp(object sender, MouseButtonEventArgs e) {
- (sender as TextBox).SelectAll();
- }
-
- private void WarnIcon_MouseUp(object sender, MouseButtonEventArgs e) {
- OnMessage?.Invoke(WarnIcon.ToolTip.ToString());
- }
-
- private void DetailIcon_MouseUp(object sender, MouseButtonEventArgs e) {
- OnDetails?.Invoke(Info);
- }
- }
-}
+ if (hasFailing) WarnIcon.ToolTip = "Posture Check Failing: " + checks;
+ }
+ }
+ }
+ }
+
+ public ServiceInfo() {
+ InitializeComponent();
+ }
+
+ private void MainEdit_PreviewMouseUp(object sender, MouseButtonEventArgs e) {
+ (sender as TextBox).SelectAll();
+ }
+
+ private void WarnIcon_MouseUp(object sender, MouseButtonEventArgs e) {
+ OnMessage?.Invoke(WarnIcon.ToolTip.ToString());
+ }
+
+ private void DetailIcon_MouseUp(object sender, MouseButtonEventArgs e) {
+ OnDetails?.Invoke(Info);
+ }
+ }
+}
diff --git a/DesktopEdge/Views/Screens/IdentityDetails.xaml b/DesktopEdge/Views/Screens/IdentityDetails.xaml
index ce418a7d..748816b4 100644
--- a/DesktopEdge/Views/Screens/IdentityDetails.xaml
+++ b/DesktopEdge/Views/Screens/IdentityDetails.xaml
@@ -118,6 +118,7 @@
+