Skip to content

Commit cd43ae1

Browse files
committed
Close #48 - I hope it works
1 parent e800caa commit cd43ae1

5 files changed

Lines changed: 58 additions & 34 deletions

File tree

Source/NETworkManager/ViewModels/Settings/SettingsGeneralImportExportViewModel.cs

Lines changed: 23 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -253,15 +253,6 @@ public bool ExportWakeOnLANClients
253253
public SettingsGeneralImportExportViewModel(IDialogCoordinator instance)
254254
{
255255
dialogCoordinator = instance;
256-
257-
CheckFilesExist();
258-
}
259-
260-
private void CheckFilesExist()
261-
{
262-
ApplicationSettingsExists = File.Exists(SettingsManager.GetSettingsFilePath());
263-
NetworkInterfaceProfilesExists = File.Exists(NetworkInterfaceProfileManager.GetProfilesFilePath());
264-
WakeOnLANClientsExists = File.Exists(WakeOnLANClientManager.GetClientsFilePath());
265256
}
266257
#endregion
267258

@@ -378,35 +369,14 @@ private async void ExportSettingsAction()
378369
List<ImportExportManager.ImportExportOptions> exportOptions = new List<ImportExportManager.ImportExportOptions>();
379370

380371
if (ApplicationSettingsExists && (ExportEverything || ExportApplicationSettings))
381-
{
382-
// Save them, before export
383-
if (SettingsManager.Current.SettingsChanged)
384-
SettingsManager.Save();
385-
386-
// Add to export
387372
exportOptions.Add(ImportExportManager.ImportExportOptions.ApplicationSettings);
388-
}
389-
373+
390374
if (NetworkInterfaceProfilesExists && (ExportEverything || ExportNetworkInterfaceProfiles))
391-
{
392-
// Save them, before export
393-
if (NetworkInterfaceProfileManager.ProfilesChanged)
394-
NetworkInterfaceProfileManager.Save();
395-
396-
// Add to export
397375
exportOptions.Add(ImportExportManager.ImportExportOptions.NetworkInterfaceProfiles);
398-
}
399376

400377
if (WakeOnLANClientsExists && (ExportEverything || ExportWakeOnLANClients))
401-
{
402-
// Save them, before export
403-
if (WakeOnLANClientManager.ClientsChanged)
404-
WakeOnLANClientManager.Save();
405-
406-
// Add to export
407378
exportOptions.Add(ImportExportManager.ImportExportOptions.WakeOnLANClients);
408-
}
409-
379+
410380
System.Windows.Forms.SaveFileDialog saveFileDialog = new System.Windows.Forms.SaveFileDialog()
411381
{
412382
Filter = ImportExportFileExtensionFilter,
@@ -424,6 +394,26 @@ private async void ExportSettingsAction()
424394
await dialogCoordinator.ShowMessageAsync(this, Application.Current.Resources["String_Header_Success"] as string, string.Format("{0}\n\n{1}: {2}", Application.Current.Resources["String_SettingsSuccessfullyExported"] as string, Application.Current.Resources["String_Path"] as string, saveFileDialog.FileName), MessageDialogStyle.Affirmative, settings);
425395
}
426396
}
397+
#endregion
398+
399+
#region Methods
400+
public void SaveAndCheckSettings()
401+
{
402+
// Save everything
403+
if (SettingsManager.Current.SettingsChanged)
404+
SettingsManager.Save();
405+
406+
if (NetworkInterfaceProfileManager.ProfilesChanged)
407+
NetworkInterfaceProfileManager.Save();
408+
409+
if (WakeOnLANClientManager.ClientsChanged)
410+
WakeOnLANClientManager.Save();
411+
412+
// Check if files exist
413+
ApplicationSettingsExists = File.Exists(SettingsManager.GetSettingsFilePath());
414+
NetworkInterfaceProfilesExists = File.Exists(NetworkInterfaceProfileManager.GetProfilesFilePath());
415+
WakeOnLANClientsExists = File.Exists(WakeOnLANClientManager.GetClientsFilePath());
416+
}
417+
#endregion
427418
}
428-
#endregion
429419
}

Source/NETworkManager/ViewModels/Settings/SettingsGeneralSettingsViewModel.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,24 @@ private async void MakePortable(bool isPortable)
335335

336336
MakingPortable = false;
337337
}
338+
339+
public void SaveAndCheckSettings()
340+
{
341+
// Save everything
342+
if (SettingsManager.Current.SettingsChanged)
343+
SettingsManager.Save();
344+
345+
if (NetworkInterfaceProfileManager.ProfilesChanged)
346+
NetworkInterfaceProfileManager.Save();
347+
348+
if (WakeOnLANClientManager.ClientsChanged)
349+
WakeOnLANClientManager.Save();
350+
351+
// Check if files exist
352+
ApplicationSettingsExists = File.Exists(SettingsManager.GetSettingsFilePath());
353+
NetworkInterfaceProfilesExists = File.Exists(NetworkInterfaceProfileManager.GetProfilesFilePath());
354+
WakeOnLANClientsExists = File.Exists(WakeOnLANClientManager.GetClientsFilePath());
355+
}
338356
#endregion
339357
}
340358
}

Source/NETworkManager/ViewModels/Settings/SettingsViewModel.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,18 +150,24 @@ private void ChangeSettingsContent(SettingsViewInfo settingsViewInfo)
150150
if (_settingsGeneralSettingsView == null)
151151
_settingsGeneralSettingsView = new SettingsGeneralSettingsView();
152152

153+
// Save settings (if changed) and check if files exists
154+
_settingsGeneralSettingsView.SaveAndCheckSettings();
155+
153156
SettingsContent = _settingsGeneralSettingsView;
154157
break;
155158
case SettingsViewManager.Name.ImportExport:
156159
if (_settingsGeneralImportExportView == null)
157160
_settingsGeneralImportExportView = new SettingsGeneralImportExportView();
158161

162+
// Save settings (if changed) and check if files exists
163+
_settingsGeneralImportExportView.SaveAndCheckSettings();
164+
159165
SettingsContent = _settingsGeneralImportExportView;
160166
break;
161167
case SettingsViewManager.Name.IPScanner:
162168
if (_settingsApplicationIPScannerView == null)
163169
_settingsApplicationIPScannerView = new SettingsApplicationIPScannerView();
164-
170+
165171
SettingsContent = _settingsApplicationIPScannerView;
166172
break;
167173
case SettingsViewManager.Name.PortScanner:

Source/NETworkManager/Views/Settings/SettingsGeneralImportExportView.xaml.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,10 @@ private void UserControl_Loaded(object sender, RoutedEventArgs e)
2020
if (viewModel.CloseAction == null)
2121
viewModel.CloseAction = new System.Action(Window.GetWindow(this).Close);
2222
}
23+
24+
public void SaveAndCheckSettings()
25+
{
26+
viewModel.SaveAndCheckSettings();
27+
}
2328
}
2429
}

Source/NETworkManager/Views/Settings/SettingsGeneralSettingsView.xaml.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,10 @@ private void UserControl_Loaded(object sender, RoutedEventArgs e)
2020
if (viewModel.CloseAction == null)
2121
viewModel.CloseAction = new System.Action(Window.GetWindow(this).Close);
2222
}
23+
24+
public void SaveAndCheckSettings()
25+
{
26+
viewModel.SaveAndCheckSettings();
27+
}
2328
}
2429
}

0 commit comments

Comments
 (0)