Skip to content

Commit dd1b517

Browse files
committed
Feature: Update OK Delete Info Dialog design
1 parent 9088777 commit dd1b517

23 files changed

+345
-811
lines changed

Source/NETworkManager/NETworkManager.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@
141141
<XamlRuntime>Wpf</XamlRuntime>
142142
<SubType>Designer</SubType>
143143
</Page>
144-
<Page Update="Views\ConfirmDeleteChildWindow.xaml">
144+
<Page Update="Views\OKCancelInfoMessageChildWindow.xaml">
145145
<Generator>MSBuild:Compile</Generator>
146146
<XamlRuntime>Wpf</XamlRuntime>
147147
<SubType>Designer</SubType>

Source/NETworkManager/ProfileDialogManager.cs

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ public static Task ShowAddProfileDialog(Window parentWindow, IProfileManagerMini
475475
{
476476
var childWindow = new ProfileChildWindow(parentWindow);
477477

478-
ProfileViewModel profileViewModel = new(instance =>
478+
ProfileViewModel childWindowViewModel = new(instance =>
479479
{
480480
childWindow.IsOpen = false;
481481
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;
@@ -495,7 +495,7 @@ public static Task ShowAddProfileDialog(Window parentWindow, IProfileManagerMini
495495

496496
childWindow.Title = Strings.AddProfile;
497497

498-
childWindow.DataContext = profileViewModel;
498+
childWindow.DataContext = childWindowViewModel;
499499

500500
viewModel.OnProfileManagerDialogOpen();
501501

@@ -509,7 +509,7 @@ public static Task ShowEditProfileDialog(Window parentWindow, IProfileManagerMin
509509
{
510510
var childWindow = new ProfileChildWindow(parentWindow);
511511

512-
ProfileViewModel profileViewModel = new(instance =>
512+
ProfileViewModel childWindowViewModel = new(instance =>
513513
{
514514
childWindow.IsOpen = false;
515515
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;
@@ -527,7 +527,7 @@ public static Task ShowEditProfileDialog(Window parentWindow, IProfileManagerMin
527527

528528
childWindow.Title = Strings.EditProfile;
529529

530-
childWindow.DataContext = profileViewModel;
530+
childWindow.DataContext = childWindowViewModel;
531531

532532
viewModel.OnProfileManagerDialogOpen();
533533

@@ -541,7 +541,7 @@ public static Task ShowCopyAsProfileDialog(Window parentWindow, IProfileManagerM
541541
{
542542
var childWindow = new ProfileChildWindow(parentWindow);
543543

544-
ProfileViewModel profileViewModel = new(instance =>
544+
ProfileViewModel childWindowViewModel = new(instance =>
545545
{
546546
childWindow.IsOpen = false;
547547
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;
@@ -559,7 +559,7 @@ public static Task ShowCopyAsProfileDialog(Window parentWindow, IProfileManagerM
559559

560560
childWindow.Title = Strings.CopyProfile;
561561

562-
childWindow.DataContext = profileViewModel;
562+
childWindow.DataContext = childWindowViewModel;
563563

564564
viewModel.OnProfileManagerDialogOpen();
565565

@@ -571,9 +571,9 @@ public static Task ShowCopyAsProfileDialog(Window parentWindow, IProfileManagerM
571571
public static Task ShowDeleteProfileDialog(Window parentWindow, IProfileManagerMinimal viewModel,
572572
IList<ProfileInfo> profiles)
573573
{
574-
var childWindow = new ConfirmDeleteChildWindow();
574+
var childWindow = new OKCancelInfoMessageChildWindow();
575575

576-
ConfirmDeleteViewModel confirmDeleteViewModel = new(_ =>
576+
OKCancelInfoMessageViewModel childWindowViewModel = new(_ =>
577577
{
578578
childWindow.IsOpen = false;
579579
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;
@@ -586,7 +586,6 @@ public static Task ShowDeleteProfileDialog(Window parentWindow, IProfileManagerM
586586
childWindow.IsOpen = false;
587587
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;
588588

589-
590589
viewModel.OnProfileManagerDialogClose();
591590
},
592591
profiles.Count == 1
@@ -595,7 +594,7 @@ public static Task ShowDeleteProfileDialog(Window parentWindow, IProfileManagerM
595594

596595
childWindow.Title = Strings.DeleteProfile;
597596

598-
childWindow.DataContext = confirmDeleteViewModel;
597+
childWindow.DataContext = childWindowViewModel;
599598

600599
viewModel.OnProfileManagerDialogOpen();
601600

@@ -669,34 +668,36 @@ public static Task ShowEditGroupDialog(IProfileManagerMinimal viewModel, IDialog
669668
return dialogCoordinator.ShowMetroDialogAsync(viewModel, customDialog);
670669
}
671670

672-
public static Task ShowDeleteGroupDialog(IProfileManagerMinimal viewModel,
673-
IDialogCoordinator dialogCoordinator, GroupInfo group)
671+
public static Task ShowDeleteGroupDialog(Window parentWindow, IProfileManagerMinimal viewModel,
672+
GroupInfo group)
674673
{
675-
CustomDialog customDialog = new()
676-
{
677-
Title = Strings.DeleteGroup
678-
};
679-
680-
ConfirmDeleteViewModel confirmDeleteViewModel = new(async _ =>
674+
var childWindow = new OKCancelInfoMessageChildWindow();
675+
676+
OKCancelInfoMessageViewModel childWindowViewModel = new(_ =>
681677
{
682-
await dialogCoordinator.HideMetroDialogAsync(viewModel, customDialog);
678+
childWindow.IsOpen = false;
679+
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;
680+
683681
viewModel.OnProfileManagerDialogClose();
684682

685683
ProfileManager.RemoveGroup(group);
686-
}, async _ =>
684+
}, _ =>
687685
{
688-
await dialogCoordinator.HideMetroDialogAsync(viewModel, customDialog);
686+
childWindow.IsOpen = false;
687+
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;
688+
689689
viewModel.OnProfileManagerDialogClose();
690690
}, Strings.DeleteGroupMessage);
691691

692-
customDialog.Content = new ConfirmDeleteDialog
693-
{
694-
DataContext = confirmDeleteViewModel
695-
};
692+
childWindow.Title = Strings.DeleteGroup;
693+
694+
childWindow.DataContext = childWindowViewModel;
696695

697696
viewModel.OnProfileManagerDialogOpen();
698697

699-
return dialogCoordinator.ShowMetroDialogAsync(viewModel, customDialog);
698+
Settings.ConfigurationManager.Current.IsChildWindowOpen = true;
699+
700+
return parentWindow.ShowChildWindowAsync(childWindow);
700701
}
701702

702703
#endregion

Source/NETworkManager/ViewModels/AWSSessionManagerSettingsViewModel.cs

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
using System.Diagnostics;
44
using System.IO;
55
using System.Threading.Tasks;
6+
using System.Windows;
67
using System.Windows.Data;
7-
using System.Windows.Forms;
88
using System.Windows.Input;
99
using MahApps.Metro.Controls.Dialogs;
10+
using MahApps.Metro.SimpleChildWindow;
1011
using NETworkManager.Localization.Resources;
1112
using NETworkManager.Models.AWS;
1213
using NETworkManager.Settings;
@@ -207,12 +208,12 @@ private void DeleteAWSProfileAction()
207208

208209
private void BrowseFileAction()
209210
{
210-
var openFileDialog = new OpenFileDialog
211+
var openFileDialog = new System.Windows.Forms.OpenFileDialog
211212
{
212213
Filter = GlobalStaticConfiguration.ApplicationFileExtensionFilter
213214
};
214215

215-
if (openFileDialog.ShowDialog() == DialogResult.OK)
216+
if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
216217
ApplicationFilePath = openFileDialog.FileName;
217218
}
218219

@@ -274,27 +275,31 @@ public async Task EditAWSProfile()
274275
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
275276
}
276277

277-
private async Task DeleteAWSProfile()
278+
private Task DeleteAWSProfile()
278279
{
279-
var customDialog = new CustomDialog
280-
{
281-
Title = Strings.DeleteAWSProfile
282-
};
280+
var childWindow = new OKCancelInfoMessageChildWindow();
283281

284-
var viewModel = new ConfirmDeleteViewModel(_ =>
282+
var childWindowViewModel = new OKCancelInfoMessageViewModel(_ =>
285283
{
286-
_dialogCoordinator.HideMetroDialogAsync(this, customDialog);
284+
childWindow.IsOpen = false;
285+
ConfigurationManager.Current.IsChildWindowOpen = false;
287286

288287
SettingsManager.Current.AWSSessionManager_AWSProfiles.Remove(SelectedAWSProfile);
289-
}, _ => { _dialogCoordinator.HideMetroDialogAsync(this, customDialog); },
290-
Strings.DeleteAWSProfileMessage);
291-
292-
customDialog.Content = new ConfirmDeleteDialog
293-
{
294-
DataContext = viewModel
295-
};
296-
297-
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
288+
}, _ =>
289+
{
290+
childWindow.IsOpen = false;
291+
ConfigurationManager.Current.IsChildWindowOpen = false;
292+
},
293+
Strings.DeleteAWSProfileMessage
294+
);
295+
296+
childWindow.Title = Strings.DeleteAWSProfile;
297+
298+
childWindow.DataContext = childWindowViewModel;
299+
300+
ConfigurationManager.Current.IsChildWindowOpen = true;
301+
302+
return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow);
298303
}
299304

300305
private async Task Configure()

Source/NETworkManager/ViewModels/DNSLookupSettingsViewModel.cs

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010
using System.ComponentModel;
1111
using System.Linq;
1212
using System.Threading.Tasks;
13+
using System.Windows;
1314
using System.Windows.Data;
1415
using System.Windows.Input;
16+
using MahApps.Metro.SimpleChildWindow;
1517

1618
namespace NETworkManager.ViewModels;
1719

@@ -41,8 +43,11 @@ public DNSServerConnectionInfoProfile SelectedDNSServer
4143
}
4244
}
4345

44-
private List<string> ServerInfoProfileNames => [.. SettingsManager.Current.DNSLookup_DNSServers
45-
.Where(x => !x.UseWindowsDNSServer).Select(x => x.Name)];
46+
private List<string> ServerInfoProfileNames =>
47+
[
48+
.. SettingsManager.Current.DNSLookup_DNSServers
49+
.Where(x => !x.UseWindowsDNSServer).Select(x => x.Name)
50+
];
4651

4752
private bool _addDNSSuffix;
4853

@@ -154,10 +159,10 @@ public QueryClass QueryClass
154159
}
155160
}
156161

157-
/*
162+
/*
158163
* Disabled until more query types are implemented.
159-
*
160-
164+
*
165+
161166
private bool _showOnlyMostCommonQueryTypes;
162167
163168
public bool ShowOnlyMostCommonQueryTypes
@@ -352,27 +357,31 @@ public async Task EditDNSServer()
352357
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
353358
}
354359

355-
private async Task DeleteDNSServer()
360+
private Task DeleteDNSServer()
356361
{
357-
var customDialog = new CustomDialog
358-
{
359-
Title = Strings.DeleteDNSServer
360-
};
362+
var childWindow = new OKCancelInfoMessageChildWindow();
361363

362-
var viewModel = new ConfirmDeleteViewModel(_ =>
364+
var childWindowViewModel = new OKCancelInfoMessageViewModel(_ =>
363365
{
364-
_dialogCoordinator.HideMetroDialogAsync(this, customDialog);
366+
childWindow.IsOpen = false;
367+
ConfigurationManager.Current.IsChildWindowOpen = false;
365368

366369
SettingsManager.Current.DNSLookup_DNSServers.Remove(SelectedDNSServer);
367-
}, _ => { _dialogCoordinator.HideMetroDialogAsync(this, customDialog); },
368-
Strings.DeleteDNSServerMessage);
369-
370-
customDialog.Content = new ConfirmDeleteDialog
371-
{
372-
DataContext = viewModel
373-
};
374-
375-
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
370+
}, _ =>
371+
{
372+
childWindow.IsOpen = false;
373+
ConfigurationManager.Current.IsChildWindowOpen = false;
374+
},
375+
Strings.DeleteDNSServerMessage
376+
);
377+
378+
childWindow.Title = Strings.DeleteDNSServer;
379+
380+
childWindow.DataContext = childWindowViewModel;
381+
382+
ConfigurationManager.Current.IsChildWindowOpen = true;
383+
384+
return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow);
376385
}
377386

378387
#endregion

Source/NETworkManager/ViewModels/IPScannerSettingsViewModel.cs

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
using System.ComponentModel;
2+
using System.Threading.Tasks;
3+
using System.Windows;
24
using System.Windows.Data;
35
using System.Windows.Input;
46
using MahApps.Metro.Controls.Dialogs;
7+
using MahApps.Metro.SimpleChildWindow;
58
using NETworkManager.Localization.Resources;
69
using NETworkManager.Settings;
710
using NETworkManager.Utilities;
@@ -328,7 +331,7 @@ private void EditCustomCommandAction()
328331

329332
private void DeleteCustomCommandAction()
330333
{
331-
DeleteCustomCommand();
334+
DeleteCustomCommand().ConfigureAwait(false);
332335
}
333336

334337
#endregion
@@ -382,27 +385,31 @@ public async void EditCustomCommand()
382385
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
383386
}
384387

385-
private async void DeleteCustomCommand()
388+
private Task DeleteCustomCommand()
386389
{
387-
var customDialog = new CustomDialog
388-
{
389-
Title = Strings.DeleteCustomCommand
390-
};
390+
var childWindow = new OKCancelInfoMessageChildWindow();
391391

392-
var confirmDeleteViewModel = new ConfirmDeleteViewModel(_ =>
392+
var childWindowViewModel = new OKCancelInfoMessageViewModel(_ =>
393393
{
394-
_dialogCoordinator.HideMetroDialogAsync(this, customDialog);
394+
childWindow.IsOpen = false;
395+
ConfigurationManager.Current.IsChildWindowOpen = false;
395396

396397
SettingsManager.Current.IPScanner_CustomCommands.Remove(SelectedCustomCommand);
397-
}, _ => { _dialogCoordinator.HideMetroDialogAsync(this, customDialog); },
398-
Strings.DeleteCustomCommandMessage);
398+
}, _ =>
399+
{
400+
childWindow.IsOpen = false;
401+
ConfigurationManager.Current.IsChildWindowOpen = false;
402+
},
403+
Strings.DeleteCustomCommandMessage
404+
);
399405

400-
customDialog.Content = new ConfirmDeleteDialog
401-
{
402-
DataContext = confirmDeleteViewModel
403-
};
406+
childWindow.Title = Strings.DeleteCustomCommand;
404407

405-
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
408+
childWindow.DataContext = childWindowViewModel;
409+
410+
ConfigurationManager.Current.IsChildWindowOpen = true;
411+
412+
return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow);
406413
}
407414

408415
#endregion

Source/NETworkManager/ViewModels/ConfirmDeleteViewModel.cs renamed to Source/NETworkManager/ViewModels/OKCancelInfoMessageViewModel.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44

55
namespace NETworkManager.ViewModels;
66

7-
public class ConfirmDeleteViewModel : ViewModelBase
7+
public class OKCancelInfoMessageViewModel : ViewModelBase
88
{
99
private readonly string _message;
1010

11-
public ConfirmDeleteViewModel(Action<ConfirmDeleteViewModel> deleteCommand,
12-
Action<ConfirmDeleteViewModel> cancelHandler, string message)
11+
public OKCancelInfoMessageViewModel(Action<OKCancelInfoMessageViewModel> deleteCommand,
12+
Action<OKCancelInfoMessageViewModel> cancelHandler, string message)
1313
{
1414
DeleteCommand = new RelayCommand(_ => deleteCommand(this));
1515
CancelCommand = new RelayCommand(_ => cancelHandler(this));

0 commit comments

Comments
 (0)