mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-18 06:21:41 +08:00
Compare commits
39 Commits
v1.75Alpha
...
v1.75Alpha
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a173821d7 | ||
|
|
4555db8e97 | ||
|
|
1bbd20de3c | ||
|
|
d1f4164498 | ||
|
|
d1c238a812 | ||
|
|
675bbd602f | ||
|
|
ab1be61fda | ||
|
|
8097ab146c | ||
|
|
c0c4b69c64 | ||
|
|
315d90391c | ||
|
|
869a5fd773 | ||
|
|
9940cfcf12 | ||
|
|
463b6cd791 | ||
|
|
b981516913 | ||
|
|
9ffdbee400 | ||
|
|
def55c9dfe | ||
|
|
69668c5e55 | ||
|
|
f41adec096 | ||
|
|
3cc56f9886 | ||
|
|
be8b302e20 | ||
|
|
6da05af387 | ||
|
|
2eb74afc20 | ||
|
|
c44bb1e27d | ||
|
|
12cd38a047 | ||
|
|
e5c896cb36 | ||
|
|
d89a2487e7 | ||
|
|
e59f91a976 | ||
|
|
9a80777fe9 | ||
|
|
69b1da50b8 | ||
|
|
04ada28ffc | ||
|
|
369a6c2f04 | ||
|
|
f438fb65f8 | ||
|
|
6590011ef1 | ||
|
|
b6eb3d2361 | ||
|
|
13b9b77f0d | ||
|
|
20419856c1 | ||
|
|
8bbb9a70c6 | ||
|
|
37905f8249 | ||
|
|
203dcf714f |
@@ -1,3 +1,14 @@
|
||||
1.75 Alpha 3 (2016-08-12):
|
||||
|
||||
Fixes:
|
||||
------
|
||||
MR-965, MR-871, MR-629: Error 264 on RDP Connect attempt - Added timeout value to Tools -> Options -> Connections
|
||||
MR-946: Remove old/insecure SharpSSH and related components. Replace with SSH.NET for File Transfer Functionality
|
||||
MR-896: Added prerequisite installer check for KB2574819. Prevents "Class not registered" errors when opening RDP connections.
|
||||
PR-130: Fix Scan button width to fit russian translation
|
||||
|
||||
|
||||
|
||||
1.75 Alpha 2 (2016-08-03):
|
||||
|
||||
General Changes:
|
||||
@@ -9,12 +20,13 @@
|
||||
|
||||
Features/Enhancements:
|
||||
----------------------
|
||||
PR-133: Option to reconnect all currently opened connection tabs
|
||||
MR-961, PR-133: Option to reconnect all currently opened connection tabs
|
||||
MR-917: Improved cryptographic support
|
||||
|
||||
Fixes:
|
||||
------
|
||||
MR-910: Fixes to support Remote Desktop Gateways
|
||||
MR-874: Incorrect RDP prerequisite check in installer
|
||||
|
||||
|
||||
|
||||
|
||||
26
CREDITS.TXT
26
CREDITS.TXT
@@ -9,11 +9,10 @@ Sean Kaim (github.com/kmscode)
|
||||
Felix Deimel - mRemote original developer
|
||||
Riley McArdle - mRemoteNG original developer
|
||||
|
||||
github.com/Brandhor
|
||||
|
||||
|
||||
Past Contributors
|
||||
=================
|
||||
|
||||
Jason Barbier
|
||||
Wiktor Beryt
|
||||
Lionel Caignec
|
||||
@@ -23,6 +22,8 @@ Tom Hiller
|
||||
Apisitt Rattana
|
||||
Andreas Rehm
|
||||
David Vidmar
|
||||
github.com/Brandhor
|
||||
github.com/Kvarkas
|
||||
|
||||
|
||||
Translators
|
||||
@@ -69,11 +70,6 @@ Copyright
|
||||
Copyright <20> 2008 Felix Deimel
|
||||
http://www.codeproject.com/KB/selection/ADPickerCtrl.aspx
|
||||
|
||||
DiffieHellman 1.0
|
||||
Copyright <20> 2003 The Mentalis.org Team
|
||||
Modified New BSD License
|
||||
http://www.mentalis.org/
|
||||
|
||||
DockPanel Suite 2.10.0.beta2
|
||||
Copyright <20> 2015 @roken and @lextm (formerly Weifen Luo)
|
||||
MIT License
|
||||
@@ -94,27 +90,21 @@ Copyright
|
||||
Freely redistributable with attribution
|
||||
http://www.dotnetmagic.com/magic_download.html
|
||||
|
||||
Mentalis.org Security Library 1.0.13.715
|
||||
Copyright <20> 2002-2005 The Mentalis.org Team
|
||||
Modified New BSD License
|
||||
http://www.mentalis.org/
|
||||
|
||||
PuTTY 0.67
|
||||
Copyright <20> 1997-2016 Simon Tatham
|
||||
MIT License
|
||||
http://www.chiark.greenend.org.uk/~sgtatham/putty/
|
||||
|
||||
SharpSSH 1.1.1.13
|
||||
Copyright <20> 2002-2008 Atsuhiko Yamanaka, JCraft, Inc.
|
||||
Copyright <20> 2007 Tamir Gal
|
||||
BSD Style License
|
||||
http://www.tamirgal.com/blog/page/SharpSSH.aspx
|
||||
|
||||
Silk Icon Set
|
||||
Copyright <20> 2005-2008 FAMFAMFAM
|
||||
Creative Commons Attribution 2.5 License
|
||||
http://www.famfamfam.com/
|
||||
|
||||
SSH.NET v2016.0.0
|
||||
Copyright <20> 2016
|
||||
MIT License
|
||||
https://github.com/sshnet/SSH.NET
|
||||
|
||||
VncSharp 1.1
|
||||
Copyright <20> 2004-2009 David Humphrey
|
||||
GNU General Public License (GPL) Version 2
|
||||
|
||||
@@ -7,7 +7,15 @@ namespace CustomActions
|
||||
[CustomAction]
|
||||
public static ActionResult IsMinimumRdpVersionInstalled(Session session)
|
||||
{
|
||||
var rdpVersionChecker = new RdpVersionChecker(session);
|
||||
var rdpVersionChecker = new InstalledKbChecker("MINIMUM_RDP_KB", "MINIMUM_RDP_VERSION_INSTALLED", session);
|
||||
rdpVersionChecker.Execute();
|
||||
return ActionResult.Success;
|
||||
}
|
||||
|
||||
[CustomAction]
|
||||
public static ActionResult IsRdpDtlsUpdateInstalled(Session session)
|
||||
{
|
||||
var rdpVersionChecker = new InstalledKbChecker("RDP_DTLS_KB", "RDP_DTLS_UPDATE_INSTALLED", session);
|
||||
rdpVersionChecker.Execute();
|
||||
return ActionResult.Success;
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<Compile Include="CustomActions.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="InstalledWindowsUpdateGatherer.cs" />
|
||||
<Compile Include="RdpVersionChecker.cs" />
|
||||
<Compile Include="InstalledKbChecker.cs" />
|
||||
<Compile Include="UninstallNsisVersions.cs" />
|
||||
<Content Include="CustomAction.config" />
|
||||
</ItemGroup>
|
||||
|
||||
53
InstallerProjects/CustomActions/InstalledKbChecker.cs
Normal file
53
InstallerProjects/CustomActions/InstalledKbChecker.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using Microsoft.Deployment.WindowsInstaller;
|
||||
|
||||
namespace CustomActions
|
||||
{
|
||||
public class InstalledKbChecker
|
||||
{
|
||||
private readonly Session _session;
|
||||
private readonly string _kbVariable;
|
||||
private readonly string _returnVar;
|
||||
|
||||
public InstalledKbChecker(string kbVariable, string returnVar, Session session)
|
||||
{
|
||||
_kbVariable = kbVariable;
|
||||
_returnVar = returnVar;
|
||||
_session = session;
|
||||
}
|
||||
|
||||
public bool Execute()
|
||||
{
|
||||
try
|
||||
{
|
||||
_session.Log("Begin InstalledKbChecker");
|
||||
var minimumKb = _session[_kbVariable];
|
||||
var isUpdateInstalled = IsUpdateInstalled(minimumKb);
|
||||
SetReturnValue(isUpdateInstalled);
|
||||
_session.Log("End InstalledKbChecker");
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_session.Log($"There was an issue executing the RdpVersionChecker. Exception: {e}");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsUpdateInstalled(string kb)
|
||||
{
|
||||
_session.Log($"Checking if '{kb}' is installed");
|
||||
var updateGatherer = new InstalledWindowsUpdateGatherer();
|
||||
var isUpdateInstalled = updateGatherer.IsUpdateInstalled(kb);
|
||||
_session.Log($"KB is installed = '{isUpdateInstalled}'");
|
||||
return isUpdateInstalled;
|
||||
}
|
||||
|
||||
private void SetReturnValue(bool isUpdateInstalled)
|
||||
{
|
||||
var updateInstalledVal = isUpdateInstalled ? "1" : "0";
|
||||
_session[_returnVar] = updateInstalledVal;
|
||||
_session.Log($"Set property '{_returnVar}' to '{updateInstalledVal}'");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
using Microsoft.Deployment.WindowsInstaller;
|
||||
|
||||
namespace CustomActions
|
||||
{
|
||||
public class RdpVersionChecker
|
||||
{
|
||||
private readonly Session _session;
|
||||
private const string MinimumVersionInstalledReturnVar = "MINIMUM_RDP_VERSION_INSTALLED";
|
||||
private const string MinimumRdpKbVariable = "MINIMUM_RDP_KB";
|
||||
|
||||
public RdpVersionChecker(Session session)
|
||||
{
|
||||
_session = session;
|
||||
}
|
||||
|
||||
public bool Execute()
|
||||
{
|
||||
_session.Log("Begin IsMinimumRdpVersionInstalled");
|
||||
var minimumKb = _session[MinimumRdpKbVariable];
|
||||
var isUpdateInstalled = IsUpdateInstalled(minimumKb);
|
||||
SetReturnValue(isUpdateInstalled);
|
||||
_session.Log("End IsMinimumRdpVersionInstalled");
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool IsUpdateInstalled(string minimumKb)
|
||||
{
|
||||
_session.Log("Checking if '{0}' is installed", minimumKb);
|
||||
var updateGatherer = new InstalledWindowsUpdateGatherer();
|
||||
var isUpdateInstalled = updateGatherer.IsUpdateInstalled(minimumKb);
|
||||
_session.Log("KB is installed = '{0}'", isUpdateInstalled);
|
||||
return isUpdateInstalled;
|
||||
}
|
||||
|
||||
private void SetReturnValue(bool isUpdateInstalled)
|
||||
{
|
||||
var updateInstalledVal = isUpdateInstalled ? "1" : "0";
|
||||
_session[MinimumVersionInstalledReturnVar] = updateInstalledVal;
|
||||
_session.Log($"Set property '{MinimumVersionInstalledReturnVar}' to '{updateInstalledVal}'");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,4 +4,7 @@
|
||||
<Fragment>
|
||||
<CustomAction Id="CheckIfMinimumRdpInstalled" Return="check" Execute="immediate" BinaryKey="CustomActions.CA.dll" DllEntry="IsMinimumRdpVersionInstalled" />
|
||||
</Fragment>
|
||||
<Fragment>
|
||||
<CustomAction Id="CheckIfRdpDtlsUpdateInstalled" Return="check" Execute="immediate" BinaryKey="CustomActions.CA.dll" DllEntry="IsRdpDtlsUpdateInstalled" />
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -19,6 +19,7 @@
|
||||
<?define Rdp80Kb = "KB2592687" ?>
|
||||
<?define Rdp81Kb = "KB2923545" ?>
|
||||
<?define MinimumRdpKb = $(var.Rdp80Kb) ?>
|
||||
<?define RdpDtlsKb = "KB2574819" ?>
|
||||
<?define IGNOREPREREQUISITES = 0 ?>
|
||||
|
||||
<?if $(var.Platform) = x64 ?>
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<String Id="Install_NeedDotNetFrameworkVersion">mRemoteNG requires Microsoft .NET Framework [REQUIREDDOTNETFRAMEWORKVERSION] or higher.</String>
|
||||
<String Id="Install_OSVersionRequirement">mRemoteNG requires Windows 7 SP1 or higher to run. Please update your operating system and try again.</String>
|
||||
<String Id="Install_RDP80Requirement">mRemoteNG requires RDP 8.0 or higher to run. Windows 7 users will need to install KB2592687</String>
|
||||
<String Id="Install_RDPDtlsRequirement">mRemoteNG requires KB2574819 in order to create RDP connections. Windows 7 users will need to install this KB.</String>
|
||||
<String Id="Install_Win7RequiresSP1">For mRemoteNG to run on Windows 7, it requires Service Pack 1 to be installed. Please install Service Pack 1 and try again.</String>
|
||||
|
||||
<!-- Directories and File names -->
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
<Property Id="APPLICATIONROOTDIRECTORY">
|
||||
<RegistrySearch Id='mRemoteNGRegistry' Type='raw' Root='HKLM' Key='Software\mRemoteNG' Name='InstallDir' />
|
||||
</Property>
|
||||
<Property Id='RDP_DTLS_KB' Value='$(var.RdpDtlsKb)' />
|
||||
<Property Id='RDP_DTLS_UPDATE_INSTALLED' Value='0' Secure='yes' />
|
||||
<Property Id='MINIMUM_RDP_KB' Value='$(var.MinimumRdpKb)' />
|
||||
<Property Id='MINIMUM_RDP_VERSION_INSTALLED' Value='0' Secure='yes' />
|
||||
<Property Id='REQUIREDDOTNETFRAMEWORKVERSION' Value='$(var.RequiredDotNetFrameworkVersion)' />
|
||||
@@ -26,7 +28,8 @@
|
||||
|
||||
|
||||
<InstallUISequence>
|
||||
<Custom Action="CheckIfMinimumRdpInstalled" After="AppSearch">(NOT Installed) AND (VersionNT = 601 OR VersionNT64 = 601)</Custom>
|
||||
<Custom Action="CheckIfRdpDtlsUpdateInstalled" After="AppSearch">(NOT Installed) AND (VersionNT = 601 OR VersionNT64 = 601)</Custom>
|
||||
<Custom Action="CheckIfMinimumRdpInstalled" After="CheckIfRdpDtlsUpdateInstalled">(NOT Installed) AND (VersionNT = 601 OR VersionNT64 = 601)</Custom>
|
||||
<LaunchConditions After="SetWIX_IS_NETFRAMEWORK_40_OR_LATER_INSTALLED" />
|
||||
<Custom Action="CheckIfLegacyVersionInstalled" After="LaunchConditions" />
|
||||
<Custom Action="UninstallLegacyVersion" After="CheckIfLegacyVersionInstalled">(NOT Installed) AND (LEGACYVERSIONINSTALLED = 1)</Custom>
|
||||
@@ -49,6 +52,10 @@
|
||||
<Condition Message="!(loc.Install_NeedDotNetFrameworkVersion)">
|
||||
<![CDATA[Installed OR (IGNOREPREREQUISITES = 1) OR WIX_IS_NETFRAMEWORK_40_OR_LATER_INSTALLED = 1]]>
|
||||
</Condition>
|
||||
<!-- If Win7, require RDP DTLS update (KB2574819) -->
|
||||
<Condition Message="!(loc.Install_RDPDtlsRequirement)">
|
||||
<![CDATA[Installed OR (IGNOREPREREQUISITES = 1) OR (VersionNT >= 602 OR VersionNT64 >= 602) OR ((VersionNT = 601 OR VersionNT64 = 601) AND (RDP_DTLS_UPDATE_INSTALLED = 1))]]>
|
||||
</Condition>
|
||||
<!-- If Win7, require RDP 8.0 update (KB2592687) -->
|
||||
<Condition Message="!(loc.Install_RDP80Requirement)">
|
||||
<![CDATA[Installed OR (IGNOREPREREQUISITES = 1) OR (VersionNT >= 602 OR VersionNT64 >= 602) OR ((VersionNT = 601 OR VersionNT64 = 601) AND (MINIMUM_RDP_VERSION_INSTALLED = 1))]]>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using NUnit.Framework;
|
||||
using System.Reflection;
|
||||
using System.Collections;
|
||||
using System.Linq;
|
||||
|
||||
namespace mRemoteNGTests.Connection
|
||||
{
|
||||
@@ -59,10 +60,23 @@ namespace mRemoteNGTests.Connection
|
||||
Assert.That(_inheritance.Username, Is.True);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetPropertiesReturnsListOfSettableProperties()
|
||||
{
|
||||
var hasIconProperty = _inheritance.GetProperties().Contains(typeof(ConnectionInfoInheritance).GetProperty("Icon"));
|
||||
Assert.That(hasIconProperty, Is.True);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetPropertiesExludesPropertiesThatShouldNotBeSet()
|
||||
{
|
||||
var hasEverythingInheritedProperty = _inheritance.GetProperties().Contains(typeof(ConnectionInfoInheritance).GetProperty("EverythingInherited"));
|
||||
Assert.That(hasEverythingInheritedProperty, Is.False);
|
||||
}
|
||||
|
||||
private bool AllInheritancePropertiesAreTrue()
|
||||
{
|
||||
bool allPropertiesTrue = true;
|
||||
var allPropertiesTrue = true;
|
||||
foreach (var property in _inheritanceProperties)
|
||||
{
|
||||
if (PropertyIsBoolean(property) && PropertyIsChangedWhenSettingInheritAll(property) && BooleanPropertyIsSetToFalse(property))
|
||||
@@ -73,7 +87,7 @@ namespace mRemoteNGTests.Connection
|
||||
|
||||
private bool AllInheritancePropertiesAreFalse()
|
||||
{
|
||||
bool allPropertiesFalse = true;
|
||||
var allPropertiesFalse = true;
|
||||
foreach (var property in _inheritanceProperties)
|
||||
{
|
||||
if (PropertyIsBoolean(property) && PropertyIsChangedWhenSettingInheritAll(property) && BooleanPropertyIsSetToTrue(property))
|
||||
@@ -84,8 +98,7 @@ namespace mRemoteNGTests.Connection
|
||||
|
||||
private bool PropertyIsChangedWhenSettingInheritAll(PropertyInfo property)
|
||||
{
|
||||
ArrayList propertiesIgnoredByInheritAll = new ArrayList();
|
||||
propertiesIgnoredByInheritAll.Add("IsDefault");
|
||||
var propertiesIgnoredByInheritAll = new ArrayList {"IsDefault"};
|
||||
return propertiesIgnoredByInheritAll.Contains(property);
|
||||
}
|
||||
|
||||
@@ -101,7 +114,7 @@ namespace mRemoteNGTests.Connection
|
||||
|
||||
private bool BooleanPropertyIsSetToTrue(PropertyInfo property)
|
||||
{
|
||||
return (bool)property.GetValue(_inheritance) == true;
|
||||
return (bool)property.GetValue(_inheritance);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
using mRemoteNG.Connection;
|
||||
using NUnit.Framework;
|
||||
|
||||
|
||||
namespace mRemoteNGTests.Connection
|
||||
{
|
||||
public class DefaultConnectionInheritanceTests
|
||||
{
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
DefaultConnectionInheritance.Instance.TurnOffInheritanceCompletely();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void LoadingDefaultInheritanceUpdatesAllProperties()
|
||||
{
|
||||
var inheritanceSource = new ConnectionInfoInheritance(new object(), true);
|
||||
inheritanceSource.TurnOnInheritanceCompletely();
|
||||
DefaultConnectionInheritance.Instance.LoadFrom(inheritanceSource);
|
||||
Assert.That(DefaultConnectionInheritance.Instance.EverythingInherited, Is.True);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SavingDefaultInheritanceExportsAllProperties()
|
||||
{
|
||||
var inheritanceDestination = new ConnectionInfoInheritance(new object(), true);
|
||||
DefaultConnectionInheritance.Instance.AutomaticResize = true;
|
||||
DefaultConnectionInheritance.Instance.SaveTo(inheritanceDestination);
|
||||
Assert.That(inheritanceDestination.AutomaticResize, Is.True);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void NewInheritanceInstancesCreatedWithDefaultInheritanceValues()
|
||||
{
|
||||
DefaultConnectionInheritance.Instance.Domain = true;
|
||||
var inheritanceInstance = new ConnectionInfoInheritance(new object());
|
||||
Assert.That(inheritanceInstance.Domain, Is.True);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void NewInheritanceInstancesCreatedWithAllDefaultInheritanceValues()
|
||||
{
|
||||
DefaultConnectionInheritance.Instance.TurnOnInheritanceCompletely();
|
||||
var inheritanceInstance = new ConnectionInfoInheritance(new object());
|
||||
Assert.That(inheritanceInstance.EverythingInherited, Is.True);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -103,6 +103,7 @@
|
||||
<Compile Include="App\LoggerTests.cs" />
|
||||
<Compile Include="BinaryFileTests.cs" />
|
||||
<Compile Include="Connection\ConnectionInfoInheritanceTests.cs" />
|
||||
<Compile Include="Connection\DefaultConnectionInheritanceTests.cs" />
|
||||
<Compile Include="ListViewTester.cs" />
|
||||
<Compile Include="Config\Connections\SqlConnectionUpdateCheckerTests.cs" />
|
||||
<Compile Include="Config\Connections\SqlUpdateQueryBuilderTest.cs" />
|
||||
|
||||
@@ -42,8 +42,10 @@ Global
|
||||
{1453B37F-8621-499E-B0B2-6091F76DC0BB}.Release|x86.Build.0 = Release|x86
|
||||
{5423D985-CB48-4344-B47F-E8C6D60C8B04}.Debug Portable|x86.ActiveCfg = Debug|x86
|
||||
{5423D985-CB48-4344-B47F-E8C6D60C8B04}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{5423D985-CB48-4344-B47F-E8C6D60C8B04}.Debug|x86.Build.0 = Debug|x86
|
||||
{5423D985-CB48-4344-B47F-E8C6D60C8B04}.Release Portable|x86.ActiveCfg = Release|x86
|
||||
{5423D985-CB48-4344-B47F-E8C6D60C8B04}.Release|x86.ActiveCfg = Release|x86
|
||||
{5423D985-CB48-4344-B47F-E8C6D60C8B04}.Release|x86.Build.0 = Release|x86
|
||||
{F0168B9F-6815-40DF-BA53-46CEE7683B68}.Debug Portable|x86.ActiveCfg = Debug Portable|x86
|
||||
{F0168B9F-6815-40DF-BA53-46CEE7683B68}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{F0168B9F-6815-40DF-BA53-46CEE7683B68}.Release Portable|x86.ActiveCfg = Release Portable|x86
|
||||
|
||||
@@ -17,7 +17,6 @@ using System.IO;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using mRemoteNG.Security;
|
||||
using mRemoteNG.Security.SymmetricEncryption;
|
||||
using mRemoteNG.UI.Forms;
|
||||
using mRemoteNG.UI.Forms.Input;
|
||||
@@ -100,7 +99,7 @@ namespace mRemoteNG.App
|
||||
Settings.Default.ConDefaultDomain = DefaultConnection.Domain;
|
||||
Settings.Default.ConDefaultProtocol = DefaultConnection.Protocol.ToString();
|
||||
Settings.Default.ConDefaultPuttySession = DefaultConnection.PuttySession;
|
||||
Settings.Default.ConDefaultICAEncryptionStrength = DefaultConnection.ICAEncryption.ToString();
|
||||
Settings.Default.ConDefaultICAEncryptionStrength = DefaultConnection.ICAEncryptionStrength.ToString();
|
||||
Settings.Default.ConDefaultRDPAuthenticationLevel = DefaultConnection.RDPAuthenticationLevel.ToString();
|
||||
Settings.Default.ConDefaultLoadBalanceInfo = DefaultConnection.LoadBalanceInfo;
|
||||
Settings.Default.ConDefaultUseConsoleSession = DefaultConnection.UseConsoleSession;
|
||||
@@ -145,73 +144,6 @@ namespace mRemoteNG.App
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Default Inheritance
|
||||
public static ConnectionInfoInheritance DefaultInheritanceFromSettings()
|
||||
{
|
||||
DefaultInheritance = new ConnectionInfoInheritance(null);
|
||||
DefaultInheritance.IsDefault = true;
|
||||
return DefaultInheritance;
|
||||
}
|
||||
|
||||
public static void DefaultInheritanceToSettings()
|
||||
{
|
||||
Settings.Default.InhDefaultDescription = DefaultInheritance.Description;
|
||||
Settings.Default.InhDefaultIcon = DefaultInheritance.Icon;
|
||||
Settings.Default.InhDefaultPanel = DefaultInheritance.Panel;
|
||||
Settings.Default.InhDefaultUsername = DefaultInheritance.Username;
|
||||
Settings.Default.InhDefaultPassword = DefaultInheritance.Password;
|
||||
Settings.Default.InhDefaultDomain = DefaultInheritance.Domain;
|
||||
Settings.Default.InhDefaultProtocol = DefaultInheritance.Protocol;
|
||||
Settings.Default.InhDefaultPort = DefaultInheritance.Port;
|
||||
Settings.Default.InhDefaultPuttySession = DefaultInheritance.PuttySession;
|
||||
Settings.Default.InhDefaultUseConsoleSession = DefaultInheritance.UseConsoleSession;
|
||||
Settings.Default.InhDefaultUseCredSsp = DefaultInheritance.UseCredSsp;
|
||||
Settings.Default.InhDefaultRenderingEngine = DefaultInheritance.RenderingEngine;
|
||||
Settings.Default.InhDefaultICAEncryptionStrength = DefaultInheritance.ICAEncryption;
|
||||
Settings.Default.InhDefaultRDPAuthenticationLevel = DefaultInheritance.RDPAuthenticationLevel;
|
||||
Settings.Default.InhDefaultLoadBalanceInfo = DefaultInheritance.LoadBalanceInfo;
|
||||
Settings.Default.InhDefaultResolution = DefaultInheritance.Resolution;
|
||||
Settings.Default.InhDefaultAutomaticResize = DefaultInheritance.AutomaticResize;
|
||||
Settings.Default.InhDefaultColors = DefaultInheritance.Colors;
|
||||
Settings.Default.InhDefaultCacheBitmaps = DefaultInheritance.CacheBitmaps;
|
||||
Settings.Default.InhDefaultDisplayWallpaper = DefaultInheritance.DisplayWallpaper;
|
||||
Settings.Default.InhDefaultDisplayThemes = DefaultInheritance.DisplayThemes;
|
||||
Settings.Default.InhDefaultEnableFontSmoothing = DefaultInheritance.EnableFontSmoothing;
|
||||
Settings.Default.InhDefaultEnableDesktopComposition = DefaultInheritance.EnableDesktopComposition;
|
||||
Settings.Default.InhDefaultRedirectKeys = DefaultInheritance.RedirectKeys;
|
||||
Settings.Default.InhDefaultRedirectDiskDrives = DefaultInheritance.RedirectDiskDrives;
|
||||
Settings.Default.InhDefaultRedirectPrinters = DefaultInheritance.RedirectPrinters;
|
||||
Settings.Default.InhDefaultRedirectPorts = DefaultInheritance.RedirectPorts;
|
||||
Settings.Default.InhDefaultRedirectSmartCards = DefaultInheritance.RedirectSmartCards;
|
||||
Settings.Default.InhDefaultRedirectSound = DefaultInheritance.RedirectSound;
|
||||
Settings.Default.InhDefaultPreExtApp = DefaultInheritance.PreExtApp;
|
||||
Settings.Default.InhDefaultPostExtApp = DefaultInheritance.PostExtApp;
|
||||
Settings.Default.InhDefaultMacAddress = DefaultInheritance.MacAddress;
|
||||
Settings.Default.InhDefaultUserField = DefaultInheritance.UserField;
|
||||
// VNC inheritance
|
||||
Settings.Default.InhDefaultVNCAuthMode = DefaultInheritance.VNCAuthMode;
|
||||
Settings.Default.InhDefaultVNCColors = DefaultInheritance.VNCColors;
|
||||
Settings.Default.InhDefaultVNCCompression = DefaultInheritance.VNCCompression;
|
||||
Settings.Default.InhDefaultVNCEncoding = DefaultInheritance.VNCEncoding;
|
||||
Settings.Default.InhDefaultVNCProxyIP = DefaultInheritance.VNCProxyIP;
|
||||
Settings.Default.InhDefaultVNCProxyPassword = DefaultInheritance.VNCProxyPassword;
|
||||
Settings.Default.InhDefaultVNCProxyPort = DefaultInheritance.VNCProxyPort;
|
||||
Settings.Default.InhDefaultVNCProxyType = DefaultInheritance.VNCProxyType;
|
||||
Settings.Default.InhDefaultVNCProxyUsername = DefaultInheritance.VNCProxyUsername;
|
||||
Settings.Default.InhDefaultVNCSmartSizeMode = DefaultInheritance.VNCSmartSizeMode;
|
||||
Settings.Default.InhDefaultVNCViewOnly = DefaultInheritance.VNCViewOnly;
|
||||
// Ext. App inheritance
|
||||
Settings.Default.InhDefaultExtApp = DefaultInheritance.ExtApp;
|
||||
// RDP gateway inheritance
|
||||
Settings.Default.InhDefaultRDGatewayUsageMethod = DefaultInheritance.RDGatewayUsageMethod;
|
||||
Settings.Default.InhDefaultRDGatewayHostname = DefaultInheritance.RDGatewayHostname;
|
||||
Settings.Default.InhDefaultRDGatewayUsername = DefaultInheritance.RDGatewayUsername;
|
||||
Settings.Default.InhDefaultRDGatewayPassword = DefaultInheritance.RDGatewayPassword;
|
||||
Settings.Default.InhDefaultRDGatewayDomain = DefaultInheritance.RDGatewayDomain;
|
||||
Settings.Default.InhDefaultRDGatewayUseConnectionCredentials = DefaultInheritance.RDGatewayUseConnectionCredentials;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Panels
|
||||
public static Form AddPanel(string title = "", bool noTabber = false)
|
||||
{
|
||||
|
||||
@@ -48,6 +48,7 @@ namespace mRemoteNG.App
|
||||
ParseCommandLineArgs();
|
||||
IeBrowserEmulation.Register();
|
||||
GetConnectionIcons();
|
||||
DefaultConnectionInheritance.Instance.LoadFrom(Settings.Default, (a)=>"InhDefault"+a);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -313,7 +313,7 @@ namespace mRemoteNG.Config.Connections
|
||||
_sqlQuery.CommandText += "\'" + Convert.ToString(with_1.Port) + "\',";
|
||||
_sqlQuery.CommandText += "\'" + Convert.ToString(with_1.UseConsoleSession) + "\',";
|
||||
_sqlQuery.CommandText += "\'" + with_1.RenderingEngine + "\',";
|
||||
_sqlQuery.CommandText += "\'" + with_1.ICAEncryption + "\',";
|
||||
_sqlQuery.CommandText += "\'" + with_1.ICAEncryptionStrength + "\',";
|
||||
_sqlQuery.CommandText += "\'" + with_1.RDPAuthenticationLevel + "\',";
|
||||
_sqlQuery.CommandText += "\'" + with_1.LoadBalanceInfo + "\',";
|
||||
_sqlQuery.CommandText += "\'" + with_1.Colors + "\',";
|
||||
@@ -418,7 +418,7 @@ namespace mRemoteNG.Config.Connections
|
||||
_sqlQuery.CommandText += "\'" + Convert.ToString(with_1.Inheritance.UseConsoleSession) + "\',";
|
||||
_sqlQuery.CommandText += "\'" + Convert.ToString(with_1.Inheritance.RenderingEngine) + "\',";
|
||||
_sqlQuery.CommandText += "\'" + Convert.ToString(with_1.Inheritance.Username) + "\',";
|
||||
_sqlQuery.CommandText += "\'" + Convert.ToString(with_1.Inheritance.ICAEncryption) + "\',";
|
||||
_sqlQuery.CommandText += "\'" + Convert.ToString(with_1.Inheritance.ICAEncryptionStrength) + "\',";
|
||||
_sqlQuery.CommandText += "\'" + Convert.ToString(with_1.Inheritance.RDPAuthenticationLevel) + "\',";
|
||||
_sqlQuery.CommandText += "\'" + Convert.ToString(with_1.Inheritance.LoadBalanceInfo) + "\',";
|
||||
_sqlQuery.CommandText += "\'" + Convert.ToString(with_1.Inheritance.PreExtApp) + "\',";
|
||||
@@ -724,7 +724,7 @@ namespace mRemoteNG.Config.Connections
|
||||
|
||||
_xmlTextWriter.WriteAttributeString("RenderingEngine", "", curConI.RenderingEngine.ToString());
|
||||
|
||||
_xmlTextWriter.WriteAttributeString("ICAEncryptionStrength", "", curConI.ICAEncryption.ToString());
|
||||
_xmlTextWriter.WriteAttributeString("ICAEncryptionStrength", "", curConI.ICAEncryptionStrength.ToString());
|
||||
|
||||
_xmlTextWriter.WriteAttributeString("RDPAuthenticationLevel", "", curConI.RDPAuthenticationLevel.ToString());
|
||||
|
||||
@@ -845,7 +845,7 @@ namespace mRemoteNG.Config.Connections
|
||||
_xmlTextWriter.WriteAttributeString("InheritUseCredSsp", "", Convert.ToString(curConI.Inheritance.UseCredSsp));
|
||||
_xmlTextWriter.WriteAttributeString("InheritRenderingEngine", "", Convert.ToString(curConI.Inheritance.RenderingEngine));
|
||||
_xmlTextWriter.WriteAttributeString("InheritUsername", "", Convert.ToString(curConI.Inheritance.Username));
|
||||
_xmlTextWriter.WriteAttributeString("InheritICAEncryptionStrength", "", Convert.ToString(curConI.Inheritance.ICAEncryption));
|
||||
_xmlTextWriter.WriteAttributeString("InheritICAEncryptionStrength", "", Convert.ToString(curConI.Inheritance.ICAEncryptionStrength));
|
||||
_xmlTextWriter.WriteAttributeString("InheritRDPAuthenticationLevel", "", Convert.ToString(curConI.Inheritance.RDPAuthenticationLevel));
|
||||
_xmlTextWriter.WriteAttributeString("InheritLoadBalanceInfo", "", Convert.ToString(curConI.Inheritance.LoadBalanceInfo));
|
||||
_xmlTextWriter.WriteAttributeString("InheritPreExtApp", "", Convert.ToString(curConI.Inheritance.PreExtApp));
|
||||
@@ -1035,11 +1035,11 @@ namespace mRemoteNG.Config.Connections
|
||||
csvLn += con.Domain + ";";
|
||||
}
|
||||
|
||||
csvLn += con.Hostname + ";" + con.Protocol + ";" + con.PuttySession + ";" + Convert.ToString(con.Port) + ";" + Convert.ToString(con.UseConsoleSession) + ";" + Convert.ToString(con.UseCredSsp) + ";" + con.RenderingEngine + ";" + con.ICAEncryption + ";" + con.RDPAuthenticationLevel + ";" + con.LoadBalanceInfo + ";" + con.Colors + ";" + con.Resolution + ";" + Convert.ToString(con.AutomaticResize) + ";" + Convert.ToString(con.DisplayWallpaper) + ";" + Convert.ToString(con.DisplayThemes) + ";" + Convert.ToString(con.EnableFontSmoothing) + ";" + Convert.ToString(con.EnableDesktopComposition) + ";" + Convert.ToString(con.CacheBitmaps) + ";" + Convert.ToString(con.RedirectDiskDrives) + ";" + Convert.ToString(con.RedirectPorts) + ";" + Convert.ToString(con.RedirectPrinters) + ";" + Convert.ToString(con.RedirectSmartCards) + ";" + con.RedirectSound + ";" + Convert.ToString(con.RedirectKeys) + ";" + con.PreExtApp + ";" + con.PostExtApp + ";" + con.MacAddress + ";" + con.UserField + ";" + con.ExtApp + ";" + con.VNCCompression + ";" + con.VNCEncoding + ";" + con.VNCAuthMode + ";" + con.VNCProxyType + ";" + con.VNCProxyIP + ";" + Convert.ToString(con.VNCProxyPort) + ";" + con.VNCProxyUsername + ";" + con.VNCProxyPassword + ";" + con.VNCColors + ";" + con.VNCSmartSizeMode + ";" + Convert.ToString(con.VNCViewOnly) + ";";
|
||||
csvLn += con.Hostname + ";" + con.Protocol + ";" + con.PuttySession + ";" + Convert.ToString(con.Port) + ";" + Convert.ToString(con.UseConsoleSession) + ";" + Convert.ToString(con.UseCredSsp) + ";" + con.RenderingEngine + ";" + con.ICAEncryptionStrength + ";" + con.RDPAuthenticationLevel + ";" + con.LoadBalanceInfo + ";" + con.Colors + ";" + con.Resolution + ";" + Convert.ToString(con.AutomaticResize) + ";" + Convert.ToString(con.DisplayWallpaper) + ";" + Convert.ToString(con.DisplayThemes) + ";" + Convert.ToString(con.EnableFontSmoothing) + ";" + Convert.ToString(con.EnableDesktopComposition) + ";" + Convert.ToString(con.CacheBitmaps) + ";" + Convert.ToString(con.RedirectDiskDrives) + ";" + Convert.ToString(con.RedirectPorts) + ";" + Convert.ToString(con.RedirectPrinters) + ";" + Convert.ToString(con.RedirectSmartCards) + ";" + con.RedirectSound + ";" + Convert.ToString(con.RedirectKeys) + ";" + con.PreExtApp + ";" + con.PostExtApp + ";" + con.MacAddress + ";" + con.UserField + ";" + con.ExtApp + ";" + con.VNCCompression + ";" + con.VNCEncoding + ";" + con.VNCAuthMode + ";" + con.VNCProxyType + ";" + con.VNCProxyIP + ";" + Convert.ToString(con.VNCProxyPort) + ";" + con.VNCProxyUsername + ";" + con.VNCProxyPassword + ";" + con.VNCColors + ";" + con.VNCSmartSizeMode + ";" + Convert.ToString(con.VNCViewOnly) + ";";
|
||||
|
||||
if (SaveSecurity.Inheritance)
|
||||
{
|
||||
csvLn += con.Inheritance.CacheBitmaps + ";" + Convert.ToString(con.Inheritance.Colors) + ";" + Convert.ToString(con.Inheritance.Description) + ";" + Convert.ToString(con.Inheritance.DisplayThemes) + ";" + Convert.ToString(con.Inheritance.DisplayWallpaper) + ";" + Convert.ToString(con.Inheritance.EnableFontSmoothing) + ";" + Convert.ToString(con.Inheritance.EnableDesktopComposition) + ";" + Convert.ToString(con.Inheritance.Domain) + ";" + Convert.ToString(con.Inheritance.Icon) + ";" + Convert.ToString(con.Inheritance.Panel) + ";" + Convert.ToString(con.Inheritance.Password) + ";" + Convert.ToString(con.Inheritance.Port) + ";" + Convert.ToString(con.Inheritance.Protocol) + ";" + Convert.ToString(con.Inheritance.PuttySession) + ";" + Convert.ToString(con.Inheritance.RedirectDiskDrives) + ";" + Convert.ToString(con.Inheritance.RedirectKeys) + ";" + Convert.ToString(con.Inheritance.RedirectPorts) + ";" + Convert.ToString(con.Inheritance.RedirectPrinters) + ";" + Convert.ToString(con.Inheritance.RedirectSmartCards) + ";" + Convert.ToString(con.Inheritance.RedirectSound) + ";" + Convert.ToString(con.Inheritance.Resolution) + ";" + Convert.ToString(con.Inheritance.AutomaticResize) + ";" + Convert.ToString(con.Inheritance.UseConsoleSession) + ";" + Convert.ToString(con.Inheritance.UseCredSsp) + ";" + Convert.ToString(con.Inheritance.RenderingEngine) + ";" + Convert.ToString(con.Inheritance.Username) + ";" + Convert.ToString(con.Inheritance.ICAEncryption) + ";" + Convert.ToString(con.Inheritance.RDPAuthenticationLevel) + ";" + Convert.ToString(con.Inheritance.LoadBalanceInfo) + ";" + Convert.ToString(con.Inheritance.PreExtApp) + ";" + Convert.ToString(con.Inheritance.PostExtApp) + ";" + Convert.ToString(con.Inheritance.MacAddress) + ";" + Convert.ToString(con.Inheritance.UserField) + ";" + Convert.ToString(con.Inheritance.ExtApp) + ";" + Convert.ToString(con.Inheritance.VNCCompression) + ";"
|
||||
csvLn += con.Inheritance.CacheBitmaps + ";" + Convert.ToString(con.Inheritance.Colors) + ";" + Convert.ToString(con.Inheritance.Description) + ";" + Convert.ToString(con.Inheritance.DisplayThemes) + ";" + Convert.ToString(con.Inheritance.DisplayWallpaper) + ";" + Convert.ToString(con.Inheritance.EnableFontSmoothing) + ";" + Convert.ToString(con.Inheritance.EnableDesktopComposition) + ";" + Convert.ToString(con.Inheritance.Domain) + ";" + Convert.ToString(con.Inheritance.Icon) + ";" + Convert.ToString(con.Inheritance.Panel) + ";" + Convert.ToString(con.Inheritance.Password) + ";" + Convert.ToString(con.Inheritance.Port) + ";" + Convert.ToString(con.Inheritance.Protocol) + ";" + Convert.ToString(con.Inheritance.PuttySession) + ";" + Convert.ToString(con.Inheritance.RedirectDiskDrives) + ";" + Convert.ToString(con.Inheritance.RedirectKeys) + ";" + Convert.ToString(con.Inheritance.RedirectPorts) + ";" + Convert.ToString(con.Inheritance.RedirectPrinters) + ";" + Convert.ToString(con.Inheritance.RedirectSmartCards) + ";" + Convert.ToString(con.Inheritance.RedirectSound) + ";" + Convert.ToString(con.Inheritance.Resolution) + ";" + Convert.ToString(con.Inheritance.AutomaticResize) + ";" + Convert.ToString(con.Inheritance.UseConsoleSession) + ";" + Convert.ToString(con.Inheritance.UseCredSsp) + ";" + Convert.ToString(con.Inheritance.RenderingEngine) + ";" + Convert.ToString(con.Inheritance.Username) + ";" + Convert.ToString(con.Inheritance.ICAEncryptionStrength) + ";" + Convert.ToString(con.Inheritance.RDPAuthenticationLevel) + ";" + Convert.ToString(con.Inheritance.LoadBalanceInfo) + ";" + Convert.ToString(con.Inheritance.PreExtApp) + ";" + Convert.ToString(con.Inheritance.PostExtApp) + ";" + Convert.ToString(con.Inheritance.MacAddress) + ";" + Convert.ToString(con.Inheritance.UserField) + ";" + Convert.ToString(con.Inheritance.ExtApp) + ";" + Convert.ToString(con.Inheritance.VNCCompression) + ";"
|
||||
+ Convert.ToString(con.Inheritance.VNCEncoding) + ";" + Convert.ToString(con.Inheritance.VNCAuthMode) + ";" + Convert.ToString(con.Inheritance.VNCProxyType) + ";" + Convert.ToString(con.Inheritance.VNCProxyIP) + ";" + Convert.ToString(con.Inheritance.VNCProxyPort) + ";" + Convert.ToString(con.Inheritance.VNCProxyUsername) + ";" + Convert.ToString(con.Inheritance.VNCProxyPassword) + ";" + Convert.ToString(con.Inheritance.VNCColors) + ";" + Convert.ToString(con.Inheritance.VNCSmartSizeMode) + ";" + Convert.ToString(con.Inheritance.VNCViewOnly);
|
||||
}
|
||||
|
||||
|
||||
@@ -352,8 +352,8 @@ namespace mRemoteNG.Config.Connections
|
||||
|
||||
if (_confVersion > 1.5) //1.6
|
||||
{
|
||||
connectionInfo.ICAEncryption = (ProtocolICA.EncryptionStrength)Tools.MiscTools.StringToEnum(typeof(ProtocolICA.EncryptionStrength), Convert.ToString(_sqlDataReader["ICAEncryptionStrength"]));
|
||||
connectionInfo.Inheritance.ICAEncryption = Convert.ToBoolean(_sqlDataReader["InheritICAEncryptionStrength"]);
|
||||
connectionInfo.ICAEncryptionStrength = (ProtocolICA.EncryptionStrength)Tools.MiscTools.StringToEnum(typeof(ProtocolICA.EncryptionStrength), Convert.ToString(_sqlDataReader["ICAEncryptionStrength"]));
|
||||
connectionInfo.Inheritance.ICAEncryptionStrength = Convert.ToBoolean(_sqlDataReader["InheritICAEncryptionStrength"]);
|
||||
connectionInfo.PreExtApp = Convert.ToString(_sqlDataReader["PreExtApp"]);
|
||||
connectionInfo.PostExtApp = Convert.ToString(_sqlDataReader["PostExtApp"]);
|
||||
connectionInfo.Inheritance.PreExtApp = Convert.ToBoolean(_sqlDataReader["InheritPreExtApp"]);
|
||||
|
||||
@@ -358,7 +358,9 @@ namespace mRemoteNG.Config.Connections
|
||||
}
|
||||
else
|
||||
{
|
||||
connectionInfo.Inheritance = new ConnectionInfoInheritance(connectionInfo, Convert.ToBoolean(xmlnode.Attributes["Inherit"].Value));
|
||||
connectionInfo.Inheritance = new ConnectionInfoInheritance(connectionInfo);
|
||||
if (Convert.ToBoolean(xmlnode.Attributes["Inherit"].Value))
|
||||
connectionInfo.Inheritance.TurnOnInheritanceCompletely();
|
||||
connectionInfo.Icon = Convert.ToString(xmlnode.Attributes["Icon"].Value.Replace(".ico", ""));
|
||||
connectionInfo.Panel = Language.strGeneral;
|
||||
}
|
||||
@@ -370,8 +372,8 @@ namespace mRemoteNG.Config.Connections
|
||||
|
||||
if (_confVersion > 1.5) //1.6
|
||||
{
|
||||
connectionInfo.ICAEncryption = (ProtocolICA.EncryptionStrength)Tools.MiscTools.StringToEnum(typeof(ProtocolICA.EncryptionStrength), xmlnode.Attributes["ICAEncryptionStrength"].Value);
|
||||
connectionInfo.Inheritance.ICAEncryption = bool.Parse(xmlnode.Attributes["InheritICAEncryptionStrength"].Value);
|
||||
connectionInfo.ICAEncryptionStrength = (ProtocolICA.EncryptionStrength)Tools.MiscTools.StringToEnum(typeof(ProtocolICA.EncryptionStrength), xmlnode.Attributes["ICAEncryptionStrength"].Value);
|
||||
connectionInfo.Inheritance.ICAEncryptionStrength = bool.Parse(xmlnode.Attributes["InheritICAEncryptionStrength"].Value);
|
||||
connectionInfo.PreExtApp = xmlnode.Attributes["PreExtApp"].Value;
|
||||
connectionInfo.PostExtApp = xmlnode.Attributes["PostExtApp"].Value;
|
||||
connectionInfo.Inheritance.PreExtApp = bool.Parse(xmlnode.Attributes["InheritPreExtApp"].Value);
|
||||
|
||||
@@ -87,7 +87,8 @@ namespace mRemoteNG.Config.Import
|
||||
var treeNode = ConnectionTreeNode.AddNode(TreeNodeType.Connection, displayName);
|
||||
|
||||
var connectionInfo = new ConnectionInfo();
|
||||
var inheritanceInfo = new ConnectionInfoInheritance(connectionInfo, true);
|
||||
var inheritanceInfo = new ConnectionInfoInheritance(connectionInfo);
|
||||
inheritanceInfo.TurnOnInheritanceCompletely();
|
||||
inheritanceInfo.Description = false;
|
||||
if (parentTreeNode.Tag is ContainerInfo)
|
||||
{
|
||||
|
||||
@@ -77,7 +77,7 @@ namespace mRemoteNG.Config.Putty
|
||||
|
||||
sessionInfo.RootPuttySessionsInfo = provider.RootInfo;
|
||||
sessionInfo.TreeNode = treeNode;
|
||||
//sessionInfo.Inheritance.TurnOffInheritanceCompletely();
|
||||
//sessionInfo.IInheritable.TurnOffInheritanceCompletely();
|
||||
|
||||
treeNode.Tag = sessionInfo;
|
||||
|
||||
|
||||
@@ -15,13 +15,12 @@ using mRemoteNG.Connection.Protocol.Rlogin;
|
||||
using mRemoteNG.Container;
|
||||
using mRemoteNG.Connection.Protocol;
|
||||
using mRemoteNG.Messages;
|
||||
using mRemoteNG.My;
|
||||
|
||||
|
||||
namespace mRemoteNG.Connection
|
||||
{
|
||||
[DefaultProperty("Name")]
|
||||
public partial class ConnectionInfo : Parent,Inheritance
|
||||
public class ConnectionInfo : Parent,IInheritable
|
||||
{
|
||||
#region Private Properties
|
||||
// Private properties with public get/set
|
||||
@@ -71,22 +70,15 @@ namespace mRemoteNG.Connection
|
||||
private ProtocolVNC.Encoding _vncEncoding;
|
||||
private ProtocolVNC.AuthMode _vncAuthMode;
|
||||
private ProtocolVNC.ProxyType _vncProxyType;
|
||||
private string _vncProxyIP;
|
||||
private string _vncProxyIp;
|
||||
private int _vncProxyPort;
|
||||
private string _vncProxyUsername;
|
||||
private string _vncProxyPassword;
|
||||
private ProtocolVNC.Colors _vncColors;
|
||||
private ProtocolVNC.SmartSizeMode _vncSmartSizeMode;
|
||||
private bool _vncViewOnly;
|
||||
private ConnectionInfoInheritance _Inheritance;
|
||||
private ProtocolList _OpenConnections;
|
||||
private bool _IsContainer;
|
||||
private bool _IsDefault;
|
||||
private int _PositionID;
|
||||
private bool _IsQuickConnect;
|
||||
private bool _PleaseConnect;
|
||||
private string _constantId;
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region Public Properties
|
||||
#region Display
|
||||
@@ -134,16 +126,8 @@ namespace mRemoteNG.Connection
|
||||
public virtual string Hostname
|
||||
{
|
||||
get { return _hostname.Trim(); }
|
||||
set
|
||||
{
|
||||
if (string.IsNullOrEmpty(value))
|
||||
{
|
||||
_hostname = string.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
_hostname = value.Trim();
|
||||
}
|
||||
set {
|
||||
_hostname = string.IsNullOrEmpty(value) ? string.Empty : value.Trim();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,7 +163,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 3),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameProtocol"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionProtocol"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public virtual ProtocolType Protocol
|
||||
{
|
||||
get { return GetPropertyValue("Protocol", _protocol); }
|
||||
@@ -189,7 +173,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 3),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameExternalTool"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionExternalTool"),
|
||||
TypeConverter(typeof(Tools.ExternalToolsTypeConverter))]
|
||||
TypeConverter(typeof(ExternalToolsTypeConverter))]
|
||||
public string ExtApp
|
||||
{
|
||||
get { return GetPropertyValue("ExtApp", _extApp); }
|
||||
@@ -218,17 +202,17 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 3),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameEncryptionStrength"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionEncryptionStrength"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
public ProtocolICA.EncryptionStrength ICAEncryption
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolICA.EncryptionStrength ICAEncryptionStrength
|
||||
{
|
||||
get { return GetPropertyValue("ICAEncryption", _icaEncryption); }
|
||||
get { return GetPropertyValue("ICAEncryptionStrength", _icaEncryption); }
|
||||
set { _icaEncryption = value; }
|
||||
}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 3),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameUseConsoleSession"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionUseConsoleSession"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool UseConsoleSession
|
||||
{
|
||||
get { return GetPropertyValue("UseConsoleSession", _useConsoleSession); }
|
||||
@@ -238,7 +222,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 3),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameAuthenticationLevel"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionAuthenticationLevel"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolRDP.AuthenticationLevel RDPAuthenticationLevel
|
||||
{
|
||||
get { return GetPropertyValue("RDPAuthenticationLevel", _rdpAuthenticationLevel); }
|
||||
@@ -257,7 +241,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 3),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameRenderingEngine"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRenderingEngine"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public HTTPBase.RenderingEngine RenderingEngine
|
||||
{
|
||||
get { return GetPropertyValue("RenderingEngine", _renderingEngine); }
|
||||
@@ -267,7 +251,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 3),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameUseCredSsp"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionUseCredSsp"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool UseCredSsp
|
||||
{
|
||||
get { return GetPropertyValue("UseCredSsp", _useCredSsp); }
|
||||
@@ -278,7 +262,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryGateway", 4),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameRDGatewayUsageMethod"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRDGatewayUsageMethod"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolRDP.RDGatewayUsageMethod RDGatewayUsageMethod
|
||||
{
|
||||
get { return GetPropertyValue("RDGatewayUsageMethod", _rdGatewayUsageMethod); }
|
||||
@@ -297,7 +281,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryGateway", 4),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameRDGatewayUseConnectionCredentials"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRDGatewayUseConnectionCredentials"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolRDP.RDGatewayUseConnectionCredentials RDGatewayUseConnectionCredentials
|
||||
{
|
||||
get { return GetPropertyValue("RDGatewayUseConnectionCredentials", _rdGatewayUseConnectionCredentials); }
|
||||
@@ -336,7 +320,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 5),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameResolution"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionResolution"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolRDP.RDPResolutions Resolution
|
||||
{
|
||||
get { return GetPropertyValue("Resolution", _resolution); }
|
||||
@@ -346,7 +330,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 5),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameAutomaticResize"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionAutomaticResize"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool AutomaticResize
|
||||
{
|
||||
get { return GetPropertyValue("AutomaticResize", _automaticResize); }
|
||||
@@ -356,7 +340,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 5),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameColors"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionColors"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolRDP.RDPColors Colors
|
||||
{
|
||||
get { return GetPropertyValue("Colors", _colors); }
|
||||
@@ -366,7 +350,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 5),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameCacheBitmaps"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionCacheBitmaps"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool CacheBitmaps
|
||||
{
|
||||
get { return GetPropertyValue("CacheBitmaps", _cacheBitmaps); }
|
||||
@@ -376,7 +360,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 5),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameDisplayWallpaper"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionDisplayWallpaper"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool DisplayWallpaper
|
||||
{
|
||||
get { return GetPropertyValue("DisplayWallpaper", _displayWallpaper); }
|
||||
@@ -386,7 +370,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 5),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameDisplayThemes"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionDisplayThemes"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool DisplayThemes
|
||||
{
|
||||
get { return GetPropertyValue("DisplayThemes", _displayThemes); }
|
||||
@@ -396,7 +380,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 5),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameEnableFontSmoothing"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionEnableFontSmoothing"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool EnableFontSmoothing
|
||||
{
|
||||
get { return GetPropertyValue("EnableFontSmoothing", _enableFontSmoothing); }
|
||||
@@ -406,7 +390,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 5),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameEnableDesktopComposition"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionEnableDesktopComposition"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool EnableDesktopComposition
|
||||
{
|
||||
get { return GetPropertyValue("EnableDesktopComposition", _enableDesktopComposition); }
|
||||
@@ -417,7 +401,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 6),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameRedirectKeys"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRedirectKeys"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool RedirectKeys
|
||||
{
|
||||
get { return GetPropertyValue("RedirectKeys", _redirectKeys); }
|
||||
@@ -427,7 +411,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 6),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameRedirectDrives"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRedirectDrives"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool RedirectDiskDrives
|
||||
{
|
||||
get { return GetPropertyValue("RedirectDiskDrives", _redirectDiskDrives); }
|
||||
@@ -437,7 +421,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 6),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameRedirectPrinters"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRedirectPrinters"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool RedirectPrinters
|
||||
{
|
||||
get { return GetPropertyValue("RedirectPrinters", _redirectPrinters); }
|
||||
@@ -447,7 +431,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 6),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameRedirectPorts"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRedirectPorts"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool RedirectPorts
|
||||
{
|
||||
get { return GetPropertyValue("RedirectPorts", _redirectPorts); }
|
||||
@@ -457,7 +441,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 6),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameRedirectSmartCards"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRedirectSmartCards"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool RedirectSmartCards
|
||||
{
|
||||
get { return GetPropertyValue("RedirectSmartCards", _redirectSmartCards); }
|
||||
@@ -467,7 +451,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 6),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameRedirectSounds"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionRedirectSounds"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolRDP.RDPSounds RedirectSound
|
||||
{
|
||||
get { return GetPropertyValue("RedirectSound", _redirectSound); }
|
||||
@@ -478,7 +462,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 7),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameExternalToolBefore"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionExternalToolBefore"),
|
||||
TypeConverter(typeof(Tools.ExternalToolsTypeConverter))]
|
||||
TypeConverter(typeof(ExternalToolsTypeConverter))]
|
||||
public virtual string PreExtApp
|
||||
{
|
||||
get { return GetPropertyValue("PreExtApp", _preExtApp); }
|
||||
@@ -488,7 +472,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 7),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameExternalToolAfter"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionExternalToolAfter"),
|
||||
TypeConverter(typeof(Tools.ExternalToolsTypeConverter))]
|
||||
TypeConverter(typeof(ExternalToolsTypeConverter))]
|
||||
public virtual string PostExtApp
|
||||
{
|
||||
get { return GetPropertyValue("PostExtApp", _postExtApp); }
|
||||
@@ -518,7 +502,7 @@ namespace mRemoteNG.Connection
|
||||
Browsable(false),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameCompression"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionCompression"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolVNC.Compression VNCCompression
|
||||
{
|
||||
get { return GetPropertyValue("VNCCompression", _vncCompression); }
|
||||
@@ -529,7 +513,7 @@ namespace mRemoteNG.Connection
|
||||
Browsable(false),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameEncoding"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionEncoding"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolVNC.Encoding VNCEncoding
|
||||
{
|
||||
get { return GetPropertyValue("VNCEncoding", _vncEncoding); }
|
||||
@@ -540,7 +524,7 @@ namespace mRemoteNG.Connection
|
||||
Browsable(false),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameAuthenticationMode"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionAuthenticationMode"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolVNC.AuthMode VNCAuthMode
|
||||
{
|
||||
get { return GetPropertyValue("VNCAuthMode", _vncAuthMode); }
|
||||
@@ -551,7 +535,7 @@ namespace mRemoteNG.Connection
|
||||
Browsable(false),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameVNCProxyType"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionVNCProxyType"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolVNC.ProxyType VNCProxyType
|
||||
{
|
||||
get { return GetPropertyValue("VNCProxyType", _vncProxyType); }
|
||||
@@ -564,8 +548,8 @@ namespace mRemoteNG.Connection
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionVNCProxyAddress")]
|
||||
public string VNCProxyIP
|
||||
{
|
||||
get { return GetPropertyValue("VNCProxyIP", _vncProxyIP); }
|
||||
set { _vncProxyIP = value; }
|
||||
get { return GetPropertyValue("VNCProxyIP", _vncProxyIp); }
|
||||
set { _vncProxyIp = value; }
|
||||
}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 7),
|
||||
@@ -603,7 +587,7 @@ namespace mRemoteNG.Connection
|
||||
Browsable(false),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameColors"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionColors"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolVNC.Colors VNCColors
|
||||
{
|
||||
get { return GetPropertyValue("VNCColors", _vncColors); }
|
||||
@@ -613,7 +597,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 5),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameSmartSizeMode"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionSmartSizeMode"),
|
||||
TypeConverter(typeof(Tools.MiscTools.EnumTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.EnumTypeConverter))]
|
||||
public ProtocolVNC.SmartSizeMode VNCSmartSizeMode
|
||||
{
|
||||
get { return GetPropertyValue("VNCSmartSizeMode", _vncSmartSizeMode); }
|
||||
@@ -623,7 +607,7 @@ namespace mRemoteNG.Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 5),
|
||||
LocalizedAttributes.LocalizedDisplayName("strPropertyNameViewOnly"),
|
||||
LocalizedAttributes.LocalizedDescription("strPropertyDescriptionViewOnly"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool VNCViewOnly
|
||||
{
|
||||
get { return GetPropertyValue("VNCViewOnly", _vncViewOnly); }
|
||||
@@ -632,67 +616,36 @@ namespace mRemoteNG.Connection
|
||||
#endregion
|
||||
#region Non-browsable public properties
|
||||
[Browsable(false)]
|
||||
public ConnectionInfoInheritance Inheritance
|
||||
{
|
||||
get { return _Inheritance; }
|
||||
set { _Inheritance = value; }
|
||||
}
|
||||
|
||||
[Browsable(false)]
|
||||
public ProtocolList OpenConnections
|
||||
{
|
||||
get { return _OpenConnections; }
|
||||
set { _OpenConnections = value; }
|
||||
}
|
||||
public ConnectionInfoInheritance Inheritance { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
public bool IsContainer
|
||||
{
|
||||
get { return _IsContainer; }
|
||||
set { _IsContainer = value; }
|
||||
}
|
||||
[Browsable(false)]
|
||||
public ProtocolList OpenConnections { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
public bool IsDefault
|
||||
{
|
||||
get { return _IsDefault; }
|
||||
set { _IsDefault = value; }
|
||||
}
|
||||
[Browsable(false)]
|
||||
public bool IsContainer { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
[Browsable(false)]
|
||||
public bool IsDefault { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
public ContainerInfo Parent { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
public int PositionID
|
||||
{
|
||||
get { return _PositionID; }
|
||||
set { _PositionID = value; }
|
||||
}
|
||||
public int PositionID { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
public string ConstantID
|
||||
{
|
||||
get { return _constantId; }
|
||||
set { _constantId = value; }
|
||||
}
|
||||
[Browsable(false)]
|
||||
public string ConstantID { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
[Browsable(false)]
|
||||
public TreeNode TreeNode { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
public bool IsQuickConnect
|
||||
{
|
||||
get { return _IsQuickConnect; }
|
||||
set { _IsQuickConnect = value; }
|
||||
}
|
||||
public bool IsQuickConnect { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
public bool PleaseConnect
|
||||
{
|
||||
get { return _PleaseConnect; }
|
||||
set { _PleaseConnect = value; }
|
||||
}
|
||||
#endregion
|
||||
[Browsable(false)]
|
||||
public bool PleaseConnect { get; set; }
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
@@ -702,11 +655,11 @@ namespace mRemoteNG.Connection
|
||||
SetTreeDisplayDefaults();
|
||||
SetConnectionDefaults();
|
||||
SetProtocolDefaults();
|
||||
SetRDGatewayDefaults();
|
||||
SetRdGatewayDefaults();
|
||||
SetAppearanceDefaults();
|
||||
SetRedirectDefaults();
|
||||
SetMiscDefaults();
|
||||
SetVNCDefaults();
|
||||
SetVncDefaults();
|
||||
SetNonBrowsablePropertiesDefaults();
|
||||
SetDefaults();
|
||||
}
|
||||
@@ -714,22 +667,22 @@ namespace mRemoteNG.Connection
|
||||
public ConnectionInfo(ContainerInfo parent) : this()
|
||||
{
|
||||
IsContainer = true;
|
||||
this.Parent = parent;
|
||||
Parent = parent;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Public Methods
|
||||
public ConnectionInfo Copy()
|
||||
{
|
||||
ConnectionInfo newConnectionInfo = (ConnectionInfo)MemberwiseClone();
|
||||
var newConnectionInfo = (ConnectionInfo)MemberwiseClone();
|
||||
newConnectionInfo.ConstantID = MiscTools.CreateConstantID();
|
||||
newConnectionInfo._OpenConnections = new ProtocolList();
|
||||
newConnectionInfo.OpenConnections = new ProtocolList();
|
||||
return newConnectionInfo;
|
||||
}
|
||||
|
||||
public void SetDefaults()
|
||||
{
|
||||
if (this.Port == 0)
|
||||
if (Port == 0)
|
||||
{
|
||||
SetDefaultPort();
|
||||
}
|
||||
@@ -742,7 +695,7 @@ namespace mRemoteNG.Connection
|
||||
|
||||
public void SetDefaultPort()
|
||||
{
|
||||
this.Port = GetDefaultPort();
|
||||
Port = GetDefaultPort();
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -763,13 +716,10 @@ namespace mRemoteNG.Connection
|
||||
#region Private Methods
|
||||
private TPropertyType GetPropertyValue<TPropertyType>(string propertyName, TPropertyType value)
|
||||
{
|
||||
if (ShouldThisPropertyBeInherited(propertyName))
|
||||
return GetInheritedPropertyValue(propertyName, value);
|
||||
else
|
||||
return value;
|
||||
return ShouldThisPropertyBeInherited(propertyName) ? GetInheritedPropertyValue<TPropertyType>(propertyName) : value;
|
||||
}
|
||||
|
||||
private bool ShouldThisPropertyBeInherited(string propertyName)
|
||||
private bool ShouldThisPropertyBeInherited(string propertyName)
|
||||
{
|
||||
return (ParentIsValidInheritanceTarget() && IsInheritanceTurnedOnForThisProperty(propertyName));
|
||||
}
|
||||
@@ -781,24 +731,18 @@ namespace mRemoteNG.Connection
|
||||
|
||||
private bool IsInheritanceTurnedOnForThisProperty(string propertyName)
|
||||
{
|
||||
bool inheritPropertyValue = false;
|
||||
Type inheritType = _Inheritance.GetType();
|
||||
PropertyInfo inheritPropertyInfo = inheritType.GetProperty(propertyName);
|
||||
inheritPropertyValue = Convert.ToBoolean(inheritPropertyInfo.GetValue(Inheritance, BindingFlags.GetProperty, null, null, null));
|
||||
var inheritType = Inheritance.GetType();
|
||||
var inheritPropertyInfo = inheritType.GetProperty(propertyName);
|
||||
var inheritPropertyValue = Convert.ToBoolean(inheritPropertyInfo.GetValue(Inheritance, null));
|
||||
return inheritPropertyValue;
|
||||
}
|
||||
|
||||
private TPropertyType GetInheritedPropertyValue<TPropertyType>(string propertyName, TPropertyType value)
|
||||
private TPropertyType GetInheritedPropertyValue<TPropertyType>(string propertyName)
|
||||
{
|
||||
var parentConnectionInfo = default(ConnectionInfo);
|
||||
if (IsContainer)
|
||||
parentConnectionInfo = ((ContainerInfo)Parent.Parent).ConnectionInfo;
|
||||
else
|
||||
parentConnectionInfo = Parent.ConnectionInfo;
|
||||
|
||||
Type connectionInfoType = parentConnectionInfo.GetType();
|
||||
PropertyInfo parentPropertyInfo = connectionInfoType.GetProperty(propertyName);
|
||||
TPropertyType parentPropertyValue = (TPropertyType)parentPropertyInfo.GetValue(parentConnectionInfo, BindingFlags.GetProperty, null, null, null);
|
||||
var parentConnectionInfo = IsContainer ? Parent.Parent.ConnectionInfo : Parent.ConnectionInfo;
|
||||
var connectionInfoType = parentConnectionInfo.GetType();
|
||||
var parentPropertyInfo = connectionInfoType.GetProperty(propertyName);
|
||||
var parentPropertyValue = (TPropertyType)parentPropertyInfo.GetValue(parentConnectionInfo, null);
|
||||
|
||||
return parentPropertyValue;
|
||||
}
|
||||
@@ -844,98 +788,98 @@ namespace mRemoteNG.Connection
|
||||
private void SetTreeDisplayDefaults()
|
||||
{
|
||||
_name = Language.strNewConnection;
|
||||
_description = mRemoteNG.Settings.Default.ConDefaultDescription;
|
||||
_icon = mRemoteNG.Settings.Default.ConDefaultIcon;
|
||||
_description = Settings.Default.ConDefaultDescription;
|
||||
_icon = Settings.Default.ConDefaultIcon;
|
||||
_panel = Language.strGeneral;
|
||||
}
|
||||
|
||||
private void SetConnectionDefaults()
|
||||
{
|
||||
_hostname = string.Empty;
|
||||
_username = mRemoteNG.Settings.Default.ConDefaultUsername;
|
||||
_password = mRemoteNG.Settings.Default.ConDefaultPassword;
|
||||
_domain = mRemoteNG.Settings.Default.ConDefaultDomain;
|
||||
_username = Settings.Default.ConDefaultUsername;
|
||||
_password = Settings.Default.ConDefaultPassword;
|
||||
_domain = Settings.Default.ConDefaultDomain;
|
||||
}
|
||||
|
||||
private void SetProtocolDefaults()
|
||||
{
|
||||
_protocol = (ProtocolType)System.Enum.Parse(typeof(ProtocolType), mRemoteNG.Settings.Default.ConDefaultProtocol);
|
||||
_extApp = mRemoteNG.Settings.Default.ConDefaultExtApp;
|
||||
_protocol = (ProtocolType)Enum.Parse(typeof(ProtocolType), Settings.Default.ConDefaultProtocol);
|
||||
_extApp = Settings.Default.ConDefaultExtApp;
|
||||
_port = 0;
|
||||
_puttySession = mRemoteNG.Settings.Default.ConDefaultPuttySession;
|
||||
_icaEncryption = (ProtocolICA.EncryptionStrength) Enum.Parse(typeof(ProtocolICA.EncryptionStrength), mRemoteNG.Settings.Default.ConDefaultICAEncryptionStrength);
|
||||
_useConsoleSession = mRemoteNG.Settings.Default.ConDefaultUseConsoleSession;
|
||||
_rdpAuthenticationLevel = (ProtocolRDP.AuthenticationLevel) Enum.Parse(typeof(ProtocolRDP.AuthenticationLevel), mRemoteNG.Settings.Default.ConDefaultRDPAuthenticationLevel);
|
||||
_loadBalanceInfo = mRemoteNG.Settings.Default.ConDefaultLoadBalanceInfo;
|
||||
_renderingEngine = (HTTPBase.RenderingEngine) Enum.Parse(typeof(HTTPBase.RenderingEngine), mRemoteNG.Settings.Default.ConDefaultRenderingEngine);
|
||||
_useCredSsp = mRemoteNG.Settings.Default.ConDefaultUseCredSsp;
|
||||
_puttySession = Settings.Default.ConDefaultPuttySession;
|
||||
_icaEncryption = (ProtocolICA.EncryptionStrength) Enum.Parse(typeof(ProtocolICA.EncryptionStrength), Settings.Default.ConDefaultICAEncryptionStrength);
|
||||
_useConsoleSession = Settings.Default.ConDefaultUseConsoleSession;
|
||||
_rdpAuthenticationLevel = (ProtocolRDP.AuthenticationLevel) Enum.Parse(typeof(ProtocolRDP.AuthenticationLevel), Settings.Default.ConDefaultRDPAuthenticationLevel);
|
||||
_loadBalanceInfo = Settings.Default.ConDefaultLoadBalanceInfo;
|
||||
_renderingEngine = (HTTPBase.RenderingEngine) Enum.Parse(typeof(HTTPBase.RenderingEngine), Settings.Default.ConDefaultRenderingEngine);
|
||||
_useCredSsp = Settings.Default.ConDefaultUseCredSsp;
|
||||
}
|
||||
|
||||
private void SetRDGatewayDefaults()
|
||||
private void SetRdGatewayDefaults()
|
||||
{
|
||||
_rdGatewayUsageMethod = (ProtocolRDP.RDGatewayUsageMethod) Enum.Parse(typeof(ProtocolRDP.RDGatewayUsageMethod), mRemoteNG.Settings.Default.ConDefaultRDGatewayUsageMethod);
|
||||
_rdGatewayHostname = mRemoteNG.Settings.Default.ConDefaultRDGatewayHostname;
|
||||
_rdGatewayUseConnectionCredentials = (ProtocolRDP.RDGatewayUseConnectionCredentials) Enum.Parse(typeof(ProtocolRDP.RDGatewayUseConnectionCredentials), mRemoteNG.Settings.Default.ConDefaultRDGatewayUseConnectionCredentials); ;
|
||||
_rdGatewayUsername = mRemoteNG.Settings.Default.ConDefaultRDGatewayUsername;
|
||||
_rdGatewayPassword = mRemoteNG.Settings.Default.ConDefaultRDGatewayPassword;
|
||||
_rdGatewayDomain = mRemoteNG.Settings.Default.ConDefaultRDGatewayDomain;
|
||||
_rdGatewayUsageMethod = (ProtocolRDP.RDGatewayUsageMethod) Enum.Parse(typeof(ProtocolRDP.RDGatewayUsageMethod), Settings.Default.ConDefaultRDGatewayUsageMethod);
|
||||
_rdGatewayHostname = Settings.Default.ConDefaultRDGatewayHostname;
|
||||
_rdGatewayUseConnectionCredentials = (ProtocolRDP.RDGatewayUseConnectionCredentials) Enum.Parse(typeof(ProtocolRDP.RDGatewayUseConnectionCredentials), Settings.Default.ConDefaultRDGatewayUseConnectionCredentials); ;
|
||||
_rdGatewayUsername = Settings.Default.ConDefaultRDGatewayUsername;
|
||||
_rdGatewayPassword = Settings.Default.ConDefaultRDGatewayPassword;
|
||||
_rdGatewayDomain = Settings.Default.ConDefaultRDGatewayDomain;
|
||||
}
|
||||
|
||||
private void SetAppearanceDefaults()
|
||||
{
|
||||
_resolution = (ProtocolRDP.RDPResolutions) Enum.Parse(typeof(ProtocolRDP.RDPResolutions), mRemoteNG.Settings.Default.ConDefaultResolution);
|
||||
_automaticResize = mRemoteNG.Settings.Default.ConDefaultAutomaticResize;
|
||||
_colors = (ProtocolRDP.RDPColors) Enum.Parse(typeof(ProtocolRDP.RDPColors), mRemoteNG.Settings.Default.ConDefaultColors);
|
||||
_cacheBitmaps = mRemoteNG.Settings.Default.ConDefaultCacheBitmaps;
|
||||
_displayWallpaper = mRemoteNG.Settings.Default.ConDefaultDisplayWallpaper;
|
||||
_displayThemes = mRemoteNG.Settings.Default.ConDefaultDisplayThemes;
|
||||
_enableFontSmoothing = mRemoteNG.Settings.Default.ConDefaultEnableFontSmoothing;
|
||||
_enableDesktopComposition = mRemoteNG.Settings.Default.ConDefaultEnableDesktopComposition;
|
||||
_resolution = (ProtocolRDP.RDPResolutions) Enum.Parse(typeof(ProtocolRDP.RDPResolutions), Settings.Default.ConDefaultResolution);
|
||||
_automaticResize = Settings.Default.ConDefaultAutomaticResize;
|
||||
_colors = (ProtocolRDP.RDPColors) Enum.Parse(typeof(ProtocolRDP.RDPColors), Settings.Default.ConDefaultColors);
|
||||
_cacheBitmaps = Settings.Default.ConDefaultCacheBitmaps;
|
||||
_displayWallpaper = Settings.Default.ConDefaultDisplayWallpaper;
|
||||
_displayThemes = Settings.Default.ConDefaultDisplayThemes;
|
||||
_enableFontSmoothing = Settings.Default.ConDefaultEnableFontSmoothing;
|
||||
_enableDesktopComposition = Settings.Default.ConDefaultEnableDesktopComposition;
|
||||
}
|
||||
|
||||
private void SetRedirectDefaults()
|
||||
{
|
||||
_redirectKeys = mRemoteNG.Settings.Default.ConDefaultRedirectKeys;
|
||||
_redirectDiskDrives = mRemoteNG.Settings.Default.ConDefaultRedirectDiskDrives;
|
||||
_redirectPrinters = mRemoteNG.Settings.Default.ConDefaultRedirectPrinters;
|
||||
_redirectPorts = mRemoteNG.Settings.Default.ConDefaultRedirectPorts;
|
||||
_redirectSmartCards = mRemoteNG.Settings.Default.ConDefaultRedirectSmartCards;
|
||||
_redirectSound = (ProtocolRDP.RDPSounds) Enum.Parse(typeof(ProtocolRDP.RDPSounds), mRemoteNG.Settings.Default.ConDefaultRedirectSound);
|
||||
_redirectKeys = Settings.Default.ConDefaultRedirectKeys;
|
||||
_redirectDiskDrives = Settings.Default.ConDefaultRedirectDiskDrives;
|
||||
_redirectPrinters = Settings.Default.ConDefaultRedirectPrinters;
|
||||
_redirectPorts = Settings.Default.ConDefaultRedirectPorts;
|
||||
_redirectSmartCards = Settings.Default.ConDefaultRedirectSmartCards;
|
||||
_redirectSound = (ProtocolRDP.RDPSounds) Enum.Parse(typeof(ProtocolRDP.RDPSounds), Settings.Default.ConDefaultRedirectSound);
|
||||
}
|
||||
|
||||
private void SetMiscDefaults()
|
||||
{
|
||||
_constantId = MiscTools.CreateConstantID();
|
||||
_preExtApp = mRemoteNG.Settings.Default.ConDefaultPreExtApp;
|
||||
_postExtApp = mRemoteNG.Settings.Default.ConDefaultPostExtApp;
|
||||
_macAddress = mRemoteNG.Settings.Default.ConDefaultMacAddress;
|
||||
_userField = mRemoteNG.Settings.Default.ConDefaultUserField;
|
||||
ConstantID = MiscTools.CreateConstantID();
|
||||
_preExtApp = Settings.Default.ConDefaultPreExtApp;
|
||||
_postExtApp = Settings.Default.ConDefaultPostExtApp;
|
||||
_macAddress = Settings.Default.ConDefaultMacAddress;
|
||||
_userField = Settings.Default.ConDefaultUserField;
|
||||
}
|
||||
|
||||
private void SetVNCDefaults()
|
||||
private void SetVncDefaults()
|
||||
{
|
||||
_vncCompression = (ProtocolVNC.Compression) Enum.Parse(typeof(ProtocolVNC.Compression), mRemoteNG.Settings.Default.ConDefaultVNCCompression);
|
||||
_vncEncoding = (ProtocolVNC.Encoding) Enum.Parse(typeof(ProtocolVNC.Encoding), mRemoteNG.Settings.Default.ConDefaultVNCEncoding);
|
||||
_vncAuthMode = (ProtocolVNC.AuthMode) Enum.Parse(typeof(ProtocolVNC.AuthMode), mRemoteNG.Settings.Default.ConDefaultVNCAuthMode);
|
||||
_vncProxyType = (ProtocolVNC.ProxyType) Enum.Parse(typeof(ProtocolVNC.ProxyType), mRemoteNG.Settings.Default.ConDefaultVNCProxyType);
|
||||
_vncProxyIP = mRemoteNG.Settings.Default.ConDefaultVNCProxyIP;
|
||||
_vncProxyPort = mRemoteNG.Settings.Default.ConDefaultVNCProxyPort;
|
||||
_vncProxyUsername = mRemoteNG.Settings.Default.ConDefaultVNCProxyUsername;
|
||||
_vncProxyPassword = mRemoteNG.Settings.Default.ConDefaultVNCProxyPassword;
|
||||
_vncColors = (ProtocolVNC.Colors) Enum.Parse(typeof(ProtocolVNC.Colors), mRemoteNG.Settings.Default.ConDefaultVNCColors);
|
||||
_vncSmartSizeMode = (ProtocolVNC.SmartSizeMode) Enum.Parse(typeof(ProtocolVNC.SmartSizeMode), mRemoteNG.Settings.Default.ConDefaultVNCSmartSizeMode);
|
||||
_vncViewOnly = mRemoteNG.Settings.Default.ConDefaultVNCViewOnly;
|
||||
_vncCompression = (ProtocolVNC.Compression) Enum.Parse(typeof(ProtocolVNC.Compression), Settings.Default.ConDefaultVNCCompression);
|
||||
_vncEncoding = (ProtocolVNC.Encoding) Enum.Parse(typeof(ProtocolVNC.Encoding), Settings.Default.ConDefaultVNCEncoding);
|
||||
_vncAuthMode = (ProtocolVNC.AuthMode) Enum.Parse(typeof(ProtocolVNC.AuthMode), Settings.Default.ConDefaultVNCAuthMode);
|
||||
_vncProxyType = (ProtocolVNC.ProxyType) Enum.Parse(typeof(ProtocolVNC.ProxyType), Settings.Default.ConDefaultVNCProxyType);
|
||||
_vncProxyIp = Settings.Default.ConDefaultVNCProxyIP;
|
||||
_vncProxyPort = Settings.Default.ConDefaultVNCProxyPort;
|
||||
_vncProxyUsername = Settings.Default.ConDefaultVNCProxyUsername;
|
||||
_vncProxyPassword = Settings.Default.ConDefaultVNCProxyPassword;
|
||||
_vncColors = (ProtocolVNC.Colors) Enum.Parse(typeof(ProtocolVNC.Colors), Settings.Default.ConDefaultVNCColors);
|
||||
_vncSmartSizeMode = (ProtocolVNC.SmartSizeMode) Enum.Parse(typeof(ProtocolVNC.SmartSizeMode), Settings.Default.ConDefaultVNCSmartSizeMode);
|
||||
_vncViewOnly = Settings.Default.ConDefaultVNCViewOnly;
|
||||
}
|
||||
|
||||
private void SetNonBrowsablePropertiesDefaults()
|
||||
{
|
||||
_Inheritance = new ConnectionInfoInheritance(this);
|
||||
_OpenConnections = new ProtocolList();
|
||||
_IsContainer = false;
|
||||
_IsDefault = false;
|
||||
_PositionID = 0;
|
||||
_IsQuickConnect = false;
|
||||
_PleaseConnect = false;
|
||||
Inheritance = new ConnectionInfoInheritance(this);
|
||||
OpenConnections = new ProtocolList();
|
||||
IsContainer = false;
|
||||
IsDefault = false;
|
||||
PositionID = 0;
|
||||
IsQuickConnect = false;
|
||||
PleaseConnect = false;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -1,333 +1,310 @@
|
||||
using System.Collections.Generic;
|
||||
using mRemoteNG.Tools;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
|
||||
namespace mRemoteNG.Connection
|
||||
{
|
||||
public class ConnectionInfoInheritance
|
||||
{
|
||||
private ConnectionInfoInheritance _tempInheritanceStorage = null;
|
||||
private ConnectionInfoInheritance _tempInheritanceStorage;
|
||||
|
||||
#region Public Properties
|
||||
#region General
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryGeneral", 1),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameAll"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionAll"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool EverythingInherited
|
||||
{
|
||||
get
|
||||
{
|
||||
if (CacheBitmaps && Colors && Description && DisplayThemes && DisplayWallpaper
|
||||
&& EnableFontSmoothing && EnableDesktopComposition && Domain && Icon && Password
|
||||
&& Port && Protocol && PuttySession && RedirectDiskDrives && RedirectKeys
|
||||
&& RedirectPorts && RedirectPrinters && RedirectSmartCards && RedirectSound && Resolution
|
||||
&& AutomaticResize && UseConsoleSession && UseCredSsp && RenderingEngine && UserField
|
||||
&& ExtApp && Username && Panel && ICAEncryption && RDPAuthenticationLevel
|
||||
&& LoadBalanceInfo && PreExtApp && PostExtApp && MacAddress && VNCAuthMode
|
||||
&& VNCColors && VNCCompression && VNCEncoding && VNCProxyIP && VNCProxyPassword
|
||||
&& VNCProxyPort && VNCProxyType && VNCProxyUsername)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
SetAllValues(value);
|
||||
}
|
||||
get { return EverythingIsInherited(); }
|
||||
set { SetAllValues(value); }
|
||||
}
|
||||
#endregion
|
||||
#region Display
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryDisplay", 2),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameDescription"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionDescription"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool Description {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool Description {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryDisplay", 2),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameIcon"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionIcon"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool Icon {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool Icon {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryDisplay", 2),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNamePanel"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionPanel"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool Panel {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool Panel {get; set;}
|
||||
#endregion
|
||||
#region Connection
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryConnection", 3),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameUsername"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionUsername"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool Username {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool Username {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryConnection", 3),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNamePassword"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionPassword"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool Password {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool Password {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryConnection", 3),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameDomain"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionDomain"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool Domain {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool Domain {get; set;}
|
||||
#endregion
|
||||
#region Protocol
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 4),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameProtocol"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionProtocol"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool Protocol {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool Protocol {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 4),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameExternalTool"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionExternalTool"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool ExtApp {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool ExtApp {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 4),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNamePort"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionPort"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool Port {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool Port {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 4),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNamePuttySession"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionPuttySession"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool PuttySession {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool PuttySession {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 4),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameEncryptionStrength"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionEncryptionStrength"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool ICAEncryption {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool ICAEncryptionStrength {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 4),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameAuthenticationLevel"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionAuthenticationLevel"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool RDPAuthenticationLevel {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool RDPAuthenticationLevel {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 4),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameLoadBalanceInfo"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionLoadBalanceInfo"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool LoadBalanceInfo {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool LoadBalanceInfo {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 4),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRenderingEngine"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRenderingEngine"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool RenderingEngine {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool RenderingEngine {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 4),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameUseConsoleSession"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionUseConsoleSession"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool UseConsoleSession {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool UseConsoleSession {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryProtocol", 4),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameUseCredSsp"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionUseCredSsp"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool UseCredSsp {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool UseCredSsp {get; set;}
|
||||
#endregion
|
||||
#region RD Gateway
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryGateway", 5),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRDGatewayUsageMethod"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRDGatewayUsageMethod"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool RDGatewayUsageMethod {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryGateway", 5),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRDGatewayHostname"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRDGatewayHostname"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool RDGatewayHostname {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryGateway", 5),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRDGatewayUseConnectionCredentials"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRDGatewayUseConnectionCredentials"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool RDGatewayUseConnectionCredentials {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryGateway", 5),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRDGatewayUsername"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRDGatewayUsername"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool RDGatewayUsername {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryGateway", 5),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRDGatewayPassword"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRDGatewayPassword"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool RDGatewayPassword {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryGateway", 5),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRDGatewayDomain"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRDGatewayDomain"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool RDGatewayDomain {get; set;}
|
||||
#endregion
|
||||
#region Appearance
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 6),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameResolution"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionResolution"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool Resolution {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool Resolution {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 6),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameAutomaticResize"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionAutomaticResize"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool AutomaticResize {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool AutomaticResize {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 6),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameColors"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionColors"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool Colors {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool Colors {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 6),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameCacheBitmaps"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionCacheBitmaps"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool CacheBitmaps {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool CacheBitmaps {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 6),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameDisplayWallpaper"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionDisplayWallpaper"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool DisplayWallpaper {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool DisplayWallpaper {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 6),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameDisplayThemes"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionDisplayThemes"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool DisplayThemes {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool DisplayThemes {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 6),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameEnableFontSmoothing"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionEnableFontSmoothing"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool EnableFontSmoothing {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool EnableFontSmoothing {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 6),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameEnableDesktopComposition"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionEnableEnableDesktopComposition"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool EnableDesktopComposition {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool EnableDesktopComposition {get; set;}
|
||||
#endregion
|
||||
#region Redirect
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 7),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRedirectKeys"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRedirectKeys"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool RedirectKeys {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool RedirectKeys {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 7),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRedirectDrives"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRedirectDrives"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool RedirectDiskDrives {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool RedirectDiskDrives {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 7),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRedirectPrinters"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRedirectPrinters"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool RedirectPrinters {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool RedirectPrinters {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 7),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRedirectPorts"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRedirectPorts"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool RedirectPorts {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool RedirectPorts {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 7),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRedirectSmartCards"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRedirectSmartCards"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool RedirectSmartCards {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool RedirectSmartCards {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryRedirect", 7),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameRedirectSounds"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionRedirectSounds"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool RedirectSound {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool RedirectSound {get; set;}
|
||||
#endregion
|
||||
#region Misc
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 8),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameExternalToolBefore"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionExternalToolBefore"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool PreExtApp {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool PreExtApp {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 8),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameExternalToolAfter"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionExternalToolAfter"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool PostExtApp {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool PostExtApp {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 8),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameMACAddress"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionMACAddress"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool MacAddress {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool MacAddress {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 8),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameUser1"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionUser1"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool UserField {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool UserField {get; set;}
|
||||
#endregion
|
||||
#region VNC
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 9),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameCompression"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionCompression"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool VNCCompression {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool VNCCompression {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 9),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameEncoding"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionEncoding"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool VNCEncoding {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool VNCEncoding {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryConnection", 9),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameAuthenticationMode"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionAuthenticationMode"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool VNCAuthMode {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool VNCAuthMode {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 9),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameVNCProxyType"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionVNCProxyType"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool VNCProxyType {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool VNCProxyType {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 9),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameVNCProxyAddress"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionVNCProxyAddress"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool VNCProxyIP {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool VNCProxyIP {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 9),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameVNCProxyPort"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionVNCProxyPort"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool VNCProxyPort {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool VNCProxyPort {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 9),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameVNCProxyUsername"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionVNCProxyUsername"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool VNCProxyUsername {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool VNCProxyUsername {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryMiscellaneous", 9),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameVNCProxyPassword"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionVNCProxyPassword"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool VNCProxyPassword {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool VNCProxyPassword {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 9),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameColors"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionColors"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool VNCColors {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool VNCColors {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 9),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameSmartSizeMode"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionSmartSizeMode"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool VNCSmartSizeMode {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool VNCSmartSizeMode {get; set;}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strCategoryAppearance", 9),
|
||||
LocalizedAttributes.LocalizedDisplayNameInheritAttribute("strPropertyNameViewOnly"),
|
||||
LocalizedAttributes.LocalizedDescriptionInheritAttribute("strPropertyDescriptionViewOnly"),
|
||||
TypeConverter(typeof(Tools.MiscTools.YesNoTypeConverter))]public bool VNCViewOnly {get; set;}
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]public bool VNCViewOnly {get; set;}
|
||||
#endregion
|
||||
|
||||
[Browsable(false)]
|
||||
public object Parent {get; set;}
|
||||
|
||||
[Browsable(false)]
|
||||
public bool IsDefault {get; set;}
|
||||
#endregion
|
||||
|
||||
|
||||
public ConnectionInfoInheritance(object parent, bool inheritEverything = false)
|
||||
public ConnectionInfoInheritance(object parent, bool ignoreDefaultInheritance = false)
|
||||
{
|
||||
Parent = parent;
|
||||
if (inheritEverything)
|
||||
TurnOnInheritanceCompletely();
|
||||
if (!ignoreDefaultInheritance)
|
||||
SetAllValues(DefaultConnectionInheritance.Instance);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public ConnectionInfoInheritance Copy()
|
||||
{
|
||||
return (ConnectionInfoInheritance)MemberwiseClone();
|
||||
@@ -366,26 +343,44 @@ namespace mRemoteNG.Connection
|
||||
SetAllValues(false);
|
||||
}
|
||||
|
||||
private bool EverythingIsInherited()
|
||||
{
|
||||
var inheritanceProperties = GetProperties();
|
||||
var everythingInherited = inheritanceProperties.All((p) => (bool)p.GetValue(this, null));
|
||||
return everythingInherited;
|
||||
}
|
||||
|
||||
public IEnumerable<PropertyInfo> GetProperties()
|
||||
{
|
||||
var properties = typeof(ConnectionInfoInheritance).GetProperties();
|
||||
var filteredProperties = properties.Where(FilterProperty);
|
||||
return filteredProperties;
|
||||
}
|
||||
|
||||
private bool FilterProperty(PropertyInfo propertyInfo)
|
||||
{
|
||||
var exclusions = new[] { "EverythingInherited", "Parent" };
|
||||
var valueShouldNotBeFiltered = !exclusions.Contains(propertyInfo.Name);
|
||||
return valueShouldNotBeFiltered;
|
||||
}
|
||||
|
||||
private void SetAllValues(bool value)
|
||||
{
|
||||
var properties = typeof(ConnectionInfoInheritance).GetProperties();
|
||||
var properties = GetProperties();
|
||||
foreach (var property in properties)
|
||||
{
|
||||
if (property.PropertyType.Name == typeof(Boolean).Name && property.Name != "EverythingInherited" && property.Name != "IsDefault")
|
||||
if (property.PropertyType.Name == typeof(bool).Name)
|
||||
property.SetValue(this, value, null);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetAllValues(ConnectionInfoInheritance otherInheritanceObject)
|
||||
protected void SetAllValues(ConnectionInfoInheritance otherInheritanceObject)
|
||||
{
|
||||
var properties = typeof(ConnectionInfoInheritance).GetProperties();
|
||||
var properties = GetProperties();
|
||||
foreach (var property in properties)
|
||||
{
|
||||
if (property.Name != "EverythingInherited")
|
||||
{
|
||||
var newPropertyValue = property.GetValue(otherInheritanceObject, null);
|
||||
property.SetValue(this, newPropertyValue, null);
|
||||
}
|
||||
var newPropertyValue = property.GetValue(otherInheritanceObject, null);
|
||||
property.SetValue(this, newPropertyValue, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
42
mRemoteV1/Connection/DefaultConnectionInheritance.cs
Normal file
42
mRemoteV1/Connection/DefaultConnectionInheritance.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
|
||||
|
||||
namespace mRemoteNG.Connection
|
||||
{
|
||||
public class DefaultConnectionInheritance : ConnectionInfoInheritance
|
||||
{
|
||||
public static DefaultConnectionInheritance Instance { get; } = new DefaultConnectionInheritance();
|
||||
|
||||
private DefaultConnectionInheritance() : base(null, true)
|
||||
{
|
||||
}
|
||||
|
||||
static DefaultConnectionInheritance()
|
||||
{ }
|
||||
|
||||
|
||||
public void LoadFrom<TSource>(TSource sourceInstance, Func<string,string> propertyNameMutator = null)
|
||||
{
|
||||
if (propertyNameMutator == null) propertyNameMutator = (a) => a;
|
||||
var inheritanceProperties = GetProperties();
|
||||
foreach (var property in inheritanceProperties)
|
||||
{
|
||||
var propertyFromSettings = typeof(TSource).GetProperty(propertyNameMutator(property.Name));
|
||||
var valueFromSettings = propertyFromSettings.GetValue(sourceInstance, null);
|
||||
property.SetValue(Instance, valueFromSettings, null);
|
||||
}
|
||||
}
|
||||
|
||||
public void SaveTo<TDestination>(TDestination destinationInstance, Func<string, string> propertyNameMutator = null)
|
||||
{
|
||||
if (propertyNameMutator == null) propertyNameMutator = (a) => a;
|
||||
var inheritanceProperties = GetProperties();
|
||||
foreach (var property in inheritanceProperties)
|
||||
{
|
||||
var propertyFromSettings = typeof(TDestination).GetProperty(propertyNameMutator(property.Name));
|
||||
var localValue = property.GetValue(Instance, null);
|
||||
propertyFromSettings.SetValue(destinationInstance, localValue, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace mRemoteNG.Connection
|
||||
{
|
||||
public interface Inheritance
|
||||
public interface IInheritable
|
||||
{
|
||||
ConnectionInfoInheritance Inheritance { get; set; }
|
||||
}
|
||||
@@ -265,7 +265,7 @@ namespace mRemoteNG.Connection.Protocol.ICA
|
||||
|
||||
private void SetSecurity()
|
||||
{
|
||||
switch (_Info.ICAEncryption)
|
||||
switch (_Info.ICAEncryptionStrength)
|
||||
{
|
||||
case EncryptionStrength.Encr128BitLogonOnly:
|
||||
_ICAClient.Encrypt = true;
|
||||
|
||||
@@ -133,12 +133,12 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
//not user changeable
|
||||
_rdpClient.AdvancedSettings2.GrabFocusOnConnect = true;
|
||||
_rdpClient.AdvancedSettings3.EnableAutoReconnect = true;
|
||||
_rdpClient.AdvancedSettings3.MaxReconnectAttempts = Convert.ToInt32(Settings.Default.RdpReconnectionCount);
|
||||
_rdpClient.AdvancedSettings3.MaxReconnectAttempts = Settings.Default.RdpReconnectionCount;
|
||||
_rdpClient.AdvancedSettings2.keepAliveInterval = 60000; //in milliseconds (10.000 = 10 seconds)
|
||||
_rdpClient.AdvancedSettings5.AuthenticationLevel = 0;
|
||||
_rdpClient.AdvancedSettings2.EncryptionEnabled = 1;
|
||||
|
||||
_rdpClient.AdvancedSettings2.overallConnectionTimeout = 20;
|
||||
_rdpClient.AdvancedSettings2.overallConnectionTimeout = Settings.Default.ConRDPOverallConnectionTimeout;
|
||||
|
||||
_rdpClient.AdvancedSettings2.BitmapPeristence = Convert.ToInt32(_connectionInfo.CacheBitmaps);
|
||||
if (_rdpVersion >= Versions.RDC61)
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Windows.Forms;
|
||||
namespace mRemoteNG.Container
|
||||
{
|
||||
[DefaultProperty("Name")]
|
||||
public class ContainerInfo : Parent,Inheritance
|
||||
public class ContainerInfo : Parent,IInheritable
|
||||
{
|
||||
private TreeNode _TreeNode;
|
||||
private ContainerInfo _Parent;
|
||||
|
||||
12
mRemoteV1/Properties/Settings.Designer.cs
generated
12
mRemoteV1/Properties/Settings.Designer.cs
generated
@@ -2295,5 +2295,17 @@ namespace mRemoteNG {
|
||||
this["ShowCompleteConsPathInTitle"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("20")]
|
||||
public int ConRDPOverallConnectionTimeout {
|
||||
get {
|
||||
return ((int)(this["ConRDPOverallConnectionTimeout"]));
|
||||
}
|
||||
set {
|
||||
this["ConRDPOverallConnectionTimeout"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -572,5 +572,8 @@
|
||||
<Setting Name="ShowCompleteConsPathInTitle" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="ConRDPOverallConnectionTimeout" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">20</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -97,7 +97,7 @@
|
||||
do this by simply double-clicking the tab labeled "test" or just close the whole
|
||||
"General" panel by clicking the small "x" in the upper right corner.</p>
|
||||
<p>
|
||||
<span class="heading1">Folders and Inheritance</span></p>
|
||||
<span class="heading1">Folders and IInheritable</span></p>
|
||||
<p>
|
||||
Folders in mRemote cannot only be used to categorize connections but also to
|
||||
apply properties to the underlying connections.</p>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
Panels and tabs allow to group certain connections together, dock them to any side of the window or completely undock them and move them to another screen for example<br />
|
||||
Multiple supported protocols (RDP, VNC, ICA, SSH, Telnet, RAW, Rlogin and HTTP/S)<br />
|
||||
Easy to organize and maintain list of connections<br />
|
||||
Inheritance makes it possible to store properties on folder basis and let the underlying connections inherit this info<br />
|
||||
IInheritable makes it possible to store properties on folder basis and let the underlying connections inherit this info<br />
|
||||
Support for importing connections from Active Directory<br />
|
||||
Allows creating nested containers (folders) to categorize connections<br />
|
||||
"Quick Connect" feature to quickly open a connection without creating an entry<br />
|
||||
|
||||
15
mRemoteV1/Resources/Language/Language.Designer.cs
generated
15
mRemoteV1/Resources/Language/Language.Designer.cs
generated
@@ -313,7 +313,7 @@ namespace mRemoteNG {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Default Inheritance.
|
||||
/// Looks up a localized string similar to Default IInheritable.
|
||||
/// </summary>
|
||||
internal static string strButtonDefaultInheritance {
|
||||
get {
|
||||
@@ -358,7 +358,7 @@ namespace mRemoteNG {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Inheritance.
|
||||
/// Looks up a localized string similar to IInheritable.
|
||||
/// </summary>
|
||||
internal static string strButtonInheritance {
|
||||
get {
|
||||
@@ -734,7 +734,7 @@ namespace mRemoteNG {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Inheritance.
|
||||
/// Looks up a localized string similar to IInheritable.
|
||||
/// </summary>
|
||||
internal static string strCheckboxInheritance {
|
||||
get {
|
||||
@@ -5307,6 +5307,15 @@ namespace mRemoteNG {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to RDP Connection Timeout.
|
||||
/// </summary>
|
||||
internal static string strRDPOverallConnectionTimeout {
|
||||
get {
|
||||
return ResourceManager.GetString("strRDPOverallConnectionTimeout", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to RDP reconnection count:.
|
||||
/// </summary>
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
<value>閉じる(&C)</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultInheritance" xml:space="preserve">
|
||||
<value>Default Inheritance</value>
|
||||
<value>Default IInheritable</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultProperties" xml:space="preserve">
|
||||
<value>デフォルトのプロパティ</value>
|
||||
@@ -218,7 +218,7 @@
|
||||
<value>インポート(&I)</value>
|
||||
</data>
|
||||
<data name="strButtonInheritance" xml:space="preserve">
|
||||
<value>Inheritance</value>
|
||||
<value>IInheritable</value>
|
||||
</data>
|
||||
<data name="strButtonLaunch" xml:space="preserve">
|
||||
<value>立ち上げる(&L)</value>
|
||||
@@ -358,7 +358,7 @@ VncSharpNG Control Version {0}</value>
|
||||
<value>このメッセージを再び表示しない</value>
|
||||
</data>
|
||||
<data name="strCheckboxInheritance" xml:space="preserve">
|
||||
<value>Inheritance</value>
|
||||
<value>IInheritable</value>
|
||||
</data>
|
||||
<data name="strCheckboxPassword" xml:space="preserve">
|
||||
<value>パスワード</value>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
@@ -202,7 +202,7 @@
|
||||
<value>&Close</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultInheritance" xml:space="preserve">
|
||||
<value>Default Inheritance</value>
|
||||
<value>Default IInheritable</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultProperties" xml:space="preserve">
|
||||
<value>Default Properties</value>
|
||||
@@ -217,7 +217,7 @@
|
||||
<value>&Import</value>
|
||||
</data>
|
||||
<data name="strButtonInheritance" xml:space="preserve">
|
||||
<value>Inheritance</value>
|
||||
<value>IInheritable</value>
|
||||
</data>
|
||||
<data name="strButtonLaunch" xml:space="preserve">
|
||||
<value>&Launch</value>
|
||||
@@ -354,7 +354,7 @@ VncSharpNG Control Version {0}</value>
|
||||
<value>Do not show this message again.</value>
|
||||
</data>
|
||||
<data name="strCheckboxInheritance" xml:space="preserve">
|
||||
<value>Inheritance</value>
|
||||
<value>IInheritable</value>
|
||||
</data>
|
||||
<data name="strCheckboxPassword" xml:space="preserve">
|
||||
<value>Password</value>
|
||||
@@ -2381,4 +2381,7 @@ mRemoteNG will now quit and begin with the installation.</value>
|
||||
<data name="strMenuReconnectAll" xml:space="preserve">
|
||||
<value>Reconnect All Open Connections</value>
|
||||
</data>
|
||||
<data name="strRDPOverallConnectionTimeout" xml:space="preserve">
|
||||
<value>RDP Connection Timeout</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1,4 +1,3 @@
|
||||
using mRemoteNG.My;
|
||||
using mRemoteNG.Tools;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
@@ -79,12 +78,10 @@ namespace mRemoteNG.Themes
|
||||
}
|
||||
|
||||
Type themeInfoType = (new ThemeInfo()).GetType();
|
||||
object myProperty = null;
|
||||
object otherProperty = null;
|
||||
foreach (System.Reflection.PropertyInfo propertyInfo in themeInfoType.GetProperties())
|
||||
foreach (System.Reflection.PropertyInfo propertyInfo in themeInfoType.GetProperties())
|
||||
{
|
||||
myProperty = propertyInfo.GetValue(this, null);
|
||||
otherProperty = propertyInfo.GetValue(otherTheme, null);
|
||||
var myProperty = propertyInfo.GetValue(this, null);
|
||||
var otherProperty = propertyInfo.GetValue(otherTheme, null);
|
||||
if (!myProperty.Equals(otherProperty))
|
||||
{
|
||||
return false;
|
||||
@@ -93,17 +90,23 @@ namespace mRemoteNG.Themes
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// just fixing a complier warning. We don't use us so returning this value shouldn't be an issue at all.
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return Name.GetHashCode();
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region Events
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
protected void NotifyPropertyChanged(string propertyName)
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
private void NotifyPropertyChanged(string propertyName)
|
||||
{
|
||||
if
|
||||
(PropertyChanged != null)
|
||||
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
[Browsable(false)]
|
||||
@@ -122,7 +125,7 @@ namespace mRemoteNG.Themes
|
||||
}
|
||||
|
||||
#region General
|
||||
[LocalizedAttributes.LocalizedCategory("strThemeCategoryGeneral", 1),
|
||||
[LocalizedAttributes.LocalizedCategory("strThemeCategoryGeneral"),
|
||||
LocalizedAttributes.LocalizedDisplayName("strThemeNameWindowBackgroundColor"),
|
||||
LocalizedAttributes.LocalizedDescription("strThemeDescriptionWindowBackgroundColor")]
|
||||
public Color WindowBackgroundColor
|
||||
@@ -139,7 +142,7 @@ namespace mRemoteNG.Themes
|
||||
}
|
||||
}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strThemeCategoryGeneral", 1), Browsable(false),
|
||||
[LocalizedAttributes.LocalizedCategory("strThemeCategoryGeneral"), Browsable(false),
|
||||
LocalizedAttributes.LocalizedDisplayName("strThemeNameMenuBackgroundColor"),
|
||||
LocalizedAttributes.LocalizedDescription("strThemeDescriptionMenuBackgroundColor")]
|
||||
public Color MenuBackgroundColor
|
||||
@@ -156,7 +159,7 @@ namespace mRemoteNG.Themes
|
||||
}
|
||||
}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strThemeCategoryGeneral", 1), Browsable(false),
|
||||
[LocalizedAttributes.LocalizedCategory("strThemeCategoryGeneral"), Browsable(false),
|
||||
LocalizedAttributes.LocalizedDisplayName("strThemeNameMenuTextColor"),
|
||||
LocalizedAttributes.LocalizedDescription("strThemeDescriptionMenuTextColor")]
|
||||
public Color MenuTextColor
|
||||
@@ -173,7 +176,7 @@ namespace mRemoteNG.Themes
|
||||
}
|
||||
}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strThemeCategoryGeneral", 1),
|
||||
[LocalizedAttributes.LocalizedCategory("strThemeCategoryGeneral"),
|
||||
Browsable(false),
|
||||
LocalizedAttributes.LocalizedDisplayName("strThemeNameToolbarBackgroundColor"),
|
||||
LocalizedAttributes.LocalizedDescription("strThemeDescriptionToolbarBackgroundColor")]
|
||||
@@ -191,7 +194,7 @@ namespace mRemoteNG.Themes
|
||||
}
|
||||
}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory("strThemeCategoryGeneral", 1), Browsable(false),
|
||||
[LocalizedAttributes.LocalizedCategory("strThemeCategoryGeneral"), Browsable(false),
|
||||
LocalizedAttributes.LocalizedDisplayName("strThemeNameToolbarTextColor"),
|
||||
LocalizedAttributes.LocalizedDescription("strThemeDescriptionToolbarTextColor")]
|
||||
public Color ToolbarTextColor
|
||||
|
||||
@@ -4,7 +4,6 @@ using System.Drawing;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security;
|
||||
using System.Windows.Forms;
|
||||
using mRemoteNG.App;
|
||||
@@ -18,24 +17,6 @@ namespace mRemoteNG.Tools
|
||||
{
|
||||
public class MiscTools
|
||||
{
|
||||
private struct SHFILEINFO
|
||||
{
|
||||
public IntPtr hIcon; // : icon
|
||||
//public int iIcon; // : icondex
|
||||
//public int dwAttributes; // : SFGAO_ flags
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
|
||||
public string szDisplayName;
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
|
||||
public string szTypeName;
|
||||
}
|
||||
|
||||
[DllImport("shell32.dll")]
|
||||
private static extern IntPtr SHGetFileInfo(string pszPath, int dwFileAttributes, ref SHFILEINFO psfi, int cbFileInfo, int uFlags);
|
||||
private const int SHGFI_ICON = 0x100;
|
||||
private const int SHGFI_SMALLICON = 0x1;
|
||||
//Private Const SHGFI_LARGEICON = &H0 ' Large icon
|
||||
|
||||
|
||||
public static Icon GetIconFromFile(string FileName)
|
||||
{
|
||||
try
|
||||
@@ -56,10 +37,6 @@ namespace mRemoteNG.Tools
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static SecureString PasswordDialog(string passwordName = null, bool verify = true)
|
||||
{
|
||||
PasswordForm passwordForm = new PasswordForm(passwordName, verify);
|
||||
@@ -177,15 +154,11 @@ namespace mRemoteNG.Tools
|
||||
|
||||
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destType)
|
||||
{
|
||||
if (value != null)
|
||||
{
|
||||
FieldInfo fi = _enumType.GetField(Enum.GetName(_enumType, value: value));
|
||||
DescriptionAttribute dna = (DescriptionAttribute) (Attribute.GetCustomAttribute(fi, typeof(DescriptionAttribute)));
|
||||
if (value == null) return null;
|
||||
FieldInfo fi = _enumType.GetField(Enum.GetName(_enumType, value: value));
|
||||
DescriptionAttribute dna = (DescriptionAttribute) (Attribute.GetCustomAttribute(fi, typeof(DescriptionAttribute)));
|
||||
|
||||
return dna != null ? dna.Description : value.ToString();
|
||||
}
|
||||
|
||||
return null;
|
||||
return dna != null ? dna.Description : value.ToString();
|
||||
}
|
||||
|
||||
public override bool CanConvertFrom(ITypeDescriptorContext context, Type srcType)
|
||||
@@ -195,7 +168,7 @@ namespace mRemoteNG.Tools
|
||||
|
||||
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
|
||||
{
|
||||
foreach (FieldInfo fi in _enumType.GetFields())
|
||||
foreach (FieldInfo fi in _enumType.GetFields())
|
||||
{
|
||||
DescriptionAttribute dna = (DescriptionAttribute) (Attribute.GetCustomAttribute(fi, typeof(DescriptionAttribute)));
|
||||
|
||||
@@ -204,8 +177,8 @@ namespace mRemoteNG.Tools
|
||||
return Enum.Parse(_enumType, fi.Name);
|
||||
}
|
||||
}
|
||||
|
||||
return Enum.Parse(_enumType, (string) value);
|
||||
|
||||
return value != null ? Enum.Parse(_enumType, (string) value) : null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,7 +229,7 @@ namespace mRemoteNG.Tools
|
||||
{
|
||||
if (destinationType == typeof(string))
|
||||
{
|
||||
return ((Convert.ToBoolean(value)) ? Language.strYes : Language.strNo);
|
||||
return Convert.ToBoolean(value) ? Language.strYes : Language.strNo;
|
||||
}
|
||||
|
||||
return base.ConvertTo(context, culture, value, destinationType);
|
||||
|
||||
121
mRemoteV1/Tools/SecureTransfer.cs
Normal file
121
mRemoteV1/Tools/SecureTransfer.cs
Normal file
@@ -0,0 +1,121 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using mRemoteNG.App;
|
||||
using Renci.SshNet;
|
||||
using Renci.SshNet.Sftp;
|
||||
using static System.IO.FileMode;
|
||||
|
||||
namespace mRemoteNG.Tools
|
||||
{
|
||||
class SecureTransfer
|
||||
{
|
||||
private readonly string Host;
|
||||
private readonly string User;
|
||||
private readonly string Password;
|
||||
private readonly int Port;
|
||||
public readonly SSHTransferProtocol Protocol;
|
||||
public string SrcFile;
|
||||
public string DstFile;
|
||||
public ScpClient ScpClt;
|
||||
public SftpClient SftpClt;
|
||||
public SftpUploadAsyncResult asyncResult;
|
||||
public AsyncCallback asyncCallback;
|
||||
|
||||
|
||||
public SecureTransfer()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SecureTransfer(string host, string user, string pass, int port, SSHTransferProtocol protocol)
|
||||
{
|
||||
Host = host;
|
||||
User = user;
|
||||
Password = pass;
|
||||
Port = port;
|
||||
Protocol = protocol;
|
||||
}
|
||||
|
||||
public SecureTransfer(string host, string user, string pass, int port, SSHTransferProtocol protocol, string source, string dest)
|
||||
{
|
||||
Host = host;
|
||||
User = user;
|
||||
Password = pass;
|
||||
Port = port;
|
||||
Protocol = protocol;
|
||||
SrcFile = source;
|
||||
DstFile = dest;
|
||||
}
|
||||
|
||||
public void Connect()
|
||||
{
|
||||
if(Protocol == SSHTransferProtocol.SCP)
|
||||
{
|
||||
ScpClt = new ScpClient(Host, Port, User, Password);
|
||||
ScpClt.Connect();
|
||||
}
|
||||
|
||||
if (Protocol == SSHTransferProtocol.SFTP)
|
||||
{
|
||||
SftpClt = new SftpClient(Host, Port, User, Password);
|
||||
SftpClt.Connect();
|
||||
}
|
||||
}
|
||||
|
||||
public void Disconnect()
|
||||
{
|
||||
if (Protocol == SSHTransferProtocol.SCP)
|
||||
{
|
||||
ScpClt.Disconnect();
|
||||
}
|
||||
|
||||
if (Protocol == SSHTransferProtocol.SFTP)
|
||||
{
|
||||
SftpClt.Disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (Protocol == SSHTransferProtocol.SCP)
|
||||
{
|
||||
ScpClt.Dispose();
|
||||
}
|
||||
|
||||
if (Protocol == SSHTransferProtocol.SFTP)
|
||||
{
|
||||
SftpClt.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public void Upload()
|
||||
{
|
||||
if (Protocol == SSHTransferProtocol.SCP)
|
||||
{
|
||||
if (!ScpClt.IsConnected)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, Language.strSSHTransferFailed + Environment.NewLine + "SCP Not Connected!");
|
||||
return;
|
||||
}
|
||||
|
||||
ScpClt.Upload(new FileInfo(SrcFile), $"{DstFile}/{Path.GetFileName(SrcFile)}");
|
||||
}
|
||||
|
||||
if (Protocol == SSHTransferProtocol.SFTP)
|
||||
{
|
||||
if (!SftpClt.IsConnected)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, Language.strSSHTransferFailed + Environment.NewLine + "SFTP Not Connected!");
|
||||
return;
|
||||
}
|
||||
asyncResult = (SftpUploadAsyncResult)SftpClt.BeginUploadFile(new FileStream(SrcFile, Open), $"{DstFile}/{Path.GetFileName(SrcFile)}", asyncCallback);
|
||||
}
|
||||
}
|
||||
|
||||
public enum SSHTransferProtocol
|
||||
{
|
||||
SCP = 0,
|
||||
SFTP = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -67,7 +67,7 @@ namespace mRemoteNG.Tree
|
||||
if (ConnectionTreeNode.GetNodeType(_nodeBeingMoved.Parent) == TreeNodeType.Container)
|
||||
{
|
||||
((Parent)_nodeBeingMoved.Tag).Parent = (ContainerInfo)_nodeBeingMoved.Parent.Tag;
|
||||
((Inheritance)_nodeBeingMoved.Tag).Inheritance.EnableInheritance();
|
||||
((IInheritable)_nodeBeingMoved.Tag).Inheritance.EnableInheritance();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ namespace mRemoteNG.Tree
|
||||
if (ConnectionTreeNode.GetNodeType(_nodeBeingMoved.Parent) == TreeNodeType.Root)
|
||||
{
|
||||
((Parent)_nodeBeingMoved.Tag).Parent = null;
|
||||
((Inheritance)_nodeBeingMoved.Tag).Inheritance.DisableInheritance();
|
||||
((IInheritable)_nodeBeingMoved.Tag).Inheritance.DisableInheritance();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
2
mRemoteV1/UI/Forms/ExportForm.Designer.cs
generated
2
mRemoteV1/UI/Forms/ExportForm.Designer.cs
generated
@@ -110,7 +110,7 @@ namespace mRemoteNG.Forms
|
||||
this.chkInheritance.Name = "chkInheritance";
|
||||
this.chkInheritance.Size = new System.Drawing.Size(79, 17);
|
||||
this.chkInheritance.TabIndex = 3;
|
||||
this.chkInheritance.Text = "Inheritance";
|
||||
this.chkInheritance.Text = "IInheritable";
|
||||
this.chkInheritance.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// txtFileName
|
||||
|
||||
@@ -30,349 +30,398 @@ namespace mRemoteNG.UI.Forms.OptionsPages
|
||||
//Do not modify it using the code editor.
|
||||
[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConnectionsPage));
|
||||
this.pnlRdpReconnectionCount = new System.Windows.Forms.Panel();
|
||||
this.lblRdpReconnectionCount = new System.Windows.Forms.Label();
|
||||
this.numRdpReconnectionCount = new System.Windows.Forms.NumericUpDown();
|
||||
this.chkSingleClickOnConnectionOpensIt = new System.Windows.Forms.CheckBox();
|
||||
this.chkHostnameLikeDisplayName = new System.Windows.Forms.CheckBox();
|
||||
this.pnlDefaultCredentials = new System.Windows.Forms.Panel();
|
||||
this.radCredentialsCustom = new System.Windows.Forms.RadioButton();
|
||||
this.radCredentialsCustom.CheckedChanged += new System.EventHandler(this.radCredentialsCustom_CheckedChanged);
|
||||
this.lblDefaultCredentials = new System.Windows.Forms.Label();
|
||||
this.radCredentialsNoInfo = new System.Windows.Forms.RadioButton();
|
||||
this.radCredentialsWindows = new System.Windows.Forms.RadioButton();
|
||||
this.txtCredentialsDomain = new System.Windows.Forms.TextBox();
|
||||
this.lblCredentialsUsername = new System.Windows.Forms.Label();
|
||||
this.txtCredentialsPassword = new System.Windows.Forms.TextBox();
|
||||
this.lblCredentialsPassword = new System.Windows.Forms.Label();
|
||||
this.txtCredentialsUsername = new System.Windows.Forms.TextBox();
|
||||
this.lblCredentialsDomain = new System.Windows.Forms.Label();
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt = new System.Windows.Forms.CheckBox();
|
||||
this.pnlAutoSave = new System.Windows.Forms.Panel();
|
||||
this.lblAutoSave1 = new System.Windows.Forms.Label();
|
||||
this.numAutoSave = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblAutoSave2 = new System.Windows.Forms.Label();
|
||||
this.pnlConfirmCloseConnection = new System.Windows.Forms.Panel();
|
||||
this.lblClosingConnections = new System.Windows.Forms.Label();
|
||||
this.radCloseWarnAll = new System.Windows.Forms.RadioButton();
|
||||
this.radCloseWarnMultiple = new System.Windows.Forms.RadioButton();
|
||||
this.radCloseWarnExit = new System.Windows.Forms.RadioButton();
|
||||
this.radCloseWarnNever = new System.Windows.Forms.RadioButton();
|
||||
this.pnlRdpReconnectionCount.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize) this.numRdpReconnectionCount).BeginInit();
|
||||
this.pnlDefaultCredentials.SuspendLayout();
|
||||
this.pnlAutoSave.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize) this.numAutoSave).BeginInit();
|
||||
this.pnlConfirmCloseConnection.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
//pnlRdpReconnectionCount
|
||||
//
|
||||
this.pnlRdpReconnectionCount.Controls.Add(this.lblRdpReconnectionCount);
|
||||
this.pnlRdpReconnectionCount.Controls.Add(this.numRdpReconnectionCount);
|
||||
this.pnlRdpReconnectionCount.Location = new System.Drawing.Point(3, 69);
|
||||
this.pnlRdpReconnectionCount.Name = "pnlRdpReconnectionCount";
|
||||
this.pnlRdpReconnectionCount.Size = new System.Drawing.Size(596, 29);
|
||||
this.pnlRdpReconnectionCount.TabIndex = 10;
|
||||
//
|
||||
//lblRdpReconnectionCount
|
||||
//
|
||||
this.lblRdpReconnectionCount.Location = new System.Drawing.Point(6, 9);
|
||||
this.lblRdpReconnectionCount.Name = "lblRdpReconnectionCount";
|
||||
this.lblRdpReconnectionCount.Size = new System.Drawing.Size(288, 13);
|
||||
this.lblRdpReconnectionCount.TabIndex = 0;
|
||||
this.lblRdpReconnectionCount.Text = "RDP Reconnection Count";
|
||||
this.lblRdpReconnectionCount.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
//numRdpReconnectionCount
|
||||
//
|
||||
this.numRdpReconnectionCount.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.numRdpReconnectionCount.Location = new System.Drawing.Point(300, 7);
|
||||
this.numRdpReconnectionCount.Maximum = new decimal(new int[] {20, 0, 0, 0});
|
||||
this.numRdpReconnectionCount.Name = "numRdpReconnectionCount";
|
||||
this.numRdpReconnectionCount.Size = new System.Drawing.Size(53, 20);
|
||||
this.numRdpReconnectionCount.TabIndex = 1;
|
||||
this.numRdpReconnectionCount.Value = new decimal(new int[] {5, 0, 0, 0});
|
||||
//
|
||||
//chkSingleClickOnConnectionOpensIt
|
||||
//
|
||||
this.chkSingleClickOnConnectionOpensIt.AutoSize = true;
|
||||
this.chkSingleClickOnConnectionOpensIt.Location = new System.Drawing.Point(3, 0);
|
||||
this.chkSingleClickOnConnectionOpensIt.Name = "chkSingleClickOnConnectionOpensIt";
|
||||
this.chkSingleClickOnConnectionOpensIt.Size = new System.Drawing.Size(191, 17);
|
||||
this.chkSingleClickOnConnectionOpensIt.TabIndex = 7;
|
||||
this.chkSingleClickOnConnectionOpensIt.Text = "Single click on connection opens it";
|
||||
this.chkSingleClickOnConnectionOpensIt.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//chkHostnameLikeDisplayName
|
||||
//
|
||||
this.chkHostnameLikeDisplayName.AutoSize = true;
|
||||
this.chkHostnameLikeDisplayName.Location = new System.Drawing.Point(3, 46);
|
||||
this.chkHostnameLikeDisplayName.Name = "chkHostnameLikeDisplayName";
|
||||
this.chkHostnameLikeDisplayName.Size = new System.Drawing.Size(328, 17);
|
||||
this.chkHostnameLikeDisplayName.TabIndex = 9;
|
||||
this.chkHostnameLikeDisplayName.Text = "Set hostname like display name when creating new connections";
|
||||
this.chkHostnameLikeDisplayName.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//pnlDefaultCredentials
|
||||
//
|
||||
this.pnlDefaultCredentials.Controls.Add(this.radCredentialsCustom);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.lblDefaultCredentials);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.radCredentialsNoInfo);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.radCredentialsWindows);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.txtCredentialsDomain);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.lblCredentialsUsername);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.txtCredentialsPassword);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.lblCredentialsPassword);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.txtCredentialsUsername);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.lblCredentialsDomain);
|
||||
this.pnlDefaultCredentials.Location = new System.Drawing.Point(3, 139);
|
||||
this.pnlDefaultCredentials.Name = "pnlDefaultCredentials";
|
||||
this.pnlDefaultCredentials.Size = new System.Drawing.Size(596, 175);
|
||||
this.pnlDefaultCredentials.TabIndex = 12;
|
||||
//
|
||||
//radCredentialsCustom
|
||||
//
|
||||
this.radCredentialsCustom.AutoSize = true;
|
||||
this.radCredentialsCustom.Location = new System.Drawing.Point(16, 69);
|
||||
this.radCredentialsCustom.Name = "radCredentialsCustom";
|
||||
this.radCredentialsCustom.Size = new System.Drawing.Size(87, 17);
|
||||
this.radCredentialsCustom.TabIndex = 3;
|
||||
this.radCredentialsCustom.Text = "the following:";
|
||||
this.radCredentialsCustom.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//lblDefaultCredentials
|
||||
//
|
||||
this.lblDefaultCredentials.AutoSize = true;
|
||||
this.lblDefaultCredentials.Location = new System.Drawing.Point(3, 9);
|
||||
this.lblDefaultCredentials.Name = "lblDefaultCredentials";
|
||||
this.lblDefaultCredentials.Size = new System.Drawing.Size(257, 13);
|
||||
this.lblDefaultCredentials.TabIndex = 0;
|
||||
this.lblDefaultCredentials.Text = "For empty Username, Password or Domain fields use:";
|
||||
//
|
||||
//radCredentialsNoInfo
|
||||
//
|
||||
this.radCredentialsNoInfo.AutoSize = true;
|
||||
this.radCredentialsNoInfo.Checked = true;
|
||||
this.radCredentialsNoInfo.Location = new System.Drawing.Point(16, 31);
|
||||
this.radCredentialsNoInfo.Name = "radCredentialsNoInfo";
|
||||
this.radCredentialsNoInfo.Size = new System.Drawing.Size(91, 17);
|
||||
this.radCredentialsNoInfo.TabIndex = 1;
|
||||
this.radCredentialsNoInfo.TabStop = true;
|
||||
this.radCredentialsNoInfo.Text = "no information";
|
||||
this.radCredentialsNoInfo.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//radCredentialsWindows
|
||||
//
|
||||
this.radCredentialsWindows.AutoSize = true;
|
||||
this.radCredentialsWindows.Location = new System.Drawing.Point(16, 50);
|
||||
this.radCredentialsWindows.Name = "radCredentialsWindows";
|
||||
this.radCredentialsWindows.Size = new System.Drawing.Size(227, 17);
|
||||
this.radCredentialsWindows.TabIndex = 2;
|
||||
this.radCredentialsWindows.Text = "my current credentials (windows logon info)";
|
||||
this.radCredentialsWindows.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//txtCredentialsDomain
|
||||
//
|
||||
this.txtCredentialsDomain.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.txtCredentialsDomain.Enabled = false;
|
||||
this.txtCredentialsDomain.Location = new System.Drawing.Point(140, 147);
|
||||
this.txtCredentialsDomain.Name = "txtCredentialsDomain";
|
||||
this.txtCredentialsDomain.Size = new System.Drawing.Size(150, 20);
|
||||
this.txtCredentialsDomain.TabIndex = 9;
|
||||
//
|
||||
//lblCredentialsUsername
|
||||
//
|
||||
this.lblCredentialsUsername.Enabled = false;
|
||||
this.lblCredentialsUsername.Location = new System.Drawing.Point(37, 95);
|
||||
this.lblCredentialsUsername.Name = "lblCredentialsUsername";
|
||||
this.lblCredentialsUsername.Size = new System.Drawing.Size(97, 13);
|
||||
this.lblCredentialsUsername.TabIndex = 4;
|
||||
this.lblCredentialsUsername.Text = "Username:";
|
||||
this.lblCredentialsUsername.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
//txtCredentialsPassword
|
||||
//
|
||||
this.txtCredentialsPassword.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.txtCredentialsPassword.Enabled = false;
|
||||
this.txtCredentialsPassword.Location = new System.Drawing.Point(140, 120);
|
||||
this.txtCredentialsPassword.Name = "txtCredentialsPassword";
|
||||
this.txtCredentialsPassword.Size = new System.Drawing.Size(150, 20);
|
||||
this.txtCredentialsPassword.TabIndex = 7;
|
||||
this.txtCredentialsPassword.UseSystemPasswordChar = true;
|
||||
//
|
||||
//lblCredentialsPassword
|
||||
//
|
||||
this.lblCredentialsPassword.Enabled = false;
|
||||
this.lblCredentialsPassword.Location = new System.Drawing.Point(34, 123);
|
||||
this.lblCredentialsPassword.Name = "lblCredentialsPassword";
|
||||
this.lblCredentialsPassword.Size = new System.Drawing.Size(100, 13);
|
||||
this.lblCredentialsPassword.TabIndex = 6;
|
||||
this.lblCredentialsPassword.Text = "Password:";
|
||||
this.lblCredentialsPassword.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
//txtCredentialsUsername
|
||||
//
|
||||
this.txtCredentialsUsername.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.txtCredentialsUsername.Enabled = false;
|
||||
this.txtCredentialsUsername.Location = new System.Drawing.Point(140, 93);
|
||||
this.txtCredentialsUsername.Name = "txtCredentialsUsername";
|
||||
this.txtCredentialsUsername.Size = new System.Drawing.Size(150, 20);
|
||||
this.txtCredentialsUsername.TabIndex = 5;
|
||||
//
|
||||
//lblCredentialsDomain
|
||||
//
|
||||
this.lblCredentialsDomain.Enabled = false;
|
||||
this.lblCredentialsDomain.Location = new System.Drawing.Point(34, 150);
|
||||
this.lblCredentialsDomain.Name = "lblCredentialsDomain";
|
||||
this.lblCredentialsDomain.Size = new System.Drawing.Size(100, 13);
|
||||
this.lblCredentialsDomain.TabIndex = 8;
|
||||
this.lblCredentialsDomain.Text = "Domain:";
|
||||
this.lblCredentialsDomain.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
//chkSingleClickOnOpenedConnectionSwitchesToIt
|
||||
//
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.AutoSize = true;
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.Location = new System.Drawing.Point(3, 23);
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.Name = "chkSingleClickOnOpenedConnectionSwitchesToIt";
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.Size = new System.Drawing.Size(254, 17);
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.TabIndex = 8;
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.Text = Language.strSingleClickOnOpenConnectionSwitchesToIt;
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//pnlAutoSave
|
||||
//
|
||||
this.pnlAutoSave.Controls.Add(this.lblAutoSave1);
|
||||
this.pnlAutoSave.Controls.Add(this.numAutoSave);
|
||||
this.pnlAutoSave.Controls.Add(this.lblAutoSave2);
|
||||
this.pnlAutoSave.Location = new System.Drawing.Point(3, 104);
|
||||
this.pnlAutoSave.Name = "pnlAutoSave";
|
||||
this.pnlAutoSave.Size = new System.Drawing.Size(596, 29);
|
||||
this.pnlAutoSave.TabIndex = 11;
|
||||
//
|
||||
//lblAutoSave1
|
||||
//
|
||||
this.lblAutoSave1.Location = new System.Drawing.Point(6, 9);
|
||||
this.lblAutoSave1.Name = "lblAutoSave1";
|
||||
this.lblAutoSave1.Size = new System.Drawing.Size(288, 13);
|
||||
this.lblAutoSave1.TabIndex = 0;
|
||||
this.lblAutoSave1.Text = "Auto Save every:";
|
||||
this.lblAutoSave1.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
//numAutoSave
|
||||
//
|
||||
this.numAutoSave.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.numAutoSave.Location = new System.Drawing.Point(300, 7);
|
||||
this.numAutoSave.Maximum = new decimal(new int[] {9999, 0, 0, 0});
|
||||
this.numAutoSave.Name = "numAutoSave";
|
||||
this.numAutoSave.Size = new System.Drawing.Size(53, 20);
|
||||
this.numAutoSave.TabIndex = 1;
|
||||
//
|
||||
//lblAutoSave2
|
||||
//
|
||||
this.lblAutoSave2.AutoSize = true;
|
||||
this.lblAutoSave2.Location = new System.Drawing.Point(359, 9);
|
||||
this.lblAutoSave2.Name = "lblAutoSave2";
|
||||
this.lblAutoSave2.Size = new System.Drawing.Size(135, 13);
|
||||
this.lblAutoSave2.TabIndex = 2;
|
||||
this.lblAutoSave2.Text = "Minutes (0 means disabled)";
|
||||
//
|
||||
//pnlConfirmCloseConnection
|
||||
//
|
||||
this.pnlConfirmCloseConnection.Controls.Add(this.lblClosingConnections);
|
||||
this.pnlConfirmCloseConnection.Controls.Add(this.radCloseWarnAll);
|
||||
this.pnlConfirmCloseConnection.Controls.Add(this.radCloseWarnMultiple);
|
||||
this.pnlConfirmCloseConnection.Controls.Add(this.radCloseWarnExit);
|
||||
this.pnlConfirmCloseConnection.Controls.Add(this.radCloseWarnNever);
|
||||
this.pnlConfirmCloseConnection.Location = new System.Drawing.Point(3, 320);
|
||||
this.pnlConfirmCloseConnection.Name = "pnlConfirmCloseConnection";
|
||||
this.pnlConfirmCloseConnection.Size = new System.Drawing.Size(596, 137);
|
||||
this.pnlConfirmCloseConnection.TabIndex = 13;
|
||||
//
|
||||
//lblClosingConnections
|
||||
//
|
||||
this.lblClosingConnections.AutoSize = true;
|
||||
this.lblClosingConnections.Location = new System.Drawing.Point(3, 9);
|
||||
this.lblClosingConnections.Name = "lblClosingConnections";
|
||||
this.lblClosingConnections.Size = new System.Drawing.Size(136, 13);
|
||||
this.lblClosingConnections.TabIndex = 0;
|
||||
this.lblClosingConnections.Text = "When closing connections:";
|
||||
//
|
||||
//radCloseWarnAll
|
||||
//
|
||||
this.radCloseWarnAll.AutoSize = true;
|
||||
this.radCloseWarnAll.Location = new System.Drawing.Point(16, 31);
|
||||
this.radCloseWarnAll.Name = "radCloseWarnAll";
|
||||
this.radCloseWarnAll.Size = new System.Drawing.Size(194, 17);
|
||||
this.radCloseWarnAll.TabIndex = 1;
|
||||
this.radCloseWarnAll.TabStop = true;
|
||||
this.radCloseWarnAll.Text = "Warn me when closing connections";
|
||||
this.radCloseWarnAll.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//radCloseWarnMultiple
|
||||
//
|
||||
this.radCloseWarnMultiple.AutoSize = true;
|
||||
this.radCloseWarnMultiple.Location = new System.Drawing.Point(16, 54);
|
||||
this.radCloseWarnMultiple.Name = "radCloseWarnMultiple";
|
||||
this.radCloseWarnMultiple.Size = new System.Drawing.Size(254, 17);
|
||||
this.radCloseWarnMultiple.TabIndex = 2;
|
||||
this.radCloseWarnMultiple.TabStop = true;
|
||||
this.radCloseWarnMultiple.Text = "Warn me only when closing multiple connections";
|
||||
this.radCloseWarnMultiple.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//radCloseWarnExit
|
||||
//
|
||||
this.radCloseWarnExit.AutoSize = true;
|
||||
this.radCloseWarnExit.Location = new System.Drawing.Point(16, 77);
|
||||
this.radCloseWarnExit.Name = "radCloseWarnExit";
|
||||
this.radCloseWarnExit.Size = new System.Drawing.Size(216, 17);
|
||||
this.radCloseWarnExit.TabIndex = 3;
|
||||
this.radCloseWarnExit.TabStop = true;
|
||||
this.radCloseWarnExit.Text = "Warn me only when exiting mRemoteNG";
|
||||
this.radCloseWarnExit.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//radCloseWarnNever
|
||||
//
|
||||
this.radCloseWarnNever.AutoSize = true;
|
||||
this.radCloseWarnNever.Location = new System.Drawing.Point(16, 100);
|
||||
this.radCloseWarnNever.Name = "radCloseWarnNever";
|
||||
this.radCloseWarnNever.Size = new System.Drawing.Size(226, 17);
|
||||
this.radCloseWarnNever.TabIndex = 4;
|
||||
this.radCloseWarnNever.TabStop = true;
|
||||
this.radCloseWarnNever.Text = "Do not warn me when closing connections";
|
||||
this.radCloseWarnNever.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//ConnectionsPage
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF((float) (6.0F), (float) (13.0F));
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.pnlRdpReconnectionCount);
|
||||
this.Controls.Add(this.chkSingleClickOnConnectionOpensIt);
|
||||
this.Controls.Add(this.chkHostnameLikeDisplayName);
|
||||
this.Controls.Add(this.pnlDefaultCredentials);
|
||||
this.Controls.Add(this.chkSingleClickOnOpenedConnectionSwitchesToIt);
|
||||
this.Controls.Add(this.pnlAutoSave);
|
||||
this.Controls.Add(this.pnlConfirmCloseConnection);
|
||||
this.Name = "ConnectionsPage";
|
||||
this.PageIcon = (System.Drawing.Icon) (resources.GetObject("$this.PageIcon"));
|
||||
this.Size = new System.Drawing.Size(610, 489);
|
||||
this.pnlRdpReconnectionCount.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize) this.numRdpReconnectionCount).EndInit();
|
||||
this.pnlDefaultCredentials.ResumeLayout(false);
|
||||
this.pnlDefaultCredentials.PerformLayout();
|
||||
this.pnlAutoSave.ResumeLayout(false);
|
||||
this.pnlAutoSave.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize) this.numAutoSave).EndInit();
|
||||
this.pnlConfirmCloseConnection.ResumeLayout(false);
|
||||
this.pnlConfirmCloseConnection.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConnectionsPage));
|
||||
this.pnlRdpReconnectionCount = new System.Windows.Forms.Panel();
|
||||
this.numRDPConTimeout = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblRDPConTimeout = new System.Windows.Forms.Label();
|
||||
this.lblRdpReconnectionCount = new System.Windows.Forms.Label();
|
||||
this.numRdpReconnectionCount = new System.Windows.Forms.NumericUpDown();
|
||||
this.chkSingleClickOnConnectionOpensIt = new System.Windows.Forms.CheckBox();
|
||||
this.chkHostnameLikeDisplayName = new System.Windows.Forms.CheckBox();
|
||||
this.pnlDefaultCredentials = new System.Windows.Forms.Panel();
|
||||
this.radCredentialsCustom = new System.Windows.Forms.RadioButton();
|
||||
this.lblDefaultCredentials = new System.Windows.Forms.Label();
|
||||
this.radCredentialsNoInfo = new System.Windows.Forms.RadioButton();
|
||||
this.radCredentialsWindows = new System.Windows.Forms.RadioButton();
|
||||
this.txtCredentialsDomain = new System.Windows.Forms.TextBox();
|
||||
this.lblCredentialsUsername = new System.Windows.Forms.Label();
|
||||
this.txtCredentialsPassword = new System.Windows.Forms.TextBox();
|
||||
this.lblCredentialsPassword = new System.Windows.Forms.Label();
|
||||
this.txtCredentialsUsername = new System.Windows.Forms.TextBox();
|
||||
this.lblCredentialsDomain = new System.Windows.Forms.Label();
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt = new System.Windows.Forms.CheckBox();
|
||||
this.pnlAutoSave = new System.Windows.Forms.Panel();
|
||||
this.lblAutoSave1 = new System.Windows.Forms.Label();
|
||||
this.numAutoSave = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblAutoSave2 = new System.Windows.Forms.Label();
|
||||
this.pnlConfirmCloseConnection = new System.Windows.Forms.Panel();
|
||||
this.lblClosingConnections = new System.Windows.Forms.Label();
|
||||
this.radCloseWarnAll = new System.Windows.Forms.RadioButton();
|
||||
this.radCloseWarnMultiple = new System.Windows.Forms.RadioButton();
|
||||
this.radCloseWarnExit = new System.Windows.Forms.RadioButton();
|
||||
this.radCloseWarnNever = new System.Windows.Forms.RadioButton();
|
||||
this.pnlRdpReconnectionCount.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numRDPConTimeout)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numRdpReconnectionCount)).BeginInit();
|
||||
this.pnlDefaultCredentials.SuspendLayout();
|
||||
this.pnlAutoSave.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numAutoSave)).BeginInit();
|
||||
this.pnlConfirmCloseConnection.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// pnlRdpReconnectionCount
|
||||
//
|
||||
this.pnlRdpReconnectionCount.Controls.Add(this.numRDPConTimeout);
|
||||
this.pnlRdpReconnectionCount.Controls.Add(this.lblRDPConTimeout);
|
||||
this.pnlRdpReconnectionCount.Controls.Add(this.lblRdpReconnectionCount);
|
||||
this.pnlRdpReconnectionCount.Controls.Add(this.numRdpReconnectionCount);
|
||||
this.pnlRdpReconnectionCount.Location = new System.Drawing.Point(3, 69);
|
||||
this.pnlRdpReconnectionCount.Name = "pnlRdpReconnectionCount";
|
||||
this.pnlRdpReconnectionCount.Size = new System.Drawing.Size(596, 29);
|
||||
this.pnlRdpReconnectionCount.TabIndex = 10;
|
||||
//
|
||||
// numRDPConTimeout
|
||||
//
|
||||
this.numRDPConTimeout.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.numRDPConTimeout.Location = new System.Drawing.Point(369, 7);
|
||||
this.numRDPConTimeout.Maximum = new decimal(new int[] {
|
||||
600,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numRDPConTimeout.Minimum = new decimal(new int[] {
|
||||
20,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numRDPConTimeout.Name = "numRDPConTimeout";
|
||||
this.numRDPConTimeout.Size = new System.Drawing.Size(53, 20);
|
||||
this.numRDPConTimeout.TabIndex = 3;
|
||||
this.numRDPConTimeout.Value = new decimal(new int[] {
|
||||
20,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// lblRDPConTimeout
|
||||
//
|
||||
this.lblRDPConTimeout.Location = new System.Drawing.Point(226, 9);
|
||||
this.lblRDPConTimeout.Name = "lblRDPConTimeout";
|
||||
this.lblRDPConTimeout.Size = new System.Drawing.Size(137, 13);
|
||||
this.lblRDPConTimeout.TabIndex = 2;
|
||||
this.lblRDPConTimeout.Text = "RDP Connection Timeout";
|
||||
this.lblRDPConTimeout.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// lblRdpReconnectionCount
|
||||
//
|
||||
this.lblRdpReconnectionCount.Location = new System.Drawing.Point(3, 9);
|
||||
this.lblRdpReconnectionCount.Name = "lblRdpReconnectionCount";
|
||||
this.lblRdpReconnectionCount.Size = new System.Drawing.Size(139, 13);
|
||||
this.lblRdpReconnectionCount.TabIndex = 0;
|
||||
this.lblRdpReconnectionCount.Text = "RDP Reconnection Count";
|
||||
this.lblRdpReconnectionCount.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// numRdpReconnectionCount
|
||||
//
|
||||
this.numRdpReconnectionCount.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.numRdpReconnectionCount.Location = new System.Drawing.Point(145, 6);
|
||||
this.numRdpReconnectionCount.Maximum = new decimal(new int[] {
|
||||
20,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numRdpReconnectionCount.Name = "numRdpReconnectionCount";
|
||||
this.numRdpReconnectionCount.Size = new System.Drawing.Size(53, 20);
|
||||
this.numRdpReconnectionCount.TabIndex = 1;
|
||||
this.numRdpReconnectionCount.Value = new decimal(new int[] {
|
||||
5,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// chkSingleClickOnConnectionOpensIt
|
||||
//
|
||||
this.chkSingleClickOnConnectionOpensIt.AutoSize = true;
|
||||
this.chkSingleClickOnConnectionOpensIt.Location = new System.Drawing.Point(3, 0);
|
||||
this.chkSingleClickOnConnectionOpensIt.Name = "chkSingleClickOnConnectionOpensIt";
|
||||
this.chkSingleClickOnConnectionOpensIt.Size = new System.Drawing.Size(191, 17);
|
||||
this.chkSingleClickOnConnectionOpensIt.TabIndex = 7;
|
||||
this.chkSingleClickOnConnectionOpensIt.Text = "Single click on connection opens it";
|
||||
this.chkSingleClickOnConnectionOpensIt.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkHostnameLikeDisplayName
|
||||
//
|
||||
this.chkHostnameLikeDisplayName.AutoSize = true;
|
||||
this.chkHostnameLikeDisplayName.Location = new System.Drawing.Point(3, 46);
|
||||
this.chkHostnameLikeDisplayName.Name = "chkHostnameLikeDisplayName";
|
||||
this.chkHostnameLikeDisplayName.Size = new System.Drawing.Size(328, 17);
|
||||
this.chkHostnameLikeDisplayName.TabIndex = 9;
|
||||
this.chkHostnameLikeDisplayName.Text = "Set hostname like display name when creating new connections";
|
||||
this.chkHostnameLikeDisplayName.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// pnlDefaultCredentials
|
||||
//
|
||||
this.pnlDefaultCredentials.Controls.Add(this.radCredentialsCustom);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.lblDefaultCredentials);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.radCredentialsNoInfo);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.radCredentialsWindows);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.txtCredentialsDomain);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.lblCredentialsUsername);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.txtCredentialsPassword);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.lblCredentialsPassword);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.txtCredentialsUsername);
|
||||
this.pnlDefaultCredentials.Controls.Add(this.lblCredentialsDomain);
|
||||
this.pnlDefaultCredentials.Location = new System.Drawing.Point(3, 139);
|
||||
this.pnlDefaultCredentials.Name = "pnlDefaultCredentials";
|
||||
this.pnlDefaultCredentials.Size = new System.Drawing.Size(596, 175);
|
||||
this.pnlDefaultCredentials.TabIndex = 12;
|
||||
//
|
||||
// radCredentialsCustom
|
||||
//
|
||||
this.radCredentialsCustom.AutoSize = true;
|
||||
this.radCredentialsCustom.Location = new System.Drawing.Point(16, 69);
|
||||
this.radCredentialsCustom.Name = "radCredentialsCustom";
|
||||
this.radCredentialsCustom.Size = new System.Drawing.Size(87, 17);
|
||||
this.radCredentialsCustom.TabIndex = 3;
|
||||
this.radCredentialsCustom.Text = "the following:";
|
||||
this.radCredentialsCustom.UseVisualStyleBackColor = true;
|
||||
this.radCredentialsCustom.CheckedChanged += new System.EventHandler(this.radCredentialsCustom_CheckedChanged);
|
||||
//
|
||||
// lblDefaultCredentials
|
||||
//
|
||||
this.lblDefaultCredentials.AutoSize = true;
|
||||
this.lblDefaultCredentials.Location = new System.Drawing.Point(3, 9);
|
||||
this.lblDefaultCredentials.Name = "lblDefaultCredentials";
|
||||
this.lblDefaultCredentials.Size = new System.Drawing.Size(257, 13);
|
||||
this.lblDefaultCredentials.TabIndex = 0;
|
||||
this.lblDefaultCredentials.Text = "For empty Username, Password or Domain fields use:";
|
||||
//
|
||||
// radCredentialsNoInfo
|
||||
//
|
||||
this.radCredentialsNoInfo.AutoSize = true;
|
||||
this.radCredentialsNoInfo.Checked = true;
|
||||
this.radCredentialsNoInfo.Location = new System.Drawing.Point(16, 31);
|
||||
this.radCredentialsNoInfo.Name = "radCredentialsNoInfo";
|
||||
this.radCredentialsNoInfo.Size = new System.Drawing.Size(91, 17);
|
||||
this.radCredentialsNoInfo.TabIndex = 1;
|
||||
this.radCredentialsNoInfo.TabStop = true;
|
||||
this.radCredentialsNoInfo.Text = "no information";
|
||||
this.radCredentialsNoInfo.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radCredentialsWindows
|
||||
//
|
||||
this.radCredentialsWindows.AutoSize = true;
|
||||
this.radCredentialsWindows.Location = new System.Drawing.Point(16, 50);
|
||||
this.radCredentialsWindows.Name = "radCredentialsWindows";
|
||||
this.radCredentialsWindows.Size = new System.Drawing.Size(227, 17);
|
||||
this.radCredentialsWindows.TabIndex = 2;
|
||||
this.radCredentialsWindows.Text = "my current credentials (windows logon info)";
|
||||
this.radCredentialsWindows.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// txtCredentialsDomain
|
||||
//
|
||||
this.txtCredentialsDomain.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.txtCredentialsDomain.Enabled = false;
|
||||
this.txtCredentialsDomain.Location = new System.Drawing.Point(140, 147);
|
||||
this.txtCredentialsDomain.Name = "txtCredentialsDomain";
|
||||
this.txtCredentialsDomain.Size = new System.Drawing.Size(150, 20);
|
||||
this.txtCredentialsDomain.TabIndex = 9;
|
||||
//
|
||||
// lblCredentialsUsername
|
||||
//
|
||||
this.lblCredentialsUsername.Enabled = false;
|
||||
this.lblCredentialsUsername.Location = new System.Drawing.Point(37, 95);
|
||||
this.lblCredentialsUsername.Name = "lblCredentialsUsername";
|
||||
this.lblCredentialsUsername.Size = new System.Drawing.Size(97, 13);
|
||||
this.lblCredentialsUsername.TabIndex = 4;
|
||||
this.lblCredentialsUsername.Text = "Username:";
|
||||
this.lblCredentialsUsername.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// txtCredentialsPassword
|
||||
//
|
||||
this.txtCredentialsPassword.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.txtCredentialsPassword.Enabled = false;
|
||||
this.txtCredentialsPassword.Location = new System.Drawing.Point(140, 120);
|
||||
this.txtCredentialsPassword.Name = "txtCredentialsPassword";
|
||||
this.txtCredentialsPassword.Size = new System.Drawing.Size(150, 20);
|
||||
this.txtCredentialsPassword.TabIndex = 7;
|
||||
this.txtCredentialsPassword.UseSystemPasswordChar = true;
|
||||
//
|
||||
// lblCredentialsPassword
|
||||
//
|
||||
this.lblCredentialsPassword.Enabled = false;
|
||||
this.lblCredentialsPassword.Location = new System.Drawing.Point(34, 123);
|
||||
this.lblCredentialsPassword.Name = "lblCredentialsPassword";
|
||||
this.lblCredentialsPassword.Size = new System.Drawing.Size(100, 13);
|
||||
this.lblCredentialsPassword.TabIndex = 6;
|
||||
this.lblCredentialsPassword.Text = "Password:";
|
||||
this.lblCredentialsPassword.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// txtCredentialsUsername
|
||||
//
|
||||
this.txtCredentialsUsername.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.txtCredentialsUsername.Enabled = false;
|
||||
this.txtCredentialsUsername.Location = new System.Drawing.Point(140, 93);
|
||||
this.txtCredentialsUsername.Name = "txtCredentialsUsername";
|
||||
this.txtCredentialsUsername.Size = new System.Drawing.Size(150, 20);
|
||||
this.txtCredentialsUsername.TabIndex = 5;
|
||||
//
|
||||
// lblCredentialsDomain
|
||||
//
|
||||
this.lblCredentialsDomain.Enabled = false;
|
||||
this.lblCredentialsDomain.Location = new System.Drawing.Point(34, 150);
|
||||
this.lblCredentialsDomain.Name = "lblCredentialsDomain";
|
||||
this.lblCredentialsDomain.Size = new System.Drawing.Size(100, 13);
|
||||
this.lblCredentialsDomain.TabIndex = 8;
|
||||
this.lblCredentialsDomain.Text = "Domain:";
|
||||
this.lblCredentialsDomain.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// chkSingleClickOnOpenedConnectionSwitchesToIt
|
||||
//
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.AutoSize = true;
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.Location = new System.Drawing.Point(3, 23);
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.Name = "chkSingleClickOnOpenedConnectionSwitchesToIt";
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.Size = new System.Drawing.Size(457, 17);
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.TabIndex = 8;
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.Text = global::mRemoteNG.Language.strSingleClickOnOpenConnectionSwitchesToIt;
|
||||
this.chkSingleClickOnOpenedConnectionSwitchesToIt.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// pnlAutoSave
|
||||
//
|
||||
this.pnlAutoSave.Controls.Add(this.lblAutoSave1);
|
||||
this.pnlAutoSave.Controls.Add(this.numAutoSave);
|
||||
this.pnlAutoSave.Controls.Add(this.lblAutoSave2);
|
||||
this.pnlAutoSave.Location = new System.Drawing.Point(3, 104);
|
||||
this.pnlAutoSave.Name = "pnlAutoSave";
|
||||
this.pnlAutoSave.Size = new System.Drawing.Size(596, 29);
|
||||
this.pnlAutoSave.TabIndex = 11;
|
||||
//
|
||||
// lblAutoSave1
|
||||
//
|
||||
this.lblAutoSave1.Location = new System.Drawing.Point(6, 9);
|
||||
this.lblAutoSave1.Name = "lblAutoSave1";
|
||||
this.lblAutoSave1.Size = new System.Drawing.Size(288, 13);
|
||||
this.lblAutoSave1.TabIndex = 0;
|
||||
this.lblAutoSave1.Text = "Auto Save every:";
|
||||
this.lblAutoSave1.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// numAutoSave
|
||||
//
|
||||
this.numAutoSave.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.numAutoSave.Location = new System.Drawing.Point(300, 7);
|
||||
this.numAutoSave.Maximum = new decimal(new int[] {
|
||||
9999,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numAutoSave.Name = "numAutoSave";
|
||||
this.numAutoSave.Size = new System.Drawing.Size(53, 20);
|
||||
this.numAutoSave.TabIndex = 1;
|
||||
//
|
||||
// lblAutoSave2
|
||||
//
|
||||
this.lblAutoSave2.AutoSize = true;
|
||||
this.lblAutoSave2.Location = new System.Drawing.Point(359, 9);
|
||||
this.lblAutoSave2.Name = "lblAutoSave2";
|
||||
this.lblAutoSave2.Size = new System.Drawing.Size(135, 13);
|
||||
this.lblAutoSave2.TabIndex = 2;
|
||||
this.lblAutoSave2.Text = "Minutes (0 means disabled)";
|
||||
//
|
||||
// pnlConfirmCloseConnection
|
||||
//
|
||||
this.pnlConfirmCloseConnection.Controls.Add(this.lblClosingConnections);
|
||||
this.pnlConfirmCloseConnection.Controls.Add(this.radCloseWarnAll);
|
||||
this.pnlConfirmCloseConnection.Controls.Add(this.radCloseWarnMultiple);
|
||||
this.pnlConfirmCloseConnection.Controls.Add(this.radCloseWarnExit);
|
||||
this.pnlConfirmCloseConnection.Controls.Add(this.radCloseWarnNever);
|
||||
this.pnlConfirmCloseConnection.Location = new System.Drawing.Point(3, 320);
|
||||
this.pnlConfirmCloseConnection.Name = "pnlConfirmCloseConnection";
|
||||
this.pnlConfirmCloseConnection.Size = new System.Drawing.Size(596, 137);
|
||||
this.pnlConfirmCloseConnection.TabIndex = 13;
|
||||
//
|
||||
// lblClosingConnections
|
||||
//
|
||||
this.lblClosingConnections.AutoSize = true;
|
||||
this.lblClosingConnections.Location = new System.Drawing.Point(3, 9);
|
||||
this.lblClosingConnections.Name = "lblClosingConnections";
|
||||
this.lblClosingConnections.Size = new System.Drawing.Size(136, 13);
|
||||
this.lblClosingConnections.TabIndex = 0;
|
||||
this.lblClosingConnections.Text = "When closing connections:";
|
||||
//
|
||||
// radCloseWarnAll
|
||||
//
|
||||
this.radCloseWarnAll.AutoSize = true;
|
||||
this.radCloseWarnAll.Location = new System.Drawing.Point(16, 31);
|
||||
this.radCloseWarnAll.Name = "radCloseWarnAll";
|
||||
this.radCloseWarnAll.Size = new System.Drawing.Size(194, 17);
|
||||
this.radCloseWarnAll.TabIndex = 1;
|
||||
this.radCloseWarnAll.TabStop = true;
|
||||
this.radCloseWarnAll.Text = "Warn me when closing connections";
|
||||
this.radCloseWarnAll.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radCloseWarnMultiple
|
||||
//
|
||||
this.radCloseWarnMultiple.AutoSize = true;
|
||||
this.radCloseWarnMultiple.Location = new System.Drawing.Point(16, 54);
|
||||
this.radCloseWarnMultiple.Name = "radCloseWarnMultiple";
|
||||
this.radCloseWarnMultiple.Size = new System.Drawing.Size(254, 17);
|
||||
this.radCloseWarnMultiple.TabIndex = 2;
|
||||
this.radCloseWarnMultiple.TabStop = true;
|
||||
this.radCloseWarnMultiple.Text = "Warn me only when closing multiple connections";
|
||||
this.radCloseWarnMultiple.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radCloseWarnExit
|
||||
//
|
||||
this.radCloseWarnExit.AutoSize = true;
|
||||
this.radCloseWarnExit.Location = new System.Drawing.Point(16, 77);
|
||||
this.radCloseWarnExit.Name = "radCloseWarnExit";
|
||||
this.radCloseWarnExit.Size = new System.Drawing.Size(216, 17);
|
||||
this.radCloseWarnExit.TabIndex = 3;
|
||||
this.radCloseWarnExit.TabStop = true;
|
||||
this.radCloseWarnExit.Text = "Warn me only when exiting mRemoteNG";
|
||||
this.radCloseWarnExit.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radCloseWarnNever
|
||||
//
|
||||
this.radCloseWarnNever.AutoSize = true;
|
||||
this.radCloseWarnNever.Location = new System.Drawing.Point(16, 100);
|
||||
this.radCloseWarnNever.Name = "radCloseWarnNever";
|
||||
this.radCloseWarnNever.Size = new System.Drawing.Size(226, 17);
|
||||
this.radCloseWarnNever.TabIndex = 4;
|
||||
this.radCloseWarnNever.TabStop = true;
|
||||
this.radCloseWarnNever.Text = "Do not warn me when closing connections";
|
||||
this.radCloseWarnNever.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// ConnectionsPage
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.pnlRdpReconnectionCount);
|
||||
this.Controls.Add(this.chkSingleClickOnConnectionOpensIt);
|
||||
this.Controls.Add(this.chkHostnameLikeDisplayName);
|
||||
this.Controls.Add(this.pnlDefaultCredentials);
|
||||
this.Controls.Add(this.chkSingleClickOnOpenedConnectionSwitchesToIt);
|
||||
this.Controls.Add(this.pnlAutoSave);
|
||||
this.Controls.Add(this.pnlConfirmCloseConnection);
|
||||
this.Name = "ConnectionsPage";
|
||||
this.PageIcon = ((System.Drawing.Icon)(resources.GetObject("$this.PageIcon")));
|
||||
this.Size = new System.Drawing.Size(610, 489);
|
||||
this.pnlRdpReconnectionCount.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.numRDPConTimeout)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numRdpReconnectionCount)).EndInit();
|
||||
this.pnlDefaultCredentials.ResumeLayout(false);
|
||||
this.pnlDefaultCredentials.PerformLayout();
|
||||
this.pnlAutoSave.ResumeLayout(false);
|
||||
this.pnlAutoSave.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numAutoSave)).EndInit();
|
||||
this.pnlConfirmCloseConnection.ResumeLayout(false);
|
||||
this.pnlConfirmCloseConnection.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
internal System.Windows.Forms.Panel pnlRdpReconnectionCount;
|
||||
internal System.Windows.Forms.Label lblRdpReconnectionCount;
|
||||
internal System.Windows.Forms.NumericUpDown numRdpReconnectionCount;
|
||||
internal System.Windows.Forms.CheckBox chkSingleClickOnConnectionOpensIt;
|
||||
internal System.Windows.Forms.CheckBox chkHostnameLikeDisplayName;
|
||||
internal System.Windows.Forms.Panel pnlDefaultCredentials;
|
||||
@@ -397,6 +446,8 @@ namespace mRemoteNG.UI.Forms.OptionsPages
|
||||
internal System.Windows.Forms.RadioButton radCloseWarnMultiple;
|
||||
internal System.Windows.Forms.RadioButton radCloseWarnExit;
|
||||
internal System.Windows.Forms.RadioButton radCloseWarnNever;
|
||||
|
||||
}
|
||||
internal System.Windows.Forms.NumericUpDown numRDPConTimeout;
|
||||
internal System.Windows.Forms.Label lblRDPConTimeout;
|
||||
internal System.Windows.Forms.NumericUpDown numRdpReconnectionCount;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
using System;
|
||||
using mRemoteNG.App.Info;
|
||||
using mRemoteNG.Config;
|
||||
using mRemoteNG.My;
|
||||
using mRemoteNG.Security;
|
||||
using mRemoteNG.Security.SymmetricEncryption;
|
||||
|
||||
namespace mRemoteNG.UI.Forms.OptionsPages
|
||||
@@ -30,6 +28,8 @@ namespace mRemoteNG.UI.Forms.OptionsPages
|
||||
|
||||
lblRdpReconnectionCount.Text = Language.strRdpReconnectCount;
|
||||
|
||||
lblRDPConTimeout.Text = Language.strRDPOverallConnectionTimeout;
|
||||
|
||||
lblAutoSave1.Text = Language.strAutoSaveEvery;
|
||||
lblAutoSave2.Text = Language.strAutoSaveMins;
|
||||
|
||||
@@ -60,6 +60,8 @@ namespace mRemoteNG.UI.Forms.OptionsPages
|
||||
|
||||
numRdpReconnectionCount.Value = Convert.ToDecimal(mRemoteNG.Settings.Default.RdpReconnectionCount);
|
||||
|
||||
numRDPConTimeout.Value = Convert.ToDecimal(mRemoteNG.Settings.Default.ConRDPOverallConnectionTimeout);
|
||||
|
||||
numAutoSave.Value = Convert.ToDecimal(mRemoteNG.Settings.Default.AutoSaveEveryMinutes);
|
||||
|
||||
// ReSharper disable once StringLiteralTypo
|
||||
@@ -107,6 +109,8 @@ namespace mRemoteNG.UI.Forms.OptionsPages
|
||||
|
||||
mRemoteNG.Settings.Default.RdpReconnectionCount = (int) numRdpReconnectionCount.Value;
|
||||
|
||||
mRemoteNG.Settings.Default.ConRDPOverallConnectionTimeout = (int) numRDPConTimeout.Value;
|
||||
|
||||
mRemoteNG.Settings.Default.AutoSaveEveryMinutes = (int) numAutoSave.Value;
|
||||
if (mRemoteNG.Settings.Default.AutoSaveEveryMinutes > 0)
|
||||
{
|
||||
|
||||
@@ -112,12 +112,12 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.PageIcon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAA
|
||||
|
||||
@@ -11,7 +11,9 @@ using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using mRemoteNG.Connection.Protocol;
|
||||
using mRemoteNG.Security;
|
||||
using mRemoteNG.UI.Controls.FilteredPropertyGrid;
|
||||
using WeifenLuo.WinFormsUI.Docking;
|
||||
@@ -117,7 +119,7 @@ namespace mRemoteNG.UI.Window
|
||||
btnShowInheritance.ImageTransparentColor = Color.Magenta;
|
||||
btnShowInheritance.Name = "btnShowInheritance";
|
||||
btnShowInheritance.Size = new Size(23, 22);
|
||||
btnShowInheritance.Text = @"Inheritance";
|
||||
btnShowInheritance.Text = @"IInheritable";
|
||||
//
|
||||
//btnShowDefaultInheritance
|
||||
//
|
||||
@@ -126,7 +128,7 @@ namespace mRemoteNG.UI.Window
|
||||
btnShowDefaultInheritance.ImageTransparentColor = Color.Magenta;
|
||||
btnShowDefaultInheritance.Name = "btnShowDefaultInheritance";
|
||||
btnShowDefaultInheritance.Size = new Size(23, 22);
|
||||
btnShowDefaultInheritance.Text = @"Default Inheritance";
|
||||
btnShowDefaultInheritance.Text = @"Default IInheritable";
|
||||
//
|
||||
//btnShowProperties
|
||||
//
|
||||
@@ -180,7 +182,7 @@ namespace mRemoteNG.UI.Window
|
||||
Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point, Convert.ToByte(0));
|
||||
HideOnClose = true;
|
||||
Icon = Resources.Config_Icon;
|
||||
Name = $"Config";
|
||||
Name = "Config";
|
||||
TabText = @"Config";
|
||||
Text = @"Config";
|
||||
propertyGridContextMenu.ResumeLayout(false);
|
||||
@@ -480,7 +482,7 @@ namespace mRemoteNG.UI.Window
|
||||
PropertiesVisible = true;
|
||||
}
|
||||
}
|
||||
else if (InheritanceVisible) //Inheritance selected
|
||||
else if (InheritanceVisible) //IInheritable selected
|
||||
{
|
||||
pGrid.SelectedObject = ((ConnectionInfo)Obj).Inheritance;
|
||||
|
||||
@@ -790,13 +792,8 @@ namespace mRemoteNG.UI.Window
|
||||
|
||||
private void UpdateInheritanceNode()
|
||||
{
|
||||
if (pGrid.SelectedObject is ConnectionInfoInheritance)
|
||||
{
|
||||
if (((ConnectionInfoInheritance)pGrid.SelectedObject).IsDefault)
|
||||
{
|
||||
Runtime.DefaultInheritanceToSettings();
|
||||
}
|
||||
}
|
||||
if (!(pGrid.SelectedObject is DefaultConnectionInheritance)) return;
|
||||
DefaultConnectionInheritance.Instance.SaveTo<Settings>(Settings.Default, (a)=>"InhDefault"+a);
|
||||
}
|
||||
|
||||
private void pGrid_PropertySortChanged(object sender, EventArgs e)
|
||||
@@ -817,9 +814,9 @@ namespace mRemoteNG.UI.Window
|
||||
|
||||
switch (conI.Protocol)
|
||||
{
|
||||
case Connection.Protocol.ProtocolType.RDP:
|
||||
case ProtocolType.RDP:
|
||||
strHide.Add("ExtApp");
|
||||
strHide.Add("ICAEncryption");
|
||||
strHide.Add("ICAEncryptionStrength");
|
||||
strHide.Add("PuttySession");
|
||||
strHide.Add("RenderingEngine");
|
||||
strHide.Add("VNCAuthMode");
|
||||
@@ -852,7 +849,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("AutomaticResize");
|
||||
}
|
||||
break;
|
||||
case Connection.Protocol.ProtocolType.VNC:
|
||||
case ProtocolType.VNC:
|
||||
strHide.Add("CacheBitmaps");
|
||||
strHide.Add("Colors");
|
||||
strHide.Add("DisplayThemes");
|
||||
@@ -860,7 +857,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("EnableFontSmoothing");
|
||||
strHide.Add("EnableDesktopComposition");
|
||||
strHide.Add("ExtApp");
|
||||
strHide.Add("ICAEncryption");
|
||||
strHide.Add("ICAEncryptionStrength");
|
||||
strHide.Add("PuttySession");
|
||||
strHide.Add("RDGatewayDomain");
|
||||
strHide.Add("RDGatewayHostname");
|
||||
@@ -894,7 +891,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("VNCProxyUsername");
|
||||
}
|
||||
break;
|
||||
case Connection.Protocol.ProtocolType.SSH1:
|
||||
case ProtocolType.SSH1:
|
||||
strHide.Add("CacheBitmaps");
|
||||
strHide.Add("Colors");
|
||||
strHide.Add("DisplayThemes");
|
||||
@@ -903,7 +900,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("EnableDesktopComposition");
|
||||
strHide.Add("Domain");
|
||||
strHide.Add("ExtApp");
|
||||
strHide.Add("ICAEncryption");
|
||||
strHide.Add("ICAEncryptionStrength");
|
||||
strHide.Add("RDGatewayDomain");
|
||||
strHide.Add("RDGatewayHostname");
|
||||
strHide.Add("RDGatewayPassword");
|
||||
@@ -935,7 +932,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("VNCSmartSizeMode");
|
||||
strHide.Add("VNCViewOnly");
|
||||
break;
|
||||
case Connection.Protocol.ProtocolType.SSH2:
|
||||
case ProtocolType.SSH2:
|
||||
strHide.Add("CacheBitmaps");
|
||||
strHide.Add("Colors");
|
||||
strHide.Add("DisplayThemes");
|
||||
@@ -944,7 +941,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("EnableDesktopComposition");
|
||||
strHide.Add("Domain");
|
||||
strHide.Add("ExtApp");
|
||||
strHide.Add("ICAEncryption");
|
||||
strHide.Add("ICAEncryptionStrength");
|
||||
strHide.Add("RDGatewayDomain");
|
||||
strHide.Add("RDGatewayHostname");
|
||||
strHide.Add("RDGatewayPassword");
|
||||
@@ -976,7 +973,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("VNCSmartSizeMode");
|
||||
strHide.Add("VNCViewOnly");
|
||||
break;
|
||||
case Connection.Protocol.ProtocolType.Telnet:
|
||||
case ProtocolType.Telnet:
|
||||
strHide.Add("CacheBitmaps");
|
||||
strHide.Add("Colors");
|
||||
strHide.Add("DisplayThemes");
|
||||
@@ -985,7 +982,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("EnableDesktopComposition");
|
||||
strHide.Add("Domain");
|
||||
strHide.Add("ExtApp");
|
||||
strHide.Add("ICAEncryption");
|
||||
strHide.Add("ICAEncryptionStrength");
|
||||
strHide.Add("Password");
|
||||
strHide.Add("RDGatewayDomain");
|
||||
strHide.Add("RDGatewayHostname");
|
||||
@@ -1019,7 +1016,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("VNCSmartSizeMode");
|
||||
strHide.Add("VNCViewOnly");
|
||||
break;
|
||||
case Connection.Protocol.ProtocolType.Rlogin:
|
||||
case ProtocolType.Rlogin:
|
||||
strHide.Add("CacheBitmaps");
|
||||
strHide.Add("Colors");
|
||||
strHide.Add("DisplayThemes");
|
||||
@@ -1028,7 +1025,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("EnableDesktopComposition");
|
||||
strHide.Add("Domain");
|
||||
strHide.Add("ExtApp");
|
||||
strHide.Add("ICAEncryption");
|
||||
strHide.Add("ICAEncryptionStrength");
|
||||
strHide.Add("Password");
|
||||
strHide.Add("RDGatewayDomain");
|
||||
strHide.Add("RDGatewayHostname");
|
||||
@@ -1062,7 +1059,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("VNCSmartSizeMode");
|
||||
strHide.Add("VNCViewOnly");
|
||||
break;
|
||||
case Connection.Protocol.ProtocolType.RAW:
|
||||
case ProtocolType.RAW:
|
||||
strHide.Add("CacheBitmaps");
|
||||
strHide.Add("Colors");
|
||||
strHide.Add("DisplayThemes");
|
||||
@@ -1071,7 +1068,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("EnableDesktopComposition");
|
||||
strHide.Add("Domain");
|
||||
strHide.Add("ExtApp");
|
||||
strHide.Add("ICAEncryption");
|
||||
strHide.Add("ICAEncryptionStrength");
|
||||
strHide.Add("Password");
|
||||
strHide.Add("RDGatewayDomain");
|
||||
strHide.Add("RDGatewayHostname");
|
||||
@@ -1105,7 +1102,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("VNCSmartSizeMode");
|
||||
strHide.Add("VNCViewOnly");
|
||||
break;
|
||||
case Connection.Protocol.ProtocolType.HTTP:
|
||||
case ProtocolType.HTTP:
|
||||
strHide.Add("CacheBitmaps");
|
||||
strHide.Add("Colors");
|
||||
strHide.Add("DisplayThemes");
|
||||
@@ -1114,7 +1111,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("EnableDesktopComposition");
|
||||
strHide.Add("Domain");
|
||||
strHide.Add("ExtApp");
|
||||
strHide.Add("ICAEncryption");
|
||||
strHide.Add("ICAEncryptionStrength");
|
||||
strHide.Add("PuttySession");
|
||||
strHide.Add("RDGatewayDomain");
|
||||
strHide.Add("RDGatewayHostname");
|
||||
@@ -1146,7 +1143,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("VNCSmartSizeMode");
|
||||
strHide.Add("VNCViewOnly");
|
||||
break;
|
||||
case Connection.Protocol.ProtocolType.HTTPS:
|
||||
case ProtocolType.HTTPS:
|
||||
strHide.Add("CacheBitmaps");
|
||||
strHide.Add("Colors");
|
||||
strHide.Add("DisplayThemes");
|
||||
@@ -1155,7 +1152,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("EnableDesktopComposition");
|
||||
strHide.Add("Domain");
|
||||
strHide.Add("ExtApp");
|
||||
strHide.Add("ICAEncryption");
|
||||
strHide.Add("ICAEncryptionStrength");
|
||||
strHide.Add("PuttySession");
|
||||
strHide.Add("RDGatewayDomain");
|
||||
strHide.Add("RDGatewayHostname");
|
||||
@@ -1186,7 +1183,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("VNCSmartSizeMode");
|
||||
strHide.Add("VNCViewOnly");
|
||||
break;
|
||||
case Connection.Protocol.ProtocolType.ICA:
|
||||
case ProtocolType.ICA:
|
||||
strHide.Add("DisplayThemes");
|
||||
strHide.Add("DisplayWallpaper");
|
||||
strHide.Add("EnableFontSmoothing");
|
||||
@@ -1224,7 +1221,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("VNCSmartSizeMode");
|
||||
strHide.Add("VNCViewOnly");
|
||||
break;
|
||||
case Connection.Protocol.ProtocolType.IntApp:
|
||||
case ProtocolType.IntApp:
|
||||
strHide.Add("CacheBitmaps");
|
||||
strHide.Add("Colors");
|
||||
strHide.Add("DisplayThemes");
|
||||
@@ -1232,7 +1229,7 @@ namespace mRemoteNG.UI.Window
|
||||
strHide.Add("EnableFontSmoothing");
|
||||
strHide.Add("EnableDesktopComposition");
|
||||
strHide.Add("Domain");
|
||||
strHide.Add("ICAEncryption");
|
||||
strHide.Add("ICAEncryptionStrength");
|
||||
strHide.Add("PuttySession");
|
||||
strHide.Add("RDGatewayDomain");
|
||||
strHide.Add("RDGatewayHostname");
|
||||
@@ -1270,270 +1267,112 @@ namespace mRemoteNG.UI.Window
|
||||
if (conI.IsDefault == false)
|
||||
{
|
||||
if (conI.Inheritance.CacheBitmaps)
|
||||
{
|
||||
strHide.Add("CacheBitmaps");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.Colors)
|
||||
{
|
||||
strHide.Add("Colors");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.Description)
|
||||
{
|
||||
strHide.Add("Description");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.DisplayThemes)
|
||||
{
|
||||
strHide.Add("DisplayThemes");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.DisplayWallpaper)
|
||||
{
|
||||
strHide.Add("DisplayWallpaper");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.EnableFontSmoothing)
|
||||
{
|
||||
strHide.Add("EnableFontSmoothing");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.EnableDesktopComposition)
|
||||
{
|
||||
strHide.Add("EnableDesktopComposition");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.Domain)
|
||||
{
|
||||
strHide.Add("Domain");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.Icon)
|
||||
{
|
||||
strHide.Add("Icon");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.Password)
|
||||
{
|
||||
strHide.Add("Password");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.Port)
|
||||
{
|
||||
strHide.Add("Port");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.Protocol)
|
||||
{
|
||||
strHide.Add("Protocol");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.PuttySession)
|
||||
{
|
||||
strHide.Add("PuttySession");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RedirectDiskDrives)
|
||||
{
|
||||
strHide.Add("RedirectDiskDrives");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RedirectKeys)
|
||||
{
|
||||
strHide.Add("RedirectKeys");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RedirectPorts)
|
||||
{
|
||||
strHide.Add("RedirectPorts");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RedirectPrinters)
|
||||
{
|
||||
strHide.Add("RedirectPrinters");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RedirectSmartCards)
|
||||
{
|
||||
strHide.Add("RedirectSmartCards");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RedirectSound)
|
||||
{
|
||||
strHide.Add("RedirectSound");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.Resolution)
|
||||
{
|
||||
strHide.Add("Resolution");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.AutomaticResize)
|
||||
{
|
||||
strHide.Add("AutomaticResize");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.UseConsoleSession)
|
||||
{
|
||||
strHide.Add("UseConsoleSession");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.UseCredSsp)
|
||||
{
|
||||
strHide.Add("UseCredSsp");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RenderingEngine)
|
||||
{
|
||||
strHide.Add("RenderingEngine");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.ICAEncryption)
|
||||
{
|
||||
strHide.Add("ICAEncryption");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RDPAuthenticationLevel)
|
||||
{
|
||||
strHide.Add("RDPAuthenticationLevel");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.LoadBalanceInfo)
|
||||
{
|
||||
strHide.Add("LoadBalanceInfo");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.Username)
|
||||
{
|
||||
strHide.Add("Username");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.Panel)
|
||||
{
|
||||
strHide.Add("Panel");
|
||||
}
|
||||
|
||||
if (conI.IsContainer)
|
||||
{
|
||||
strHide.Add("Hostname");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.PreExtApp)
|
||||
{
|
||||
strHide.Add("PreExtApp");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.PostExtApp)
|
||||
{
|
||||
strHide.Add("PostExtApp");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.MacAddress)
|
||||
{
|
||||
strHide.Add("MacAddress");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.UserField)
|
||||
{
|
||||
strHide.Add("UserField");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.VNCAuthMode)
|
||||
{
|
||||
strHide.Add("VNCAuthMode");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.VNCColors)
|
||||
{
|
||||
strHide.Add("VNCColors");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.VNCCompression)
|
||||
{
|
||||
strHide.Add("VNCCompression");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.VNCEncoding)
|
||||
{
|
||||
strHide.Add("VNCEncoding");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.VNCProxyIP)
|
||||
{
|
||||
strHide.Add("VNCProxyIP");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.VNCProxyPassword)
|
||||
{
|
||||
strHide.Add("VNCProxyPassword");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.VNCProxyPort)
|
||||
{
|
||||
strHide.Add("VNCProxyPort");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.VNCProxyType)
|
||||
{
|
||||
strHide.Add("VNCProxyType");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.VNCProxyUsername)
|
||||
{
|
||||
strHide.Add("VNCProxyUsername");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.VNCViewOnly)
|
||||
{
|
||||
strHide.Add("VNCViewOnly");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.VNCSmartSizeMode)
|
||||
{
|
||||
strHide.Add("VNCSmartSizeMode");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.ExtApp)
|
||||
{
|
||||
strHide.Add("ExtApp");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RDGatewayUsageMethod)
|
||||
{
|
||||
strHide.Add("RDGatewayUsageMethod");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RDGatewayHostname)
|
||||
{
|
||||
strHide.Add("RDGatewayHostname");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RDGatewayUsername)
|
||||
{
|
||||
strHide.Add("RDGatewayUsername");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RDGatewayPassword)
|
||||
{
|
||||
strHide.Add("RDGatewayPassword");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RDGatewayDomain)
|
||||
{
|
||||
strHide.Add("RDGatewayDomain");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RDGatewayUseConnectionCredentials)
|
||||
{
|
||||
strHide.Add("RDGatewayUseConnectionCredentials");
|
||||
}
|
||||
|
||||
if (conI.Inheritance.RDGatewayHostname)
|
||||
{
|
||||
strHide.Add("RDGatewayHostname");
|
||||
}
|
||||
}
|
||||
strHide.Add("RedirectDiskDrives");
|
||||
if (conI.Inheritance.RedirectKeys)
|
||||
strHide.Add("RedirectKeys");
|
||||
if (conI.Inheritance.RedirectPorts)
|
||||
strHide.Add("RedirectPorts");
|
||||
if (conI.Inheritance.RedirectPrinters)
|
||||
strHide.Add("RedirectPrinters");
|
||||
if (conI.Inheritance.RedirectSmartCards)
|
||||
strHide.Add("RedirectSmartCards");
|
||||
if (conI.Inheritance.RedirectSound)
|
||||
strHide.Add("RedirectSound");
|
||||
if (conI.Inheritance.Resolution)
|
||||
strHide.Add("Resolution");
|
||||
if (conI.Inheritance.AutomaticResize)
|
||||
strHide.Add("AutomaticResize");
|
||||
if (conI.Inheritance.UseConsoleSession)
|
||||
strHide.Add("UseConsoleSession");
|
||||
if (conI.Inheritance.UseCredSsp)
|
||||
strHide.Add("UseCredSsp");
|
||||
if (conI.Inheritance.RenderingEngine)
|
||||
strHide.Add("RenderingEngine");
|
||||
if (conI.Inheritance.ICAEncryptionStrength)
|
||||
strHide.Add("ICAEncryptionStrength");
|
||||
if (conI.Inheritance.RDPAuthenticationLevel)
|
||||
strHide.Add("RDPAuthenticationLevel");
|
||||
if (conI.Inheritance.LoadBalanceInfo)
|
||||
strHide.Add("LoadBalanceInfo");
|
||||
if (conI.Inheritance.Username)
|
||||
strHide.Add("Username");
|
||||
if (conI.Inheritance.Panel)
|
||||
strHide.Add("Panel");
|
||||
if (conI.IsContainer)
|
||||
strHide.Add("Hostname");
|
||||
if (conI.Inheritance.PreExtApp)
|
||||
strHide.Add("PreExtApp");
|
||||
if (conI.Inheritance.PostExtApp)
|
||||
strHide.Add("PostExtApp");
|
||||
if (conI.Inheritance.MacAddress)
|
||||
strHide.Add("MacAddress");
|
||||
if (conI.Inheritance.UserField)
|
||||
strHide.Add("UserField");
|
||||
if (conI.Inheritance.VNCAuthMode)
|
||||
strHide.Add("VNCAuthMode");
|
||||
if (conI.Inheritance.VNCColors)
|
||||
strHide.Add("VNCColors");
|
||||
if (conI.Inheritance.VNCCompression)
|
||||
strHide.Add("VNCCompression");
|
||||
if (conI.Inheritance.VNCEncoding)
|
||||
strHide.Add("VNCEncoding");
|
||||
if (conI.Inheritance.VNCProxyIP)
|
||||
strHide.Add("VNCProxyIP");
|
||||
if (conI.Inheritance.VNCProxyPassword)
|
||||
strHide.Add("VNCProxyPassword");
|
||||
if (conI.Inheritance.VNCProxyPort)
|
||||
strHide.Add("VNCProxyPort");
|
||||
if (conI.Inheritance.VNCProxyType)
|
||||
strHide.Add("VNCProxyType");
|
||||
if (conI.Inheritance.VNCProxyUsername)
|
||||
strHide.Add("VNCProxyUsername");
|
||||
if (conI.Inheritance.VNCViewOnly)
|
||||
strHide.Add("VNCViewOnly");
|
||||
if (conI.Inheritance.VNCSmartSizeMode)
|
||||
strHide.Add("VNCSmartSizeMode");
|
||||
if (conI.Inheritance.ExtApp)
|
||||
strHide.Add("ExtApp");
|
||||
if (conI.Inheritance.RDGatewayUsageMethod)
|
||||
strHide.Add("RDGatewayUsageMethod");
|
||||
if (conI.Inheritance.RDGatewayHostname)
|
||||
strHide.Add("RDGatewayHostname");
|
||||
if (conI.Inheritance.RDGatewayUsername)
|
||||
strHide.Add("RDGatewayUsername");
|
||||
if (conI.Inheritance.RDGatewayPassword)
|
||||
strHide.Add("RDGatewayPassword");
|
||||
if (conI.Inheritance.RDGatewayDomain)
|
||||
strHide.Add("RDGatewayDomain");
|
||||
if (conI.Inheritance.RDGatewayUseConnectionCredentials)
|
||||
strHide.Add("RDGatewayUseConnectionCredentials");
|
||||
if (conI.Inheritance.RDGatewayHostname)
|
||||
strHide.Add("RDGatewayHostname");
|
||||
}
|
||||
else
|
||||
{
|
||||
strHide.Add("Hostname");
|
||||
@@ -1550,7 +1389,6 @@ namespace mRemoteNG.UI.Window
|
||||
}
|
||||
|
||||
pGrid.HiddenProperties = strHide.ToArray();
|
||||
|
||||
pGrid.Refresh();
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -1563,7 +1401,7 @@ namespace mRemoteNG.UI.Window
|
||||
{
|
||||
if (pGrid.SelectedObject is ConnectionInfoInheritance)
|
||||
{
|
||||
if (((ConnectionInfoInheritance)pGrid.SelectedObject).IsDefault)
|
||||
if (pGrid.SelectedObject is DefaultConnectionInheritance)
|
||||
{
|
||||
PropertiesVisible = true;
|
||||
InheritanceVisible = false;
|
||||
@@ -1582,39 +1420,33 @@ namespace mRemoteNG.UI.Window
|
||||
}
|
||||
else if (pGrid.SelectedObject is ConnectionInfo)
|
||||
{
|
||||
if (((ConnectionInfo)pGrid.SelectedObject).IsDefault)
|
||||
{
|
||||
PropertiesVisible = true;
|
||||
InheritanceVisible = false;
|
||||
DefaultPropertiesVisible = false;
|
||||
DefaultInheritanceVisible = false;
|
||||
SetPropertyGridObject((RootNodeInfo)Windows.treeForm.tvConnections.SelectedNode.Tag);
|
||||
}
|
||||
if (!((ConnectionInfo) pGrid.SelectedObject).IsDefault) return;
|
||||
PropertiesVisible = true;
|
||||
InheritanceVisible = false;
|
||||
DefaultPropertiesVisible = false;
|
||||
DefaultInheritanceVisible = false;
|
||||
SetPropertyGridObject((RootNodeInfo)Windows.treeForm.tvConnections.SelectedNode.Tag);
|
||||
}
|
||||
}
|
||||
|
||||
private void btnShowDefaultProperties_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (pGrid.SelectedObject is RootNodeInfo || pGrid.SelectedObject is ConnectionInfoInheritance)
|
||||
{
|
||||
PropertiesVisible = false;
|
||||
InheritanceVisible = false;
|
||||
DefaultPropertiesVisible = true;
|
||||
DefaultInheritanceVisible = false;
|
||||
SetPropertyGridObject(Runtime.DefaultConnectionFromSettings());
|
||||
}
|
||||
if (!(pGrid.SelectedObject is RootNodeInfo) && !(pGrid.SelectedObject is ConnectionInfoInheritance)) return;
|
||||
PropertiesVisible = false;
|
||||
InheritanceVisible = false;
|
||||
DefaultPropertiesVisible = true;
|
||||
DefaultInheritanceVisible = false;
|
||||
SetPropertyGridObject(Runtime.DefaultConnectionFromSettings());
|
||||
}
|
||||
|
||||
private void btnShowInheritance_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (pGrid.SelectedObject is ConnectionInfo)
|
||||
{
|
||||
PropertiesVisible = false;
|
||||
InheritanceVisible = true;
|
||||
DefaultPropertiesVisible = false;
|
||||
DefaultInheritanceVisible = false;
|
||||
SetPropertyGridObject(((ConnectionInfo)pGrid.SelectedObject).Inheritance);
|
||||
}
|
||||
if (!(pGrid.SelectedObject is ConnectionInfo)) return;
|
||||
PropertiesVisible = false;
|
||||
InheritanceVisible = true;
|
||||
DefaultPropertiesVisible = false;
|
||||
DefaultInheritanceVisible = false;
|
||||
SetPropertyGridObject(((ConnectionInfo)pGrid.SelectedObject).Inheritance);
|
||||
}
|
||||
|
||||
private void btnShowDefaultInheritance_Click(object sender, EventArgs e)
|
||||
@@ -1625,7 +1457,7 @@ namespace mRemoteNG.UI.Window
|
||||
InheritanceVisible = false;
|
||||
DefaultPropertiesVisible = false;
|
||||
DefaultInheritanceVisible = true;
|
||||
SetPropertyGridObject(Runtime.DefaultInheritanceFromSettings());
|
||||
SetPropertyGridObject(DefaultConnectionInheritance.Instance);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1644,10 +1476,12 @@ namespace mRemoteNG.UI.Window
|
||||
|
||||
foreach (var iStr in ConnectionIcon.Icons)
|
||||
{
|
||||
var tI = new ToolStripMenuItem();
|
||||
tI.Text = iStr;
|
||||
tI.Image = ConnectionIcon.FromString(iStr).ToBitmap();
|
||||
tI.Click += IconMenu_Click;
|
||||
var tI = new ToolStripMenuItem
|
||||
{
|
||||
Text = iStr,
|
||||
Image = ConnectionIcon.FromString(iStr).ToBitmap()
|
||||
};
|
||||
tI.Click += IconMenu_Click;
|
||||
|
||||
cMenIcons.Items.Add(tI);
|
||||
}
|
||||
@@ -1705,17 +1539,16 @@ namespace mRemoteNG.UI.Window
|
||||
|
||||
#region Host Status (Ping)
|
||||
private string HostName;
|
||||
private System.Threading.Thread pThread;
|
||||
private Thread pThread;
|
||||
|
||||
private void CheckHostAlive()
|
||||
{
|
||||
var pingSender = new Ping();
|
||||
PingReply pReply;
|
||||
|
||||
try
|
||||
|
||||
try
|
||||
{
|
||||
pReply = pingSender.Send(HostName);
|
||||
if (pReply != null && pReply.Status == IPStatus.Success)
|
||||
var pReply = pingSender.Send(HostName);
|
||||
if (pReply?.Status == IPStatus.Success)
|
||||
{
|
||||
if ((string)btnHostStatus.Tag == "checking")
|
||||
{
|
||||
@@ -1739,30 +1572,30 @@ namespace mRemoteNG.UI.Window
|
||||
}
|
||||
}
|
||||
|
||||
delegate void ShowStatusImageCB(Image Image);
|
||||
private void ShowStatusImage(Image Image)
|
||||
delegate void ShowStatusImageCB(Image image);
|
||||
private void ShowStatusImage(Image image)
|
||||
{
|
||||
if (pGrid.InvokeRequired)
|
||||
{
|
||||
ShowStatusImageCB d = ShowStatusImage;
|
||||
pGrid.Invoke(d, new object[] {Image});
|
||||
pGrid.Invoke(d, image);
|
||||
}
|
||||
else
|
||||
{
|
||||
btnHostStatus.Image = Image;
|
||||
btnHostStatus.Image = image;
|
||||
btnHostStatus.Tag = "checkfinished";
|
||||
}
|
||||
}
|
||||
|
||||
public void SetHostStatus(object ConnectionInfo)
|
||||
public void SetHostStatus(object connectionInfo)
|
||||
{
|
||||
try
|
||||
{
|
||||
btnHostStatus.Image = Resources.HostStatus_Check;
|
||||
// To check status, ConnectionInfo must be an mRemoteNG.Connection.Info that is not a container
|
||||
if (ConnectionInfo is ConnectionInfo)
|
||||
if (connectionInfo is ConnectionInfo)
|
||||
{
|
||||
if (((ConnectionInfo)ConnectionInfo).IsContainer)
|
||||
if (((ConnectionInfo)connectionInfo).IsContainer)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -1773,9 +1606,9 @@ namespace mRemoteNG.UI.Window
|
||||
}
|
||||
|
||||
btnHostStatus.Tag = "checking";
|
||||
HostName = ((ConnectionInfo)ConnectionInfo).Hostname;
|
||||
pThread = new System.Threading.Thread(CheckHostAlive);
|
||||
pThread.SetApartmentState(System.Threading.ApartmentState.STA);
|
||||
HostName = ((ConnectionInfo)connectionInfo).Hostname;
|
||||
pThread = new Thread(CheckHostAlive);
|
||||
pThread.SetApartmentState(ApartmentState.STA);
|
||||
pThread.IsBackground = true;
|
||||
pThread.Start();
|
||||
}
|
||||
@@ -1793,7 +1626,7 @@ namespace mRemoteNG.UI.Window
|
||||
{
|
||||
propertyGridContextMenuShowHelpText.Checked = Settings.Default.ShowConfigHelpText;
|
||||
var gridItem = pGrid.SelectedGridItem;
|
||||
propertyGridContextMenuReset.Enabled = Convert.ToBoolean(pGrid.SelectedObject != null && gridItem != null && gridItem.PropertyDescriptor != null && gridItem.PropertyDescriptor.CanResetValue(pGrid.SelectedObject));
|
||||
propertyGridContextMenuReset.Enabled = Convert.ToBoolean(pGrid.SelectedObject != null && gridItem?.PropertyDescriptor != null && gridItem.PropertyDescriptor.CanResetValue(pGrid.SelectedObject));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -1806,7 +1639,7 @@ namespace mRemoteNG.UI.Window
|
||||
try
|
||||
{
|
||||
var gridItem = pGrid.SelectedGridItem;
|
||||
if (pGrid.SelectedObject != null && gridItem != null && gridItem.PropertyDescriptor != null && gridItem.PropertyDescriptor.CanResetValue(pGrid.SelectedObject))
|
||||
if (pGrid.SelectedObject != null && gridItem?.PropertyDescriptor != null && gridItem.PropertyDescriptor.CanResetValue(pGrid.SelectedObject))
|
||||
{
|
||||
pGrid.ResetSelectedProperty();
|
||||
}
|
||||
|
||||
33
mRemoteV1/UI/Window/PortScanWindow.Designer.cs
generated
33
mRemoteV1/UI/Window/PortScanWindow.Designer.cs
generated
@@ -89,7 +89,7 @@ namespace mRemoteNG.UI.Window
|
||||
this.lblStartIP.AutoSize = true;
|
||||
this.lblStartIP.Location = new System.Drawing.Point(12, 7);
|
||||
this.lblStartIP.Name = "lblStartIP";
|
||||
this.lblStartIP.Size = new System.Drawing.Size(57, 19);
|
||||
this.lblStartIP.Size = new System.Drawing.Size(46, 13);
|
||||
this.lblStartIP.TabIndex = 0;
|
||||
this.lblStartIP.Text = "Start IP:";
|
||||
//
|
||||
@@ -98,7 +98,7 @@ namespace mRemoteNG.UI.Window
|
||||
this.lblEndIP.AutoSize = true;
|
||||
this.lblEndIP.Location = new System.Drawing.Point(148, 7);
|
||||
this.lblEndIP.Name = "lblEndIP";
|
||||
this.lblEndIP.Size = new System.Drawing.Size(51, 19);
|
||||
this.lblEndIP.Size = new System.Drawing.Size(42, 13);
|
||||
this.lblEndIP.TabIndex = 5;
|
||||
this.lblEndIP.Text = "End IP:";
|
||||
//
|
||||
@@ -106,9 +106,10 @@ namespace mRemoteNG.UI.Window
|
||||
//
|
||||
this.btnScan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnScan.Image = global::mRemoteNG.Resources.Search;
|
||||
this.btnScan.Location = new System.Drawing.Point(597, 9);
|
||||
this.btnScan.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.btnScan.Location = new System.Drawing.Point(592, 7);
|
||||
this.btnScan.Name = "btnScan";
|
||||
this.btnScan.Size = new System.Drawing.Size(86, 58);
|
||||
this.btnScan.Size = new System.Drawing.Size(100, 60);
|
||||
this.btnScan.TabIndex = 20;
|
||||
this.btnScan.Text = "&Scan";
|
||||
this.btnScan.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
|
||||
@@ -126,7 +127,7 @@ namespace mRemoteNG.UI.Window
|
||||
this.lvHosts.HideSelection = false;
|
||||
this.lvHosts.Location = new System.Drawing.Point(12, 73);
|
||||
this.lvHosts.Name = "lvHosts";
|
||||
this.lvHosts.Size = new System.Drawing.Size(671, 265);
|
||||
this.lvHosts.Size = new System.Drawing.Size(680, 290);
|
||||
this.lvHosts.TabIndex = 26;
|
||||
this.lvHosts.UseCompatibleStateImageBehavior = false;
|
||||
this.lvHosts.View = System.Windows.Forms.View.Details;
|
||||
@@ -134,7 +135,7 @@ namespace mRemoteNG.UI.Window
|
||||
// btnImport
|
||||
//
|
||||
this.btnImport.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnImport.Location = new System.Drawing.Point(585, 3);
|
||||
this.btnImport.Location = new System.Drawing.Point(594, 3);
|
||||
this.btnImport.Name = "btnImport";
|
||||
this.btnImport.Size = new System.Drawing.Size(75, 31);
|
||||
this.btnImport.TabIndex = 101;
|
||||
@@ -157,7 +158,7 @@ namespace mRemoteNG.UI.Window
|
||||
"VNC"});
|
||||
this.cbProtocol.Location = new System.Drawing.Point(157, 6);
|
||||
this.cbProtocol.Name = "cbProtocol";
|
||||
this.cbProtocol.Size = new System.Drawing.Size(122, 27);
|
||||
this.cbProtocol.Size = new System.Drawing.Size(122, 21);
|
||||
this.cbProtocol.TabIndex = 28;
|
||||
//
|
||||
// lblOnlyImport
|
||||
@@ -166,7 +167,7 @@ namespace mRemoteNG.UI.Window
|
||||
this.lblOnlyImport.AutoSize = true;
|
||||
this.lblOnlyImport.Location = new System.Drawing.Point(5, 13);
|
||||
this.lblOnlyImport.Name = "lblOnlyImport";
|
||||
this.lblOnlyImport.Size = new System.Drawing.Size(125, 19);
|
||||
this.lblOnlyImport.Size = new System.Drawing.Size(104, 13);
|
||||
this.lblOnlyImport.TabIndex = 1;
|
||||
this.lblOnlyImport.Text = "Protocol to import:";
|
||||
//
|
||||
@@ -224,7 +225,7 @@ namespace mRemoteNG.UI.Window
|
||||
//
|
||||
this.prgBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.prgBar.Location = new System.Drawing.Point(12, 51);
|
||||
this.prgBar.Location = new System.Drawing.Point(12, 50);
|
||||
this.prgBar.Name = "prgBar";
|
||||
this.prgBar.Size = new System.Drawing.Size(579, 16);
|
||||
this.prgBar.Step = 1;
|
||||
@@ -250,7 +251,7 @@ namespace mRemoteNG.UI.Window
|
||||
0,
|
||||
0});
|
||||
this.portEnd.Name = "portEnd";
|
||||
this.portEnd.Size = new System.Drawing.Size(67, 26);
|
||||
this.portEnd.Size = new System.Drawing.Size(67, 22);
|
||||
this.portEnd.TabIndex = 15;
|
||||
this.portEnd.Enter += new System.EventHandler(this.portEnd_Enter);
|
||||
//
|
||||
@@ -263,7 +264,7 @@ namespace mRemoteNG.UI.Window
|
||||
0,
|
||||
0});
|
||||
this.portStart.Name = "portStart";
|
||||
this.portStart.Size = new System.Drawing.Size(67, 26);
|
||||
this.portStart.Size = new System.Drawing.Size(67, 22);
|
||||
this.portStart.TabIndex = 5;
|
||||
this.portStart.Enter += new System.EventHandler(this.portStart_Enter);
|
||||
//
|
||||
@@ -272,7 +273,7 @@ namespace mRemoteNG.UI.Window
|
||||
this.Label2.AutoSize = true;
|
||||
this.Label2.Location = new System.Drawing.Point(162, 7);
|
||||
this.Label2.Name = "Label2";
|
||||
this.Label2.Size = new System.Drawing.Size(64, 19);
|
||||
this.Label2.Size = new System.Drawing.Size(54, 13);
|
||||
this.Label2.TabIndex = 10;
|
||||
this.Label2.Text = "End Port:";
|
||||
//
|
||||
@@ -281,7 +282,7 @@ namespace mRemoteNG.UI.Window
|
||||
this.Label1.AutoSize = true;
|
||||
this.Label1.Location = new System.Drawing.Point(3, 7);
|
||||
this.Label1.Name = "Label1";
|
||||
this.Label1.Size = new System.Drawing.Size(70, 19);
|
||||
this.Label1.Size = new System.Drawing.Size(58, 13);
|
||||
this.Label1.TabIndex = 0;
|
||||
this.Label1.Text = "Start Port:";
|
||||
//
|
||||
@@ -292,15 +293,15 @@ namespace mRemoteNG.UI.Window
|
||||
this.pnlImport.Controls.Add(this.btnImport);
|
||||
this.pnlImport.Controls.Add(this.lblOnlyImport);
|
||||
this.pnlImport.Controls.Add(this.cbProtocol);
|
||||
this.pnlImport.Location = new System.Drawing.Point(12, 344);
|
||||
this.pnlImport.Location = new System.Drawing.Point(12, 369);
|
||||
this.pnlImport.Name = "pnlImport";
|
||||
this.pnlImport.Size = new System.Drawing.Size(671, 40);
|
||||
this.pnlImport.Size = new System.Drawing.Size(680, 40);
|
||||
this.pnlImport.TabIndex = 102;
|
||||
//
|
||||
// PortScanWindow
|
||||
//
|
||||
this.AcceptButton = this.btnImport;
|
||||
this.ClientSize = new System.Drawing.Size(695, 396);
|
||||
this.ClientSize = new System.Drawing.Size(704, 421);
|
||||
this.Controls.Add(this.pnlImport);
|
||||
this.Controls.Add(this.lvHosts);
|
||||
this.Controls.Add(this.pnlPorts);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -588,6 +588,9 @@
|
||||
<setting name="ShowCompleteConsPathInTitle" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="ConRDPOverallConnectionTimeout" serializeAs="String">
|
||||
<value>20</value>
|
||||
</setting>
|
||||
</mRemoteNG.Settings>
|
||||
</userSettings>
|
||||
<applicationSettings>
|
||||
|
||||
@@ -63,10 +63,6 @@
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>References\ADTree.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DiffieHellman, Version=0.0.0.0, Culture=neutral">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>References\DiffieHellman.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>References\log4net.dll</HintPath>
|
||||
@@ -76,9 +72,9 @@
|
||||
<HintPath>References\MagicLibrary.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Org.Mentalis.Security, Version=1.0.13.715, Culture=neutral">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>References\Org.Mentalis.Security.dll</HintPath>
|
||||
<Reference Include="Renci.SshNet, Version=2016.0.0.0, Culture=neutral, PublicKeyToken=1cee9f8bde3db106, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SSH.NET.2016.0.0\lib\net40\Renci.SshNet.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
@@ -89,10 +85,6 @@
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Tamir.SharpSSH, Version=1.1.1.13, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>References\Tamir.SharpSSH.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="VncSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=61974755c7bfea7c, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>References\VncSharp.dll</HintPath>
|
||||
@@ -163,7 +155,8 @@
|
||||
<Compile Include="Connection\ConnectionInfoInheritance.cs" />
|
||||
<Compile Include="App\ProgramRoot.cs" />
|
||||
<Compile Include="Connection\Converter.cs" />
|
||||
<Compile Include="Connection\Inheritance.cs" />
|
||||
<Compile Include="Connection\DefaultConnectionInheritance.cs" />
|
||||
<Compile Include="Connection\IInheritable.cs" />
|
||||
<Compile Include="Connection\Parent.cs" />
|
||||
<Compile Include="Connection\Protocol\ProtocolFactory.cs" />
|
||||
<Compile Include="Connection\Protocol\RDP\RDPEnums.cs" />
|
||||
@@ -181,6 +174,7 @@
|
||||
<Compile Include="Tools\ArgumentParser.cs" />
|
||||
<Compile Include="Tools\CmdArgumentsInterpreter.cs" />
|
||||
<Compile Include="Tools\ExternalToolsTypeConverter.cs" />
|
||||
<Compile Include="Tools\SecureTransfer.cs" />
|
||||
<Compile Include="Tools\Sorting\TreeNodeSorter.cs" />
|
||||
<Compile Include="Tools\Sorting\Sortable.cs" />
|
||||
<Compile Include="Tree\ConnectionTree.cs" />
|
||||
|
||||
@@ -4,4 +4,5 @@
|
||||
<package id="DockPanelSuite" version="2.10.0" targetFramework="net40" />
|
||||
<package id="DockPanelSuite.ThemeVS2012Light" version="2.10.0" targetFramework="net40" />
|
||||
<package id="Geckofx45" version="45.0.20" targetFramework="net40" />
|
||||
<package id="SSH.NET" version="2016.0.0" targetFramework="net40" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user