Skip to content

Commit 653eb78

Browse files
committed
Button "open location" added
1 parent c111ef9 commit 653eb78

4 files changed

Lines changed: 78 additions & 41 deletions

File tree

Source/NETworkManager/Resources/Localization/Resources.de-DE.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,7 @@
481481
<system:String x:Key="String_Button_No">Nein</system:String>
482482
<system:String x:Key="String_Button_Overwrite">Überschreiben</system:String>
483483
<system:String x:Key="String_Button_MoveAndRestart">Verschieben &amp; neu starten</system:String>
484+
<system:String x:Key="String_Button_OpenLocation">Speicherort öffnen</system:String>
484485

485486
<!-- ContextMenuItem.Header -->
486487
<system:String x:Key="String_ContextMenu_Cut">Ausschneiden</system:String>

Source/NETworkManager/Resources/Localization/Resources.en-US.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,7 @@
481481
<system:String x:Key="String_Button_No">No</system:String>
482482
<system:String x:Key="String_Button_Overwrite">Overwrite</system:String>
483483
<system:String x:Key="String_Button_MoveAndRestart">Move &amp; Restart</system:String>
484+
<system:String x:Key="String_Button_OpenLocation">Open location</system:String>
484485

485486
<!-- ContextMenuItem.Header -->
486487
<system:String x:Key="String_ContextMenu_Cut">Cut</system:String>

Source/NETworkManager/ViewModels/SettingsSettingsViewModel.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using NETworkManager.Models.Settings;
33
using NETworkManager.Utilities;
44
using System;
5+
using System.Diagnostics;
56
using System.IO;
67
using System.Threading.Tasks;
78
using System.Windows;
@@ -380,6 +381,16 @@ private void BrowseFolderAction()
380381
LocationSelectedPath = dialog.SelectedPath;
381382
}
382383

384+
public ICommand OpenLocationCommand
385+
{
386+
get { return new RelayCommand(p => OpenLocationAction()); }
387+
}
388+
389+
private void OpenLocationAction()
390+
{
391+
Process.Start("explorer.exe", SettingsManager.GetSettingsLocation());
392+
}
393+
383394
public ICommand ChangeSettingsCommand
384395
{
385396
get { return new RelayCommand(p => ChangeSettingsAction()); }

Source/NETworkManager/Views/SettingsSettingsView.xaml

Lines changed: 65 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
xmlns:Validator="clr-namespace:NETworkManager.Validators"
88
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
99
xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
10+
xmlns:IconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
1011
xmlns:Dialog="clr-namespace:MahApps.Metro.Controls.Dialogs;assembly=MahApps.Metro"
1112
Dialog:DialogParticipation.Register="{Binding}"
1213
mc:Ignorable="d" Loaded="UserControl_Loaded">
@@ -41,46 +42,69 @@
4142
</TextBox.Style>
4243
</TextBox>
4344
<StackPanel Margin="0,0,0,20">
44-
<StackPanel Orientation="Horizontal">
45-
<Button Content="{DynamicResource String_Button_Default}" Command="{Binding RestoreDefaultSettingsLocationCommand}" Margin="0,0,10,0">
46-
<Button.Style>
47-
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource DefaultButton}">
48-
<Setter Property="IsEnabled" Value="False" />
49-
<Setter Property="Visibility" Value="Collapsed" />
50-
<Style.Triggers>
51-
<DataTrigger Binding="{Binding ElementName=toggleSwitchIsPortable,Path=IsChecked}" Value="False" >
52-
<Setter Property="IsEnabled" Value="True" />
53-
</DataTrigger>
54-
<DataTrigger Value="False">
55-
<DataTrigger.Binding>
56-
<Binding Converter="{StaticResource IsDefaultSettingsLocationToBoolConverter}" ElementName="txtLocation" Path="Text"/>
57-
</DataTrigger.Binding>
58-
<Setter Property="Visibility" Value="Visible" />
59-
</DataTrigger>
60-
</Style.Triggers>
61-
</Style>
62-
</Button.Style>
63-
</Button>
64-
<Button Content="{DynamicResource String_Button_Change}" Command="{Binding ChangeSettingsCommand}">
65-
<Button.Style>
66-
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource DefaultButton}">
67-
<Setter Property="IsEnabled" Value="False" />
68-
<Style.Triggers>
69-
<MultiDataTrigger>
70-
<MultiDataTrigger.Conditions>
71-
<Condition Binding="{Binding ElementName=toggleSwitchIsPortable, Path=IsChecked}" Value="False" />
72-
<Condition Binding="{Binding ElementName=txtLocation, Path=(Validation.HasError)}" Value="False" />
73-
<Condition Binding="{Binding ElementName=txtLocation, Path=Text, Converter={StaticResource IsSettingsLocationToBoolConverter}}" Value="False" />
74-
<Condition Binding="{Binding MovingFiles}" Value="False" />
75-
<Condition Binding="{Binding MakingPortable}" Value="False" />
76-
</MultiDataTrigger.Conditions>
77-
<Setter Property="IsEnabled" Value="True" />
78-
</MultiDataTrigger>
79-
</Style.Triggers>
80-
</Style>
81-
</Button.Style>
45+
<Grid>
46+
<Grid.ColumnDefinitions>
47+
<ColumnDefinition Width="*" />
48+
<ColumnDefinition Width="10" />
49+
<ColumnDefinition Width="Auto" />
50+
</Grid.ColumnDefinitions>
51+
<StackPanel Grid.Column="0" Orientation="Horizontal">
52+
<Button Content="{DynamicResource String_Button_Default}" Command="{Binding RestoreDefaultSettingsLocationCommand}" Margin="0,0,10,0">
53+
<Button.Style>
54+
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource DefaultButton}">
55+
<Setter Property="IsEnabled" Value="False" />
56+
<Setter Property="Visibility" Value="Collapsed" />
57+
<Style.Triggers>
58+
<DataTrigger Binding="{Binding ElementName=toggleSwitchIsPortable,Path=IsChecked}" Value="False" >
59+
<Setter Property="IsEnabled" Value="True" />
60+
</DataTrigger>
61+
<DataTrigger Value="False">
62+
<DataTrigger.Binding>
63+
<Binding Converter="{StaticResource IsDefaultSettingsLocationToBoolConverter}" ElementName="txtLocation" Path="Text"/>
64+
</DataTrigger.Binding>
65+
<Setter Property="Visibility" Value="Visible" />
66+
</DataTrigger>
67+
</Style.Triggers>
68+
</Style>
69+
</Button.Style>
70+
</Button>
71+
<Button Content="{DynamicResource String_Button_Change}" Command="{Binding ChangeSettingsCommand}">
72+
<Button.Style>
73+
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource DefaultButton}">
74+
<Setter Property="IsEnabled" Value="False" />
75+
<Style.Triggers>
76+
<MultiDataTrigger>
77+
<MultiDataTrigger.Conditions>
78+
<Condition Binding="{Binding ElementName=toggleSwitchIsPortable, Path=IsChecked}" Value="False" />
79+
<Condition Binding="{Binding ElementName=txtLocation, Path=(Validation.HasError)}" Value="False" />
80+
<Condition Binding="{Binding ElementName=txtLocation, Path=Text, Converter={StaticResource IsSettingsLocationToBoolConverter}}" Value="False" />
81+
<Condition Binding="{Binding MovingFiles}" Value="False" />
82+
<Condition Binding="{Binding MakingPortable}" Value="False" />
83+
</MultiDataTrigger.Conditions>
84+
<Setter Property="IsEnabled" Value="True" />
85+
</MultiDataTrigger>
86+
</Style.Triggers>
87+
</Style>
88+
</Button.Style>
89+
</Button>
90+
</StackPanel>
91+
<Button Grid.Column="2" Command="{Binding OpenLocationCommand}" Style="{StaticResource ImageWithTextButton}">
92+
<Button.Content>
93+
<Grid>
94+
<Grid.ColumnDefinitions>
95+
<ColumnDefinition Width="Auto" />
96+
<ColumnDefinition Width="*" />
97+
</Grid.ColumnDefinitions>
98+
<Rectangle Width="20" Height="20" Margin="10,5,0,5" Fill="{DynamicResource GrayBrush3}">
99+
<Rectangle.OpacityMask>
100+
<VisualBrush Stretch="Uniform" Visual="{IconPacks:Material Kind=FolderOpen}" />
101+
</Rectangle.OpacityMask>
102+
</Rectangle>
103+
<TextBlock Grid.Column="1" Text="{DynamicResource String_Button_OpenLocation}" FontSize="14" Margin="10,5" TextAlignment="Center"/>
104+
</Grid>
105+
</Button.Content>
82106
</Button>
83-
</StackPanel>
107+
</Grid>
84108
<Controls:MetroProgressBar IsIndeterminate="True" Foreground="{DynamicResource AccentColorBrush}" Visibility="{Binding MovingFiles, Converter={StaticResource BooleanToVisibilityConverter}}" Margin="0,10,0,0"/>
85109
</StackPanel>
86110
<TextBlock Style="{StaticResource HeaderTextBlock}" Text="{DynamicResource String_Header_Portable}" />
@@ -121,7 +145,7 @@
121145
<StackPanel>
122146
<CheckBox Content="{DynamicResource String_ApplicationSettings}" IsEnabled="{Binding ApplicationSettingsExists}" IsChecked="{Binding ResetApplicationSettings}" Margin="0,0,0,10" />
123147
<CheckBox Content="{DynamicResource String_NetworkInterfaceProfiles}" IsEnabled="{Binding NetworkInterfaceProfilesExists}" IsChecked="{Binding ResetNetworkInterfaceProfiles}" Margin="0,0,0,10" />
124-
<CheckBox Content="{DynamicResource String_IPScannerProfiles}" IsEnabled="{Binding IPScannerProfilesExists}" IsChecked="{Binding ResetIPScannerProfiles}" Margin="0,0,0,10" />
148+
<CheckBox Content="{DynamicResource String_IPScannerProfiles}" IsEnabled="{Binding IPScannerProfilesExists}" IsChecked="{Binding ResetIPScannerProfiles}" Margin="0,0,0,10" />
125149
<CheckBox Content="{DynamicResource String_PortScannerProfiles}" IsEnabled="{Binding PortScannerProfilesExists}" IsChecked="{Binding ResetPortScannerProfiles}" Margin="0,0,0,10" />
126150
<CheckBox Content="{DynamicResource String_PingProfiles}" IsEnabled="{Binding PingProfilesExists}" IsChecked="{Binding ResetPingProfiles}" Margin="0,0,0,10" />
127151
<CheckBox Content="{DynamicResource String_TracerouteProfiles}" IsEnabled="{Binding TracerouteProfilesExists}" IsChecked="{Binding ResetTracerouteProfiles}" Margin="0,0,0,10" />
@@ -158,6 +182,6 @@
158182
</Style.Triggers>
159183
</Style>
160184
</Button.Style>
161-
</Button>
185+
</Button>
162186
</StackPanel>
163187
</UserControl>

0 commit comments

Comments
 (0)