Skip to content

Commit 090dd9b

Browse files
committed
Feature: Redesign dialogs
1 parent 34bfbfc commit 090dd9b

12 files changed

+117
-270
lines changed

Source/NETworkManager/ProfileDialogManager.cs

Lines changed: 21 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -561,40 +561,24 @@ public static Task ShowCopyAsProfileDialog(Window parentWindow, IProfileManagerM
561561
return parentWindow.ShowChildWindowAsync(childWindow);
562562
}
563563

564-
public static Task ShowDeleteProfileDialog(Window parentWindow, IProfileManagerMinimal viewModel,
564+
public static async Task ShowDeleteProfileDialog(Window parentWindow, IProfileManagerMinimal viewModel,
565565
IList<ProfileInfo> profiles)
566566
{
567-
var childWindow = new OKCancelMessageChildWindow();
568567

569-
OKCancelMessageViewModel childWindowViewModel = new(_ =>
570-
{
571-
childWindow.IsOpen = false;
572-
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;
573-
574-
viewModel.OnProfileManagerDialogClose();
575-
576-
ProfileManager.RemoveProfiles(profiles);
577-
}, _ =>
578-
{
579-
childWindow.IsOpen = false;
580-
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;
581-
582-
viewModel.OnProfileManagerDialogClose();
583-
},
584-
profiles.Count == 1 ? Strings.DeleteProfileMessage : Strings.DeleteProfilesMessage,
585-
Utilities.ChildWindowIcon.Info,
586-
Strings.Delete
587-
);
588-
589-
childWindow.Title = profiles.Count == 1 ? Strings.DeleteProfile : Strings.DeleteProfiles;
568+
viewModel.OnProfileManagerDialogOpen();
590569

591-
childWindow.DataContext = childWindowViewModel;
570+
var result = await DialogHelper.ShowOKCancelMessageAsync(parentWindow,
571+
profiles.Count == 1 ? Strings.DeleteProfile : Strings.DeleteProfiles,
572+
profiles.Count == 1 ? Strings.DeleteProfileMessage : Strings.DeleteProfilesMessage,
573+
ChildWindowIcon.Info,
574+
Strings.Delete);
592575

593-
viewModel.OnProfileManagerDialogOpen();
576+
viewModel.OnProfileManagerDialogClose();
594577

595-
Settings.ConfigurationManager.Current.IsChildWindowOpen = true;
578+
if (!result)
579+
return;
596580

597-
return parentWindow.ShowChildWindowAsync(childWindow);
581+
ProfileManager.RemoveProfiles(profiles);
598582
}
599583

600584
#endregion
@@ -664,40 +648,23 @@ public static Task ShowEditGroupDialog(Window parentWindow, IProfileManagerMinim
664648
return parentWindow.ShowChildWindowAsync(childWindow);
665649
}
666650

667-
public static Task ShowDeleteGroupDialog(Window parentWindow, IProfileManagerMinimal viewModel,
651+
public static async Task ShowDeleteGroupDialog(Window parentWindow, IProfileManagerMinimal viewModel,
668652
GroupInfo group)
669653
{
670-
var childWindow = new OKCancelMessageChildWindow();
671-
672-
OKCancelMessageViewModel childWindowViewModel = new(_ =>
673-
{
674-
childWindow.IsOpen = false;
675-
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;
676-
677-
viewModel.OnProfileManagerDialogClose();
678-
679-
ProfileManager.RemoveGroup(group);
680-
}, _ =>
681-
{
682-
childWindow.IsOpen = false;
683-
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;
654+
viewModel.OnProfileManagerDialogOpen();
684655

685-
viewModel.OnProfileManagerDialogClose();
686-
},
656+
var result = await DialogHelper.ShowOKCancelMessageAsync(parentWindow,
657+
Strings.DeleteGroup,
687658
Strings.DeleteGroupMessage,
688-
ChildWindowIcon.Info,
689-
Strings.Delete
690-
);
691-
692-
childWindow.Title = Strings.DeleteGroup;
659+
ChildWindowIcon.Info,
660+
Strings.Delete);
693661

694-
childWindow.DataContext = childWindowViewModel;
662+
if (!result)
663+
return;
695664

696-
viewModel.OnProfileManagerDialogOpen();
665+
viewModel.OnProfileManagerDialogClose();
697666

698-
Settings.ConfigurationManager.Current.IsChildWindowOpen = true;
699-
700-
return parentWindow.ShowChildWindowAsync(childWindow);
667+
ProfileManager.RemoveGroup(group);
701668
}
702669

703670
#endregion

Source/NETworkManager/ViewModels/AWSSessionManagerSettingsViewModel.cs

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -275,33 +275,19 @@ public async Task EditAWSProfile()
275275
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
276276
}
277277

278-
private Task DeleteAWSProfile()
278+
private async Task DeleteAWSProfile()
279279
{
280-
var childWindow = new OKCancelMessageChildWindow();
280+
var result = await DialogHelper.ShowOKCancelMessageAsync(Application.Current.MainWindow,
281+
Strings.DeleteAWSProfile,
282+
Strings.DeleteAWSProfileMessage,
283+
ChildWindowIcon.Info,
284+
Strings.Delete);
281285

282-
var childWindowViewModel = new OKCancelMessageViewModel(_ =>
283-
{
284-
childWindow.IsOpen = false;
285-
ConfigurationManager.Current.IsChildWindowOpen = false;
286286

287-
SettingsManager.Current.AWSSessionManager_AWSProfiles.Remove(SelectedAWSProfile);
288-
}, _ =>
289-
{
290-
childWindow.IsOpen = false;
291-
ConfigurationManager.Current.IsChildWindowOpen = false;
292-
},
293-
Strings.DeleteAWSProfileMessage,
294-
ChildWindowIcon.Info,
295-
Strings.Delete
296-
);
287+
if (!result)
288+
return;
297289

298-
childWindow.Title = Strings.DeleteAWSProfile;
299-
300-
childWindow.DataContext = childWindowViewModel;
301-
302-
ConfigurationManager.Current.IsChildWindowOpen = true;
303-
304-
return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow);
290+
SettingsManager.Current.AWSSessionManager_AWSProfiles.Remove(SelectedAWSProfile);
305291
}
306292

307293
private async Task Configure()

Source/NETworkManager/ViewModels/DNSLookupSettingsViewModel.cs

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -357,33 +357,18 @@ public async Task EditDNSServer()
357357
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
358358
}
359359

360-
private Task DeleteDNSServer()
360+
private async Task DeleteDNSServer()
361361
{
362-
var childWindow = new OKCancelMessageChildWindow();
362+
var result = await DialogHelper.ShowOKCancelMessageAsync(Application.Current.MainWindow,
363+
Strings.DeleteDNSServer,
364+
Strings.DeleteDNSServerMessage,
365+
ChildWindowIcon.Info,
366+
Strings.Delete);
363367

364-
var childWindowViewModel = new OKCancelMessageViewModel(_ =>
365-
{
366-
childWindow.IsOpen = false;
367-
ConfigurationManager.Current.IsChildWindowOpen = false;
368-
369-
SettingsManager.Current.DNSLookup_DNSServers.Remove(SelectedDNSServer);
370-
}, _ =>
371-
{
372-
childWindow.IsOpen = false;
373-
ConfigurationManager.Current.IsChildWindowOpen = false;
374-
},
375-
Strings.DeleteDNSServerMessage,
376-
ChildWindowIcon.Info,
377-
Strings.Delete
378-
);
379-
380-
childWindow.Title = Strings.DeleteDNSServer;
381-
382-
childWindow.DataContext = childWindowViewModel;
383-
384-
ConfigurationManager.Current.IsChildWindowOpen = true;
368+
if (!result)
369+
return;
385370

386-
return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow);
371+
SettingsManager.Current.DNSLookup_DNSServers.Remove(SelectedDNSServer);
387372
}
388373

389374
#endregion

Source/NETworkManager/ViewModels/HostsFileEditorViewModel.cs

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -391,39 +391,28 @@ private async Task DeleteEntryAction()
391391
{
392392
IsModifying = true;
393393

394-
var childWindow = new OKCancelMessageChildWindow();
395-
396-
var childWindowViewModel = new OKCancelMessageViewModel(async _ =>
397-
{
398-
childWindow.IsOpen = false;
399-
ConfigurationManager.Current.IsChildWindowOpen = false;
400-
401-
var result = await HostsFileEditor.DeleteEntryAsync(SelectedResult);
402-
403-
if (result != HostsFileEntryModifyResult.Success)
404-
await ShowErrorMessageAsync(result);
405-
406-
IsModifying = false;
407-
}, _ =>
408-
{
409-
childWindow.IsOpen = false;
410-
ConfigurationManager.Current.IsChildWindowOpen = false;
411-
412-
IsModifying = false;
413-
},
394+
var result = await DialogHelper.ShowOKCancelMessageAsync(Application.Current.MainWindow,
395+
Strings.DeleteEntry,
414396
string.Format(Strings.DeleteHostsFileEntryMessage, SelectedResult.IPAddress, SelectedResult.Hostname,
415397
string.IsNullOrEmpty(SelectedResult.Comment) ? "" : $"# {SelectedResult.Comment}"),
416398
ChildWindowIcon.Info,
417-
Strings.Delete
418-
);
399+
Strings.Delete
400+
);
419401

420-
childWindow.Title = Strings.DeleteEntry;
421402

422-
childWindow.DataContext = childWindowViewModel;
403+
if (!result)
404+
{
405+
IsModifying = false;
406+
return;
407+
}
423408

424-
ConfigurationManager.Current.IsChildWindowOpen = true;
425409

426-
await (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow);
410+
var modifyResult = await HostsFileEditor.DeleteEntryAsync(SelectedResult);
411+
412+
if (modifyResult != HostsFileEntryModifyResult.Success)
413+
await ShowErrorMessageAsync(modifyResult);
414+
415+
IsModifying = false;
427416
}
428417

429418
private bool ModifyEntry_CanExecute(object obj)

Source/NETworkManager/ViewModels/IPScannerSettingsViewModel.cs

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -385,33 +385,18 @@ public async void EditCustomCommand()
385385
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
386386
}
387387

388-
private Task DeleteCustomCommand()
388+
private async Task DeleteCustomCommand()
389389
{
390-
var childWindow = new OKCancelMessageChildWindow();
390+
var result = await DialogHelper.ShowOKCancelMessageAsync(Application.Current.MainWindow,
391+
Strings.DeleteCustomCommand,
392+
Strings.DeleteCustomCommandMessage,
393+
ChildWindowIcon.Info,
394+
Strings.Delete);
391395

392-
var childWindowViewModel = new OKCancelMessageViewModel(_ =>
393-
{
394-
childWindow.IsOpen = false;
395-
ConfigurationManager.Current.IsChildWindowOpen = false;
396+
if (!result)
397+
return;
396398

397-
SettingsManager.Current.IPScanner_CustomCommands.Remove(SelectedCustomCommand);
398-
}, _ =>
399-
{
400-
childWindow.IsOpen = false;
401-
ConfigurationManager.Current.IsChildWindowOpen = false;
402-
},
403-
Strings.DeleteCustomCommandMessage,
404-
ChildWindowIcon.Info,
405-
Strings.Delete
406-
);
407-
408-
childWindow.Title = Strings.DeleteCustomCommand;
409-
410-
childWindow.DataContext = childWindowViewModel;
411-
412-
ConfigurationManager.Current.IsChildWindowOpen = true;
413-
414-
return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow);
399+
SettingsManager.Current.IPScanner_CustomCommands.Remove(SelectedCustomCommand);
415400
}
416401

417402
#endregion

Source/NETworkManager/ViewModels/SNMPSettingsViewModel.cs

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -201,30 +201,18 @@ public async Task EditOIDProfile()
201201
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
202202
}
203203

204-
private Task DeleteOIDProfile()
204+
private async Task DeleteOIDProfile()
205205
{
206-
var childWindow = new OKCancelMessageChildWindow();
206+
var result = await DialogHelper.ShowOKCancelMessageAsync(Application.Current.MainWindow,
207+
Strings.DeleteOIDProfile,
208+
Strings.DeleteOIDProfileMessage,
209+
ChildWindowIcon.Info,
210+
Strings.Delete);
207211

208-
var childWindowViewModel = new OKCancelMessageViewModel(_ =>
209-
{
210-
childWindow.IsOpen = false;
211-
ConfigurationManager.Current.IsChildWindowOpen = false;
212+
if (!result)
213+
return;
212214

213-
SettingsManager.Current.SNMP_OidProfiles.Remove(SelectedOIDProfile);
214-
}, _ =>
215-
{
216-
childWindow.IsOpen = false;
217-
ConfigurationManager.Current.IsChildWindowOpen = false;
218-
},
219-
Strings.DeleteOIDProfileMessage, ChildWindowIcon.Info, Strings.Delete);
220-
221-
childWindow.Title = Strings.DeleteOIDProfile;
222-
223-
childWindow.DataContext = childWindowViewModel;
224-
225-
ConfigurationManager.Current.IsChildWindowOpen = true;
226-
227-
return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow);
215+
SettingsManager.Current.SNMP_OidProfiles.Remove(SelectedOIDProfile);
228216
}
229217

230218
#endregion

Source/NETworkManager/ViewModels/SNTPLookupSettingsViewModel.cs

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -185,30 +185,18 @@ public async Task EditServer()
185185
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
186186
}
187187

188-
private Task DeleteServer()
188+
private async Task DeleteServer()
189189
{
190-
var childWindow = new OKCancelMessageChildWindow();
190+
var result = await DialogHelper.ShowOKCancelMessageAsync(Application.Current.MainWindow,
191+
Strings.DeleteSNTPServer,
192+
Strings.DeleteSNTPServerMessage,
193+
ChildWindowIcon.Info,
194+
Strings.Delete);
191195

192-
var childWindowViewModel = new OKCancelMessageViewModel(_ =>
193-
{
194-
childWindow.IsOpen = false;
195-
ConfigurationManager.Current.IsChildWindowOpen = false;
196-
197-
SettingsManager.Current.SNTPLookup_SNTPServers.Remove(SelectedSNTPServer);
198-
}, _ =>
199-
{
200-
childWindow.IsOpen = false;
201-
ConfigurationManager.Current.IsChildWindowOpen = false;
202-
},
203-
Strings.DeleteSNTPServerMessage, ChildWindowIcon.Info, Strings.Delete);
204-
205-
childWindow.Title = Strings.DeleteSNTPServer;
206-
207-
childWindow.DataContext = childWindowViewModel;
208-
209-
ConfigurationManager.Current.IsChildWindowOpen = true;
196+
if (!result)
197+
return;
210198

211-
return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow);
199+
SettingsManager.Current.SNTPLookup_SNTPServers.Remove(SelectedSNTPServer);
212200
}
213201

214202
#endregion

0 commit comments

Comments
 (0)