Fix Id Heights and off switch bug

This commit is contained in:
Jeremy Tellier - ROG
2020-10-29 22:07:02 +01:00
parent 1baf3ccf87
commit 7cede82449
5 changed files with 67 additions and 14 deletions
+5 -5
View File
@@ -63,14 +63,14 @@
</StackPanel>
</Grid>
<Grid x:Name="ConfirmView" Visibility="Collapsed" Width="350">
<Grid x:Name="ConfirmView" Visibility="Collapsed" Width="400">
<Rectangle RadiusX="10" RadiusY="10">
<Rectangle.Fill>
<SolidColorBrush Color="Black"/>
</Rectangle.Fill>
</Rectangle>
<Canvas>
<Rectangle Name="ConfirmArrow" HorizontalAlignment="Center" Height="20" Fill="Black" Width="20" Canvas.Left="165" ClipToBounds="True" Canvas.Bottom="-10">
<Rectangle Name="ConfirmArrow" HorizontalAlignment="Center" Height="20" Fill="Black" Width="20" Canvas.Left="185" ClipToBounds="True" Canvas.Bottom="-10">
<Rectangle.LayoutTransform>
<RotateTransform Angle="-45"/>
</Rectangle.LayoutTransform>
@@ -91,11 +91,11 @@
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Label Name="ErrorTitle" Foreground="White" Content="Confirm Forget" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans"/>
<TextBlock TextWrapping="WrapWithOverflow" Foreground="LightGray" Padding="10" Text="If you delete this identity you will no longer have access to the resources that it grants you." Grid.Row="2" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center" FontSize="14" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans"/>
<TextBlock TextWrapping="WrapWithOverflow" Foreground="LightGray" Padding="30" Text="If you delete this identity you will no longer have access to the resources that it grants you." Grid.Row="2" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center" FontSize="14" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans"/>
<Grid Grid.Row="4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="160"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button x:Name="CancelConfirmButton" Grid.Column="0" Margin="40,0,20,0" Cursor="Hand" BorderThickness="0" Foreground="#FFFFFF" Background="#0068F9" Content="Close" Click="CancelConfirmButton_Click" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans">
<Button.Resources>
+3 -1
View File
@@ -119,7 +119,9 @@ namespace ZitiDesktopEdge {
}
private void ForgetIdentity(object sender, MouseButtonEventArgs e) {
ConfirmView.Visibility = Visibility.Visible;
if (this.Visibility==Visibility.Visible) {
ConfirmView.Visibility = Visibility.Visible;
}
}
private void CancelConfirmButton_Click(object sender, RoutedEventArgs e) {
+22 -2
View File
@@ -205,6 +205,7 @@
</StackPanel>
<local:MainMenu x:Name="MainMenu" Visibility="Collapsed"></local:MainMenu>
<local:IdentityDetails x:Name="IdentityMenu" Visibility="Collapsed"></local:IdentityDetails>
<Grid x:Name="NoServiceView" Visibility="Collapsed" >
<Rectangle RadiusX="10" RadiusY="10">
<Rectangle.Fill>
@@ -222,8 +223,27 @@
</Grid.RowDefinitions>
<Label x:Name="ErrorMsg" Foreground="White" Content="Service Not Started" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans"/>
<Label x:Name="ErrorMsgDetail" Foreground="LightGray" Content="Start the Ziti Tunnel Service to get started" Grid.Row="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans"/>
<Label Name="CloseServiceErrorButton" Grid.Row="3" Foreground="#F4044D" FontWeight="SemiBold" Content="Close" Cursor="Hand" MouseDown="CloseError" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" HorizontalAlignment="Center"></Label>
<Label Name="QuitButton" Grid.Row="4" Foreground="#F4044D" FontWeight="SemiBold" Content="Quit Ziti Desktop Edge" Cursor="Hand" MouseDown="CloseApp" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans" HorizontalAlignment="Center"></Label>
<Grid Grid.Row="4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button x:Name="CloseErrorButton" Grid.Column="0" Margin="40,0,20,0" Cursor="Hand" BorderThickness="0" Foreground="#FFFFFF" Background="#0068F9" Content="Close Error" Click="CloseError" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans">
<Button.Resources>
<Style TargetType="Border">
<Setter Property="CornerRadius" Value="5"/>
</Style>
</Button.Resources>
</Button>
<Button x:Name="QuitButton" Grid.Column="1" Margin="20,0,40,0" Cursor="Hand" BorderThickness="0" Foreground="#FFFFFF" Background="#F4044D" Content="Quit App" Click="CloseApp" FontFamily="pack://application:,,,/Assets/Fonts/#Open Sans">
<Button.Resources>
<Style TargetType="Border">
<Setter Property="CornerRadius" Value="5"/>
</Style>
</Button.Resources>
</Button>
</Grid>
</Grid>
</Grid>
<Grid x:Name="LoadingScreen" Visibility="Collapsed" Width="400">
+31 -6
View File
@@ -377,21 +377,48 @@ namespace ZitiDesktopEdge {
if (height > _maxHeight) height = _maxHeight;
this.Height = height;
IdentityMenu.SetHeight(this.Height-160);
bool isActive = false;
for (int i=0; i<ids.Length; i++) {
IdentityItem id = new IdentityItem();
if (ids[i].IsEnabled) {
isActive = true;
SetNotifyIcon("green");
ConnectButton.Visibility = Visibility.Collapsed;
DisconnectButton.Visibility = Visibility.Visible;
}
id.OnStatusChanged += Id_OnStatusChanged;
id.Identity = ids[i];
//id.OnClick += OpenIdentity;
IdList.Children.Add(id);
}
IdList.Height = (double)(ids.Length * 60);
if (isActive) {
ConnectButton.Visibility = Visibility.Collapsed;
DisconnectButton.Visibility = Visibility.Visible;
} else {
ConnectButton.Visibility = Visibility.Visible;
DisconnectButton.Visibility = Visibility.Collapsed;
}
IdList.Height = (double)(ids.Length * 64);
MessageBox.Show(IdList.Height + " " + IdListScroller.Height + " " + ids.Length);
if (this._isAttached&&repaint) Placement();
}
private void Id_OnStatusChanged(bool attached) {
bool isActive = false;
for (int i = 0; i < IdList.Children.Count; i++) {
IdentityItem item = IdList.Children[i] as IdentityItem;
if (item.ToggleSwitch.Enabled) {
isActive = true;
break;
}
}
if (isActive) {
ConnectButton.Visibility = Visibility.Collapsed;
DisconnectButton.Visibility = Visibility.Visible;
} else {
ConnectButton.Visibility = Visibility.Visible;
DisconnectButton.Visibility = Visibility.Collapsed;
}
}
public void Placement() {
var desktopWorkingArea = System.Windows.SystemParameters.WorkArea;
if (_isAttached) {
@@ -403,8 +430,6 @@ namespace ZitiDesktopEdge {
IdentityMenu.Arrow.Visibility = Visibility.Collapsed;
Arrow.Visibility = Visibility.Collapsed;
}
Debug.WriteLine("Placement: " + this.Left + " " + desktopWorkingArea.Right + " " + this.Width + " " + _right);
Debug.WriteLine("Place: " + this.Top + " " + desktopWorkingArea.Bottom + " " + this.Height + " " + _bottom);
}
private void OpenIdentity(ZitiIdentity identity) {
@@ -553,12 +578,12 @@ namespace ZitiDesktopEdge {
ErrorView.Visibility = Visibility.Visible;
}
private void CloseError(object sender, MouseButtonEventArgs e) {
private void CloseError(object sender, RoutedEventArgs e) {
ErrorView.Visibility = Visibility.Collapsed;
NoServiceView.Visibility = Visibility.Collapsed;
}
private void CloseApp(object sender, MouseButtonEventArgs e) {
private void CloseApp(object sender, RoutedEventArgs e) {
Application.Current.Shutdown();
}
@@ -20,6 +20,9 @@ namespace ZitiDesktopEdge {
/// </summary>
public partial class IdentityItem:UserControl {
public delegate void StatusChanged(bool attached);
public event StatusChanged OnStatusChanged;
public ZitiIdentity _identity;
public ZitiIdentity Identity {
get {
@@ -50,6 +53,9 @@ namespace ZitiDesktopEdge {
private void ToggleIdentity(bool on) {
try {
if (OnStatusChanged != null) {
OnStatusChanged(on);
}
ServiceClient.Client client = (ServiceClient.Client)Application.Current.Properties["ServiceClient"];
ServiceClient.Identity id = client.IdentityOnOff(_identity.Fingerprint, on);
this.Identity.IsEnabled = on;