Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 52 additions & 46 deletions Source/NETworkManager/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,50 +16,52 @@
xmlns:networkManager="clr-namespace:NETworkManager"
xmlns:models="clr-namespace:NETworkManager.Models;assembly=NETworkManager.Models"
mc:Ignorable="d"
Style="{DynamicResource DefaultWindow}"
dialogs:DialogParticipation.Register="{Binding}"
MinWidth="800" Width="1024" Height="768" MinHeight="600"
Style="{DynamicResource ResourceKey=DefaultWindow}"
dialogs:DialogParticipation.Register="{Binding }"
MinWidth="800" MinHeight="600"
Width="1024" Height="768"
SaveWindowPosition="True" TitleAlignment="Left"
ContentRendered="MetroMainWindow_ContentRendered" StateChanged="MetroWindowMain_StateChanged"
Activated="MetroMainWindow_Activated" Closing="MetroWindowMain_Closing"
d:DataContext="{d:DesignInstance networkManager:MainWindow}">
<!-- MetroDialogStyles.xaml must be adjusted if MinWidth/MinHeight is changed -->
<mah:MetroWindow.Resources>
<converters:BooleanToVisibilityCollapsedConverter x:Key="BooleanToVisibilityCollapsedConverter" />
<converters:BooleanReverseConverter x:Key="BooleanReverseConverter"></converters:BooleanReverseConverter>
<converters:ApplicationNameToTranslatedStringConverter x:Key="ApplicationNameToTranslatedStringConverter" />
<converters:ApplicationNameToIconConverter x:Key="ApplicationNameToIconConverter" />
<converters:IntZeroToVisibilityCollapsedConverter x:Key="IntZeroToVisibilityCollapsedConverter" />
<converters:BooleanReverseToVisibilityCollapsedConverter x:Key="BooleanReverseToVisibilityCollapsedConverter" />
<!-- ReSharper disable once Xaml.RedundantResource - Used in TrayIcon -->
<ContextMenu x:Key="ContextMenuNotifyIcon" MinWidth="200" Opened="ContextMenu_Opened" x:Shared="False">
<MenuItem Header="{x:Static localization:Strings.Show}" Command="{Binding ShowWindowCommand}">
<MenuItem Header="{x:Static Member=localization:Strings.Show}" Command="{Binding Path=ShowWindowCommand}">
<MenuItem.Icon>
<Rectangle Width="16" Height="16" Fill="{DynamicResource MahApps.Brushes.Gray3}">
<Rectangle Width="16" Height="16" Fill="{DynamicResource ResourceKey=MahApps.Brushes.Gray3}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Material Kind=OpenInNew}" />
</Rectangle.OpacityMask>
</Rectangle>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="{x:Static localization:Strings.Status}" Command="{Binding OpenStatusWindowCommand}">
<MenuItem Header="{x:Static Member=localization:Strings.Status}" Command="{Binding Path=OpenStatusWindowCommand}">
<MenuItem.Icon>
<Rectangle Width="16" Height="16" Fill="{DynamicResource MahApps.Brushes.Gray3}">
<Rectangle Width="16" Height="16" Fill="{DynamicResource ResourceKey=MahApps.Brushes.Gray3}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Material Kind=Pulse}" />
</Rectangle.OpacityMask>
</Rectangle>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="{x:Static localization:Strings.Settings}" Command="{Binding OpenSettingsFromTrayCommand}">
<MenuItem Header="{x:Static Member=localization:Strings.Settings}" Command="{Binding Path=OpenSettingsFromTrayCommand}">
<MenuItem.Icon>
<Rectangle Width="16" Height="16" Fill="{DynamicResource MahApps.Brushes.Gray3}">
<Rectangle Width="16" Height="16" Fill="{DynamicResource ResourceKey=MahApps.Brushes.Gray3}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Uniform" Visual="{iconPacks:MaterialLight Kind=Cog}" />
</Rectangle.OpacityMask>
</Rectangle>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="{x:Static localization:Strings.Close}" Command="{Binding CloseApplicationCommand}">
<MenuItem Header="{x:Static Member=localization:Strings.Close}" Command="{Binding Path=CloseApplicationCommand}">
<MenuItem.Icon>
<Rectangle Width="16" Height="16" Fill="Red">
<Rectangle.OpacityMask>
Expand All @@ -71,27 +73,27 @@
</ContextMenu>
</mah:MetroWindow.Resources>
<mah:MetroWindow.InputBindings>
<KeyBinding Command="{Binding OpenRunCommand}" Modifiers="Control+Shift" Key="P" />
<KeyBinding Command="{Binding Path=OpenRunCommand}" Modifiers="Control+Shift" Key="P" />
</mah:MetroWindow.InputBindings>
<mah:MetroWindow.WindowButtonCommands>
<mah:WindowButtonCommands Template="{DynamicResource MahApps.Templates.WindowButtonCommands.Win10}" />
<mah:WindowButtonCommands Template="{DynamicResource ResourceKey=MahApps.Templates.WindowButtonCommands.Win10}" />
</mah:MetroWindow.WindowButtonCommands>
<mah:MetroWindow.LeftWindowCommands>
<mah:WindowCommands ShowSeparators="False">
<!-- Fix some design issues with margin -2 and -1 -->
<Grid Background="{DynamicResource MahApps.Brushes.Gray10}"
Visibility="{Binding Source={x:Static settings:ConfigurationManager.Current}, Path=IsAdmin, Converter={StaticResource BooleanToVisibilityCollapsedConverter}}"
<Grid Background="{DynamicResource ResourceKey=MahApps.Brushes.Gray10}"
Visibility="{Binding Source={x:Static Member=settings:ConfigurationManager.Current}, Path=IsAdmin, Converter={StaticResource ResourceKey=BooleanToVisibilityCollapsedConverter}}"
Margin="-2,-1,0,0">
<TextBlock Text="Administrator" Foreground="{DynamicResource MahApps.Brushes.Gray3}"
Style="{StaticResource CenterTextBlock}" Margin="10,0" />
<TextBlock Text="Administrator" Foreground="{DynamicResource ResourceKey=MahApps.Brushes.Gray3}"
Style="{StaticResource ResourceKey=CenterTextBlock}" Margin="10,0" />
</Grid>
</mah:WindowCommands>
</mah:MetroWindow.LeftWindowCommands>
<mah:MetroWindow.RightWindowCommands>
<mah:WindowCommands ShowSeparators="False" Visibility="{Binding Source={x:Static settings:ConfigurationManager.Current}, Path=IsChildWindowOpen, Converter={StaticResource BooleanReverseToVisibilityCollapsedConverter}}">
<Button Command="{Binding OpenRunCommand}"
<mah:WindowCommands ShowSeparators="False" IsEnabled="{Binding Source={x:Static Member=settings:ConfigurationManager.Current}, Path=IsChildWindowOpen, Converter={StaticResource ResourceKey=BooleanReverseConverter}}">
<Button Command="{Binding Path=OpenRunCommand}"
Visibility="{Binding Path=FlyoutRunCommandIsOpen, Converter={StaticResource ResourceKey=BooleanReverseToVisibilityCollapsedConverter}}"
ToolTip="{x:Static localization:Strings.ToolTip_RunCommandWithHotKey}"
ToolTip="{x:Static Member=localization:Strings.ToolTip_RunCommandWithHotKey}"
Cursor="Hand"
Focusable="False">
<StackPanel Orientation="Horizontal">
Expand All @@ -103,56 +105,60 @@
</Rectangle>
</StackPanel>
</Button>
<Button Command="{Binding RestartApplicationCommand}"
<Button Command="{Binding Path=RestartApplicationCommand}"
Opacity="1"
Visibility="{Binding IsRestartRequired, Converter={StaticResource BooleanToVisibilityCollapsedConverter}}"
ToolTip="{x:Static localization:Strings.RestartRequired}"
Visibility="{Binding Path=IsRestartRequired, Converter={StaticResource ResourceKey=BooleanToVisibilityCollapsedConverter}}"
ToolTip="{x:Static Member=localization:Strings.RestartRequired}"
Cursor="Hand">
<Rectangle Width="20" Height="20"
Fill="{DynamicResource MahApps.Brushes.Accent}">
Fill="{DynamicResource ResourceKey=MahApps.Brushes.Accent}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Material Kind=ReloadAlert}" />
</Rectangle.OpacityMask>
</Rectangle>
</Button>
<Button Command="{Binding OpenWebsiteCommand}"
<Button Command="{Binding Path=OpenWebsiteCommand}"
Opacity="1"
Visibility="{Binding IsUpdateAvailable, Converter={StaticResource BooleanToVisibilityCollapsedConverter}}"
CommandParameter="{Binding UpdateReleaseUrl, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding Path=IsUpdateAvailable, Converter={StaticResource ResourceKey=BooleanToVisibilityCollapsedConverter}}"
CommandParameter="{Binding Path=UpdateReleaseUrl, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
Cursor="Hand"
ToolTip="{x:Static localization:Strings.UpdateAvailable}"
ToolTip="{x:Static Member=localization:Strings.UpdateAvailable}"
Focusable="False">
<Rectangle Width="20" Height="20"
Fill="{DynamicResource MahApps.Brushes.Accent}">
Fill="{DynamicResource ResourceKey=MahApps.Brushes.Accent}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Material Kind=RocketLaunchOutline}" />
</Rectangle.OpacityMask>
</Rectangle>
</Button>
<Button Command="{Binding UnlockProfileCommand}"
<Button Command="{Binding Path=UnlockProfileCommand}"
Opacity="1"
Visibility="{Binding Source={x:Static settings:ConfigurationManager.Current}, Path=ProfileManagerShowUnlock, Converter={StaticResource BooleanToVisibilityCollapsedConverter}}"
CommandParameter="{Binding UpdateReleaseUrl, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding Source={x:Static Member=settings:ConfigurationManager.Current}, Path=ProfileManagerShowUnlock, Converter={StaticResource ResourceKey=BooleanToVisibilityCollapsedConverter}}"
CommandParameter="{Binding Path=UpdateReleaseUrl, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
Cursor="Hand"
ToolTip="{x:Static localization:Strings.UnlockProfile}"
ToolTip="{x:Static Member=localization:Strings.UnlockProfile}"
Focusable="False">
<Rectangle Width="20" Height="20"
Fill="{DynamicResource MahApps.Brushes.Accent}">
Fill="{DynamicResource ResourceKey=MahApps.Brushes.Accent}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Modern Kind=InterfacePassword}" />
</Rectangle.OpacityMask>
</Rectangle>
</Button>
<ComboBox ItemsSource="{Binding ProfileFiles}"
SelectedItem="{Binding SelectedProfileFile, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsDropDownOpen="{Binding IsProfileFileDropDownOpened}"
Background="{DynamicResource MahApps.Brushes.Gray10}"
<ComboBox ItemsSource="{Binding Path=ProfileFiles}"
SelectedItem="{Binding Path=SelectedProfileFile, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsDropDownOpen="{Binding Path=IsProfileFileDropDownOpened}"
Background="{DynamicResource ResourceKey=MahApps.Brushes.Gray10}"
BorderThickness="0"
MinWidth="180"
HorizontalAlignment="Left"
Focusable="False"
VerticalAlignment="Center"
Height="30">
<ComboBox.Resources>
<!-- ReSharper disable once Xaml.RedundantResource - Override MahApps default style -->
<SolidColorBrush x:Key="MahApps.Brushes.Control.Disabled" Color="{DynamicResource ResourceKey=MahApps.Colors.Gray8}" />
</ComboBox.Resources>
<ComboBox.ItemTemplate>
<DataTemplate>
<Grid>
Expand All @@ -162,7 +168,7 @@
<ColumnDefinition MinWidth="70" />
</Grid.ColumnDefinitions>
<Rectangle Grid.Column="0" Grid.Row="0" Width="20" Height="20"
Fill="{DynamicResource MahApps.Brushes.Gray3}">
Fill="{DynamicResource ResourceKey=MahApps.Brushes.Gray3}">
<Rectangle.Style>
<Style TargetType="Rectangle">
<Setter Property="OpacityMask">
Expand All @@ -172,7 +178,7 @@
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding IsEncrypted}" Value="True">
<DataTrigger Binding="{Binding Path=IsEncrypted}" Value="True">
<Setter Property="OpacityMask">
<Setter.Value>
<VisualBrush Stretch="Uniform"
Expand All @@ -184,14 +190,14 @@
</Style>
</Rectangle.Style>
</Rectangle>
<TextBlock Grid.Column="2" Grid.Row="0" Text="{Binding Name}" />
<TextBlock Grid.Column="2" Grid.Row="0" Text="{Binding Path=Name}" />
</Grid>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<Button Command="{Binding OpenWebsiteCommand}"
ToolTip="{x:Static localization:Strings.ToolTip_StarForkProjectOnGitHub}"
CommandParameter="{x:Static resources:Resources.NETworkManager_GitHubRepoUrl}"
<Button Command="{Binding Path=OpenWebsiteCommand}"
ToolTip="{x:Static Member=localization:Strings.ToolTip_StarForkProjectOnGitHub}"
CommandParameter="{x:Static Member=resources:Resources.NETworkManager_GitHubRepoUrl}"
Cursor="Hand"
Focusable="False">
<StackPanel Orientation="Horizontal">
Expand All @@ -204,9 +210,9 @@
</StackPanel>
</Button>

<Button Command="{Binding OpenWebsiteCommand}"
ToolTip="{x:Static localization:Strings.ToolTip_ReportIssueOrCreateFeatureRequest}"
CommandParameter="{x:Static resources:Resources.NETworkManager_GitHubNewIssueUrl}"
<Button Command="{Binding Path=OpenWebsiteCommand}"
ToolTip="{x:Static Member=localization:Strings.ToolTip_ReportIssueOrCreateFeatureRequest}"
CommandParameter="{x:Static Member=resources:Resources.NETworkManager_GitHubNewIssueUrl}"
Cursor="Hand"
Focusable="False">
<StackPanel Orientation="Horizontal">
Expand Down
2 changes: 2 additions & 0 deletions Source/NETworkManager/ViewModels/NetworkInterfaceViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -938,6 +938,8 @@ private async Task RemoveIPv4AddressAction()

private async void ReloadNetworkInterfaces()
{
Debug.WriteLine("ReloadNetworkInterfaces.............");

// Avoid multiple reloads
if(IsNetworkInterfaceLoading)
return;
Expand Down
Loading