mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 14:07:46 +08:00
Add EnvironmentTags property to connection info
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
This commit is contained in:
@@ -168,6 +168,11 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Csv
|
||||
? connectionCsv[headers.IndexOf("UserField")]
|
||||
: "";
|
||||
|
||||
connectionRecord.EnvironmentTags =
|
||||
headers.Contains("EnvironmentTags")
|
||||
? connectionCsv[headers.IndexOf("EnvironmentTags")]
|
||||
: "";
|
||||
|
||||
connectionRecord.ExtApp = headers.Contains("ExtApp")
|
||||
? connectionCsv[headers.IndexOf("ExtApp")] : "";
|
||||
|
||||
@@ -777,6 +782,12 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Csv
|
||||
connectionRecord.Inheritance.UserField = value;
|
||||
}
|
||||
|
||||
if (headers.Contains("InheritEnvironmentTags"))
|
||||
{
|
||||
if (bool.TryParse(connectionCsv[headers.IndexOf("InheritEnvironmentTags")], out bool value))
|
||||
connectionRecord.Inheritance.EnvironmentTags = value;
|
||||
}
|
||||
|
||||
if (headers.Contains("InheritFavorite"))
|
||||
{
|
||||
if (bool.TryParse(connectionCsv[headers.IndexOf("InheritFavorite")], out bool value))
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Csv
|
||||
sb.Append("Hostname;Port;VmId;Protocol;SSHTunnelConnectionName;OpeningCommand;SSHOptions;PuttySession;ConnectToConsole;UseCredSsp;UseRestrictedAdmin;UseRCG;UseVmId;UseEnhancedMode;RenderingEngine;RDPAuthenticationLevel;" +
|
||||
"LoadBalanceInfo;Colors;Resolution;AutomaticResize;DisplayWallpaper;DisplayThemes;EnableFontSmoothing;EnableDesktopComposition;DisableFullWindowDrag;DisableMenuAnimations;DisableCursorShadow;DisableCursorBlinking;" +
|
||||
"CacheBitmaps;RedirectDiskDrives;RedirectDiskDrivesCustomRedirectPorts;RedirectPrinters;RedirectClipboard;RedirectSmartCards;RedirectSound;RedirectKeys;" +
|
||||
"PreExtApp;PostExtApp;MacAddress;UserField;ExtApp;Favorite;VNCCompression;VNCEncoding;VNCAuthMode;VNCProxyType;VNCProxyIP;" +
|
||||
"PreExtApp;PostExtApp;MacAddress;UserField;EnvironmentTags;ExtApp;Favorite;VNCCompression;VNCEncoding;VNCAuthMode;VNCProxyType;VNCProxyIP;" +
|
||||
"VNCProxyPort;VNCProxyUsername;VNCProxyPassword;VNCColors;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;" +
|
||||
"RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;RDGatewayExternalCredentialProvider;RDGatewayUserViaAPI;RedirectAudioCapture;RdpVersion;RDPStartProgram;RDPStartProgramWorkDir;UserViaAPI;EC2InstanceId;EC2Region;ExternalCredentialProvider;ExternalAddressProvider;");
|
||||
|
||||
@@ -72,7 +72,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Csv
|
||||
"InheritRedirectClipboard;InheritRedirectSmartCards;InheritRedirectSound;InheritResolution;InheritAutomaticResize;" +
|
||||
"InheritUseConsoleSession;InheritUseCredSsp;InheritUseRestrictedAdmin;InheritUseRCG;InheritUseVmId;InheritUseEnhancedMode;InheritVmId;InheritRenderingEngine;InheritUsername;" +
|
||||
"InheritRDPAuthenticationLevel;InheritLoadBalanceInfo;InheritPreExtApp;InheritPostExtApp;InheritMacAddress;InheritUserField;" +
|
||||
"InheritFavorite;InheritExtApp;InheritVNCCompression;InheritVNCEncoding;InheritVNCAuthMode;InheritVNCProxyType;InheritVNCProxyIP;" +
|
||||
"InheritEnvironmentTags;InheritFavorite;InheritExtApp;InheritVNCCompression;InheritVNCEncoding;InheritVNCAuthMode;InheritVNCProxyType;InheritVNCProxyIP;" +
|
||||
"InheritVNCProxyPort;InheritVNCProxyUsername;InheritVNCProxyPassword;InheritVNCColors;InheritVNCSmartSizeMode;InheritVNCViewOnly;" +
|
||||
"InheritRDGatewayUsageMethod;InheritRDGatewayHostname;InheritRDGatewayUseConnectionCredentials;InheritRDGatewayUsername;" +
|
||||
"InheritRDGatewayPassword;InheritRDGatewayDomain;InheritRDGatewayExternalCredentialProvider;InheritRDGatewayUserViaAPI;InheritRDPAlertIdleTimeout;InheritRDPMinutesToIdleTimeout;InheritSoundQuality;InheritUserViaAPI;" +
|
||||
@@ -161,6 +161,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Csv
|
||||
.Append(FormatForCsv(con.PostExtApp))
|
||||
.Append(FormatForCsv(con.MacAddress))
|
||||
.Append(FormatForCsv(con.UserField))
|
||||
.Append(FormatForCsv(con.EnvironmentTags))
|
||||
.Append(FormatForCsv(con.ExtApp))
|
||||
.Append(FormatForCsv(con.Favorite))
|
||||
.Append(FormatForCsv(con.VNCCompression))
|
||||
@@ -245,6 +246,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Csv
|
||||
.Append(FormatForCsv(con.Inheritance.PostExtApp))
|
||||
.Append(FormatForCsv(con.Inheritance.MacAddress))
|
||||
.Append(FormatForCsv(con.Inheritance.UserField))
|
||||
.Append(FormatForCsv(con.Inheritance.EnvironmentTags))
|
||||
.Append(FormatForCsv(con.Inheritance.Favorite))
|
||||
.Append(FormatForCsv(con.Inheritance.ExtApp))
|
||||
.Append(FormatForCsv(con.Inheritance.VNCCompression))
|
||||
|
||||
@@ -145,6 +145,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Sql
|
||||
connectionInfo.UseRCG = MiscTools.GetBooleanValue(dataRow["UseRCG"]);
|
||||
connectionInfo.UseRestrictedAdmin = MiscTools.GetBooleanValue(dataRow["UseRestrictedAdmin"]);
|
||||
connectionInfo.UserField = (string)dataRow["UserField"];
|
||||
connectionInfo.EnvironmentTags = dataRow.Table.Columns.Contains("EnvironmentTags") ? (string)dataRow["EnvironmentTags"] : "";
|
||||
connectionInfo.Username = (string)dataRow["Username"];
|
||||
connectionInfo.UseVmId = MiscTools.GetBooleanValue(dataRow["UseVmId"]);
|
||||
connectionInfo.VmId = (string)dataRow["VmId"];
|
||||
@@ -224,6 +225,8 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Sql
|
||||
connectionInfo.Inheritance.UseRCG = MiscTools.GetBooleanValue(dataRow["InheritUseRCG"]);
|
||||
connectionInfo.Inheritance.UseRestrictedAdmin = MiscTools.GetBooleanValue(dataRow["InheritUseRestrictedAdmin"]);
|
||||
connectionInfo.Inheritance.UserField = MiscTools.GetBooleanValue(dataRow["InheritUserField"]);
|
||||
if (dataRow.Table.Columns.Contains("InheritEnvironmentTags"))
|
||||
connectionInfo.Inheritance.EnvironmentTags = MiscTools.GetBooleanValue(dataRow["InheritEnvironmentTags"]);
|
||||
connectionInfo.Inheritance.Username = MiscTools.GetBooleanValue(dataRow["InheritUsername"]);
|
||||
connectionInfo.Inheritance.UseVmId = MiscTools.GetBooleanValue(dataRow["InheritUseVmId"]);
|
||||
connectionInfo.Inheritance.VmId = MiscTools.GetBooleanValue(dataRow["InheritVmId"]);
|
||||
|
||||
@@ -177,6 +177,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Sql
|
||||
dataTable.Columns.Add("InheritUseRestrictedAdmin", typeof(bool));
|
||||
dataTable.Columns.Add("InheritUseVmId", typeof(bool));
|
||||
dataTable.Columns.Add("InheritUserField", typeof(bool));
|
||||
dataTable.Columns.Add("InheritEnvironmentTags", typeof(bool));
|
||||
dataTable.Columns.Add("InheritUserViaAPI", typeof(bool));
|
||||
dataTable.Columns.Add("InheritUsername", typeof(bool));
|
||||
dataTable.Columns.Add("InheritVNCAuthMode", typeof(bool));
|
||||
@@ -240,6 +241,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Sql
|
||||
dataTable.Columns.Add("UseRestrictedAdmin", typeof(bool));
|
||||
dataTable.Columns.Add("UseVmId", typeof(bool));
|
||||
dataTable.Columns.Add("UserField", typeof(string));
|
||||
dataTable.Columns.Add("EnvironmentTags", typeof(string));
|
||||
dataTable.Columns.Add("UserViaAPI", typeof(string));
|
||||
dataTable.Columns.Add("Username", typeof(string));
|
||||
dataTable.Columns.Add("VNCAuthMode", typeof(string));
|
||||
@@ -612,6 +614,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Sql
|
||||
dataRow["UseRestrictedAdmin"] = connectionInfo.UseRestrictedAdmin;
|
||||
dataRow["UseVmId"] = connectionInfo.UseVmId;
|
||||
dataRow["UserField"] = connectionInfo.UserField;
|
||||
dataRow["EnvironmentTags"] = connectionInfo.EnvironmentTags;
|
||||
dataRow["Username"] = _saveFilter.SaveUsername ? connectionInfo.Username : "";
|
||||
dataRow["VNCAuthMode"] = connectionInfo.VNCAuthMode;
|
||||
dataRow["VNCColors"] = connectionInfo.VNCColors;
|
||||
@@ -690,6 +693,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Sql
|
||||
dataRow["InheritUseRestrictedAdmin"] = connectionInfo.Inheritance.UseRestrictedAdmin;
|
||||
dataRow["InheritUseVmId"] = connectionInfo.Inheritance.UseVmId;
|
||||
dataRow["InheritUserField"] = connectionInfo.Inheritance.UserField;
|
||||
dataRow["InheritEnvironmentTags"] = connectionInfo.Inheritance.EnvironmentTags;
|
||||
dataRow["InheritUserViaAPI"] = connectionInfo.Inheritance.UserViaAPI;
|
||||
dataRow["InheritUsername"] = connectionInfo.Inheritance.Username;
|
||||
dataRow["InheritVNCAuthMode"] = connectionInfo.Inheritance.VNCAuthMode;
|
||||
@@ -767,6 +771,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Sql
|
||||
dataRow["InheritUseRCG"] = false;
|
||||
dataRow["InheritUseRestrictedAdmin"] = false;
|
||||
dataRow["InheritUserField"] = false;
|
||||
dataRow["InheritEnvironmentTags"] = false;
|
||||
dataRow["InheritUserViaAPI"] = false;
|
||||
dataRow["InheritUsername"] = false;
|
||||
dataRow["InheritVNCAuthMode"] = false;
|
||||
|
||||
@@ -105,6 +105,7 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Xml
|
||||
element.Add(new XAttribute("PostExtApp", connectionInfo.PostExtApp));
|
||||
element.Add(new XAttribute("MacAddress", connectionInfo.MacAddress));
|
||||
element.Add(new XAttribute("UserField", connectionInfo.UserField));
|
||||
element.Add(new XAttribute("EnvironmentTags", connectionInfo.EnvironmentTags));
|
||||
element.Add(new XAttribute("Favorite", connectionInfo.Favorite));
|
||||
element.Add(new XAttribute("ExtApp", connectionInfo.ExtApp));
|
||||
element.Add(new XAttribute("StartProgram", connectionInfo.RDPStartProgram));
|
||||
@@ -262,6 +263,8 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Xml
|
||||
element.Add(new XAttribute("InheritMacAddress", inheritance.MacAddress.ToString().ToLowerInvariant()));
|
||||
if (inheritance.UserField)
|
||||
element.Add(new XAttribute("InheritUserField", inheritance.UserField.ToString().ToLowerInvariant()));
|
||||
if (inheritance.EnvironmentTags)
|
||||
element.Add(new XAttribute("InheritEnvironmentTags", inheritance.EnvironmentTags.ToString().ToLowerInvariant()));
|
||||
if (inheritance.Favorite)
|
||||
element.Add(new XAttribute("InheritFavorite", inheritance.Favorite.ToString().ToLowerInvariant()));
|
||||
if (inheritance.ExtApp)
|
||||
|
||||
@@ -539,6 +539,8 @@ namespace mRemoteNG.Config.Serializers.ConnectionSerializers.Xml
|
||||
connectionInfo.RedirectDiskDrives = xmlnode.GetAttributeAsEnum<RDPDiskDrives>("RedirectDiskDrives");
|
||||
connectionInfo.RedirectDiskDrivesCustom = xmlnode.GetAttributeAsString("RedirectDiskDrivesCustom");
|
||||
connectionInfo.Inheritance.RedirectDiskDrivesCustom = xmlnode.GetAttributeAsBool("InheritRedirectDiskDrivesCustom");
|
||||
connectionInfo.EnvironmentTags = xmlnode.GetAttributeAsString("EnvironmentTags");
|
||||
connectionInfo.Inheritance.EnvironmentTags = xmlnode.GetAttributeAsBool("InheritEnvironmentTags");
|
||||
break;
|
||||
|
||||
case >= 0.5:
|
||||
|
||||
@@ -101,6 +101,7 @@ namespace mRemoteNG.Connection
|
||||
private string _macAddress;
|
||||
private string _openingCommand;
|
||||
private string _userField;
|
||||
private string _environmentTags = "";
|
||||
private string _rdpStartProgram;
|
||||
private string _rdpStartProgramWorkDir;
|
||||
private bool _favorite;
|
||||
@@ -938,6 +939,15 @@ namespace mRemoteNG.Connection
|
||||
set => SetField(ref _userField, value, "UserField");
|
||||
}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory(nameof(Language.Miscellaneous), 7),
|
||||
LocalizedAttributes.LocalizedDisplayName(nameof(Language.EnvironmentTags)),
|
||||
LocalizedAttributes.LocalizedDescription(nameof(Language.PropertyDescriptionEnvironmentTags))]
|
||||
public virtual string EnvironmentTags
|
||||
{
|
||||
get => GetPropertyValue("EnvironmentTags", _environmentTags);
|
||||
set => SetField(ref _environmentTags, value, "EnvironmentTags");
|
||||
}
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory(nameof(Language.Miscellaneous), 7),
|
||||
LocalizedAttributes.LocalizedDisplayName(nameof(Language.Favorite)),
|
||||
LocalizedAttributes.LocalizedDescription(nameof(Language.PropertyDescriptionFavorite)),
|
||||
|
||||
@@ -379,6 +379,7 @@ namespace mRemoteNG.Connection
|
||||
PostExtApp = Settings.Default.ConDefaultPostExtApp;
|
||||
MacAddress = Settings.Default.ConDefaultMacAddress;
|
||||
UserField = Settings.Default.ConDefaultUserField;
|
||||
EnvironmentTags = Settings.Default.ConDefaultEnvironmentTags;
|
||||
Favorite = Settings.Default.ConDefaultFavorite;
|
||||
RDPStartProgram = Settings.Default.ConDefaultRDPStartProgram;
|
||||
RDPStartProgramWorkDir = Settings.Default.ConDefaultRDPStartProgramWorkDir;
|
||||
|
||||
@@ -457,6 +457,12 @@ namespace mRemoteNG.Connection
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool UserField { get; set; }
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory(nameof(Language.Miscellaneous), 8),
|
||||
LocalizedAttributes.LocalizedDisplayNameInherit(nameof(Language.EnvironmentTags)),
|
||||
LocalizedAttributes.LocalizedDescriptionInherit(nameof(Language.PropertyDescriptionEnvironmentTags)),
|
||||
TypeConverter(typeof(MiscTools.YesNoTypeConverter))]
|
||||
public bool EnvironmentTags { get; set; }
|
||||
|
||||
[LocalizedAttributes.LocalizedCategory(nameof(Language.Miscellaneous), 8),
|
||||
LocalizedAttributes.LocalizedDisplayNameInherit(nameof(Language.Favorite)),
|
||||
LocalizedAttributes.LocalizedDescriptionInherit(nameof(Language.PropertyDescriptionFavorite)),
|
||||
|
||||
18
mRemoteNG/Language/Language.Designer.cs
generated
18
mRemoteNG/Language/Language.Designer.cs
generated
@@ -6820,6 +6820,24 @@ namespace mRemoteNG.Resources.Language {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Environment Tags.
|
||||
/// </summary>
|
||||
internal static string EnvironmentTags {
|
||||
get {
|
||||
return ResourceManager.GetString("EnvironmentTags", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Tags to categorize the environment (e.g., #PROD, #UAT, #TEST, #BETA, #FINDEPARTMENT).
|
||||
/// </summary>
|
||||
internal static string PropertyDescriptionEnvironmentTags {
|
||||
get {
|
||||
return ResourceManager.GetString("PropertyDescriptionEnvironmentTags", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Username.
|
||||
/// </summary>
|
||||
|
||||
@@ -1272,6 +1272,12 @@ If you run into such an error, please create a new connection file!</value>
|
||||
<data name="UserField" xml:space="preserve">
|
||||
<value>User Field</value>
|
||||
</data>
|
||||
<data name="EnvironmentTags" xml:space="preserve">
|
||||
<value>Environment Tags</value>
|
||||
</data>
|
||||
<data name="PropertyDescriptionEnvironmentTags" xml:space="preserve">
|
||||
<value>Tags to categorize the environment (e.g., #PROD, #UAT, #TEST, #BETA, #FINDEPARTMENT)</value>
|
||||
</data>
|
||||
<data name="ProxyAddress" xml:space="preserve">
|
||||
<value>Proxy Address</value>
|
||||
</data>
|
||||
|
||||
24
mRemoteNG/Properties/Settings.Designer.cs
generated
24
mRemoteNG/Properties/Settings.Designer.cs
generated
@@ -1058,6 +1058,30 @@ namespace mRemoteNG.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string ConDefaultEnvironmentTags {
|
||||
get {
|
||||
return ((string)(this["ConDefaultEnvironmentTags"]));
|
||||
}
|
||||
set {
|
||||
this["ConDefaultEnvironmentTags"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool InhDefaultEnvironmentTags {
|
||||
get {
|
||||
return ((bool)(this["InhDefaultEnvironmentTags"]));
|
||||
}
|
||||
set {
|
||||
this["InhDefaultEnvironmentTags"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
|
||||
@@ -257,6 +257,12 @@
|
||||
<Setting Name="InhDefaultUserField" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="ConDefaultEnvironmentTags" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="InhDefaultEnvironmentTags" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="ConDefaultExtApp" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
|
||||
Reference in New Issue
Block a user