Skip to content

Commit 1d63a22

Browse files
committed
1 parent c85f20a commit 1d63a22

13 files changed

Lines changed: 142 additions & 39 deletions

Source/NETworkManager/Models/Settings/SettingsInfo.cs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -733,7 +733,6 @@ public int PortScanner_Timeout
733733
}
734734

735735
private bool _portScanner_ResolveHostnamePreferIPv4 = true;
736-
737736
public bool PortScanner_ResolveHostnamePreferIPv4
738737
{
739738
get { return _portScanner_ResolveHostnamePreferIPv4; }
@@ -748,6 +747,23 @@ public bool PortScanner_ResolveHostnamePreferIPv4
748747
}
749748
}
750749
#endregion
750+
751+
#region WakeOnLAN
752+
private int _wakeOnLAN_DefaultPort = 7;
753+
public int WakeOnLAN_DefaultPort
754+
{
755+
get { return _wakeOnLAN_DefaultPort; }
756+
set
757+
{
758+
if (value == _wakeOnLAN_DefaultPort)
759+
return;
760+
761+
SettingsChanged = true;
762+
763+
_wakeOnLAN_DefaultPort = value;
764+
}
765+
}
766+
#endregion
751767
#endregion
752768

753769
#region Constructor

Source/NETworkManager/NETworkManager.csproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@
9595
</ApplicationDefinition>
9696
<Compile Include="Converters\NullableDateTimeToStringConverter.cs" />
9797
<Compile Include="Validators\OpacityTextboxValidator.cs" />
98+
<Compile Include="ViewModels\Settings\SettingsApplicationWakeOnLANViewModel.cs" />
99+
<Compile Include="Views\Settings\SettingsApplicationWakeOnLANView.xaml.cs">
100+
<DependentUpon>SettingsApplicationWakeOnLANView.xaml</DependentUpon>
101+
</Compile>
98102
<Compile Include="WpfHelper\ProtocolSettingsLayout.cs" />
99103
<Page Include="Resources\ContextMenu\ContextMenu.xaml">
100104
<Generator>MSBuild:Compile</Generator>
@@ -172,6 +176,10 @@
172176
<Generator>MSBuild:Compile</Generator>
173177
<SubType>Designer</SubType>
174178
</Page>
179+
<Page Include="Views\Settings\SettingsApplicationWakeOnLANView.xaml">
180+
<Generator>MSBuild:Compile</Generator>
181+
<SubType>Designer</SubType>
182+
</Page>
175183
<Page Include="Views\Settings\SettingsApplicationPortScannerView.xaml">
176184
<Generator>MSBuild:Compile</Generator>
177185
<SubType>Designer</SubType>

Source/NETworkManager/Properties/Resources.Designer.cs

Lines changed: 0 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Source/NETworkManager/Properties/Resources.resx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,4 @@
127127
<value>https://github.com/BornToBeRoot/NETworkManager</value>
128128
<comment>URL of the GitHub project page</comment>
129129
</data>
130-
<data name="WakeOnLAN_DefaultPort" xml:space="preserve">
131-
<value>7</value>
132-
</data>
133130
</root>

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
<system:String x:Key="String_Header_Applications">Anwendungen</system:String>
6666
<system:String x:Key="String_Header_Update">Update</system:String>
6767
<system:String x:Key="String_Header_Transparency">Transparenz</system:String>
68+
<system:String x:Key="String_Header_WakeOnLAN">Wake on LAN</system:String>
6869

6970
<!-- Normal strings -->
7071
<system:String x:Key="String_ProductName">NETworkManager</system:String>
@@ -207,7 +208,8 @@
207208
<system:String x:Key="String_NoPortsFoundCheckYourInput">Keine Ports gefunden. Überprüfen Sie Ihre Eingabe!</system:String>
208209
<system:String x:Key="String_NoVendorFoundCheckYourInput">Kein Hersteller gefunden. Überprüfen Sie Ihre Eingabe!</system:String>
209210
<system:String x:Key="String_EnableTransparency">Transparenz aktivieren</system:String>
210-
211+
<system:String x:Key="String_DefaultPort">Standard-Port:</system:String>
212+
211213
<!-- Buttons -->
212214
<system:String x:Key="String_Button_Change">Wechseln</system:String>
213215
<system:String x:Key="String_Button_Default">Standard</system:String>
@@ -319,10 +321,6 @@
319321
<system:String x:Key="String_SettingsName_Settings">Einstellungen</system:String>
320322
<system:String x:Key="String_SettingsName_ImportExport">Import / Export</system:String>
321323
<system:String x:Key="String_SettingsName_Developer">Entwickler</system:String>
322-
<system:String x:Key="String_SettingsName_IPScanner">IP-Scanner</system:String>
323-
<system:String x:Key="String_SettingsName_PortScanner">Port-Scanner</system:String>
324-
<system:String x:Key="String_SettingsName_Ping">Ping</system:String>
325-
<system:String x:Key="String_SettingsName_Traceroute">Traceroute</system:String>
326324

327325
<!-- SettingsView.Group -->
328326
<system:String x:Key="String_SettingsGroup_General">Allgemein</system:String>

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
<system:String x:Key="String_Header_Applications">Applications</system:String>
6767
<system:String x:Key="String_Header_Update">Update</system:String>
6868
<system:String x:Key="String_Header_Transparency">Transparency</system:String>
69+
<system:String x:Key="String_Header_WakeOnLAN">Wake on LAN</system:String>
6970

7071
<!-- Normal strings -->
7172
<system:String x:Key="String_ProductName">NETworkManager</system:String>
@@ -209,7 +210,8 @@
209210
<system:String x:Key="String_NoPortsFoundCheckYourInput">No ports found. Check your input!</system:String>
210211
<system:String x:Key="String_NoVendorFoundCheckYourInput">No vendor found. Check your input!</system:String>
211212
<system:String x:Key="String_EnableTransparency">Enable transparency</system:String>
212-
213+
<system:String x:Key="String_DefaultPort">Default port:</system:String>
214+
213215
<!-- Buttons -->
214216
<system:String x:Key="String_Button_Change">Change</system:String>
215217
<system:String x:Key="String_Button_Default">Default</system:String>
@@ -320,10 +322,6 @@
320322
<system:String x:Key="String_SettingsName_Settings">Settings</system:String>
321323
<system:String x:Key="String_SettingsName_ImportExport">Import / Export</system:String>
322324
<system:String x:Key="String_SettingsName_Developer">Developer</system:String>
323-
<system:String x:Key="String_SettingsName_IPScanner">IP-Scanner</system:String>
324-
<system:String x:Key="String_SettingsName_PortScanner">Port-Scanner</system:String>
325-
<system:String x:Key="String_SettingsName_Ping">Ping</system:String>
326-
<system:String x:Key="String_SettingsName_Traceroute">Traceroute</system:String>
327325

328326
<!-- SettingsView.Group -->
329327
<system:String x:Key="String_SettingsGroup_General">General</system:String>

Source/NETworkManager/ViewModels/Applications/WakeOnLanViewModel.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ public bool BroadcastHasError
7676
}
7777
}
7878

79-
private string _port;
80-
public string Port
79+
private int _port;
80+
public int Port
8181
{
8282
get { return _port; }
8383
set
@@ -122,7 +122,7 @@ public TemplateWakeOnLANInfo SelectedWakeOnLANTemplate
122122
if (value != null)
123123
{
124124
Broadcast = value.Broadcast.ToString();
125-
Port = value.Port.ToString();
125+
Port = value.Port;
126126
}
127127

128128
_selectedWakeOnLANTemplate = value;
@@ -154,7 +154,7 @@ public WakeOnLANViewModel(IDialogCoordinator instance)
154154

155155
_wakeOnLanTemplates = CollectionViewSource.GetDefaultView(TemplateManager.WakeOnLANTemplates);
156156

157-
Port = Properties.Resources.WakeOnLAN_DefaultPort;
157+
Port = SettingsManager.Current.WakeOnLAN_DefaultPort;
158158
}
159159
#endregion
160160

@@ -177,7 +177,7 @@ private async void WakeUpAction()
177177
{
178178
MagicPacket = MagicPacketHelper.Create(MACAddress),
179179
Broadcast = IPAddress.Parse(Broadcast),
180-
Port = int.Parse(Port)
180+
Port = Port
181181
};
182182

183183
WakeOnLAN.Send(info);
@@ -217,7 +217,7 @@ private async void AddTemplateAction()
217217
Hostname = hostname.ToUpper(),
218218
MACAddress = MACAddressHelper.GetDefaultFormat(MACAddress),
219219
Broadcast = Broadcast,
220-
Port = int.Parse(Port)
220+
Port = Port
221221
};
222222

223223
TemplateManager.WakeOnLANTemplates.Add(template);
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
using NETworkManager.Models.Settings;
2+
3+
namespace NETworkManager.ViewModels.Settings
4+
{
5+
public class SettingsApplicationWakeOnLANViewModel : ViewModelBase
6+
{
7+
#region Variables
8+
private bool _isLoading = true;
9+
10+
private int _defaultPort;
11+
public int DefaultPort
12+
{
13+
get { return _defaultPort; }
14+
set
15+
{
16+
if (value == _defaultPort)
17+
return;
18+
19+
if (!_isLoading)
20+
SettingsManager.Current.WakeOnLAN_DefaultPort = value;
21+
22+
_defaultPort = value;
23+
OnPropertyChanged();
24+
}
25+
}
26+
#endregion
27+
28+
#region Constructor, load settings
29+
public SettingsApplicationWakeOnLANViewModel()
30+
{
31+
LoadSettings();
32+
33+
_isLoading = false;
34+
}
35+
36+
private void LoadSettings()
37+
{
38+
DefaultPort = SettingsManager.Current.WakeOnLAN_DefaultPort;
39+
}
40+
#endregion
41+
}
42+
}

Source/NETworkManager/ViewModels/Settings/SettingsViewModel.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace NETworkManager.ViewModels.Settings
1212
{
1313
public class SettingsViewModel : ViewModelBase
1414
{
15-
#region Setting
15+
#region Variables
1616
private CollectionViewSource _settingsGeneralViewsSource;
1717
public ICollectionView SettingsGeneralViews
1818
{
@@ -33,9 +33,7 @@ public UserControl SettingsContent
3333
}
3434
}
3535

36-
3736
private SettingsViewInfo _selectedSettingsView;
38-
3937
public SettingsViewInfo SelectedSettingsView
4038
{
4139
get { return _selectedSettingsView; }
@@ -63,6 +61,7 @@ public SettingsViewInfo SelectedSettingsView
6361
SettingsGeneralDeveloperView _settingsGeneralExperimentalView;
6462
SettingsApplicationIPScannerView _settingsApplicationIPScannerView;
6563
SettingsApplicationPortScannerView _settingsApplicationPortScannerView;
64+
SettingsApplicationWakeOnLANView _settingsApplicationWakeOnLANView;
6665
SettingsApplicationPingView _settingsApplicationPingView;
6766
SettingsApplicationTracerouteView _settingsApplicationTracerouteView;
6867
#endregion
@@ -163,6 +162,12 @@ private void ChangeSettingsGeneralView(SettingsViewInfo settingsViewInfo)
163162

164163
SettingsContent = _settingsApplicationPortScannerView;
165164
break;
165+
case SettingsViewManager.Name.WakeOnLAN:
166+
if (_settingsApplicationWakeOnLANView == null)
167+
_settingsApplicationWakeOnLANView = new SettingsApplicationWakeOnLANView();
168+
169+
SettingsContent = _settingsApplicationWakeOnLANView;
170+
break;
166171
case SettingsViewManager.Name.Ping:
167172
if (_settingsApplicationPingView == null)
168173
_settingsApplicationPingView = new SettingsApplicationPingView();
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<UserControl x:Class="NETworkManager.Views.Settings.SettingsApplicationWakeOnLANView"
2+
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4+
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
5+
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6+
xmlns:Validator="clr-namespace:NETworkManager.Validators"
7+
mc:Ignorable="d">
8+
<StackPanel>
9+
<TextBlock Text="{DynamicResource String_Header_WakeOnLAN}" Style="{StaticResource HeaderTextBlock}" />
10+
<TextBlock Text="{DynamicResource String_DefaultPort}" Style="{StaticResource DefaultTextBlock}" Validation.ErrorTemplate="{StaticResource DefaultErrorTemplate}" Margin="0,0,0,10" />
11+
<TextBox Width="80" HorizontalAlignment="Left">
12+
<TextBox.Text>
13+
<Binding Path="DefaultPort" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged">
14+
<Binding.ValidationRules>
15+
<Validator:EmptyFieldValidator ValidatesOnTargetUpdated="True" />
16+
<Validator:PortValidator ValidatesOnTargetUpdated="True" />
17+
</Binding.ValidationRules>
18+
</Binding>
19+
</TextBox.Text>
20+
</TextBox>
21+
</StackPanel>
22+
</UserControl>

0 commit comments

Comments
 (0)