diff --git a/Source/3rdparty/Dragablz b/Source/3rdparty/Dragablz index d8436d9a02..bb3801fbd3 160000 --- a/Source/3rdparty/Dragablz +++ b/Source/3rdparty/Dragablz @@ -1 +1 @@ -Subproject commit d8436d9a025a422175f0cd4541babaee007181e5 +Subproject commit bb3801fbd33a979ed64b44b1945dbd9edca5c98d diff --git a/Source/NETworkManager.Controls/NETworkManager.Controls.csproj b/Source/NETworkManager.Controls/NETworkManager.Controls.csproj index c3dd726682..c17b65f738 100644 --- a/Source/NETworkManager.Controls/NETworkManager.Controls.csproj +++ b/Source/NETworkManager.Controls/NETworkManager.Controls.csproj @@ -1,10 +1,10 @@ - + {95EA884C-E498-4A47-A316-DC890BF7F0D2} Library NETworkManager.Controls NETworkManager.Controls - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -15,4 +15,5 @@ - \ No newline at end of file + + diff --git a/Source/NETworkManager.Converters/NETworkManager.Converters.csproj b/Source/NETworkManager.Converters/NETworkManager.Converters.csproj index 4ca2f9653c..90cc84633b 100644 --- a/Source/NETworkManager.Converters/NETworkManager.Converters.csproj +++ b/Source/NETworkManager.Converters/NETworkManager.Converters.csproj @@ -1,11 +1,11 @@ - + {BD4DDC21-7B64-41B2-BAC7-8173E0FE84BE} Library Properties NETworkManager.Converters NETworkManager.Converters - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -30,4 +30,5 @@ - \ No newline at end of file + + diff --git a/Source/NETworkManager.Documentation/NETworkManager.Documentation.csproj b/Source/NETworkManager.Documentation/NETworkManager.Documentation.csproj index f09f4d2c47..5b2aac3088 100644 --- a/Source/NETworkManager.Documentation/NETworkManager.Documentation.csproj +++ b/Source/NETworkManager.Documentation/NETworkManager.Documentation.csproj @@ -1,11 +1,11 @@ - + {95CE4AD5-14C0-4486-9C11-5D6A5EC48176} Library Properties NETworkManager.Documentation NETworkManager.Documentation - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -113,4 +113,5 @@ - \ No newline at end of file + + diff --git a/Source/NETworkManager.Localization/NETworkManager.Localization.csproj b/Source/NETworkManager.Localization/NETworkManager.Localization.csproj index 323b4d5b90..c88748e61e 100644 --- a/Source/NETworkManager.Localization/NETworkManager.Localization.csproj +++ b/Source/NETworkManager.Localization/NETworkManager.Localization.csproj @@ -1,10 +1,10 @@ - + {FF225C2E-AA67-4B10-939A-6C046CEF8697} Library NETworkManager.Localization NETworkManager.Localization - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -86,4 +86,5 @@ Strings.Designer.cs - \ No newline at end of file + + diff --git a/Source/NETworkManager.Models/NETworkManager.Models.csproj b/Source/NETworkManager.Models/NETworkManager.Models.csproj index eeb052a75a..5996d14349 100644 --- a/Source/NETworkManager.Models/NETworkManager.Models.csproj +++ b/Source/NETworkManager.Models/NETworkManager.Models.csproj @@ -1,10 +1,10 @@ - + {8A2859DC-38B6-4E9D-A6B2-1828DC6641B3} Library NETworkManager.Models NETworkManager.Models - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -61,4 +61,5 @@ PreserveNewest - \ No newline at end of file + + diff --git a/Source/NETworkManager.Profiles/NETworkManager.Profiles.csproj b/Source/NETworkManager.Profiles/NETworkManager.Profiles.csproj index ba799e99a2..81cd58a873 100644 --- a/Source/NETworkManager.Profiles/NETworkManager.Profiles.csproj +++ b/Source/NETworkManager.Profiles/NETworkManager.Profiles.csproj @@ -1,10 +1,10 @@ - + {D3B37F13-E8E6-4218-9E8E-96D52432A9CF} Library NETworkManager.Profiles NETworkManager.Profiles - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -27,4 +27,5 @@ - \ No newline at end of file + + diff --git a/Source/NETworkManager.Settings/NETworkManager.Settings.csproj b/Source/NETworkManager.Settings/NETworkManager.Settings.csproj index 3f3fa129b1..bf4c4c3015 100644 --- a/Source/NETworkManager.Settings/NETworkManager.Settings.csproj +++ b/Source/NETworkManager.Settings/NETworkManager.Settings.csproj @@ -1,10 +1,10 @@ - + {954E8703-3E6E-42BF-BD28-F0B19BE10E0C} Library NETworkManager.Settings NETworkManager.Settings - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -59,4 +59,5 @@ - \ No newline at end of file + + diff --git a/Source/NETworkManager.Update/NETworkManager.Update.csproj b/Source/NETworkManager.Update/NETworkManager.Update.csproj index 6e138b1ee3..397549eb31 100644 --- a/Source/NETworkManager.Update/NETworkManager.Update.csproj +++ b/Source/NETworkManager.Update/NETworkManager.Update.csproj @@ -1,11 +1,11 @@ - + {008467AF-D83F-4B1E-8733-B65136F595F2} Library Properties NETworkManager.Update NETworkManager.Update - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -20,4 +20,5 @@ - \ No newline at end of file + + diff --git a/Source/NETworkManager.Utilities.WPF/NETworkManager.Utilities.WPF.csproj b/Source/NETworkManager.Utilities.WPF/NETworkManager.Utilities.WPF.csproj index d594795187..9a39c13938 100644 --- a/Source/NETworkManager.Utilities.WPF/NETworkManager.Utilities.WPF.csproj +++ b/Source/NETworkManager.Utilities.WPF/NETworkManager.Utilities.WPF.csproj @@ -1,10 +1,10 @@ - + {93733008-7269-460D-8390-AB281C75DB91} Library NETworkManager.Utilities.WPF NETworkManager.Utilities.WPF - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -18,4 +18,5 @@ - \ No newline at end of file + + diff --git a/Source/NETworkManager.Utilities/NETworkManager.Utilities.csproj b/Source/NETworkManager.Utilities/NETworkManager.Utilities.csproj index 5be81dc456..1885720150 100644 --- a/Source/NETworkManager.Utilities/NETworkManager.Utilities.csproj +++ b/Source/NETworkManager.Utilities/NETworkManager.Utilities.csproj @@ -1,10 +1,10 @@ - + {5C3D1749-D260-4566-B448-B94B3AD9EEFF} Library NETworkManager.Utilities NETworkManager.Utilities - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -20,4 +20,5 @@ - \ No newline at end of file + + diff --git a/Source/NETworkManager.Validators/NETworkManager.Validators.csproj b/Source/NETworkManager.Validators/NETworkManager.Validators.csproj index 800e18430a..d80f31acbb 100644 --- a/Source/NETworkManager.Validators/NETworkManager.Validators.csproj +++ b/Source/NETworkManager.Validators/NETworkManager.Validators.csproj @@ -1,10 +1,10 @@ - + {29172E71-52AF-4E64-9683-30C5F4D0C746} Library NETworkManager.Validators NETworkManager.Validators - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -22,4 +22,5 @@ - \ No newline at end of file + + diff --git a/Source/NETworkManager/NETworkManager.csproj b/Source/NETworkManager/NETworkManager.csproj index 6bfdefad2d..8d0cfb546b 100644 --- a/Source/NETworkManager/NETworkManager.csproj +++ b/Source/NETworkManager/NETworkManager.csproj @@ -1,8 +1,8 @@ - + WinExe - net8.0-windows10.0.22621.0 + net10.0-windows10.0.22621.0 win-x64 x64 false @@ -150,4 +150,5 @@ - \ No newline at end of file + + diff --git a/Source/NETworkManager/Resources/Styles/ChildWindowStyles.xaml b/Source/NETworkManager/Resources/Styles/ChildWindowStyles.xaml index fe902c9b8a..0840efad21 100644 --- a/Source/NETworkManager/Resources/Styles/ChildWindowStyles.xaml +++ b/Source/NETworkManager/Resources/Styles/ChildWindowStyles.xaml @@ -10,7 +10,7 @@ - + diff --git a/Source/NETworkManager/ViewModels/PowerShellConnectViewModel.cs b/Source/NETworkManager/ViewModels/PowerShellConnectViewModel.cs index 2b2a066ac8..64e5ed9e55 100644 --- a/Source/NETworkManager/ViewModels/PowerShellConnectViewModel.cs +++ b/Source/NETworkManager/ViewModels/PowerShellConnectViewModel.cs @@ -18,7 +18,7 @@ public class PowerShellConnectViewModel : ViewModelBase private bool _enableRemoteConsole; - private List _executionPolicies = new(); + private List _executionPolicies = []; private ExecutionPolicy _executionPolicy; diff --git a/Source/NETworkManager/ViewModels/PowerShellHostViewModel.cs b/Source/NETworkManager/ViewModels/PowerShellHostViewModel.cs index 7836fb0e0b..a81f96da32 100644 --- a/Source/NETworkManager/ViewModels/PowerShellHostViewModel.cs +++ b/Source/NETworkManager/ViewModels/PowerShellHostViewModel.cs @@ -1,6 +1,7 @@ using Dragablz; using log4net; using MahApps.Metro.Controls.Dialogs; +using MahApps.Metro.SimpleChildWindow; using NETworkManager.Controls; using NETworkManager.Localization.Resources; using NETworkManager.Models; @@ -579,16 +580,15 @@ private void TryFindExecutable() Log.Warn("Install PowerShell or configure the path in the settings."); } - private async Task Connect(string host = null) + private Task Connect(string host = null) { - var customDialog = new CustomDialog - { - Title = Strings.Connect - }; + var childWindow = new PowerShellConnectChildWindow(); - var connectViewModel = new PowerShellConnectViewModel(async instance => + var childWindowViewModel = new PowerShellConnectViewModel(instance => { - await _dialogCoordinator.HideMetroDialogAsync(this, customDialog); + childWindow.IsOpen = false; + ConfigurationManager.Current.IsChildWindowOpen = false; + ConfigurationManager.OnDialogClose(); // Create profile info @@ -606,21 +606,24 @@ private async Task Connect(string host = null) // Otherwise, in some cases, incorrect values are taken over. AddHostToHistory(instance.Host); - // Connect Connect(sessionInfo); - }, async _ => + }, _ => { - await _dialogCoordinator.HideMetroDialogAsync(this, customDialog); + childWindow.IsOpen = false; + ConfigurationManager.Current.IsChildWindowOpen = false; + ConfigurationManager.OnDialogClose(); }, host); - customDialog.Content = new PowerShellConnectDialog - { - DataContext = connectViewModel - }; + childWindow.Title = Strings.Connect; + + childWindow.DataContext = childWindowViewModel; + + ConfigurationManager.Current.IsChildWindowOpen = true; ConfigurationManager.OnDialogOpen(); - await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog); + + return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow); } private void ConnectProfile() diff --git a/Source/NETworkManager/ViewModels/PuTTYHostViewModel.cs b/Source/NETworkManager/ViewModels/PuTTYHostViewModel.cs index 3223efcfc3..26f939c0c5 100644 --- a/Source/NETworkManager/ViewModels/PuTTYHostViewModel.cs +++ b/Source/NETworkManager/ViewModels/PuTTYHostViewModel.cs @@ -1,6 +1,7 @@ using Dragablz; using log4net; using MahApps.Metro.Controls.Dialogs; +using MahApps.Metro.SimpleChildWindow; using NETworkManager.Controls; using NETworkManager.Localization.Resources; using NETworkManager.Models; @@ -239,7 +240,7 @@ public bool IsProfileFilterSet OnPropertyChanged(); } } - + private readonly GroupExpanderStateStore _groupExpanderStateStore = new(); public GroupExpanderStateStore GroupExpanderStateStore => _groupExpanderStateStore; @@ -504,7 +505,7 @@ public ICommand TextBoxSearchLostFocusCommand private void OpenProfileFilterAction() { ConfigurationManager.Current.IsProfileFilterPopupOpen = true; - + ProfileFilterIsOpen = true; } @@ -524,7 +525,7 @@ private void ClearProfileFilterAction() _searchDisabled = true; Search = string.Empty; _searchDisabled = false; - + foreach (var tag in ProfileFilterTags) tag.IsSelected = false; @@ -547,7 +548,7 @@ private void CollapseAllProfileGroupsAction() { SetIsExpandedForAllProfileGroups(false); } - + public ICommand OpenSettingsCommand => new RelayCommand(_ => OpenSettingsAction()); private static void OpenSettingsAction() @@ -588,16 +589,15 @@ private void TryFindExecutable() Log.Warn("Install PuTTY or configure the path in the settings."); } - private async Task Connect(string host = null) + private Task Connect(string host = null) { - var customDialog = new CustomDialog - { - Title = Strings.Connect - }; + var childWindow = new PuTTYConnectChildWindow(); - var connectViewModel = new PuTTYConnectViewModel(async instance => + var childWindowViewModel = new PuTTYConnectViewModel(instance => { - await _dialogCoordinator.HideMetroDialogAsync(this, customDialog); + childWindow.IsOpen = false; + ConfigurationManager.Current.IsChildWindowOpen = false; + ConfigurationManager.OnDialogClose(); // Create profile info @@ -630,19 +630,23 @@ private async Task Connect(string host = null) AddProfileToHistory(instance.Profile); Connect(sessionInfo); - }, async _ => + }, _ => { - await _dialogCoordinator.HideMetroDialogAsync(this, customDialog); + childWindow.IsOpen = false; + ConfigurationManager.Current.IsChildWindowOpen = false; + ConfigurationManager.OnDialogClose(); }, host); - customDialog.Content = new PuTTYConnectDialog - { - DataContext = connectViewModel - }; + childWindow.Title = Strings.Connect; + + childWindow.DataContext = childWindowViewModel; + + ConfigurationManager.Current.IsChildWindowOpen = true; ConfigurationManager.OnDialogOpen(); - await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog); + + return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow); } private void ConnectProfile() @@ -660,7 +664,7 @@ private void ConnectProfileExternal() ProcessStartInfo info = new() { FileName = SettingsManager.Current.PuTTY_ApplicationFilePath, - Arguments = Models.PuTTY.PuTTY.BuildCommandLine(sessionInfo) + Arguments = PuTTY.BuildCommandLine(sessionInfo) }; Process.Start(info); @@ -761,7 +765,7 @@ private void SetIsExpandedForAllProfileGroups(bool isExpanded) foreach (var group in Profiles.Groups.Cast()) GroupExpanderStateStore[group.Name.ToString()] = isExpanded; } - + private void ResizeProfile(bool dueToChangedSize) { _canProfileWidthChange = false; @@ -907,7 +911,7 @@ public void OnProfileFilterClosed() { ConfigurationManager.Current.IsProfileFilterPopupOpen = false; } - + public void OnProfileManagerDialogOpen() { ConfigurationManager.OnDialogOpen(); diff --git a/Source/NETworkManager/ViewModels/RemoteDesktopHostViewModel.cs b/Source/NETworkManager/ViewModels/RemoteDesktopHostViewModel.cs index b56f761f2c..686350506b 100644 --- a/Source/NETworkManager/ViewModels/RemoteDesktopHostViewModel.cs +++ b/Source/NETworkManager/ViewModels/RemoteDesktopHostViewModel.cs @@ -527,7 +527,7 @@ private static void CloseItemAction(ItemActionCallbackArgs args) // Connect via Dialog private Task Connect(string host = null) { - var childWindow = new RemoteDesktopConnectChildWindow(Application.Current.MainWindow); + var childWindow = new RemoteDesktopConnectChildWindow(); var childWindowViewModel = new RemoteDesktopConnectViewModel(instance => { @@ -606,7 +606,7 @@ private Task ConnectProfileAs() var sessionInfo = RemoteDesktop.CreateSessionInfo(profileInfo); - var childWindow = new RemoteDesktopConnectChildWindow(Application.Current.MainWindow); + var childWindow = new RemoteDesktopConnectChildWindow(); var childWindowViewModel = new RemoteDesktopConnectViewModel(instance => { diff --git a/Source/NETworkManager/ViewModels/WebConsoleHostViewModel.cs b/Source/NETworkManager/ViewModels/WebConsoleHostViewModel.cs index 2594332b32..fafe987dac 100644 --- a/Source/NETworkManager/ViewModels/WebConsoleHostViewModel.cs +++ b/Source/NETworkManager/ViewModels/WebConsoleHostViewModel.cs @@ -1,5 +1,6 @@ using Dragablz; using MahApps.Metro.Controls.Dialogs; +using MahApps.Metro.SimpleChildWindow; using Microsoft.Web.WebView2.Core; using NETworkManager.Controls; using NETworkManager.Localization.Resources; @@ -485,16 +486,15 @@ private static void OpenWebsiteAction(object url) #region Methods - private async Task Connect() + private Task Connect() { - var customDialog = new CustomDialog - { - Title = Strings.Connect - }; + var childWindow = new WebConsoleConnectChildWindow(); - var connectViewModel = new WebConsoleConnectViewModel(async instance => + var childWindowViewModel = new WebConsoleConnectViewModel(instance => { - await _dialogCoordinator.HideMetroDialogAsync(this, customDialog); + childWindow.IsOpen = false; + ConfigurationManager.Current.IsChildWindowOpen = false; + ConfigurationManager.OnDialogClose(); // Create profile info @@ -509,19 +509,23 @@ private async Task Connect() AddUrlToHistory(instance.Url); Connect(info); - }, async _ => + }, _ => { - await _dialogCoordinator.HideMetroDialogAsync(this, customDialog); + childWindow.IsOpen = false; + ConfigurationManager.Current.IsChildWindowOpen = false; + ConfigurationManager.OnDialogClose(); }); - customDialog.Content = new WebConsoleConnectDialog - { - DataContext = connectViewModel - }; + childWindow.Title = Strings.Connect; + + childWindow.DataContext = childWindowViewModel; + + ConfigurationManager.Current.IsChildWindowOpen = true; ConfigurationManager.OnDialogOpen(); - await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog); + + return (Application.Current.MainWindow as MainWindow).ShowChildWindowAsync(childWindow); } private void ConnectProfile() diff --git a/Source/NETworkManager/Views/PowerShellConnectDialog.xaml b/Source/NETworkManager/Views/PowerShellConnectChildWindow.xaml similarity index 62% rename from Source/NETworkManager/Views/PowerShellConnectDialog.xaml rename to Source/NETworkManager/Views/PowerShellConnectChildWindow.xaml index 06930b16a9..40daf75d76 100644 --- a/Source/NETworkManager/Views/PowerShellConnectDialog.xaml +++ b/Source/NETworkManager/Views/PowerShellConnectChildWindow.xaml @@ -1,20 +1,24 @@ - - + + - - + + @@ -42,7 +46,7 @@ + IsOn="{Binding EnableRemoteConsole}" />