Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,578 changes: 1,294 additions & 1,284 deletions Source/NETworkManager.Localization/Resources/Strings.Designer.cs

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions Source/NETworkManager.Localization/Resources/Strings.resx
Original file line number Diff line number Diff line change
Expand Up @@ -3930,4 +3930,7 @@ Right-click for more options.</value>
<data name="WhatsNewMessage" xml:space="preserve">
<value>This release includes new features, improvements, and bug fixes. Check out the changelog for all the details!</value>
</data>
<data name="Entries" xml:space="preserve">
<value>Entries</value>
</data>
</root>
85 changes: 41 additions & 44 deletions Source/NETworkManager/ProfileDialogManager.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using MahApps.Metro.Controls.Dialogs;
using MahApps.Metro.SimpleChildWindow;
using NETworkManager.Localization.Resources;
using NETworkManager.Models;
using NETworkManager.Models.Network;
Expand All @@ -9,12 +9,9 @@
using NETworkManager.Views;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.Security;
using System.Threading.Tasks;
using System.Windows;
using MahApps.Metro.SimpleChildWindow;

namespace NETworkManager;

Expand Down Expand Up @@ -496,9 +493,9 @@ public static Task ShowAddProfileDialog(Window parentWindow, IProfileManagerMini
childWindow.DataContext = childWindowViewModel;

viewModel.OnProfileManagerDialogOpen();

Settings.ConfigurationManager.Current.IsChildWindowOpen = true;

return parentWindow.ShowChildWindowAsync(childWindow);
}

Expand Down Expand Up @@ -528,9 +525,9 @@ public static Task ShowEditProfileDialog(Window parentWindow, IProfileManagerMin
childWindow.DataContext = childWindowViewModel;

viewModel.OnProfileManagerDialogOpen();

Settings.ConfigurationManager.Current.IsChildWindowOpen = true;

return parentWindow.ShowChildWindowAsync(childWindow);
}

Expand All @@ -543,24 +540,24 @@ public static Task ShowCopyAsProfileDialog(Window parentWindow, IProfileManagerM
{
childWindow.IsOpen = false;
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;

viewModel.OnProfileManagerDialogClose();

ProfileManager.AddProfile(ParseProfileInfo(instance));
}, _ =>
{
childWindow.IsOpen = false;
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;

viewModel.OnProfileManagerDialogClose();
}, ProfileManager.GetGroupNames(), profile.Group, ProfileEditMode.Copy, profile);

childWindow.Title = Strings.CopyProfile;

childWindow.DataContext = childWindowViewModel;

viewModel.OnProfileManagerDialogOpen();

Settings.ConfigurationManager.Current.IsChildWindowOpen = true;

return parentWindow.ShowChildWindowAsync(childWindow);
Expand All @@ -570,32 +567,32 @@ public static Task ShowDeleteProfileDialog(Window parentWindow, IProfileManagerM
IList<ProfileInfo> profiles)
{
var childWindow = new OKCancelInfoMessageChildWindow();

OKCancelInfoMessageViewModel childWindowViewModel = new(_ =>
{
childWindow.IsOpen = false;
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;

viewModel.OnProfileManagerDialogClose();

ProfileManager.RemoveProfiles(profiles);
}, _ =>
{
childWindow.IsOpen = false;
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;

viewModel.OnProfileManagerDialogClose();
},
profiles.Count == 1
? Strings.DeleteProfileMessage
: Strings.DeleteProfilesMessage);

childWindow.Title = Strings.DeleteProfile;

childWindow.DataContext = childWindowViewModel;

viewModel.OnProfileManagerDialogOpen();

Settings.ConfigurationManager.Current.IsChildWindowOpen = true;

return parentWindow.ShowChildWindowAsync(childWindow);
Expand All @@ -608,95 +605,95 @@ public static Task ShowDeleteProfileDialog(Window parentWindow, IProfileManagerM
public static Task ShowAddGroupDialog(Window parentWindow, IProfileManagerMinimal viewModel)
{
var childWindow = new GroupChildWindow(parentWindow);

GroupViewModel childWindowViewModel = new(instance =>
{
childWindow.IsOpen = false;
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;

viewModel.OnProfileManagerDialogClose();

ProfileManager.AddGroup(ParseGroupInfo(instance));
}, _ =>
{
childWindow.IsOpen = false;
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;

viewModel.OnProfileManagerDialogClose();
}, ProfileManager.GetGroupNames());

childWindow.Title = Strings.AddGroup;

childWindow.DataContext = childWindowViewModel;

viewModel.OnProfileManagerDialogOpen();

Settings.ConfigurationManager.Current.IsChildWindowOpen = true;

return parentWindow.ShowChildWindowAsync(childWindow);
}

public static Task ShowEditGroupDialog(Window parentWindow, IProfileManagerMinimal viewModel,
GroupInfo group)
{
var childWindow = new GroupChildWindow(parentWindow);

GroupViewModel childWindowViewModel = new(instance =>
{
childWindow.IsOpen = false;
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;

viewModel.OnProfileManagerDialogClose();

ProfileManager.ReplaceGroup(group, ParseGroupInfo(instance));
}, _ =>
{
childWindow.IsOpen = false;
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;

viewModel.OnProfileManagerDialogClose();
}, ProfileManager.GetGroupNames(), GroupEditMode.Edit, group);

childWindow.Title = Strings.EditGroup;

childWindow.DataContext = childWindowViewModel;

viewModel.OnProfileManagerDialogOpen();

Settings.ConfigurationManager.Current.IsChildWindowOpen = true;

return parentWindow.ShowChildWindowAsync(childWindow);
}

public static Task ShowDeleteGroupDialog(Window parentWindow, IProfileManagerMinimal viewModel,
GroupInfo group)
{
var childWindow = new OKCancelInfoMessageChildWindow();

OKCancelInfoMessageViewModel childWindowViewModel = new(_ =>
{
childWindow.IsOpen = false;
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;

viewModel.OnProfileManagerDialogClose();

ProfileManager.RemoveGroup(group);
}, _ =>
{
childWindow.IsOpen = false;
Settings.ConfigurationManager.Current.IsChildWindowOpen = false;

viewModel.OnProfileManagerDialogClose();
}, Strings.DeleteGroupMessage);

childWindow.Title = Strings.DeleteGroup;

childWindow.DataContext = childWindowViewModel;

viewModel.OnProfileManagerDialogOpen();

Settings.ConfigurationManager.Current.IsChildWindowOpen = true;

return parentWindow.ShowChildWindowAsync(childWindow);
}

Expand Down
33 changes: 19 additions & 14 deletions Source/NETworkManager/ViewModels/ARPTableViewModel.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using log4net;
using MahApps.Metro.Controls;
using MahApps.Metro.Controls.Dialogs;
using MahApps.Metro.SimpleChildWindow;
using NETworkManager.Localization.Resources;
using NETworkManager.Models.Export;
using NETworkManager.Models.Network;
Expand Down Expand Up @@ -379,16 +380,14 @@ private async Task AddEntryAction()

public ICommand ExportCommand => new RelayCommand(_ => ExportAction().ConfigureAwait(false));

private async Task ExportAction()
private Task ExportAction()
{
var customDialog = new CustomDialog
{
Title = Strings.Export
};
var childWindow = new ExportChildWindow();

var exportViewModel = new ExportViewModel(async instance =>
var childWindowViewModel = new ExportViewModel(async instance =>
{
await _dialogCoordinator.HideMetroDialogAsync(this, customDialog);
childWindow.IsOpen = false;
ConfigurationManager.Current.IsChildWindowOpen = false;

try
{
Expand All @@ -411,16 +410,22 @@ await _dialogCoordinator.ShowMessageAsync(this, Strings.Error,

SettingsManager.Current.ARPTable_ExportFileType = instance.FileType;
SettingsManager.Current.ARPTable_ExportFilePath = instance.FilePath;
}, _ => { _dialogCoordinator.HideMetroDialogAsync(this, customDialog); }, [
}, _ =>
{
childWindow.IsOpen = false;
ConfigurationManager.Current.IsChildWindowOpen = false;
}, [
ExportFileType.Csv, ExportFileType.Xml, ExportFileType.Json
], true, SettingsManager.Current.ARPTable_ExportFileType, SettingsManager.Current.ARPTable_ExportFilePath);
], true, SettingsManager.Current.ARPTable_ExportFileType,
SettingsManager.Current.ARPTable_ExportFilePath);

customDialog.Content = new ExportDialog
{
DataContext = exportViewModel
};
childWindow.Title = Strings.Export;

await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
childWindow.DataContext = childWindowViewModel;

ConfigurationManager.Current.IsChildWindowOpen = true;

return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow);
}

#endregion
Expand Down
Loading