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}" />