Compare commits

..

39 Commits

Author SHA1 Message Date
David Sparer
e872581d3c updated changelog 2018-06-03 09:50:42 -05:00
David Sparer
defe9e094c made opening an empty panel on startup configurable in options 2018-05-31 06:26:43 -05:00
David Sparer
5662735cb8 bumped assembly version for next pre-release 2018-05-25 18:01:32 -05:00
David Sparer
8646dce21b update jenkins build to use newest msbuild (enables c# 7 lang features) 2018-05-20 11:07:43 -05:00
David Sparer
99a3eabbaf updated changelog 2018-05-19 17:00:57 -05:00
David Sparer
c57bd386f2 dont try to connect to folders in quick connect menu. resolves #924 2018-05-19 16:57:34 -05:00
David Sparer
f2a52b03df menu bar can be moved when "lock toolbar position" is turned off. closes #902 2018-05-19 12:57:29 -05:00
David Sparer
860e1ccfaa fix a mismerged language item 2018-05-18 21:33:16 -05:00
David Sparer
49967b38d4 update changelog 2018-05-18 21:32:51 -05:00
David Sparer
36038fff6d fix minor code typo 2018-05-18 20:52:17 -05:00
David Sparer
c5958954b0 apply language later in app startup 2018-05-18 20:45:27 -05:00
David Sparer
d0d63016ca Merge branch 'pr_948_target' into release/v1.76
# Conflicts:
#	mRemoteV1/Resources/Language/Language.resx
#	mRemoteV1/UI/Forms/frmMain.Designer.cs
#	mRemoteV1/UI/Menu/ViewMenu.cs
2018-05-18 20:04:23 -05:00
David Sparer
35f2484adf Merge pull request #948 from farosch/translation
some changes regarding tranlsation
2018-05-18 18:41:06 -05:00
David Sparer
c2cf496ded updated changelog and credits 2018-04-29 12:00:08 -05:00
David Sparer
8a172f02a9 updated changelog and credits for #942 2018-04-19 08:08:44 -05:00
David Sparer
f27935ea61 Merge pull request #942 from sli-pro/develop
Made several strings translatable and added Russian translations
2018-04-19 07:58:16 -05:00
Faryan Rezagholi
043df0aec3 fixed wording 2018-04-14 11:56:01 +02:00
Faryan Rezagholi
63a2e18760 added missing items 2018-04-14 11:56:01 +02:00
Faryan Rezagholi
c3ced7ed03 fix: translations of main file menu items were not loaded 2018-04-14 11:56:01 +02:00
Faryan Rezagholi
f597e14b3d fix group box was not translatable 2018-04-14 11:56:01 +02:00
Faryan Rezagholi
aff4ba9115 fix: set labels dock mode to fill (wasnt displaying longer translated texts) 2018-04-14 11:56:01 +02:00
Faryan Rezagholi
554e0805e3 fix: title of options page was not translatable 2018-04-14 11:56:01 +02:00
Faryan Rezagholi
f4efa74a23 Added missing translation options in viewMenu.cs 2018-04-14 11:56:01 +02:00
Vladimir Semenov
ddc19587fa Edited and added a translation of the Russian language in the forms
- File/import
- File/Import from AD
- File/Export to File
- View/Lock Toolbar position
- View/Mylti SSH toolbar
- Tools/Options/Additionally
Related to question #940.
2018-04-10 13:41:34 +03:00
Vladimir Semenov
5f1232727e Edit and add a translation on the external tools form.
Added and corrected Russian and English translations in the external tools tab.
Adjusted the placement of components on the external tools form so that the text does not overlap during translation.
Related to question #940.
2018-04-10 09:58:59 +03:00
David Sparer
9c373e8f0a Merge pull request #938 from sli-pro/develop
Small visual correction of the forms
2018-04-07 11:25:55 -05:00
David Sparer
83942d788f Merge branch '916_default_properties_not_saving' into develop 2018-04-06 15:05:35 -05:00
David Sparer
73d6fec6f3 updated changelog 2018-04-06 15:05:00 -05:00
David Sparer
a37b5deaa1 finished updating some tests for default inheritance 2018-04-06 15:02:14 -05:00
Vladimir Semenov
3b9de847e7 Small visual correction of the forms
- for the main form set the minimum resolution 1140; 603.
- for the form of port scans, done visual editing of components.
2018-04-06 20:59:15 +03:00
David Sparer
924f1f1e48 improved tests for default connection info 2018-04-05 16:37:22 -05:00
David Sparer
7bdebbe25b Merge pull request #936 from sli-pro/develop
Update Language ru
2018-04-05 15:16:31 -05:00
David Sparer
8f46c25dc9 Merge pull request #935 from marcomsousa/develop
Update Language es
2018-04-05 15:15:04 -05:00
Vladimir Semenov
8bb4a03639 Update Language ru
Fix typos in Russian language
2018-04-05 18:51:47 +03:00
Marco Sousa
7b5bc5e057 Update Language es 2018-04-05 12:39:02 +02:00
David Sparer
35582a5e6a fixed bug with saving and loading default connection info data
updated tests to better cover this feature. related to #916
2018-03-22 16:54:50 -05:00
David Sparer
20340fd31f Merge pull request #913 from mRemoteNG/github-templates
Update .github templates
2018-03-22 07:44:10 -05:00
David Sparer
d6d7664b48 update readme shield 2018-03-14 19:30:25 -05:00
Bennett Blodinger
e5a34388ae Update .github templates
Bumping up the quality of the templates with help from https://www.talater.com/open-source-templates
2018-03-09 09:46:03 -05:00
45 changed files with 1818 additions and 751 deletions

View File

@@ -1,16 +1,30 @@
<!--
Only file GitHub issues for bugs and feature requests. All other topics will be closed.
<!--- Provide a general summary of the issue in the Title above -->
Before opening an issue, please search for a duplicate or closed issue.
Please provide as much detail as possible for us to fix your issue.
-->
## Expected Behavior
<!--- If you're describing a bug, tell us what should happen -->
<!--- If you're suggesting a change/improvement, tell us how it should work -->
<!-- Bug -->
|Detail|Value|
|--:|---|
|Operating system | Windows 10 x64 |
|mRemoteNG version| 1.75.7008 |
## Current Behavior
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
<!--- If suggesting a change/improvement, explain the difference from current behavior -->
## Possible Solution
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
<!--- or ideas how to implement the addition or change -->
<!-- Feature Request -->
<!-- If you file a feature request, please delete the bug section -->
## Steps to Reproduce (for bugs)
<!--- Provide an unambiguous set of steps to reproduce -->
<!--- this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this issue affected you? What are you trying to accomplish? -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Operating System and version (e.g. Windows 10 1709 x64):

View File

@@ -1,4 +1,29 @@
<!--
Please provide as much detail as possible with what your pull request does.
Include a reference to a filed issue if it exists.
-->
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->
## Screenshots (if appropriate):
## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have read the **CONTRIBUTING** document.

View File

@@ -1,3 +1,19 @@
1.76.4 Alpha 6 (2018-06-03):
Features/Enhancements:
----------------------
#948: Fixed issue where many menu item translations were not being used
#942: Improved Russian translation of several items
#924: Notification for "No Host Specified" when clicking folders in quick-connect menu
#902: Menu bar can once again be moved. View -> "Lock toolbar positions" now also locks the menu position
Added option for creating an empty panel on startup
Fixes:
------
#938: Minor layout improvements on the Port Scan screen
#916: Default properties were not being saved
1.76.3 Alpha 5 (2018-03-14):
Fixes:

View File

@@ -23,6 +23,7 @@ github.com/DamianBis
github.com/pfjason
github.com/sirLoaf
github.com/Fyers
Vladimir Semenov (github.com/sli-pro)
Past Contributors
@@ -59,6 +60,8 @@ Lukas Plachy (github.com/rheingold)
Gyuha Shin
Stefan (github.com/polluks)
github.com/emazv72
Vladimir Semenov (github.com/sli-pro)
Marco Sousa (github.com/marcomsousa)
Included Source Code

8
Jenkinsfile vendored
View File

@@ -1,8 +1,8 @@
#!groovy
node('windows') {
def jobDir = pwd()
def solutionFilePath = "\"${jobDir}\\mRemoteV1.sln\""
def vsToolsDir = "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools"
def vsExtensionsDir = "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow"
def msBuild = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\MSBuild\\15.0\\Bin\\msbuild.exe"
def nunitConsolePath = "${jobDir}\\packages\\NUnit.ConsoleRunner.3.7.0\\tools\\nunit3-console.exe"
def openCoverPath = "${jobDir}\\packages\\OpenCover.4.6.519\\tools\\OpenCover.Console.exe"
def reportGeneratorPath = "${jobDir}\\packages\\ReportGenerator.3.0.2\\tools\\ReportGenerator.exe"
@@ -24,11 +24,11 @@ node('windows') {
}
stage ('Build mRemoteNG (Normal)') {
bat "\"${vsToolsDir}\\VsDevCmd.bat\" && msbuild.exe /nologo /p:Platform=x86 \"${jobDir}\\mRemoteV1.sln\""
bat "\"${msBuild}\" /nologo /p:Platform=x86 \"${jobDir}\\mRemoteV1.sln\""
}
stage ('Build mRemoteNG (Portable)') {
bat "\"${vsToolsDir}\\VsDevCmd.bat\" && msbuild.exe /nologo /p:Configuration=\"Debug Portable\";Platform=x86 \"${jobDir}\\mRemoteV1.sln\""
bat "\"${msBuild}\" /nologo /p:Configuration=\"Debug Portable\";Platform=x86 \"${jobDir}\\mRemoteV1.sln\""
}
stage ('Run Unit Tests (Normal, w/coverage)') {

View File

@@ -12,7 +12,7 @@
| ---------------|--------------|-----------|
| Stable | [![Build status](https://ci.appveyor.com/api/projects/status/k0sdbxmq90fgdmj6/branch/master?svg=true)](https://ci.appveyor.com/project/mremoteng/mremoteng/branch/master) | [![Github Releases (by Release)](https://img.shields.io/github/downloads/mRemoteNG/mRemoteNG/v1.75.7012/total.svg)](https://github.com/mRemoteNG/mRemoteNG/releases/tag/v1.75.7012) |
| Beta | | [![Github Releases (by Release)](https://img.shields.io/github/downloads/mRemoteNG/mRemoteNG/v1.75.7012/total.svg)](https://github.com/mRemoteNG/mRemoteNG/releases/tag/v1.75.7012) |
| Development | [![Build status](https://ci.appveyor.com/api/projects/status/k0sdbxmq90fgdmj6/branch/develop?svg=true)](https://ci.appveyor.com/project/mremoteng/mremoteng/branch/develop) | [![Github Releases (by Release)](https://img.shields.io/github/downloads/mRemoteNG/mRemoteNG/v1.76Alpha4/total.svg)](https://github.com/mRemoteNG/mRemoteNG/releases/tag/v1.76Alpha4) |
| Development | [![Build status](https://ci.appveyor.com/api/projects/status/k0sdbxmq90fgdmj6/branch/develop?svg=true)](https://ci.appveyor.com/project/mremoteng/mremoteng/branch/develop) | [![Github Releases (by Release)](https://img.shields.io/github/downloads/mRemoteNG/mRemoteNG/v1.76Alpha5/total.svg)](https://github.com/mRemoteNG/mRemoteNG/releases/tag/v1.76Alpha5) |
mRemoteNG is the next generation of mRemote, a full-featured, multi-tab remote connections manager.

View File

@@ -1,73 +1,62 @@
using mRemoteNG.Connection;
using mRemoteNG.Connection.Protocol;
using System.Collections.Generic;
using System.Reflection;
using mRemoteNG.Connection;
using mRemoteNGTests.TestHelpers;
using NUnit.Framework;
namespace mRemoteNGTests.Connection
{
public class DefaultConnectionInfoTests
{
private string _testDomain = "somedomain";
public class DefaultConnectionInfoTests
{
private ConnectionInfo _randomizedConnectionInfo;
[SetUp]
public void Setup()
{
DefaultConnectionInfo.Instance.Domain = "";
_randomizedConnectionInfo = ConnectionInfoHelpers.GetRandomizedConnectionInfo();
}
[Test]
public void LoadingDefaultInfoUpdatesAllProperties()
[TestCaseSource(nameof(GetConnectionInfoProperties))]
public void LoadingDefaultInfoUpdatesAllProperties(PropertyInfo property)
{
var connectionInfoSource = new ConnectionInfo { Domain = _testDomain };
DefaultConnectionInfo.Instance.LoadFrom(connectionInfoSource);
Assert.That(DefaultConnectionInfo.Instance.Domain, Is.EqualTo(_testDomain));
DefaultConnectionInfo.Instance.LoadFrom(_randomizedConnectionInfo);
var valueInDestination = property.GetValue(DefaultConnectionInfo.Instance);
var valueInSource = property.GetValue(_randomizedConnectionInfo);
Assert.That(valueInDestination, Is.EqualTo(valueInSource));
}
[Test]
public void SavingDefaultConnectionInfoExportsAllProperties()
[TestCaseSource(nameof(GetConnectionInfoProperties))]
public void SavingDefaultConnectionInfoExportsAllProperties(PropertyInfo property)
{
var saveTarget = new ConnectionInfo();
DefaultConnectionInfo.Instance.Domain = _testDomain;
var randomizedValue = property.GetValue(_randomizedConnectionInfo);
property.SetValue(DefaultConnectionInfo.Instance, randomizedValue);
DefaultConnectionInfo.Instance.SaveTo(saveTarget);
Assert.That(saveTarget.Domain, Is.EqualTo(_testDomain));
var valueInDestination = property.GetValue(saveTarget);
var valueInSource = property.GetValue(DefaultConnectionInfo.Instance);
Assert.That(valueInDestination, Is.EqualTo(valueInSource));
}
[Test]
public void CanSaveEnumValuesToString()
{
const ProtocolType targetProtocol = ProtocolType.RAW;
var saveTarget = new AllStringPropertySaveTarget();
DefaultConnectionInfo.Instance.Protocol = targetProtocol;
[TestCaseSource(nameof(GetConnectionInfoProperties))]
public void CanSaveDefaultConnectionToModelWithAllStringProperties(PropertyInfo property)
{
var saveTarget = new SerializableConnectionInfoAllPropertiesOfType<string>();
// randomize default connnection values to ensure we dont get false passing tests
var randomizedValue = property.GetValue(_randomizedConnectionInfo);
property.SetValue(DefaultConnectionInfo.Instance, randomizedValue);
DefaultConnectionInfo.Instance.SaveTo(saveTarget);
Assert.That(saveTarget.Protocol, Is.EqualTo(targetProtocol.ToString()));
var valueInSource = property.GetValue(DefaultConnectionInfo.Instance).ToString();
var valueInDestination = saveTarget.GetType().GetProperty(property.Name).GetValue(saveTarget).ToString();
Assert.That(valueInDestination, Is.EqualTo(valueInSource));
}
[Test]
public void CanSaveIntegerValuesToString()
{
const int targetValue = 123;
var saveTarget = new AllStringPropertySaveTarget();
DefaultConnectionInfo.Instance.RDPMinutesToIdleTimeout = targetValue;
DefaultConnectionInfo.Instance.SaveTo(saveTarget);
Assert.That(saveTarget.RDPMinutesToIdleTimeout, Is.EqualTo(targetValue.ToString()));
}
[Test]
public void CanSaveStringValuesToString()
{
const string targetName = "hello";
var saveTarget = new AllStringPropertySaveTarget();
DefaultConnectionInfo.Instance.Username = targetName;
DefaultConnectionInfo.Instance.SaveTo(saveTarget);
Assert.That(saveTarget.Username, Is.EqualTo(targetName));
}
private class AllStringPropertySaveTarget
{
public string Username { get; set; }
public string Protocol { get; set; }
public string RDPMinutesToIdleTimeout { get; set; }
}
private static IEnumerable<PropertyInfo> GetConnectionInfoProperties()
{
return new ConnectionInfo().GetSerializableProperties();
}
}
}

View File

@@ -1,34 +1,40 @@
using mRemoteNG.Connection;
using System.Collections.Generic;
using System.Reflection;
using mRemoteNG.Connection;
using NUnit.Framework;
namespace mRemoteNGTests.Connection
{
public class DefaultConnectionInheritanceTests
public class DefaultConnectionInheritanceTests
{
[SetUp]
public void Setup()
[TestCaseSource(nameof(GetInheritanceProperties))]
public void LoadingDefaultInheritanceUpdatesAllProperties(PropertyInfo property)
{
DefaultConnectionInheritance.Instance.TurnOffInheritanceCompletely();
}
[Test]
public void LoadingDefaultInheritanceUpdatesAllProperties()
{
var inheritanceSource = new ConnectionInfoInheritance(new object(), true);
var inheritanceSource = new ConnectionInfoInheritance(new object(), true);
inheritanceSource.TurnOnInheritanceCompletely();
DefaultConnectionInheritance.Instance.LoadFrom(inheritanceSource);
Assert.That(DefaultConnectionInheritance.Instance.EverythingInherited, Is.True);
}
DefaultConnectionInheritance.Instance.TurnOffInheritanceCompletely();
[Test]
public void SavingDefaultInheritanceExportsAllProperties()
DefaultConnectionInheritance.Instance.LoadFrom(inheritanceSource);
var valueInDestination = property.GetValue(DefaultConnectionInheritance.Instance);
var valueInSource = property.GetValue(inheritanceSource);
Assert.That(valueInDestination, Is.EqualTo(valueInSource));
}
[TestCaseSource(nameof(GetInheritanceProperties))]
public void SavingDefaultInheritanceExportsAllProperties(PropertyInfo property)
{
var inheritanceDestination = new ConnectionInfoInheritance(new object(), true);
DefaultConnectionInheritance.Instance.AutomaticResize = true;
DefaultConnectionInheritance.Instance.SaveTo(inheritanceDestination);
Assert.That(inheritanceDestination.AutomaticResize, Is.True);
}
var saveTarget = new ConnectionInfoInheritance(new object(), true);
saveTarget.TurnOffInheritanceCompletely();
DefaultConnectionInheritance.Instance.TurnOnInheritanceCompletely();
DefaultConnectionInheritance.Instance.SaveTo(saveTarget);
var valueInDestination = property.GetValue(saveTarget);
var valueInSource = property.GetValue(DefaultConnectionInheritance.Instance);
Assert.That(valueInDestination, Is.EqualTo(valueInSource));
}
[Test]
public void NewInheritanceInstancesCreatedWithDefaultInheritanceValues()
@@ -38,12 +44,20 @@ namespace mRemoteNGTests.Connection
Assert.That(inheritanceInstance.Domain, Is.True);
}
[Test]
public void NewInheritanceInstancesCreatedWithAllDefaultInheritanceValues()
[TestCaseSource(nameof(GetInheritanceProperties))]
public void NewInheritanceInstancesCreatedWithAllDefaultInheritanceValues(PropertyInfo property)
{
DefaultConnectionInheritance.Instance.TurnOnInheritanceCompletely();
var inheritanceInstance = new ConnectionInfoInheritance(new object());
Assert.That(inheritanceInstance.EverythingInherited, Is.True);
}
}
var valueInDestination = property.GetValue(inheritanceInstance);
var valueInSource = property.GetValue(DefaultConnectionInheritance.Instance);
Assert.That(valueInDestination, Is.EqualTo(valueInSource));
}
private static IEnumerable<PropertyInfo> GetInheritanceProperties()
{
return new ConnectionInfoInheritance(new object(), true).GetProperties();
}
}
}

View File

@@ -0,0 +1,132 @@
using System;
using mRemoteNG.Connection;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Connection.Protocol.Http;
using mRemoteNG.Connection.Protocol.ICA;
using mRemoteNG.Connection.Protocol.RDP;
using mRemoteNG.Connection.Protocol.VNC;
namespace mRemoteNGTests.TestHelpers
{
internal class ConnectionInfoHelpers
{
private static readonly Random _random = new Random();
/// <summary>
/// Returns a <see cref="ConnectionInfo"/> object with randomized
/// values in all fields.
/// </summary>
internal static ConnectionInfo GetRandomizedConnectionInfo(bool randomizeInheritance = false)
{
var connectionInfo = new ConnectionInfo
{
// string types
Name = RandomString(),
Hostname = RandomString(),
Description = RandomString(),
Domain = RandomString(),
ExtApp = RandomString(),
Icon = RandomString(),
LoadBalanceInfo = RandomString(),
MacAddress = RandomString(),
Panel = RandomString(),
Password = RandomString(),
PostExtApp = RandomString(),
PreExtApp = RandomString(),
PuttySession = RandomString(),
RDGatewayHostname = RandomString(),
RDGatewayUsername = RandomString(),
RDGatewayDomain = RandomString(),
RDGatewayPassword = RandomString(),
UserField = RandomString(),
Username = RandomString(),
VNCProxyIP = RandomString(),
VNCProxyPassword = RandomString(),
VNCProxyUsername = RandomString(),
// bool types
AutomaticResize = RandomBool(),
CacheBitmaps = RandomBool(),
DisplayThemes = RandomBool(),
DisplayWallpaper = RandomBool(),
EnableDesktopComposition = RandomBool(),
EnableFontSmoothing = RandomBool(),
IsContainer = RandomBool(),
IsDefault = RandomBool(),
IsQuickConnect = RandomBool(),
PleaseConnect = RandomBool(),
RDPAlertIdleTimeout = RandomBool(),
RedirectDiskDrives = RandomBool(),
RedirectKeys = RandomBool(),
RedirectPorts = RandomBool(),
RedirectPrinters = RandomBool(),
RedirectSmartCards = RandomBool(),
UseConsoleSession = RandomBool(),
UseCredSsp = RandomBool(),
VNCViewOnly = RandomBool(),
// ints
Port = RandomInt(),
RDPMinutesToIdleTimeout = RandomInt(),
VNCProxyPort = RandomInt(),
// enums
Colors = RandomEnum<RdpProtocol.RDPColors>(),
ICAEncryptionStrength = RandomEnum<IcaProtocol.EncryptionStrength> (),
Protocol = RandomEnum<ProtocolType>(),
RDGatewayUsageMethod = RandomEnum<RdpProtocol.RDGatewayUsageMethod>(),
RDGatewayUseConnectionCredentials = RandomEnum<RdpProtocol.RDGatewayUseConnectionCredentials>(),
RDPAuthenticationLevel = RandomEnum<RdpProtocol.AuthenticationLevel>(),
RedirectSound = RandomEnum<RdpProtocol.RDPSounds>(),
RenderingEngine = RandomEnum<HTTPBase.RenderingEngine>(),
Resolution = RandomEnum<RdpProtocol.RDPResolutions>(),
SoundQuality = RandomEnum<RdpProtocol.RDPSoundQuality>(),
VNCAuthMode = RandomEnum<ProtocolVNC.AuthMode>(),
VNCColors = RandomEnum<ProtocolVNC.Colors>(),
VNCCompression = RandomEnum<ProtocolVNC.Compression>(),
VNCEncoding = RandomEnum<ProtocolVNC.Encoding>(),
VNCProxyType = RandomEnum<ProtocolVNC.ProxyType>(),
VNCSmartSizeMode = RandomEnum<ProtocolVNC.SmartSizeMode>(),
};
if (randomizeInheritance)
connectionInfo.Inheritance = GetRandomizedInheritance(connectionInfo);
return connectionInfo;
}
internal static ConnectionInfoInheritance GetRandomizedInheritance(ConnectionInfo parent)
{
var inheritance = new ConnectionInfoInheritance(parent, true);
foreach (var property in inheritance.GetProperties())
{
property.SetValue(inheritance, RandomBool());
}
return inheritance;
}
internal static string RandomString()
{
return Guid.NewGuid().ToString("N");
}
internal static bool RandomBool()
{
return _random.Next() % 2 == 0;
}
internal static int RandomInt()
{
return _random.Next();
}
internal static T RandomEnum<T>() where T : struct, IConvertible
{
if (!typeof(T).IsEnum)
throw new ArgumentException("T must be an enum");
var values = Enum.GetValues(typeof(T));
return (T)values.GetValue(_random.Next(values.Length));
}
}
}

View File

@@ -0,0 +1,63 @@
namespace mRemoteNGTests.TestHelpers
{
/// <summary>
/// A ConnectionInfo that has only the serializable properties as string types.
/// Only used for testing.
/// </summary>
internal class SerializableConnectionInfoAllPropertiesOfType<TType>
{
public TType Description { get; set; }
public TType Icon { get; set; }
public TType Panel { get; set; }
public TType Username { get; set; }
public TType Password { get; set; }
public TType Domain { get; set; }
public TType Protocol { get; set; }
public TType ExtApp { get; set; }
public TType PuttySession { get; set; }
public TType ICAEncryptionStrength { get; set; }
public TType UseConsoleSession { get; set; }
public TType RDPAuthenticationLevel { get; set; }
public TType RDPMinutesToIdleTimeout { get; set; }
public TType RDPAlertIdleTimeout { get; set; }
public TType LoadBalanceInfo { get; set; }
public TType RenderingEngine { get; set; }
public TType UseCredSsp { get; set; }
public TType RDGatewayUsageMethod { get; set; }
public TType RDGatewayHostname { get; set; }
public TType RDGatewayUseConnectionCredentials { get; set; }
public TType RDGatewayUsername { get; set; }
public TType RDGatewayPassword { get; set; }
public TType RDGatewayDomain { get; set; }
public TType Resolution { get; set; }
public TType AutomaticResize { get; set; }
public TType Colors { get; set; }
public TType CacheBitmaps { get; set; }
public TType DisplayWallpaper { get; set; }
public TType DisplayThemes { get; set; }
public TType EnableFontSmoothing { get; set; }
public TType EnableDesktopComposition { get; set; }
public TType RedirectKeys { get; set; }
public TType RedirectDiskDrives { get; set; }
public TType RedirectPrinters { get; set; }
public TType RedirectPorts { get; set; }
public TType RedirectSmartCards { get; set; }
public TType RedirectSound { get; set; }
public TType SoundQuality { get; set; }
public TType PreExtApp { get; set; }
public TType PostExtApp { get; set; }
public TType MacAddress { get; set; }
public TType UserField { get; set; }
public TType VNCCompression { get; set; }
public TType VNCEncoding { get; set; }
public TType VNCAuthMode { get; set; }
public TType VNCProxyType { get; set; }
public TType VNCProxyIP { get; set; }
public TType VNCProxyPort { get; set; }
public TType VNCProxyUsername { get; set; }
public TType VNCProxyPassword { get; set; }
public TType VNCColors { get; set; }
public TType VNCSmartSizeMode { get; set; }
public TType VNCViewOnly { get; set; }
}
}

View File

@@ -8,7 +8,7 @@ using NUnit.Framework;
namespace mRemoteNGTests.Tree
{
public class NodeSearcherTests
public class NodeSearcherTests
{
private NodeSearcher _nodeSearcher;
private ContainerInfo _folder1;
@@ -104,6 +104,14 @@ namespace mRemoteNGTests.Tree
_con4 = new ConnectionInfo { Name = "con4", Description="description6", Hostname="hostname6" };
_con5 = new ConnectionInfo { Name = "con5", Description="description7", Hostname="hostname7" };
_folder1.Inheritance.TurnOffInheritanceCompletely();
_con1.Inheritance.TurnOffInheritanceCompletely();
_con2.Inheritance.TurnOffInheritanceCompletely();
_folder2.Inheritance.TurnOffInheritanceCompletely();
_con3.Inheritance.TurnOffInheritanceCompletely();
_con4.Inheritance.TurnOffInheritanceCompletely();
_con5.Inheritance.TurnOffInheritanceCompletely();
connectionTreeModel.AddRootNode(root);
root.AddChildRange(new [] { _folder1, _folder2, _con5 });
_folder1.AddChildRange(new [] { _con1, _con2 });

View File

@@ -170,9 +170,11 @@
<Compile Include="Security\PasswordCreation\PasswordLengthConstraintTests.cs" />
<Compile Include="Security\RandomGeneratorTests.cs" />
<Compile Include="Security\SecureStringExtensionsTests.cs" />
<Compile Include="TestHelpers\ConnectionInfoHelpers.cs" />
<Compile Include="TestHelpers\ConnectionTreeModelBuilder.cs" />
<Compile Include="Security\XmlCryptoProviderBuilderTests.cs" />
<Compile Include="TestHelpers\FileTestHelpers.cs" />
<Compile Include="TestHelpers\SerializableConnectionInfoAllPropertiesOfType.cs" />
<Compile Include="Tools\ExternalToolsArgumentParserTests.cs" />
<Compile Include="Tools\FullyObservableCollectionTests.cs" />
<Compile Include="Tools\OptionalTests.cs" />

View File

@@ -15,7 +15,6 @@ using mRemoteNG.Connection.Protocol.Telnet;
using mRemoteNG.Connection.Protocol.VNC;
using mRemoteNG.Container;
using mRemoteNG.Tree;
using mRemoteNG.Tree.Root;
namespace mRemoteNG.Connection
@@ -127,6 +126,14 @@ namespace mRemoteNG.Connection
return filteredProperties;
}
public virtual IEnumerable<PropertyInfo> GetSerializableProperties()
{
var excludedProperties = new[] { "Parent", "Name", "Hostname", "Port", "Inheritance", "OpenConnections",
"IsContainer", "IsDefault", "PositionID", "ConstantID", "TreeNode", "IsQuickConnect", "PleaseConnect" };
return GetProperties(excludedProperties);
}
public virtual void SetParent(ContainerInfo newParent)
{
RemoveParent();

View File

@@ -1,35 +1,39 @@
using System;
using System.ComponentModel;
using System.Configuration;
using mRemoteNG.App;
namespace mRemoteNG.Connection
{
public class DefaultConnectionInfo : ConnectionInfo
public class DefaultConnectionInfo : ConnectionInfo
{
public static DefaultConnectionInfo Instance { get; } = new DefaultConnectionInfo();
private readonly string[] _excludedProperties = { "Parent", "Name", "Hostname", "Port", "Inheritance",
"OpenConnections", "IsContainer", "IsDefault", "PositionID", "ConstantID", "TreeNode", "IsQuickConnect", "PleaseConnect" };
private DefaultConnectionInfo()
{
IsDefault = true;
Inheritance = DefaultConnectionInheritance.Instance;
}
public void LoadFrom<TSource>(TSource sourceInstance, Func<string, string> propertyNameMutator = null)
{
if (propertyNameMutator == null) propertyNameMutator = a => a;
var connectionProperties = GetProperties(_excludedProperties);
if (propertyNameMutator == null)
propertyNameMutator = a => a;
var connectionProperties = GetSerializableProperties();
foreach (var property in connectionProperties)
{
try
{
var propertyFromSource = typeof(TSource).GetProperty(propertyNameMutator(property.Name));
if (propertyFromSource == null) continue;
var valueFromSource = propertyFromSource.GetValue(sourceInstance, null);
var typeConverter = TypeDescriptor.GetConverter(property.PropertyType);
if (typeConverter.CanConvertFrom(valueFromSource.GetType()))
property.SetValue(Instance, typeConverter.ConvertFrom(valueFromSource), null);
var expectedPropertyName = propertyNameMutator(property.Name);
var propertyFromSource = typeof(TSource).GetProperty(expectedPropertyName);
if (propertyFromSource == null)
throw new SettingsPropertyNotFoundException($"No property with name '{expectedPropertyName}' found.");
var valueFromSource = propertyFromSource.GetValue(sourceInstance, null);
var value = Convert.ChangeType(valueFromSource, property.PropertyType);
property.SetValue(Instance, value, null);
}
catch (Exception ex)
{
@@ -40,19 +44,25 @@ namespace mRemoteNG.Connection
public void SaveTo<TDestination>(TDestination destinationInstance, Func<string, string> propertyNameMutator = null)
{
if (propertyNameMutator == null) propertyNameMutator = (a) => a;
var inheritanceProperties = GetProperties(_excludedProperties);
foreach (var property in inheritanceProperties)
if (propertyNameMutator == null)
propertyNameMutator = (a) => a;
var connectionProperties = GetSerializableProperties();
foreach (var property in connectionProperties)
{
try
{
var propertyFromDestination = typeof(TDestination).GetProperty(propertyNameMutator(property.Name));
var localValue = property.GetValue(Instance, null);
var typeConverter = TypeDescriptor.GetConverter(property.PropertyType);
if (propertyFromDestination != null && !typeConverter.CanConvertTo(propertyFromDestination.PropertyType)) continue;
if (propertyFromDestination == null) continue;
var convertedValue = typeConverter.ConvertTo(localValue, propertyFromDestination.PropertyType);
propertyFromDestination.SetValue(destinationInstance, convertedValue, null);
var expectedPropertyName = propertyNameMutator(property.Name);
var propertyFromDestination = typeof(TDestination).GetProperty(expectedPropertyName);
if (propertyFromDestination == null)
throw new SettingsPropertyNotFoundException($"No property with name '{expectedPropertyName}' found.");
// ensure value is of correct type
var value = Convert.ChangeType(property.GetValue(Instance, null), propertyFromDestination.PropertyType);
propertyFromDestination.SetValue(destinationInstance, value, null);
}
catch (Exception ex)
{

View File

@@ -33,5 +33,5 @@ using System.Runtime.InteropServices;
// by using the '*' as shown below:
// <Assembly: AssemblyVersion("1.0.*")>
[assembly: AssemblyVersion("1.76.3.*")]
[assembly: AssemblyVersion("1.76.4.*")]
[assembly: NeutralResourcesLanguage("en")]

View File

@@ -12,7 +12,7 @@ namespace mRemoteNG {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.5.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -2698,5 +2698,29 @@ namespace mRemoteNG {
this["MultiSshToolbarVisible"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool CreateEmptyPanelOnStartUp {
get {
return ((bool)(this["CreateEmptyPanelOnStartUp"]));
}
set {
this["CreateEmptyPanelOnStartUp"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("General")]
public string StartUpPanelName {
get {
return ((string)(this["StartUpPanelName"]));
}
set {
this["StartUpPanelName"] = value;
}
}
}
}

View File

@@ -671,5 +671,11 @@
<Setting Name="MultiSshToolbarVisible" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="CreateEmptyPanelOnStartUp" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="StartUpPanelName" Type="System.String" Scope="User">
<Value Profile="(Default)">General</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -222,6 +222,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Working directory:.
/// </summary>
internal static string srtWorkingDirectory {
get {
return ResourceManager.GetString("srtWorkingDirectory", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to About.
/// </summary>
@@ -312,6 +321,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to AdvancedSecurityOptions.
/// </summary>
internal static string strAdvancedSecurityOptions {
get {
return ResourceManager.GetString("strAdvancedSecurityOptions", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Allow only a single instance of the application (mRemoteNG restart required).
/// </summary>
@@ -439,7 +457,7 @@ namespace mRemoteNG {
}
/// <summary>
/// Looks up a localized string similar to Auto save every:.
/// Looks up a localized string similar to Auto save time in minutes (0 means disabled):.
/// </summary>
internal static string strAutoSaveEvery {
get {
@@ -1628,6 +1646,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Create an empty panel when mRemoteNG starts.
/// </summary>
internal static string strCreateEmptyPanelOnStartUp {
get {
return ResourceManager.GetString("strCreateEmptyPanelOnStartUp", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Credential Editor.
/// </summary>
@@ -2544,7 +2571,7 @@ namespace mRemoteNG {
}
/// <summary>
/// Looks up a localized string similar to An error occurred while importing the file, &quot;{0}&quot;..
/// Looks up a localized string similar to An error occurred while importing the file &quot;{0}&quot;..
/// </summary>
internal static string strImportFileFailedContent {
get {
@@ -2633,6 +2660,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Import sub OUs.
/// </summary>
internal static string strImportSubOUs {
get {
return ResourceManager.GetString("strImportSubOUs", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Inactive.
/// </summary>
@@ -3011,6 +3047,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Use UTF8 encoding for RDP &quot;Load Balance Info&quot; property.
/// </summary>
internal static string strLoadBalanceInfoUseUtf8 {
get {
return ResourceManager.GetString("strLoadBalanceInfoUseUtf8", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Load from SQL failed.
/// </summary>
@@ -3056,6 +3101,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Lock toolbar positions.
/// </summary>
internal static string strLockToolbars {
get {
return ResourceManager.GetString("strLockToolbars", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Log file path.
/// </summary>
@@ -3416,6 +3470,24 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Lock Toolbar Positions.
/// </summary>
internal static string strMenuLockToolbars {
get {
return ResourceManager.GetString("strMenuLockToolbars", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Multi SSH Toolbar.
/// </summary>
internal static string strMenuMultiSshToolbar {
get {
return ResourceManager.GetString("strMenuMultiSshToolbar", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to New Connection File.
/// </summary>
@@ -3812,6 +3884,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Multi SSH toolbar.
/// </summary>
internal static string strMultiSshToolbar {
get {
return ResourceManager.GetString("strMultiSshToolbar", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to My current credentials (Windows logon information).
/// </summary>
@@ -4110,6 +4191,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to mRemoteNG Options.
/// </summary>
internal static string strOptionsPageTitle {
get {
return ResourceManager.GetString("strOptionsPageTitle", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Testing....
/// </summary>
@@ -4174,7 +4264,7 @@ namespace mRemoteNG {
}
/// <summary>
/// Looks up a localized string similar to No themes are loaded, check that the default mremoteNG themes exist in the slash themes folder.
/// Looks up a localized string similar to No themes are loaded, check that the default mremoteNG themes exist in the &apos;themes&apos; folder.
/// </summary>
internal static string strOptionsThemeErrorNoThemes {
get {
@@ -6210,6 +6300,24 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Run elevated.
/// </summary>
internal static string strRunElevated {
get {
return ResourceManager.GetString("strRunElevated", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Run elevate.
/// </summary>
internal static string strRunElevateHeader {
get {
return ResourceManager.GetString("strRunElevateHeader", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Save.
/// </summary>
@@ -6381,6 +6489,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Show on toolbar column.
/// </summary>
internal static string strShowOnToolbarColumnHeader {
get {
return ResourceManager.GetString("strShowOnToolbarColumnHeader", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Show protocols on tab names.
/// </summary>
@@ -7011,6 +7128,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Timeout (seconds).
/// </summary>
internal static string strTimeoutInSeconds {
get {
return ResourceManager.GetString("strTimeoutInSeconds", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Title.
/// </summary>
@@ -7101,6 +7227,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Try to integrate.
/// </summary>
internal static string strTryToIntegrateColumnHeader {
get {
return ResourceManager.GetString("strTryToIntegrateColumnHeader", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Type.
/// </summary>
@@ -7471,6 +7606,15 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Working directory.
/// </summary>
internal static string strWorkingDirColumnHeader {
get {
return ResourceManager.GetString("strWorkingDirColumnHeader", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to XULrunner path:.
/// </summary>
@@ -7507,15 +7651,6 @@ namespace mRemoteNG {
}
}
/// <summary>
/// Looks up a localized string similar to Timeout (seconds).
/// </summary>
internal static string TimeoutInSeconds {
get {
return ResourceManager.GetString("TimeoutInSeconds", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Unlock.
/// </summary>

View File

@@ -151,10 +151,10 @@
<value>Panel Auswahldialog immer anzeigen</value>
</data>
<data name="strAlwaysShowPanelTabs" xml:space="preserve">
<value>Palettenregister immer anzeigen</value>
<value>Panel immer anzeigen</value>
</data>
<data name="strAlwaysShowSysTrayIcon" xml:space="preserve">
<value>System Tray Icon immer anzeigen</value>
<value>Tray Icon immer anzeigen</value>
</data>
<data name="strAskUpdatesCommandAskLater" xml:space="preserve">
<value>Später nochmal fragen</value>
@@ -178,7 +178,7 @@
<value>Automatisch Sitzungsinformationen einholen</value>
</data>
<data name="strAutoSaveEvery" xml:space="preserve">
<value>Automatisch speichern jede:</value>
<value>Automatisch speichern in Minuten (0 bedeutet deaktiviert):</value>
</data>
<data name="strAutoSaveMins" xml:space="preserve">
<value>Minuten (0 bedeutet deaktiviert)</value>
@@ -424,7 +424,7 @@ VncSharp Control Version {0}</value>
<value>Kompatibilitätsproblem entdeckt</value>
</data>
<data name="strComponentsCheck" xml:space="preserve">
<value>Komponentenüberprüfung</value>
<value>Komponenten prüfen</value>
</data>
<data name="strConfigPropertyGridButtonIconClickFailed" xml:space="preserve">
<value>Bild Knopf Ereignis fehlgeschlagen!</value>
@@ -748,7 +748,7 @@ Starte mit neuer Datei.</value>
<value>Quick connect Registerkarten identifizieren, indem das Präfix "Quick:" benutzt wird</value>
</data>
<data name="strImportAD" xml:space="preserve">
<value>Aus Active Directory importieren</value>
<value>Von Active Directory importieren</value>
</data>
<data name="strImportExport" xml:space="preserve">
<value>Importieren/Exportieren</value>
@@ -817,7 +817,7 @@ Starte mit neuer Datei.</value>
<value>Beim Schließen der Verbindungen:</value>
</data>
<data name="strLabelConnect" xml:space="preserve">
<value>&amp;Direkt Verbinden:</value>
<value>&amp;Verbinden:</value>
</data>
<data name="strLabelDisplayName" xml:space="preserve">
<value>Anzeigename</value>
@@ -931,7 +931,7 @@ Starte mit neuer Datei.</value>
<value>Verbindungen</value>
</data>
<data name="strMenuConnectionsAndConfig" xml:space="preserve">
<value>Verbindungen and Konfiguration</value>
<value>Verbindungen und Konfiguration</value>
</data>
<data name="strMenuCopy" xml:space="preserve">
<value>Kopieren</value>
@@ -994,7 +994,7 @@ Starte mit neuer Datei.</value>
<value>&amp;Hilfe</value>
</data>
<data name="strMenuHelpContents" xml:space="preserve">
<value>mRemoteNG Hilfe</value>
<value>Hilfe</value>
</data>
<data name="strMenuJumpTo" xml:space="preserve">
<value>Springe zu</value>
@@ -1003,10 +1003,7 @@ Starte mit neuer Datei.</value>
<value>Starten</value>
</data>
<data name="strMenuNewConnectionFile" xml:space="preserve">
<value>Neue Konfigurationsdatei</value>
</data>
<data name="strMenuNewExternalTool" xml:space="preserve">
<value>Hinzufügen</value>
<value>Neue Verbindungsdatei</value>
</data>
<data name="strMenuNotifications" xml:space="preserve">
<value>Meldungen</value>
@@ -1021,7 +1018,7 @@ Starte mit neuer Datei.</value>
<value>Alle Löschen</value>
</data>
<data name="strMenuOpenConnectionFile" xml:space="preserve">
<value>Konfigurationsdatei öffnen...</value>
<value>Verbindungsdatei öffnen...</value>
</data>
<data name="strMenuOptions" xml:space="preserve">
<value>Optionen</value>
@@ -1033,7 +1030,7 @@ Starte mit neuer Datei.</value>
<value>Port-Scan</value>
</data>
<data name="strMenuQuickConnectToolbar" xml:space="preserve">
<value>Direkt-Verbinden-Symbolleiste</value>
<value>QuickConnect Symbolleiste</value>
</data>
<data name="strMenuReconnect" xml:space="preserve">
<value>Wiederverbinden</value>
@@ -1060,10 +1057,10 @@ Starte mit neuer Datei.</value>
<value>Layout zurücksetzen</value>
</data>
<data name="strMenuSaveConnectionFile" xml:space="preserve">
<value>Konfigurationsdatei speichern</value>
<value>Verbindungsdatei speichern</value>
</data>
<data name="strMenuSaveConnectionFileAs" xml:space="preserve">
<value>Konfigurationsdatei speichern unter...</value>
<value>Verbindungsdatei speichern unter...</value>
</data>
<data name="strMenuScreenshot" xml:space="preserve">
<value>Bildschirmschnappschuss</value>
@@ -1096,7 +1093,7 @@ Starte mit neuer Datei.</value>
<value>Chat starten (VNC)</value>
</data>
<data name="strMenuSupportForum" xml:space="preserve">
<value>Unterstützungs Forum</value>
<value>Forum</value>
</data>
<data name="strMenuTools" xml:space="preserve">
<value>E&amp;xtras</value>
@@ -1566,9 +1563,6 @@ Wenn Sie Fehler feststellen, dann sollten Sie eine neue Verbindungsdatei erstell
<data name="strQuick" xml:space="preserve">
<value>Direkt: {0}</value>
</data>
<data name="strQuickConnect" xml:space="preserve">
<value>Direkt verbinden</value>
</data>
<data name="strQuickConnectAddFailed" xml:space="preserve">
<value>Hinzufügen zur Direktverbindungshistorie fehlgeschlagen!</value>
</data>
@@ -1828,7 +1822,7 @@ Wenn Sie Fehler feststellen, dann sollten Sie eine neue Verbindungsdatei erstell
<value>Anmeldeinformationen im Tab Titel anzeigen</value>
</data>
<data name="strShowProtocolOnTabs" xml:space="preserve">
<value>Protokoll im Tab Titel anzeigen</value>
<value>Protokoll im Titel des Tab anzeigen</value>
</data>
<data name="strSingleClickOnConnectionOpensIt" xml:space="preserve">
<value>Ein einzelner Klick auf eine Verbindung öffnet diese</value>
@@ -2085,9 +2079,6 @@ Wenn Sie Fehler feststellen, dann sollten Sie eine neue Verbindungsdatei erstell
<data name="strUpdateCheckPortableEdition" xml:space="preserve">
<value>mRemoteNG Portable Edition unterstützt derzeit keine automatische Updates.</value>
</data>
<data name="strUpdateDeleteFailed" xml:space="preserve">
<value>Löschen der Aktualisierungsdatei ist gehlgeschlagen!</value>
</data>
<data name="strUpdateDownloadComplete" xml:space="preserve">
<value>Download fertiggestellt!
mRemoteNG wird nun geschlossen und die Installation gestartet.</value>
@@ -2180,6 +2171,402 @@ mRemoteNG wird nun geschlossen und die Installation gestartet.</value>
<value>Ja</value>
</data>
<data name="strMenuReconnectAll" xml:space="preserve">
<value>Wiederverbinden von allen offenen Verbindungen</value>
<value>Wiederverbinden aller offener Verbindungen</value>
</data>
</root>
<data name="strButtonLaunch" xml:space="preserve">
<value>&amp;Starten</value>
</data>
<data name="strCommandOpenConnectionFile" xml:space="preserve">
<value>Eine Verbindungsdatei öffnen</value>
</data>
<data name="strConnectNoCredentials" xml:space="preserve">
<value>Ohne Anmeldedaten verbinden</value>
</data>
<data name="strDontConnectToConsoleSessionMenuItem" xml:space="preserve">
<value>Nicht zu Konsolensitzung verbinden</value>
</data>
<data name="strErrorCouldNotLaunchPutty" xml:space="preserve">
<value>PuTTY konnte nicht gestartet werden</value>
</data>
<data name="strExportEverything" xml:space="preserve">
<value>Export alles</value>
</data>
<data name="strExportFile" xml:space="preserve">
<value>Export Datei</value>
</data>
<data name="strExportProperties" xml:space="preserve">
<value>Export Eigeschaften</value>
</data>
<data name="strFilterAllImportable" xml:space="preserve">
<value>Alle importierbaren Dateien</value>
</data>
<data name="strImportFileFailedMainInstruction" xml:space="preserve">
<value>Import fehlgeschlagen</value>
</data>
<data name="strImportFromFileMenuItem" xml:space="preserve">
<value>Von &amp;Datei importieren</value>
</data>
<data name="strImportLocationContent" xml:space="preserve">
<value>Wo sollen die importierten Objekte platziert werden?</value>
</data>
<data name="strImportLocationMainInstruction" xml:space="preserve">
<value>Import Ziel</value>
</data>
<data name="strOptionsKeyboardButtonDelete" xml:space="preserve">
<value>&amp;Löschen</value>
</data>
<data name="strOptionsKeyboardButtonNew" xml:space="preserve">
<value>&amp;Neu</value>
</data>
<data name="strOptionsKeyboardButtonReset" xml:space="preserve">
<value>&amp;Neu</value>
</data>
<data name="strOptionsKeyboardCommandsNextTab" xml:space="preserve">
<value>Nächster Tab</value>
</data>
<data name="strOptionsKeyboardGroupModifyShortcut" xml:space="preserve">
<value>Vorheriger Tab</value>
</data>
<data name="strOptionsProxyTesting" xml:space="preserve">
<value>Teste...</value>
</data>
<data name="strOptionsTabKeyboard" xml:space="preserve">
<value>Tastatur</value>
</data>
<data name="strUpdateCheckFailedLabel" xml:space="preserve">
<value>Überprüfung fehlgeschlagen</value>
</data>
<data name="strUpdateCheckingLabel" xml:space="preserve">
<value>Prüfe auf Updates...</value>
</data>
<data name="strEncryptionEngine" xml:space="preserve">
<value>Verschlüsselungs-Engine</value>
</data>
<data name="strTabSecurity" xml:space="preserve">
<value>Sicherheit</value>
</data>
<data name="strRDPSoundQualityDynamic" xml:space="preserve">
<value>Dynamisch</value>
</data>
<data name="strRDPSoundQualityHigh" xml:space="preserve">
<value>Hoch</value>
</data>
<data name="strRDPSoundQualityMedium" xml:space="preserve">
<value>Mittel</value>
</data>
<data name="strPropertyNameSoundQuality" xml:space="preserve">
<value>Ton Qualität</value>
</data>
<data name="strUpdatePortableDownloadComplete" xml:space="preserve">
<value>Download abgeschlossen!</value>
</data>
<data name="strRemove" xml:space="preserve">
<value>Entfernen</value>
</data>
<data name="strTitle" xml:space="preserve">
<value>Titel</value>
</data>
<data name="strOpenFile" xml:space="preserve">
<value>Datei öffnen</value>
</data>
<data name="strHttpsInsecureAllowAlways" xml:space="preserve">
<value>Immer erlauben</value>
</data>
<data name="strHttpsInsecureAllowOnce" xml:space="preserve">
<value>Ein Mal erlauben</value>
</data>
<data name="strHttpsInsecureDontAllow" xml:space="preserve">
<value>Nie erlauben</value>
</data>
<data name="IncorrectPassword" xml:space="preserve">
<value>Falsches Passwort</value>
</data>
<data name="Source" xml:space="preserve">
<value>Qualle</value>
</data>
<data name="strBack" xml:space="preserve">
<value>Zurück</value>
</data>
<data name="strCreateAndOpenNewFile" xml:space="preserve">
<value>Erstelle und öffne neue Datei</value>
</data>
<data name="strOpenADifferentFile" xml:space="preserve">
<value>Andere Datei öffnen</value>
</data>
<data name="strCredentialManagerUpgradeDescription" xml:space="preserve">
<value>In v1.76 haben wir ein Berechtigungsverwaltungssystem eingeführt. Diese Funktion erfordert eine erhebliche Änderung bei der Speicherung und Interaktion mit Anmeldeinformationen in mRemoteNG. Sie müssen eine Aktualisierung Ihrer mRemoteNG-Verbindungsdatei durchführen.
Diese Seite führt Sie durch den Prozess der Aktualisierung Ihrer Verbindungsdatei oder gibt Ihnen die Möglichkeit, eine andere Verbindungsdatei zu öffnen, wenn Sie das Upgrade nicht durchführen möchten.</value>
</data>
<data name="ConfigurationCreateNew" xml:space="preserve">
<value>Neue Verbindungsdatei erstellen</value>
</data>
<data name="strCommandExitProgram" xml:space="preserve">
<value>B&amp;eende {0}</value>
</data>
<data name="strCommandTryAgain" xml:space="preserve">
<value>&amp;Nochmal versuchen</value>
</data>
<data name="strExternalToolDefaultName" xml:space="preserve">
<value>Neues externes Programm</value>
</data>
<data name="strLoadFromSqlFailedContent" xml:space="preserve">
<value>Die Verbindungsinformationen konnten nicht vom SQL-Server geladen werden.</value>
</data>
<data name="strOptionsKeyboardCommandsPreviousTab" xml:space="preserve">
<value>Vorheriger Tab</value>
</data>
<data name="strOptionsKeyboardLabelKeyboardShortcuts" xml:space="preserve">
<value>Tataturkürzel</value>
</data>
<data name="strPasswordStatusMustMatch" xml:space="preserve">
<value>Beide Passwörter müssen übereinstimmen</value>
</data>
<data name="strPasswordStatusTooShort" xml:space="preserve">
<value>Das Passwort muss mindestens 3 Zeichen lang sein.</value>
</data>
<data name="strPortScanComplete" xml:space="preserve">
<value>Port-Scan abgeschlossen.</value>
</data>
<data name="strPropertyDescriptionAutomaticResize" xml:space="preserve">
<value>Wählen Sie aus, ob die Größe der Verbindung automatisch angepasst werden soll, wenn die Fenstergröße geändert oder der Vollbildmodus umgeschaltet wird. Benötigt RDC 8.0 oder höher.</value>
</data>
<data name="strPropertyDescriptionLoadBalanceInfo" xml:space="preserve">
<value>Gibt die Lastausgleichsinformationen an, die von Lastenausgleichsroutern verwendet werden, um den besten Server auszuwählen.</value>
</data>
<data name="strPropertyNameLoadBalanceInfo" xml:space="preserve">
<value>Lastausgleichsinfo</value>
</data>
<data name="strTitlePasswordWithName" xml:space="preserve">
<value>Passwort für {0}</value>
</data>
<data name="strRDPOverallConnectionTimeout" xml:space="preserve">
<value>RDP-Verbindungs-Timeout:</value>
</data>
<data name="strNodeAlreadyInFolder" xml:space="preserve">
<value>Dieser Knoten ist bereits im Verzeichnis</value>
</data>
<data name="strNodeCannotDragOnSelf" xml:space="preserve">
<value>Knoten kann nicht auf sich selbst gezogen werden.</value>
</data>
<data name="strNodeCannotDragParentOnChild" xml:space="preserve">
<value>Elternknoten kann nicht auf Kindknoten gezogen werden.</value>
</data>
<data name="strNodeNotDraggable" xml:space="preserve">
<value>Dieser Knoten ist nicht ziehbar.</value>
</data>
<data name="strEncryptionBlockCipherMode" xml:space="preserve">
<value>Block Cipher-Modus</value>
</data>
<data name="strShowTheseMessageTypes" xml:space="preserve">
<value>Zeige diese Nachrichtentypen</value>
</data>
<data name="ConnectionFileNotFound" xml:space="preserve">
<value>Die Verbindungsdatei konnte nicht gefunden werden.</value>
</data>
<data name="ConfigurationImportFile" xml:space="preserve">
<value>Existierende Datei importieren</value>
</data>
<data name="ConnectionSuccessful" xml:space="preserve">
<value>Verbindung erfolgreich</value>
</data>
<data name="DatabaseNotAvailable" xml:space="preserve">
<value>Datenbank '{0}' nicht verfügbar.</value>
</data>
<data name="SaveConnectionsAfterEveryEdit" xml:space="preserve">
<value>Verbindungen nach jeder Änderung speichern</value>
</data>
<data name="FilterSearchMatchesInConnectionTree" xml:space="preserve">
<value>Suchergebnisse in Verbindungen filtern</value>
</data>
<data name="TestConnection" xml:space="preserve">
<value>Teste Verbindung</value>
</data>
<data name="strTimeoutInSeconds" xml:space="preserve">
<value>Time-Out (Sekunden)</value>
</data>
<data name="strOptionsKeyboardButtonResetAll" xml:space="preserve">
<value>&amp;Alles zurücksetzen</value>
</data>
<data name="strPropertyNameAutomaticResize" xml:space="preserve">
<value>Automatische Größenanpassung</value>
</data>
<data name="strPuttySessionSettings" xml:space="preserve">
<value>PuTTY Sitzungseinstellungen</value>
</data>
<data name="strShowOnToolbar" xml:space="preserve">
<value>Auf der Toolbar anzeigen</value>
</data>
<data name="strAccept" xml:space="preserve">
<value>Akzeptieren</value>
</data>
<data name="strCredentialEditor" xml:space="preserve">
<value>Hinzufügen</value>
</data>
<data name="strAssignedCredential" xml:space="preserve">
<value>Zugewiesene Anmeldedaten</value>
</data>
<data name="strHttpsInsecurePromptTitle" xml:space="preserve">
<value>Unsichere Zertifikate erlauben?</value>
</data>
<data name="Unlock" xml:space="preserve">
<value>Entsperren</value>
</data>
<data name="strOptionsThemeEnableTheming" xml:space="preserve">
<value>Themes aktivieren</value>
</data>
<data name="strOptionsThemeNewThemeCaption" xml:space="preserve">
<value>Neuer Thema Name</value>
</data>
<data name="TestingConnection" xml:space="preserve">
<value>Teste Verbindung</value>
</data>
<data name="strExportToFileMenuItem" xml:space="preserve">
<value>In Datei &amp;exportieren...</value>
</data>
<data name="strImportFileFailedContent" xml:space="preserve">
<value>Ein Fehler ist während des Imports der Datei {0} aufgetreten.</value>
</data>
<data name="strMenuLockToolbars" xml:space="preserve">
<value>Symbolleisten sperren</value>
</data>
<data name="strMenuMultiSshToolbar" xml:space="preserve">
<value>Multi-SSH Symbolleiste</value>
</data>
<data name="strAdvancedSecurityOptions" xml:space="preserve">
<value>Erweiterte Sicherheitsoptionen</value>
</data>
<data name="strLogTheseMessageTypes" xml:space="preserve">
<value>Diese Nachrichtentypen protokollieren</value>
</data>
<data name="strOptionsThemeThemeChaangeWarning" xml:space="preserve">
<value>Warnung! Ein Neustart ist notwendig um ein Theme zu deaktivieren oder anzuwenden</value>
</data>
<data name="strOptionsThemeErrorNoThemes" xml:space="preserve">
<value>
Es werden keine Themes geladen, vergewissern Sie sich, dass das standard mremoteNG-Theme im Ordner 'themes' vorhanden ist</value>
</data>
<data name="LoginFailedForUser" xml:space="preserve">
<value>Login fehlgeschlagen für Benutzer '{0}'.</value>
</data>
<data name="strOptionsPageTitle" xml:space="preserve">
<value>mRemoteNG Optionen</value>
</data>
<data name="strImportLocationCommandButtons" xml:space="preserve">
<value>Unter dem Stamm {0} {1} | Unter dem ausgewählten Ordner {0} {2}</value>
</data>
<data name="strMenuNewExternalTool" xml:space="preserve">
<value>Neues externes Tool</value>
</data>
<data name="strMenuSessionRetrieve" xml:space="preserve">
<value>Abrufen</value>
</data>
<data name="strUpdateGetChangeLogFailed" xml:space="preserve">
<value>Das Change-Log konnte nicht herunter geladen werden.</value>
</data>
<data name="strPropertyDescriptionSoundQuality" xml:space="preserve">
<value>Wählen Sie die vom Protokoll bereitgestellte Klangqualität: Dynamisch, Mittel, Hoch</value>
</data>
<data name="strPropertyDescriptionRDPMinutesToIdleTimeout" xml:space="preserve">
<value>Die Anzahl der Minuten, die die RDP-Sitzung im Leerlauf verbleibt, bevor sie automatisch getrennt wird (0 bedeutet kein Limit)</value>
</data>
<data name="strPropertyNameRDPMinutesToIdleTimeout" xml:space="preserve">
<value>Minuten zum Leerlauf</value>
</data>
<data name="strAdd" xml:space="preserve">
<value>Hinzufügen</value>
</data>
<data name="strPropertyDescriptionCredential" xml:space="preserve">
<value>Auswählen welche Anmeldeinformationen für diese Verbindung verwendet werden sollen.</value>
</data>
<data name="strConfirmDeleteCredentialRecord" xml:space="preserve">
<value>Möchten Sie die Anmeldeinformationen {0} wirklich löschen?</value>
</data>
<data name="strFindMatchingCredentialFailed" xml:space="preserve">
<value>
Es konnte kein Anmeldedatensatz mit der ID "{0}" für den Verbindungsdatensatz mit dem Namen "{1}" gefunden werden.</value>
</data>
<data name="strPropertyDescriptionRDPAlertIdleTimeout" xml:space="preserve">
<value>Wählen Sie, ob eine Benachrichtigung empfangen werden soll, nachdem die RDP-Sitzung aufgrund von Inaktivität getrennt wurde</value>
</data>
<data name="strPropertyNameRDPAlertIdleTimeout" xml:space="preserve">
<value>Benachrichtigung bei Leerlauftrennung</value>
</data>
<data name="strPasswordConstainsSpecialCharactersConstraintHint" xml:space="preserve">
<value>Das Passwort muss mindestens {0} der folgenden Zeichen enthalten: {1}</value>
</data>
<data name="strPasswordContainsLowerCaseConstraintHint" xml:space="preserve">
<value>Das Passwort muss mindestens {0} Kleinbuchstaben enthalten</value>
</data>
<data name="strPasswordContainsNumbersConstraint" xml:space="preserve">
<value>Passwort muss mindestens {0} Nummer (n) enthalten</value>
</data>
<data name="strPasswordContainsUpperCaseConstraintHint" xml:space="preserve">
<value>Passwort muss mindestens {0} Großbuchstaben enthalten</value>
</data>
<data name="strPasswordLengthConstraintHint" xml:space="preserve">
<value>
Die Passwortlänge muss zwischen {0} und {1} liegen</value>
</data>
<data name="strChooseLogPath" xml:space="preserve">
<value>
Wählen Sie einen Pfad für die mRemoteNG-Protokolldatei</value>
</data>
<data name="strLogFilePath" xml:space="preserve">
<value>Protokollierungspfad</value>
</data>
<data name="strChoosePath" xml:space="preserve">
<value>Pfad wählen</value>
</data>
<data name="strUseDefault" xml:space="preserve">
<value>Standard verwenden</value>
</data>
<data name="strLogging" xml:space="preserve">
<value>Protokollierung</value>
</data>
<data name="strLogToAppDir" xml:space="preserve">
<value>In das Anwendungsverzeichnis protokollieren</value>
</data>
<data name="strHttpsInsecurePrompt" xml:space="preserve">
<value>Unsicheres Zertifikat für URL zulassen: {0}?</value>
</data>
<data name="RepositoryIsUnlocked" xml:space="preserve">
<value>Das ausgewählte Repository ist entsperrt</value>
</data>
<data name="Unlocking" xml:space="preserve">
<value>Entsperren</value>
</data>
<data name="UnlockCredentialRepository" xml:space="preserve">
<value>Entsperre Credential Repository</value>
</data>
<data name="PromptUnlockCredReposOnStartup" xml:space="preserve">
<value>Auffordern das Credential Repository beim Start zu entsperren</value>
</data>
<data name="strConnectionFilePath" xml:space="preserve">
<value>Verbindungsdateipfad</value>
</data>
<data name="CredentialUnavailable" xml:space="preserve">
<value>Anmeldeinformationen nicht verfügbar</value>
</data>
<data name="strOptionsThemeDeleteConfirmation" xml:space="preserve">
<value>Soll das Theme wirklich gelöscht werden?</value>
</data>
<data name="strOptionsThemeNewThemeError" xml:space="preserve">
<value>Das Theme kann nicht erstellt werden, Name bereits vorhanden oder Sonderzeichen im Namen</value>
</data>
<data name="strOptionsThemeNewThemeText" xml:space="preserve">
<value>Namen des neuen Theme angeben</value>
</data>
<data name="CouldNotFindExternalTool" xml:space="preserve">
<value>Externes Tool mit Namen "{0}" konnte nicht gefunden werden</value>
</data>
<data name="ConfigurationCustomPath" xml:space="preserve">
<value>Eigenen Pfad verwenden</value>
</data>
<data name="ServerNotAccessible" xml:space="preserve">
<value>Server '{0}' nicht erreichbar</value>
</data>
<data name="LoadBalanceInfoUseUtf8" xml:space="preserve">
<value>Verwenden Sie die UTF8-Codierung für die RDP-Eigenschaft "Load Balance Info"</value>
</data>
</root>

View File

@@ -1154,7 +1154,7 @@ Ver el articulo de soporte de Microsoft en http://support.microsoft.com/kb/81183
<value>Sin SmartSize</value>
</data>
<data name="strNoUpdateAvailable" xml:space="preserve">
<value>Sin actualizaciones dosponibles</value>
<value>Sin actualizaciones disponibles</value>
</data>
<data name="strOldConffile" xml:space="preserve">
<value>Está intentando cargar un archivo de conexión que ha sido creado con una versión muy antigua de mRemote, ésto puede causar un error en tiempo de ejecución.
@@ -2069,4 +2069,4 @@ mRemoteNG ahora se cerrará y comenzará la instalación.</value>
<data name="strYes" xml:space="preserve">
<value>Sí</value>
</data>
</root>
</root>

View File

@@ -181,7 +181,7 @@
<value>Automatically get session information</value>
</data>
<data name="strAutoSaveEvery" xml:space="preserve">
<value>Auto save every:</value>
<value>Auto save time in minutes (0 means disabled):</value>
</data>
<data name="strAutoSaveMins" xml:space="preserve">
<value>Minutes (0 means disabled)</value>
@@ -836,7 +836,7 @@ See the Microsoft Support article at http://support.microsoft.com/kb/811833 for
<value>Import/Export</value>
</data>
<data name="strImportFileFailedContent" xml:space="preserve">
<value>An error occurred while importing the file, "{0}".</value>
<value>An error occurred while importing the file "{0}".</value>
</data>
<data name="strImportFileFailedMainInstruction" xml:space="preserve">
<value>Import failed</value>
@@ -2584,7 +2584,7 @@ This page will walk you through the process of upgrading your connections file o
<value>Warning: Restart is required to disable the themes or to completely apply a new one</value>
</data>
<data name="strOptionsThemeErrorNoThemes" xml:space="preserve">
<value>No themes are loaded, check that the default mremoteNG themes exist in the slash themes folder</value>
<value>No themes are loaded, check that the default mremoteNG themes exist in the 'themes' folder</value>
</data>
<data name="CouldNotFindExternalTool" xml:space="preserve">
<value>Could not find external tool with name "{0}"</value>
@@ -2631,7 +2631,52 @@ This page will walk you through the process of upgrading your connections file o
<data name="LoadBalanceInfoUseUtf8" xml:space="preserve">
<value>Use UTF8 encoding for RDP "Load Balance Info" property</value>
</data>
<data name="TimeoutInSeconds" xml:space="preserve">
<data name="strTimeoutInSeconds" xml:space="preserve">
<value>Timeout (seconds)</value>
</data>
<data name="srtWorkingDirectory" xml:space="preserve">
<value>Working directory:</value>
</data>
<data name="strRunElevated" xml:space="preserve">
<value>Run elevated</value>
</data>
<data name="strRunElevateHeader" xml:space="preserve">
<value>Run elevate</value>
</data>
<data name="strShowOnToolbarColumnHeader" xml:space="preserve">
<value>Show on toolbar column</value>
</data>
<data name="strTryToIntegrateColumnHeader" xml:space="preserve">
<value>Try to integrate</value>
</data>
<data name="strWorkingDirColumnHeader" xml:space="preserve">
<value>Working directory</value>
</data>
<data name="strLockToolbars" xml:space="preserve">
<value>Lock toolbar positions</value>
</data>
<data name="strMultiSshToolbar" xml:space="preserve">
<value>Multi SSH toolbar</value>
</data>
<data name="strImportSubOUs" xml:space="preserve">
<value>Import sub OUs</value>
</data>
<data name="strMenuLockToolbars" xml:space="preserve">
<value>Lock Toolbar Positions</value>
</data>
<data name="strMenuMultiSshToolbar" xml:space="preserve">
<value>Multi SSH Toolbar</value>
</data>
<data name="strAdvancedSecurityOptions" xml:space="preserve">
<value>AdvancedSecurityOptions</value>
</data>
<data name="strOptionsPageTitle" xml:space="preserve">
<value>mRemoteNG Options</value>
</data>
<data name="strLoadBalanceInfoUseUtf8" xml:space="preserve">
<value>Use UTF8 encoding for RDP "Load Balance Info" property</value>
</data>
<data name="strCreateEmptyPanelOnStartUp" xml:space="preserve">
<value>Create an empty panel when mRemoteNG starts</value>
</data>
</root>

View File

@@ -187,13 +187,13 @@
<value>Текущая версия</value>
</data>
<data name="strButtonBrowse" xml:space="preserve">
<value>&amp;Обзор ...</value>
<value>&amp;Обзор...</value>
</data>
<data name="strButtonCancel" xml:space="preserve">
<value>&amp;Отменить</value>
</data>
<data name="strButtonChange" xml:space="preserve">
<value>Измененить</value>
<value>Изменить</value>
</data>
<data name="strButtonClose" xml:space="preserve">
<value>&amp;Закрыть</value>
@@ -302,8 +302,8 @@
<value>GeckoFx был найден и установлен правильно.</value>
</data>
<data name="strCcICAFailed" xml:space="preserve">
<value>ICA требуется установленный XenDesktop Online Plugin и зарегистрированная библиотека wfica.ocx. Вы можете скачать клиент здесь: http://www.citrix.com/download/
Если у вас есть установленный XenDesktop Online Plugin и ничего не работает, попробуйте зарегистрировать wfica.ocx вручную.
<value>ICA требуется установленный XenDesktop Online Plugin и зарегистрированная библиотека wfica.ocx. Вы можете скачать клиент здесь: http://www.citrix.com/download/
Если у вас есть установленный XenDesktop Online Plugin и ничего не работает, попробуйте зарегистрировать wfica.ocx вручную.
Для этого откройте (Пуск - Выполнить) и введите следующую команду: regsvr32 "C:\Program Files\Citrix\ICA Client\wfica.ocx" (где C:\Program Files\Citrix \ICA Client\ это путь к XenDesktop Online Plugin).
Если у вас все же не работает ICA в mRemoteNG обратитесь на форум mRemoteNG http://forum.mremoteng.org/ "</value>
</data>
@@ -319,7 +319,7 @@
Убедитесь, что putty.exe есть в папке с mRemoteNG (по умолчанию: C:\Program Files\mRemoteNG\), или что вы указали правильный путь к исполняемому файлу PuTTY в Инструменты - Опции - Дополнительно - Путь к PuTTY)</value>
</data>
<data name="strCcPuttyOK" xml:space="preserve">
<value>Испольняемый файл PuTTY найден и готов к использованию.</value>
<value>Исполняемый файл PuTTY найден и готов к использованию.</value>
</data>
<data name="strCcRDPFailed" xml:space="preserve">
<value>Для правильной работы RDP необходимо иметь установленный Remote Desktop Connection (Terminal Services Client) 8.0. Вы можете получить его здесь: https://support.microsoft.com/kb/2592687
@@ -418,7 +418,7 @@
<value>Невозможно разобрать аргументы командной строки!</value>
</data>
<data name="strCompatibilityLenovoAutoScrollUtilityDetected" xml:space="preserve">
<value>{0} обнаружено что на этой системе работает утилита Lenovo Auto Scroll. Известно, что эта утилита вызвает проблемы с {0}. Рекомендуется отключить или удалить ее.</value>
<value>{0} обнаружено что на этой системе работает утилита Lenovo Auto Scroll. Известно, что эта утилита вызывает проблемы с {0}. Рекомендуется отключить или удалить ее.</value>
</data>
<data name="strCompatibilityProblemDetected" xml:space="preserve">
<value>Обнаружена проблема совместимости</value>
@@ -569,7 +569,7 @@
<value>Не подключать без проверки</value>
</data>
<data name="strDoubleClickTabClosesIt" xml:space="preserve">
<value>Двойной щелчок для закрытия вкладки</value>
<value>Двойной щелчок для закрытия вкладки</value>
</data>
<data name="strDownloadAndInstall" xml:space="preserve">
<value>Загрузка и установка</value>
@@ -605,7 +605,7 @@
<value>Конечный IP</value>
</data>
<data name="strEndPort" xml:space="preserve">
<value>Конечн. порт</value>
<value>Конечный порт</value>
</data>
<data name="strErrorAddExternalToolsToToolBarFailed" xml:space="preserve">
<value>Ошибка добавления внешнего приложения на Панель (frmMain). {0}</value>
@@ -711,7 +711,7 @@
<value>Соединение</value>
</data>
<data name="strGroupboxExternalToolProperties" xml:space="preserve">
<value>Свройства внешнего инструмента</value>
<value>Свойства внешнего инструмента</value>
</data>
<data name="strGroupboxFiles" xml:space="preserve">
<value>Файлы</value>
@@ -825,7 +825,7 @@
<value>&amp;Подключение:</value>
</data>
<data name="strLabelDisplayName" xml:space="preserve">
<value>Отображаемое имя</value>
<value>Отображаемое имя:</value>
</data>
<data name="strLabelDomain" xml:space="preserve">
<value>Домен:</value>
@@ -855,7 +855,7 @@
<value>Нажмите на эту кнопку для настройки сессий PuTTY:</value>
</data>
<data name="strLabelPuttyTimeout" xml:space="preserve">
<value>Max. PuTTY &amp;&amp; Integrated Ext. Apps wait time:</value>
<value>Максимальное время ожидание PuTTY и внешнего приложения:</value>
</data>
<data name="strLabelReleasedUnderGPL" xml:space="preserve">
<value>Выпущено под лицензией GNU General Public License (GPL)</value>
@@ -897,7 +897,7 @@
<value>Загрузить из XML не удалось!</value>
</data>
<data name="strLocalFile" xml:space="preserve">
<value>Локал. файл</value>
<value>Локальный файл</value>
</data>
<data name="strLocalFileDoesNotExist" xml:space="preserve">
<value>Локальный файл не существует!</value>
@@ -951,10 +951,10 @@
<value>Удалить...</value>
</data>
<data name="strMenuDeleteConnection" xml:space="preserve">
<value>Удалить подключение ...</value>
<value>Удалить подключение...</value>
</data>
<data name="strMenuDeleteExternalTool" xml:space="preserve">
<value>Удалить Внешний инструмент...</value>
<value>Удалить внешний инструмент...</value>
</data>
<data name="strMenuDeleteFolder" xml:space="preserve">
<value>Удалить папку...</value>
@@ -1270,7 +1270,7 @@
<value>Это имя, которое будет отображаться в дереве подключений.</value>
</data>
<data name="strPropertyDescriptionPanel" xml:space="preserve">
<value>Устанавить панель, в которой будет открыто подключение.</value>
<value>Установить панель, в которой будет открыто подключение.</value>
</data>
<data name="strPropertyDescriptionPassword" xml:space="preserve">
<value>Введите пароль.</value>
@@ -1579,7 +1579,7 @@
<value>Ошибка добавления Быстрого подключения!</value>
</data>
<data name="strQuickConnectFailed" xml:space="preserve">
<value>Созданить быстрое подключение не удалось</value>
<value>Создать быстрое подключение не удалось</value>
</data>
<data name="strRadioCloseWarnAll" xml:space="preserve">
<value>Предупреждать при закрытии подключений</value>
@@ -1705,7 +1705,7 @@
<value>Ошибка сессии!</value>
</data>
<data name="strRdpReconnectCount" xml:space="preserve">
<value>К-ство переподключений RDP:</value>
<value>Количество переподключений RDP:</value>
</data>
<data name="strRdpSetAuthenticationLevelFailed" xml:space="preserve">
<value>RDP: Установить уровень проверки подлинности не удалась!</value>
@@ -1768,7 +1768,7 @@
<value>Обновление</value>
</data>
<data name="strRemoteFile" xml:space="preserve">
<value>Удаленн. файл</value>
<value>Удалить файл</value>
</data>
<data name="strRemoveAll" xml:space="preserve">
<value>Удалить все</value>
@@ -1885,7 +1885,7 @@
<value>Фоновая передача по SSH - не удалась!</value>
</data>
<data name="strSSHTranferSuccessful" xml:space="preserve">
<value>Передано успешо!</value>
<value>Передано успешно!</value>
</data>
<data name="strSSHTransferEndFailed" xml:space="preserve">
<value>Передача по SSH завершена с ошибкой (UI.Window.SSHTransfer)!</value>
@@ -1897,7 +1897,7 @@
<value>Начальный IP</value>
</data>
<data name="strStartPort" xml:space="preserve">
<value>Начальн. порт</value>
<value>Начальный порт</value>
</data>
<data name="strStartupExit" xml:space="preserve">
<value>Запуск / Выход</value>
@@ -2080,7 +2080,7 @@
<value>Требуется обновление mRemoteNG</value>
</data>
<data name="strUpdateCheck" xml:space="preserve">
<value>mRemoteNG может периодически подключаться к сайту mRemoteNG для проверки наличия обновлений.</value>
<value>mRemoteNG может периодически подключаться к сайту mRemoteNG для проверки наличия обновлений.</value>
</data>
<data name="strUpdateCheckCompleteFailed" xml:space="preserve">
<value>Не удалось завершить проверку обновлений!</value>
@@ -2191,4 +2191,76 @@ mRemoteNG сейчас прекратит работу и начнет проц
<data name="strMenuReconnectAll" xml:space="preserve">
<value>Переподключить все открытые соединения</value>
</data>
<data name="srtWorkingDirectory" xml:space="preserve">
<value>Рабочий каталог:</value>
</data>
<data name="strButtonLaunch" xml:space="preserve">
<value>Запуск</value>
</data>
<data name="strRunElevated" xml:space="preserve">
<value>Выполнить с повышенными правами</value>
</data>
<data name="strRunElevateHeader" xml:space="preserve">
<value>Выполнить с повышенными правами</value>
</data>
<data name="strShowOnToolbar" xml:space="preserve">
<value>Отобразить на панели инструментов:</value>
</data>
<data name="strShowOnToolbarColumnHeader" xml:space="preserve">
<value>Отобразить на панели инструментов</value>
</data>
<data name="strTryToIntegrateColumnHeader" xml:space="preserve">
<value>Попробовать интегрировать</value>
</data>
<data name="strWorkingDirColumnHeader" xml:space="preserve">
<value>Рабочий каталог</value>
</data>
<data name="strExportToFileMenuItem" xml:space="preserve">
<value>Экспорт в файл...</value>
</data>
<data name="strImportFromFileMenuItem" xml:space="preserve">
<value>Импорт из файла...</value>
</data>
<data name="strImportMenuItem" xml:space="preserve">
<value>Импорт</value>
</data>
<data name="strLockToolbars" xml:space="preserve">
<value>Закрепить позицию панели инструментов</value>
</data>
<data name="strMultiSshToolbar" xml:space="preserve">
<value>Панель инструментов SSH</value>
</data>
<data name="strAssignedCredential" xml:space="preserve">
<value>Назначенные учетные данные</value>
</data>
<data name="strExportEverything" xml:space="preserve">
<value>Экспортировать все</value>
</data>
<data name="strExportFile" xml:space="preserve">
<value>Файл экспорта</value>
</data>
<data name="strExportItems" xml:space="preserve">
<value>Пункт импорта</value>
</data>
<data name="strExportProperties" xml:space="preserve">
<value>Экспорт свойств</value>
</data>
<data name="strExportSelectedConnection" xml:space="preserve">
<value>Экспорт выбранного соединения</value>
</data>
<data name="strExportSelectedFolder" xml:space="preserve">
<value>Экспорт выбранной папки</value>
</data>
<data name="strFileFormatLabel" xml:space="preserve">
<value>Формат файла:</value>
</data>
<data name="strImportSubOUs" xml:space="preserve">
<value>Импорт подразделений</value>
</data>
<data name="strLoadBalanceInfoUseUtf8" xml:space="preserve">
<value>Используйте кодировку UTF8 для свойства RDP "Load Balance Info"</value>
</data>
<data name="strTimeoutInSeconds" xml:space="preserve">
<value>Время ожидания в секундах:</value>
</data>
</root>

View File

@@ -8,7 +8,7 @@ using mRemoteNG.Tree.Root;
namespace mRemoteNG.Tree
{
public sealed class ConnectionTreeModel : INotifyCollectionChanged, INotifyPropertyChanged
public sealed class ConnectionTreeModel : INotifyCollectionChanged, INotifyPropertyChanged
{
public List<ContainerInfo> RootNodes { get; } = new List<ContainerInfo>();
@@ -30,7 +30,7 @@ namespace mRemoteNG.Tree
RaiseCollectionChangedEvent(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, rootNode));
}
public IEnumerable<ConnectionInfo> GetRecursiveChildList()
public IReadOnlyList<ConnectionInfo> GetRecursiveChildList()
{
var list = new List<ConnectionInfo>();
foreach (var rootNode in RootNodes)

View File

@@ -5,7 +5,7 @@ using mRemoteNG.Connection;
namespace mRemoteNG.Tree
{
public class NodeSearcher
public class NodeSearcher
{
private readonly ConnectionTreeModel _connectionTreeModel;
@@ -22,7 +22,7 @@ namespace mRemoteNG.Tree
{
ResetMatches();
if (searchText == "") return Matches;
var nodes = (List<ConnectionInfo>)_connectionTreeModel.GetRecursiveChildList();
var nodes = _connectionTreeModel.GetRecursiveChildList();
var searchTextLower = searchText.ToLowerInvariant();
foreach (var node in nodes)
{

View File

@@ -5,6 +5,7 @@ using System.Windows.Forms;
using mRemoteNG.App;
using mRemoteNG.Connection;
using mRemoteNG.Connection.Protocol;
using mRemoteNG.Container;
using mRemoteNG.Themes;
using mRemoteNG.Tools;
@@ -232,10 +233,19 @@ namespace mRemoteNG.UI.Controls
private void ConnectionsMenuItem_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left) return;
var tag = ((ToolStripMenuItem)sender).Tag as ConnectionInfo;
if (tag != null)
var menuItem = (ToolStripMenuItem) sender;
// While we can connect to a whole folder at once, it is
// probably not the expected behavior when navigating through
// a nested menu. Just return
var containerInfo = menuItem.Tag as ContainerInfo;
if (containerInfo != null)
return;
var connectionInfo = menuItem.Tag as ConnectionInfo;
if (connectionInfo != null)
{
ConnectionInitiator.OpenConnection(tag);
ConnectionInitiator.OpenConnection(connectionInfo);
}
}
#endregion

View File

@@ -32,7 +32,7 @@ namespace mRemoteNG.UI.Forms.OptionsPages
lblSeconds.Text = Language.strLabelSeconds;
lblMaximumPuttyWaitTime.Text = Language.strLabelPuttyTimeout;
chkAutomaticReconnect.Text = Language.strCheckboxAutomaticReconnect;
chkLoadBalanceInfoUseUtf8.Text = Language.LoadBalanceInfoUseUtf8;
chkLoadBalanceInfoUseUtf8.Text = Language.strLoadBalanceInfoUseUtf8;
lblConfigurePuttySessions.Text = Language.strLabelPuttySessionsConfig;
btnLaunchPutty.Text = Language.strButtonLaunchPutty;
btnBrowseCustomPuttyPath.Text = Language.strButtonBrowse;

View File

@@ -85,20 +85,20 @@ namespace mRemoteNG.UI.Forms.OptionsPages
//
// lblRDPConTimeout
//
this.lblRDPConTimeout.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.lblRDPConTimeout.Location = new System.Drawing.Point(3, 6);
this.lblRDPConTimeout.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblRDPConTimeout.Location = new System.Drawing.Point(3, 0);
this.lblRDPConTimeout.Name = "lblRDPConTimeout";
this.lblRDPConTimeout.Size = new System.Drawing.Size(137, 13);
this.lblRDPConTimeout.Size = new System.Drawing.Size(261, 26);
this.lblRDPConTimeout.TabIndex = 0;
this.lblRDPConTimeout.Text = "RDP Connection Timeout";
this.lblRDPConTimeout.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// lblRdpReconnectionCount
//
this.lblRdpReconnectionCount.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.lblRdpReconnectionCount.Location = new System.Drawing.Point(3, 6);
this.lblRdpReconnectionCount.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblRdpReconnectionCount.Location = new System.Drawing.Point(3, 0);
this.lblRdpReconnectionCount.Name = "lblRdpReconnectionCount";
this.lblRdpReconnectionCount.Size = new System.Drawing.Size(139, 13);
this.lblRdpReconnectionCount.Size = new System.Drawing.Size(261, 26);
this.lblRdpReconnectionCount.TabIndex = 0;
this.lblRdpReconnectionCount.Text = "RDP Reconnection Count";
this.lblRdpReconnectionCount.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -156,10 +156,10 @@ namespace mRemoteNG.UI.Forms.OptionsPages
//
// lblAutoSave1
//
this.lblAutoSave1.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.lblAutoSave1.Location = new System.Drawing.Point(3, 6);
this.lblAutoSave1.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblAutoSave1.Location = new System.Drawing.Point(3, 0);
this.lblAutoSave1.Name = "lblAutoSave1";
this.lblAutoSave1.Size = new System.Drawing.Size(261, 13);
this.lblAutoSave1.Size = new System.Drawing.Size(261, 26);
this.lblAutoSave1.TabIndex = 0;
this.lblAutoSave1.Text = "Auto Save in Minutes (0 means disabled)";
this.lblAutoSave1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

View File

@@ -28,6 +28,7 @@ namespace mRemoteNG.UI.Forms.OptionsPages
labelBlockCipher.Text = Language.strEncryptionBlockCipherMode;
labelEncryptionEngine.Text = Language.strEncryptionEngine;
labelKdfIterations.Text = Language.strEncryptionKeyDerivationIterations;
groupAdvancedSecurityOptions.Text = Language.strAdvancedSecurityOptions;
}
public override void LoadSettings()

View File

@@ -38,6 +38,9 @@ namespace mRemoteNG.UI.Forms.OptionsPages
this.chkShowLogonInfoOnTabs = new mRemoteNG.UI.Controls.Base.NGCheckBox();
this.chkDoubleClickClosesTab = new mRemoteNG.UI.Controls.Base.NGCheckBox();
this.chkShowProtocolOnTabs = new mRemoteNG.UI.Controls.Base.NGCheckBox();
this.chkCreateEmptyPanelOnStart = new mRemoteNG.UI.Controls.Base.NGCheckBox();
this.txtBoxPanelName = new mRemoteNG.UI.Controls.Base.NGTextBox();
this.lblPanelName = new mRemoteNG.UI.Controls.Base.NGLabel();
this.SuspendLayout();
//
// chkAlwaysShowPanelTabs
@@ -117,10 +120,41 @@ namespace mRemoteNG.UI.Forms.OptionsPages
this.chkShowProtocolOnTabs.Text = "Show protocols on tab names";
this.chkShowProtocolOnTabs.UseVisualStyleBackColor = true;
//
// chkCreateEmptyPanelOnStart
//
this.chkCreateEmptyPanelOnStart._mice = mRemoteNG.UI.Controls.Base.NGCheckBox.MouseState.HOVER;
this.chkCreateEmptyPanelOnStart.AutoSize = true;
this.chkCreateEmptyPanelOnStart.Location = new System.Drawing.Point(3, 164);
this.chkCreateEmptyPanelOnStart.Name = "chkCreateEmptyPanelOnStart";
this.chkCreateEmptyPanelOnStart.Size = new System.Drawing.Size(253, 17);
this.chkCreateEmptyPanelOnStart.TabIndex = 7;
this.chkCreateEmptyPanelOnStart.Text = "Create an empty panel when mRemoteNG starts";
this.chkCreateEmptyPanelOnStart.UseVisualStyleBackColor = true;
this.chkCreateEmptyPanelOnStart.CheckedChanged += new System.EventHandler(this.chkCreateEmptyPanelOnStart_CheckedChanged);
//
// txtBoxPanelName
//
this.txtBoxPanelName.Location = new System.Drawing.Point(43, 200);
this.txtBoxPanelName.Name = "txtBoxPanelName";
this.txtBoxPanelName.Size = new System.Drawing.Size(213, 20);
this.txtBoxPanelName.TabIndex = 8;
//
// lblPanelName
//
this.lblPanelName.AutoSize = true;
this.lblPanelName.Location = new System.Drawing.Point(40, 184);
this.lblPanelName.Name = "lblPanelName";
this.lblPanelName.Size = new System.Drawing.Size(66, 13);
this.lblPanelName.TabIndex = 9;
this.lblPanelName.Text = "Panel name:";
//
// TabsPanelsPage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.lblPanelName);
this.Controls.Add(this.txtBoxPanelName);
this.Controls.Add(this.chkCreateEmptyPanelOnStart);
this.Controls.Add(this.chkAlwaysShowPanelTabs);
this.Controls.Add(this.chkIdentifyQuickConnectTabs);
this.Controls.Add(this.chkOpenNewTabRightOfSelected);
@@ -142,6 +176,8 @@ namespace mRemoteNG.UI.Forms.OptionsPages
internal Controls.Base.NGCheckBox chkShowLogonInfoOnTabs;
internal Controls.Base.NGCheckBox chkDoubleClickClosesTab;
internal Controls.Base.NGCheckBox chkShowProtocolOnTabs;
}
private Controls.Base.NGCheckBox chkCreateEmptyPanelOnStart;
private Controls.Base.NGTextBox txtBoxPanelName;
private Controls.Base.NGLabel lblPanelName;
}
}

View File

@@ -25,6 +25,8 @@ namespace mRemoteNG.UI.Forms.OptionsPages
chkIdentifyQuickConnectTabs.Text = Language.strIdentifyQuickConnectTabs;
chkDoubleClickClosesTab.Text = Language.strDoubleClickTabClosesIt;
chkAlwaysShowPanelSelectionDlg.Text = Language.strAlwaysShowPanelSelection;
chkCreateEmptyPanelOnStart.Text = Language.strCreateEmptyPanelOnStartUp;
lblPanelName.Text = $"{Language.strPanelName}:";
}
public override void LoadSettings()
@@ -38,6 +40,9 @@ namespace mRemoteNG.UI.Forms.OptionsPages
chkIdentifyQuickConnectTabs.Checked = Settings.Default.IdentifyQuickConnectTabs;
chkDoubleClickClosesTab.Checked = Settings.Default.DoubleClickOnTabClosesIt;
chkAlwaysShowPanelSelectionDlg.Checked = Settings.Default.AlwaysShowPanelSelectionDlg;
chkCreateEmptyPanelOnStart.Checked = Settings.Default.CreateEmptyPanelOnStartUp;
txtBoxPanelName.Text = Settings.Default.StartUpPanelName;
UpdatePanelNameTextBox();
}
public override void SaveSettings()
@@ -53,8 +58,20 @@ namespace mRemoteNG.UI.Forms.OptionsPages
Settings.Default.IdentifyQuickConnectTabs = chkIdentifyQuickConnectTabs.Checked;
Settings.Default.DoubleClickOnTabClosesIt = chkDoubleClickClosesTab.Checked;
Settings.Default.AlwaysShowPanelSelectionDlg = chkAlwaysShowPanelSelectionDlg.Checked;
Settings.Default.CreateEmptyPanelOnStartUp = chkCreateEmptyPanelOnStart.Checked;
Settings.Default.StartUpPanelName = txtBoxPanelName.Text;
Settings.Default.Save();
}
private void UpdatePanelNameTextBox()
{
txtBoxPanelName.Enabled = chkCreateEmptyPanelOnStart.Checked;
}
private void chkCreateEmptyPanelOnStart_CheckedChanged(object sender, System.EventArgs e)
{
UpdatePanelNameTextBox();
}
}
}

View File

@@ -30,21 +30,17 @@ namespace mRemoteNG.UI.Forms
mRemoteNG.Connection.ConnectionInitiator connectionInitiator1 = new mRemoteNG.Connection.ConnectionInitiator();
this.pnlDock = new WeifenLuo.WinFormsUI.Docking.DockPanel();
this.msMain = new System.Windows.Forms.MenuStrip();
this.mMenFile = new System.Windows.Forms.ToolStripMenuItem();
this.mMenView = new System.Windows.Forms.ToolStripMenuItem();
this.mMenTools = new System.Windows.Forms.ToolStripMenuItem();
this.mMenInfo = new System.Windows.Forms.ToolStripMenuItem();
this.fileMenu = new mRemoteNG.UI.Menu.MainFileMenu();
this.viewMenu = new mRemoteNG.UI.Menu.ViewMenu();
this.toolsMenu = new mRemoteNG.UI.Menu.ToolsMenu();
this.helpMenu = new mRemoteNG.UI.Menu.HelpMenu();
this.mMenSep3 = new System.Windows.Forms.ToolStripSeparator();
this.tsContainer = new System.Windows.Forms.ToolStripContainer();
this.tmrAutoSave = new System.Windows.Forms.Timer(this.components);
this.vsToolStripExtender = new WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender(this.components);
this._quickConnectToolStrip = new mRemoteNG.UI.Controls.QuickConnectToolStrip();
this._multiSshToolStrip = new mRemoteNG.UI.Controls.MultiSshToolStrip();
this._externalToolsToolStrip = new mRemoteNG.UI.Controls.ExternalToolsToolStrip();
this._quickConnectToolStrip = new mRemoteNG.UI.Controls.QuickConnectToolStrip();
this.mainFileMenu1 = new mRemoteNG.UI.Menu.MainFileMenu();
this.viewMenu1 = new mRemoteNG.UI.Menu.ViewMenu();
this.toolsMenu1 = new mRemoteNG.UI.Menu.ToolsMenu();
this.helpMenu1 = new mRemoteNG.UI.Menu.HelpMenu();
this.tmrAutoSave = new System.Windows.Forms.Timer(this.components);
this.vsToolStripExtender = new WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender(this.components);
this.msMain.SuspendLayout();
this.tsContainer.ContentPanel.SuspendLayout();
this.tsContainer.TopToolStripPanel.SuspendLayout();
@@ -60,7 +56,7 @@ namespace mRemoteNG.UI.Forms
this.pnlDock.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingSdi;
this.pnlDock.Location = new System.Drawing.Point(0, 0);
this.pnlDock.Name = "pnlDock";
this.pnlDock.Size = new System.Drawing.Size(966, 473);
this.pnlDock.Size = new System.Drawing.Size(1129, 472);
this.pnlDock.TabIndex = 13;
this.pnlDock.ActiveDocumentChanged += new System.EventHandler(this.pnlDock_ActiveDocumentChanged);
//
@@ -69,12 +65,13 @@ namespace mRemoteNG.UI.Forms
this.msMain.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.msMain.Dock = System.Windows.Forms.DockStyle.None;
this.msMain.GripMargin = new System.Windows.Forms.Padding(0);
this.msMain.GripStyle = System.Windows.Forms.ToolStripGripStyle.Visible;
this.msMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.mainFileMenu1,
this.viewMenu1,
this.toolsMenu1,
this.helpMenu1});
this.msMain.Location = new System.Drawing.Point(3, 0);
this.fileMenu,
this.viewMenu,
this.toolsMenu,
this.helpMenu});
this.msMain.Location = new System.Drawing.Point(3, 50);
this.msMain.Name = "msMain";
this.msMain.Padding = new System.Windows.Forms.Padding(2, 2, 0, 2);
this.msMain.Size = new System.Drawing.Size(176, 24);
@@ -82,25 +79,41 @@ namespace mRemoteNG.UI.Forms
this.msMain.TabIndex = 0;
this.msMain.Text = "Main Toolbar";
//
// mMenFile
// fileMenu
//
this.mMenFile.Name = "mMenFile";
this.mMenFile.Size = new System.Drawing.Size(32, 19);
this.fileMenu.ConnectionInitiator = null;
this.fileMenu.Name = "mMenFile";
this.fileMenu.Size = new System.Drawing.Size(37, 20);
this.fileMenu.Text = "&File";
this.fileMenu.TreeWindow = null;
this.fileMenu.DropDownOpening += new System.EventHandler(this.mainFileMenu1_DropDownOpening);
//
// mMenView
// viewMenu
//
this.mMenView.Name = "mMenView";
this.mMenView.Size = new System.Drawing.Size(32, 19);
this.viewMenu.FullscreenHandler = null;
this.viewMenu.MainForm = null;
this.viewMenu.Name = "mMenView";
this.viewMenu.Size = new System.Drawing.Size(44, 20);
this.viewMenu.Text = "&View";
this.viewMenu.TsExternalTools = null;
this.viewMenu.TsMultiSsh = null;
this.viewMenu.TsQuickConnect = null;
this.viewMenu.DropDownOpening += new System.EventHandler(this.ViewMenu_Opening);
//
// mMenTools
// toolsMenu
//
this.mMenTools.Name = "mMenTools";
this.mMenTools.Size = new System.Drawing.Size(32, 19);
this.toolsMenu.CredentialProviderCatalog = null;
this.toolsMenu.MainForm = null;
this.toolsMenu.Name = "mMenTools";
this.toolsMenu.Size = new System.Drawing.Size(47, 20);
this.toolsMenu.Text = "&Tools";
//
// mMenInfo
// helpMenu
//
this.mMenInfo.Name = "mMenInfo";
this.mMenInfo.Size = new System.Drawing.Size(32, 19);
this.helpMenu.Name = "mMenInfo";
this.helpMenu.Size = new System.Drawing.Size(44, 20);
this.helpMenu.Text = "&Help";
this.helpMenu.TextDirection = System.Windows.Forms.ToolStripTextDirection.Horizontal;
//
// mMenSep3
//
@@ -113,29 +126,32 @@ namespace mRemoteNG.UI.Forms
// tsContainer.ContentPanel
//
this.tsContainer.ContentPanel.Controls.Add(this.pnlDock);
this.tsContainer.ContentPanel.Size = new System.Drawing.Size(966, 473);
this.tsContainer.ContentPanel.Size = new System.Drawing.Size(1129, 472);
this.tsContainer.Dock = System.Windows.Forms.DockStyle.Fill;
this.tsContainer.Location = new System.Drawing.Point(0, 0);
this.tsContainer.Name = "tsContainer";
this.tsContainer.Size = new System.Drawing.Size(966, 523);
this.tsContainer.Size = new System.Drawing.Size(1129, 571);
this.tsContainer.TabIndex = 17;
this.tsContainer.Text = "ToolStripContainer1";
//
// tsContainer.TopToolStripPanel
//
this.tsContainer.TopToolStripPanel.Controls.Add(this.msMain);
this.tsContainer.TopToolStripPanel.Controls.Add(this._externalToolsToolStrip);
this.tsContainer.TopToolStripPanel.Controls.Add(this._quickConnectToolStrip);
this.tsContainer.TopToolStripPanel.Controls.Add(this._multiSshToolStrip);
this.tsContainer.TopToolStripPanel.Controls.Add(this.msMain);
this.tsContainer.TopToolStripPanel.Controls.Add(this._externalToolsToolStrip);
//
// tmrAutoSave
// _quickConnectToolStrip
//
this.tmrAutoSave.Interval = 10000;
this.tmrAutoSave.Tick += new System.EventHandler(this.tmrAutoSave_Tick);
//
// vsToolStripExtender
//
this.vsToolStripExtender.DefaultRenderer = null;
this._quickConnectToolStrip.BackColor = System.Drawing.SystemColors.Control;
this._quickConnectToolStrip.ConnectionInitiator = connectionInitiator1;
this._quickConnectToolStrip.Dock = System.Windows.Forms.DockStyle.None;
this._quickConnectToolStrip.ForeColor = System.Drawing.SystemColors.ControlText;
this._quickConnectToolStrip.Location = new System.Drawing.Point(3, 0);
this._quickConnectToolStrip.MaximumSize = new System.Drawing.Size(0, 25);
this._quickConnectToolStrip.Name = "_quickConnectToolStrip";
this._quickConnectToolStrip.Size = new System.Drawing.Size(364, 25);
this._quickConnectToolStrip.TabIndex = 18;
//
// _multiSshToolStrip
//
@@ -152,68 +168,30 @@ namespace mRemoteNG.UI.Forms
this._externalToolsToolStrip.BackColor = System.Drawing.SystemColors.Control;
this._externalToolsToolStrip.Dock = System.Windows.Forms.DockStyle.None;
this._externalToolsToolStrip.ForeColor = System.Drawing.SystemColors.ControlText;
this._externalToolsToolStrip.Location = new System.Drawing.Point(380, 25);
this._externalToolsToolStrip.Location = new System.Drawing.Point(39, 74);
this._externalToolsToolStrip.MaximumSize = new System.Drawing.Size(0, 25);
this._externalToolsToolStrip.Name = "_externalToolsToolStrip";
this._externalToolsToolStrip.Size = new System.Drawing.Size(111, 25);
this._externalToolsToolStrip.TabIndex = 17;
//
// _quickConnectToolStrip
// tmrAutoSave
//
this._quickConnectToolStrip.BackColor = System.Drawing.SystemColors.Control;
this._quickConnectToolStrip.ConnectionInitiator = connectionInitiator1;
this._quickConnectToolStrip.Dock = System.Windows.Forms.DockStyle.None;
this._quickConnectToolStrip.ForeColor = System.Drawing.SystemColors.ControlText;
this._quickConnectToolStrip.Location = new System.Drawing.Point(179, 0);
this._quickConnectToolStrip.MaximumSize = new System.Drawing.Size(0, 25);
this._quickConnectToolStrip.Name = "_quickConnectToolStrip";
this._quickConnectToolStrip.Size = new System.Drawing.Size(364, 25);
this._quickConnectToolStrip.TabIndex = 18;
this.tmrAutoSave.Interval = 10000;
this.tmrAutoSave.Tick += new System.EventHandler(this.tmrAutoSave_Tick);
//
// mainFileMenu1
// vsToolStripExtender
//
this.mainFileMenu1.ConnectionInitiator = null;
this.mainFileMenu1.Name = "mMenFile";
this.mainFileMenu1.Size = new System.Drawing.Size(37, 20);
this.mainFileMenu1.Text = "&File";
this.mainFileMenu1.TreeWindow = null;
this.mainFileMenu1.DropDownOpening += new System.EventHandler(this.mainFileMenu1_DropDownOpening);
//
// viewMenu1
//
this.viewMenu1.FullscreenHandler = null;
this.viewMenu1.MainForm = null;
this.viewMenu1.Name = "mMenView";
this.viewMenu1.Size = new System.Drawing.Size(44, 20);
this.viewMenu1.Text = "&View";
this.viewMenu1.TsExternalTools = null;
this.viewMenu1.TsMultiSsh = null;
this.viewMenu1.TsQuickConnect = null;
this.viewMenu1.DropDownOpening += new System.EventHandler(this.ViewMenu_Opening);
//
// toolsMenu1
//
this.toolsMenu1.CredentialProviderCatalog = null;
this.toolsMenu1.MainForm = null;
this.toolsMenu1.Name = "mMenTools";
this.toolsMenu1.Size = new System.Drawing.Size(47, 20);
this.toolsMenu1.Text = "&Tools";
//
// helpMenu1
//
this.helpMenu1.Name = "mMenInfo";
this.helpMenu1.Size = new System.Drawing.Size(44, 20);
this.helpMenu1.Text = "&Help";
this.helpMenu1.TextDirection = System.Windows.Forms.ToolStripTextDirection.Horizontal;
this.vsToolStripExtender.DefaultRenderer = null;
//
// FrmMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(966, 523);
this.ClientSize = new System.Drawing.Size(1129, 571);
this.Controls.Add(this.tsContainer);
this.Icon = global::mRemoteNG.Resources.mRemote_Icon;
this.MainMenuStrip = this.msMain;
this.MinimumSize = new System.Drawing.Size(1145, 610);
this.Name = "FrmMain";
this.Opacity = 0D;
this.Text = "mRemoteNG";
@@ -235,18 +213,14 @@ namespace mRemoteNG.UI.Forms
}
internal WeifenLuo.WinFormsUI.Docking.DockPanel pnlDock;
internal System.Windows.Forms.MenuStrip msMain;
internal System.Windows.Forms.ToolStripMenuItem mMenFile;
internal System.Windows.Forms.ToolStripMenuItem mMenView;
internal System.Windows.Forms.ToolStripMenuItem mMenTools;
internal System.Windows.Forms.ToolStripMenuItem mMenInfo;
internal System.Windows.Forms.ToolStripContainer tsContainer;
internal System.Windows.Forms.Timer tmrAutoSave;
internal System.Windows.Forms.ToolStripSeparator mMenSep3;
private System.ComponentModel.IContainer components;
private Menu.MainFileMenu mainFileMenu1;
private Menu.ViewMenu viewMenu1;
private Menu.ToolsMenu toolsMenu1;
private Menu.HelpMenu helpMenu1;
private Menu.MainFileMenu fileMenu;
private Menu.ViewMenu viewMenu;
private Menu.ToolsMenu toolsMenu;
private Menu.HelpMenu helpMenu;
internal mRemoteNG.UI.Controls.QuickConnectToolStrip _quickConnectToolStrip;
internal mRemoteNG.UI.Controls.ExternalToolsToolStrip _externalToolsToolStrip;
internal mRemoteNG.UI.Controls.MultiSshToolStrip _multiSshToolStrip;

View File

@@ -66,10 +66,6 @@ namespace mRemoteNG.UI.Forms
_screenSystemMenu = new ScreenSelectionSystemMenu(this);
}
static FrmMain()
{
}
#region Properties
public FormWindowState PreviousWindowState { get; set; }
@@ -176,13 +172,28 @@ namespace mRemoteNG.UI.Forms
_screenSystemMenu.BuildScreenList();
SystemEvents.DisplaySettingsChanged += _screenSystemMenu.OnDisplayChanged;
ApplyLanguage();
Opacity = 1;
//Fix missing general panel at the first run
new PanelAdder().AddPanel();
if (Settings.Default.CreateEmptyPanelOnStartUp)
{
var panelName = !string.IsNullOrEmpty(Settings.Default.StartUpPanelName)
? Settings.Default.StartUpPanelName
: Language.strNewPanel;
new PanelAdder().AddPanel(panelName);
}
}
private void OnApplicationSettingChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs)
private void ApplyLanguage()
{
fileMenu.ApplyLanguage();
viewMenu.ApplyLanguage();
toolsMenu.ApplyLanguage();
helpMenu.ApplyLanguage();
}
private void OnApplicationSettingChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs)
{
if (propertyChangedEventArgs.PropertyName != nameof(Settings.LockToolbars))
return;
@@ -192,7 +203,7 @@ namespace mRemoteNG.UI.Forms
private void LockToolbarPositions(bool shouldBeLocked)
{
var toolbars = new ToolStrip[] { _quickConnectToolStrip, _multiSshToolStrip, _externalToolsToolStrip };
var toolbars = new ToolStrip[] { _quickConnectToolStrip, _multiSshToolStrip, _externalToolsToolStrip, msMain };
foreach (var toolbar in toolbars)
{
toolbar.GripStyle = shouldBeLocked
@@ -209,17 +220,17 @@ namespace mRemoteNG.UI.Forms
private void SetMenuDependencies()
{
var connectionInitiator = new ConnectionInitiator();
mainFileMenu1.TreeWindow = Windows.TreeForm;
mainFileMenu1.ConnectionInitiator = connectionInitiator;
fileMenu.TreeWindow = Windows.TreeForm;
fileMenu.ConnectionInitiator = connectionInitiator;
viewMenu1.TsExternalTools = _externalToolsToolStrip;
viewMenu1.TsQuickConnect = _quickConnectToolStrip;
viewMenu1.TsMultiSsh = _multiSshToolStrip;
viewMenu1.FullscreenHandler = Fullscreen;
viewMenu1.MainForm = this;
viewMenu.TsExternalTools = _externalToolsToolStrip;
viewMenu.TsQuickConnect = _quickConnectToolStrip;
viewMenu.TsMultiSsh = _multiSshToolStrip;
viewMenu.FullscreenHandler = Fullscreen;
viewMenu.MainForm = this;
toolsMenu1.MainForm = this;
toolsMenu1.CredentialProviderCatalog = Runtime.CredentialProviderCatalog;
toolsMenu.MainForm = this;
toolsMenu.CredentialProviderCatalog = Runtime.CredentialProviderCatalog;
_quickConnectToolStrip.ConnectionInitiator = connectionInitiator;
}
@@ -616,12 +627,12 @@ namespace mRemoteNG.UI.Forms
private void ViewMenu_Opening(object sender, EventArgs e)
{
viewMenu1.mMenView_DropDownOpening(sender, e);
viewMenu.mMenView_DropDownOpening(sender, e);
}
private void mainFileMenu1_DropDownOpening(object sender, EventArgs e)
{
mainFileMenu1.mMenFile_DropDownOpening(sender, e);
fileMenu.mMenFile_DropDownOpening(sender, e);
}
}
}

View File

@@ -120,15 +120,15 @@
<metadata name="msMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>688, 17</value>
</metadata>
<metadata name="_externalToolsToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>510, 17</value>
</metadata>
<metadata name="_quickConnectToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="_multiSshToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>197, 17</value>
</metadata>
<metadata name="_externalToolsToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>510, 17</value>
</metadata>
<metadata name="tmrAutoSave.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>783, 17</value>
</metadata>

View File

@@ -49,6 +49,7 @@ namespace mRemoteNG.UI.Forms
private void ApplyLanguage()
{
this.Text = Language.strOptionsPageTitle;
foreach (var optionPage in _pages.Values)
{
optionPage.ApplyLanguage();

View File

@@ -129,6 +129,18 @@ namespace mRemoteNG.UI.Menu
_mMenInfoAbout.Click += mMenInfoAbout_Click;
}
public void ApplyLanguage()
{
Text = Language.strMenuHelp;
_mMenInfoHelp.Text = Language.strMenuHelpContents;
_mMenInfoWebsite.Text = Language.strMenuWebsite;
_mMenInfoDonate.Text = Language.strMenuDonate;
_mMenInfoForum.Text = Language.strMenuSupportForum;
_mMenInfoBugReport.Text = Language.strMenuReportBug;
_mMenToolsUpdate.Text = Language.strMenuCheckForUpdates;
_mMenInfoAbout.Text = Language.strMenuAbout;
}
#region Info
private void mMenToolsUpdate_Click(object sender, EventArgs e)
{

View File

@@ -257,6 +257,23 @@ namespace mRemoteNG.UI.Menu
_mMenFileExit.Click += mMenFileExit_Click;
}
public void ApplyLanguage()
{
Text = Language.strMenuFile;
_mMenFileNewConnection.Text = Language.strNewConnection;
_mMenFileNewFolder.Text = Language.strNewFolder;
_mMenFileNew.Text = Language.strMenuNewConnectionFile;
_mMenFileLoad.Text = Language.strMenuOpenConnectionFile;
_mMenFileSave.Text = Language.strMenuSaveConnectionFile;
_mMenFileSaveAs.Text = Language.strMenuSaveConnectionFileAs;
_mMenFileImport.Text = Language.strImportMenuItem;
_mMenFileImportFromFile.Text = Language.strImportFromFileMenuItem;
_mMenFileImportFromActiveDirectory.Text = Language.strImportAD;
_mMenFileImportFromPortScan.Text = Language.strImportPortScan;
_mMenFileExport.Text = Language.strExportToFileMenuItem;
_mMenFileExit.Text = Language.strMenuExit;
}
#region File
internal void mMenFile_DropDownOpening(object sender, EventArgs e)
{

View File

@@ -103,6 +103,16 @@ namespace mRemoteNG.UI.Menu
_mMenToolsOptions.Click += mMenToolsOptions_Click;
}
public void ApplyLanguage()
{
Text = Language.strMenuTools;
_mMenToolsSshTransfer.Text = Language.strMenuSSHFileTransfer;
_mMenToolsExternalApps.Text = Language.strMenuExternalTools;
_mMenToolsPortScan.Text = Language.strMenuPortScan;
_mMenToolsComponentsCheck.Text = Language.strComponentsCheck;
_mMenToolsOptions.Text = Language.strMenuOptions;
}
#region Tools
private void mMenToolsSSHTransfer_Click(object sender, EventArgs e)
{

View File

@@ -41,7 +41,6 @@ namespace mRemoteNG.UI.Menu
public ViewMenu()
{
Initialize();
ApplyLanguage();
_panelAdder = new PanelAdder();
}
@@ -98,7 +97,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewAddConnectionPanel.Image = Resources.Panel_Add;
_mMenViewAddConnectionPanel.Name = "mMenViewAddConnectionPanel";
_mMenViewAddConnectionPanel.Size = new System.Drawing.Size(228, 22);
_mMenViewAddConnectionPanel.Text = "Add Connection Panel";
_mMenViewAddConnectionPanel.Text = Language.strMenuAddConnectionPanel;
_mMenViewAddConnectionPanel.Click += mMenViewAddConnectionPanel_Click;
//
// mMenViewConnectionPanels
@@ -106,7 +105,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewConnectionPanels.Image = Resources.Panels;
_mMenViewConnectionPanels.Name = "mMenViewConnectionPanels";
_mMenViewConnectionPanels.Size = new System.Drawing.Size(228, 22);
_mMenViewConnectionPanels.Text = "Connection Panels";
_mMenViewConnectionPanels.Text = Language.strMenuConnectionPanels;
//
// mMenViewSep1
//
@@ -120,7 +119,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewConnections.Image = Resources.Root;
_mMenViewConnections.Name = "mMenViewConnections";
_mMenViewConnections.Size = new System.Drawing.Size(228, 22);
_mMenViewConnections.Text = "Connections";
_mMenViewConnections.Text = Language.strMenuConnections;
_mMenViewConnections.Click += mMenViewConnections_Click;
//
// mMenViewConfig
@@ -130,7 +129,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewConfig.Image = Resources.cog;
_mMenViewConfig.Name = "mMenViewConfig";
_mMenViewConfig.Size = new System.Drawing.Size(228, 22);
_mMenViewConfig.Text = "Config";
_mMenViewConfig.Text = Language.strMenuConfig;
_mMenViewConfig.Click += mMenViewConfig_Click;
//
// mMenViewErrorsAndInfos
@@ -140,7 +139,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewErrorsAndInfos.Image = Resources.ErrorsAndInfos;
_mMenViewErrorsAndInfos.Name = "mMenViewErrorsAndInfos";
_mMenViewErrorsAndInfos.Size = new System.Drawing.Size(228, 22);
_mMenViewErrorsAndInfos.Text = "Errors and Infos";
_mMenViewErrorsAndInfos.Text = Language.strMenuNotifications;
_mMenViewErrorsAndInfos.Click += mMenViewErrorsAndInfos_Click;
//
// mMenViewScreenshotManager
@@ -148,7 +147,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewScreenshotManager.Image = Resources.Screenshot;
_mMenViewScreenshotManager.Name = "mMenViewScreenshotManager";
_mMenViewScreenshotManager.Size = new System.Drawing.Size(228, 22);
_mMenViewScreenshotManager.Text = "Screenshot Manager";
_mMenViewScreenshotManager.Text = Language.strScreenshots;
_mMenViewScreenshotManager.Click += mMenViewScreenshotManager_Click;
//
// ToolStripSeparator1
@@ -164,7 +163,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewJumpTo.Image = Resources.JumpTo;
_mMenViewJumpTo.Name = "mMenViewJumpTo";
_mMenViewJumpTo.Size = new System.Drawing.Size(228, 22);
_mMenViewJumpTo.Text = "Jump To";
_mMenViewJumpTo.Text = Language.strMenuJumpTo;
//
// mMenViewJumpToConnectionsConfig
//
@@ -173,7 +172,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewJumpToConnectionsConfig.ShortcutKeys = ((Keys)(((Keys.Control | Keys.Alt)
| Keys.C)));
_mMenViewJumpToConnectionsConfig.Size = new System.Drawing.Size(258, 22);
_mMenViewJumpToConnectionsConfig.Text = "Connections && Config";
_mMenViewJumpToConnectionsConfig.Text = Language.strMenuConnectionsAndConfig;
_mMenViewJumpToConnectionsConfig.Click += mMenViewJumpToConnectionsConfig_Click;
//
// mMenViewJumpToErrorsInfos
@@ -183,7 +182,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewJumpToErrorsInfos.ShortcutKeys = ((Keys)(((Keys.Control | Keys.Alt)
| Keys.E)));
_mMenViewJumpToErrorsInfos.Size = new System.Drawing.Size(258, 22);
_mMenViewJumpToErrorsInfos.Text = "Errors && Infos";
_mMenViewJumpToErrorsInfos.Text = Language.strMenuNotifications;
_mMenViewJumpToErrorsInfos.Click += mMenViewJumpToErrorsInfos_Click;
//
// mMenViewResetLayout
@@ -191,7 +190,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewResetLayout.Image = Resources.application_side_tree;
_mMenViewResetLayout.Name = "mMenViewResetLayout";
_mMenViewResetLayout.Size = new System.Drawing.Size(228, 22);
_mMenViewResetLayout.Text = "Reset Layout";
_mMenViewResetLayout.Text = Language.strMenuResetLayout;
_mMenViewResetLayout.Click += mMenViewResetLayout_Click;
//
// mMenViewLockToolbars
@@ -199,8 +198,8 @@ namespace mRemoteNG.UI.Menu
_mMenViewLockToolbars.Image = Resources.application_side_tree;
_mMenViewLockToolbars.Name = "mMenViewLockToolbars";
_mMenViewLockToolbars.Size = new System.Drawing.Size(228, 22);
_mMenViewLockToolbars.Text = "Lock Toolbar Positions";
_mMenViewLockToolbars.Click += mMenViewLockToolbars_Click;
_mMenViewLockToolbars.Text = Language.strMenuLockToolbars;
_mMenViewLockToolbars.Click += mMenViewLockToolbars_Click;
//
// mMenViewSep2
//
@@ -212,7 +211,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewQuickConnectToolbar.Image = Resources.Play_Quick;
_mMenViewQuickConnectToolbar.Name = "mMenViewQuickConnectToolbar";
_mMenViewQuickConnectToolbar.Size = new System.Drawing.Size(228, 22);
_mMenViewQuickConnectToolbar.Text = "Quick Connect Toolbar";
_mMenViewQuickConnectToolbar.Text = Language.strMenuQuickConnectToolbar;
_mMenViewQuickConnectToolbar.Click += mMenViewQuickConnectToolbar_Click;
//
// mMenViewExtAppsToolbar
@@ -220,7 +219,7 @@ namespace mRemoteNG.UI.Menu
_mMenViewExtAppsToolbar.Image = Resources.ExtApp;
_mMenViewExtAppsToolbar.Name = "mMenViewExtAppsToolbar";
_mMenViewExtAppsToolbar.Size = new System.Drawing.Size(228, 22);
_mMenViewExtAppsToolbar.Text = "External Applications Toolbar";
_mMenViewExtAppsToolbar.Text = Language.strMenuExternalToolsToolbar;
_mMenViewExtAppsToolbar.Click += mMenViewExtAppsToolbar_Click;
//
// mMenViewMultiSSHToolbar
@@ -228,8 +227,8 @@ namespace mRemoteNG.UI.Menu
_mMenViewMultiSshToolbar.Image = Resources.Panels;
_mMenViewMultiSshToolbar.Name = "mMenViewMultiSSHToolbar";
_mMenViewMultiSshToolbar.Size = new System.Drawing.Size(279, 26);
_mMenViewMultiSshToolbar.Text = "Multi SSH Toolbar";
_mMenViewMultiSshToolbar.Click += mMenViewMultiSSHToolbar_Click;
_mMenViewMultiSshToolbar.Text = Language.strMenuMultiSshToolbar;
_mMenViewMultiSshToolbar.Click += mMenViewMultiSSHToolbar_Click;
//
// mMenViewSep3
//
@@ -242,15 +241,16 @@ namespace mRemoteNG.UI.Menu
_mMenViewFullscreen.Name = "mMenViewFullscreen";
_mMenViewFullscreen.ShortcutKeys = Keys.F11;
_mMenViewFullscreen.Size = new System.Drawing.Size(228, 22);
_mMenViewFullscreen.Text = "Full Screen";
_mMenViewFullscreen.Text = Language.strMenuFullScreen;
_mMenViewFullscreen.Checked = Settings.Default.MainFormKiosk;
_mMenViewFullscreen.Click += mMenViewFullscreen_Click;
}
private void ApplyLanguage()
public void ApplyLanguage()
{
Text = Language.strMenuView;
_mMenViewAddConnectionPanel.Text = Language.strMenuAddConnectionPanel;
_mMenViewConnectionPanels.Text = Language.strMenuConnectionPanels;
_mMenViewConnections.Text = Language.strMenuConnections;
@@ -261,8 +261,10 @@ namespace mRemoteNG.UI.Menu
_mMenViewJumpToConnectionsConfig.Text = Language.strMenuConnectionsAndConfig;
_mMenViewJumpToErrorsInfos.Text = Language.strMenuNotifications;
_mMenViewResetLayout.Text = Language.strMenuResetLayout;
_mMenViewLockToolbars.Text = Language.strLockToolbars;
_mMenViewQuickConnectToolbar.Text = Language.strMenuQuickConnectToolbar;
_mMenViewExtAppsToolbar.Text = Language.strMenuExternalToolsToolbar;
_mMenViewMultiSshToolbar.Text = Language.strMultiSshToolbar;
_mMenViewFullscreen.Text = Language.strMenuFullScreen;
}
@@ -449,4 +451,4 @@ namespace mRemoteNG.UI.Menu
}
#endregion
}
}
}

View File

@@ -9,19 +9,20 @@ namespace mRemoteNG.UI.Window
#region Windows Form Designer generated code
private void InitializeComponent()
{
this.btnImport = new Controls.Base.NGButton();
this.btnImport = new mRemoteNG.UI.Controls.Base.NGButton();
this.txtDomain = new mRemoteNG.UI.Controls.Base.NGTextBox();
this.lblDomain = new mRemoteNG.UI.Controls.Base.NGLabel();
this.btnChangeDomain = new Controls.Base.NGButton();
this.btnChangeDomain = new mRemoteNG.UI.Controls.Base.NGButton();
this.ActiveDirectoryTree = new ADTree.ADtree();
this.btnClose = new Controls.Base.NGButton();
this.btnClose = new mRemoteNG.UI.Controls.Base.NGButton();
this.chkSubOU = new mRemoteNG.UI.Controls.Base.NGCheckBox();
this.SuspendLayout();
//
// 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(362, 338);
this.btnImport._mice = mRemoteNG.UI.Controls.Base.NGButton.MouseState.HOVER;
this.btnImport.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnImport.Location = new System.Drawing.Point(12, 346);
this.btnImport.Name = "btnImport";
this.btnImport.Size = new System.Drawing.Size(75, 23);
this.btnImport.TabIndex = 4;
@@ -35,7 +36,7 @@ namespace mRemoteNG.UI.Window
| System.Windows.Forms.AnchorStyles.Right)));
this.txtDomain.Location = new System.Drawing.Point(12, 25);
this.txtDomain.Name = "txtDomain";
this.txtDomain.Size = new System.Drawing.Size(425, 22);
this.txtDomain.Size = new System.Drawing.Size(406, 22);
this.txtDomain.TabIndex = 1;
this.txtDomain.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtDomain_KeyDown);
//
@@ -50,10 +51,11 @@ namespace mRemoteNG.UI.Window
//
// btnChangeDomain
//
this.btnChangeDomain._mice = mRemoteNG.UI.Controls.Base.NGButton.MouseState.HOVER;
this.btnChangeDomain.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnChangeDomain.Location = new System.Drawing.Point(443, 23);
this.btnChangeDomain.Location = new System.Drawing.Point(424, 25);
this.btnChangeDomain.Name = "btnChangeDomain";
this.btnChangeDomain.Size = new System.Drawing.Size(75, 23);
this.btnChangeDomain.Size = new System.Drawing.Size(99, 23);
this.btnChangeDomain.TabIndex = 2;
this.btnChangeDomain.Text = "Change";
this.btnChangeDomain.UseVisualStyleBackColor = true;
@@ -71,16 +73,17 @@ namespace mRemoteNG.UI.Window
this.ActiveDirectoryTree.Margin = new System.Windows.Forms.Padding(4);
this.ActiveDirectoryTree.Name = "ActiveDirectoryTree";
this.ActiveDirectoryTree.SelectedNode = null;
this.ActiveDirectoryTree.Size = new System.Drawing.Size(506, 280);
this.ActiveDirectoryTree.Size = new System.Drawing.Size(510, 271);
this.ActiveDirectoryTree.TabIndex = 3;
this.ActiveDirectoryTree.ADPathChanged += new ADTree.ADtree.ADPathChangedEventHandler(this.ActiveDirectoryTree_ADPathChanged);
//
// btnClose
//
this.btnClose._mice = mRemoteNG.UI.Controls.Base.NGButton.MouseState.HOVER;
this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnClose.Location = new System.Drawing.Point(444, 337);
this.btnClose.Location = new System.Drawing.Point(447, 330);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(75, 23);
this.btnClose.Size = new System.Drawing.Size(75, 39);
this.btnClose.TabIndex = 5;
this.btnClose.Text = "Close";
this.btnClose.UseVisualStyleBackColor = true;
@@ -88,8 +91,10 @@ namespace mRemoteNG.UI.Window
//
// chkSubOU
//
this.chkSubOU.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.chkSubOU.Location = new System.Drawing.Point(248, 342);
this.chkSubOU._mice = mRemoteNG.UI.Controls.Base.NGCheckBox.MouseState.HOVER;
this.chkSubOU.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.chkSubOU.AutoSize = true;
this.chkSubOU.Location = new System.Drawing.Point(12, 330);
this.chkSubOU.Name = "chkSubOU";
this.chkSubOU.Size = new System.Drawing.Size(108, 17);
this.chkSubOU.TabIndex = 6;
@@ -100,7 +105,7 @@ namespace mRemoteNG.UI.Window
//
this.AcceptButton = this.btnImport;
this.BackColor = System.Drawing.SystemColors.Control;
this.ClientSize = new System.Drawing.Size(530, 373);
this.ClientSize = new System.Drawing.Size(534, 381);
this.Controls.Add(this.chkSubOU);
this.Controls.Add(this.btnClose);
this.Controls.Add(this.ActiveDirectoryTree);

View File

@@ -85,7 +85,9 @@ namespace mRemoteNG.UI.Window
{
btnImport.Text = Language.strButtonImport;
lblDomain.Text = Language.strLabelDomain;
chkSubOU.Text = Language.strImportSubOUs;
btnChangeDomain.Text = Language.strButtonChange;
btnClose.Text = Language.strButtonClose;
}
private void ChangeDomain()

View File

@@ -274,7 +274,7 @@ namespace mRemoteNG.UI.Window
//
this.ShowOnToolbarCheckBox._mice = mRemoteNG.UI.Controls.Base.NGCheckBox.MouseState.HOVER;
this.ShowOnToolbarCheckBox.AutoSize = true;
this.ShowOnToolbarCheckBox.Location = new System.Drawing.Point(306, 158);
this.ShowOnToolbarCheckBox.Location = new System.Drawing.Point(369, 158);
this.ShowOnToolbarCheckBox.Name = "ShowOnToolbarCheckBox";
this.ShowOnToolbarCheckBox.Size = new System.Drawing.Size(113, 17);
this.ShowOnToolbarCheckBox.TabIndex = 10;
@@ -330,7 +330,7 @@ namespace mRemoteNG.UI.Window
//
this.TryToIntegrateCheckBox._mice = mRemoteNG.UI.Controls.Base.NGCheckBox.MouseState.HOVER;
this.TryToIntegrateCheckBox.AutoSize = true;
this.TryToIntegrateCheckBox.Location = new System.Drawing.Point(306, 135);
this.TryToIntegrateCheckBox.Location = new System.Drawing.Point(369, 135);
this.TryToIntegrateCheckBox.Name = "TryToIntegrateCheckBox";
this.TryToIntegrateCheckBox.Size = new System.Drawing.Size(103, 17);
this.TryToIntegrateCheckBox.TabIndex = 8;

View File

@@ -45,26 +45,34 @@ namespace mRemoteNG.UI.Window
TabText = Language.strMenuExternalTools;
NewToolToolstripButton.Text = Language.strButtonNew;
DeleteToolToolstripButton.Text = Language.strOptionsKeyboardButtonDelete;
DeleteToolToolstripButton.Text = Language.strOptionsThemeButtonDelete;
LaunchToolToolstripButton.Text = Language.strButtonLaunch;
DisplayNameColumnHeader.Text = Language.strColumnDisplayName;
FilenameColumnHeader.Text = Language.strColumnFilename;
ArgumentsColumnHeader.Text = Language.strColumnArguments;
WaitForExitColumnHeader.Text = Language.strColumnWaitForExit;
TryToIntegrateCheckBox.Text = Language.strTryIntegrate;
WorkingDirColumnHeader.Text = Language.strWorkingDirColumnHeader;
WaitForExitColumnHeader.Text = Language.strColumnWaitForExit;
TryToIntegrateColumnHeader.Text = Language.strTryToIntegrateColumnHeader;
RunElevateHeader.Text = Language.strRunElevateHeader;
ShowOnToolbarColumnHeader.Text = Language.strShowOnToolbarColumnHeader;
TryToIntegrateCheckBox.Text = Language.strTryIntegrate;
ShowOnToolbarCheckBox.Text = Language.strShowOnToolbar;
RunElevatedCheckBox.Text = Language.strRunElevated;
PropertiesGroupBox.Text = Language.strGroupboxExternalToolProperties;
PropertiesGroupBox.Text = Language.strGroupboxExternalToolProperties;
DisplayNameLabel.Text = Language.strLabelDisplayName;
FilenameLabel.Text = Language.strLabelFilename;
ArgumentsLabel.Text = Language.strLabelArguments;
OptionsLabel.Text = Language.strLabelOptions;
WorkingDirLabel.Text = Language.srtWorkingDirectory;
OptionsLabel.Text = Language.strLabelOptions;
WaitForExitCheckBox.Text = Language.strCheckboxWaitForExit;
BrowseButton.Text = Language.strButtonBrowse;
NewToolMenuItem.Text = Language.strMenuNewExternalTool;
BrowseWorkingDir.Text = Language.strButtonBrowse;
NewToolMenuItem.Text = Language.strMenuNewExternalTool;
DeleteToolMenuItem.Text = Language.strMenuDeleteExternalTool;
LaunchToolMenuItem.Text = Language.strMenuLaunchExternalTool;
}

View File

@@ -26,7 +26,7 @@ namespace mRemoteNG.UI.Window
internal Controls.Base.NGProgressBar prgBar;
internal Controls.Base.NGLabel lblOnlyImport;
internal Controls.Base.NGComboBox cbProtocol;
internal System.Windows.Forms.Panel pnlPorts;
internal System.Windows.Forms.Panel pnlScan;
internal Controls.Base.NGNumericUpDown portEnd;
internal Controls.Base.NGNumericUpDown portStart;
internal Controls.Base.NGLabel Label2;
@@ -36,126 +36,126 @@ namespace mRemoteNG.UI.Window
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PortScanWindow));
this.ipStart = new mRemoteNG.UI.Controls.IPTextBox();
this.ipEnd = new mRemoteNG.UI.Controls.IPTextBox();
this.lblStartIP = new mRemoteNG.UI.Controls.Base.NGLabel();
this.lblEndIP = new mRemoteNG.UI.Controls.Base.NGLabel();
this.btnScan = new mRemoteNG.UI.Controls.Base.NGButton();
this.olvHosts = new mRemoteNG.UI.Controls.Base.NGListView();
this.resultsMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
this.importHTTPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importHTTPSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importRDPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importRloginToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importSSH2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importTelnetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importVNCToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.btnImport = new mRemoteNG.UI.Controls.Base.NGButton();
this.cbProtocol = new mRemoteNG.UI.Controls.Base.NGComboBox();
this.lblOnlyImport = new mRemoteNG.UI.Controls.Base.NGLabel();
this.clmHost = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmSSH = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmTelnet = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmHTTP = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmHTTPS = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmRlogin = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmRDP = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmVNC = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmOpenPorts = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmClosedPorts = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.prgBar = new mRemoteNG.UI.Controls.Base.NGProgressBar();
this.pnlPorts = new System.Windows.Forms.Panel();
this.numericSelectorTimeout = new mRemoteNG.UI.Controls.Base.NGNumericUpDown();
this.lblTimeout = new System.Windows.Forms.Label();
this.portEnd = new mRemoteNG.UI.Controls.Base.NGNumericUpDown();
this.portStart = new mRemoteNG.UI.Controls.Base.NGNumericUpDown();
this.Label2 = new mRemoteNG.UI.Controls.Base.NGLabel();
this.Label1 = new mRemoteNG.UI.Controls.Base.NGLabel();
this.pnlImport = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.olvHosts)).BeginInit();
this.resultsMenuStrip.SuspendLayout();
this.pnlPorts.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericSelectorTimeout)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.portEnd)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.portStart)).BeginInit();
this.pnlImport.SuspendLayout();
this.SuspendLayout();
//
// ipStart
//
this.ipStart.Location = new System.Drawing.Point(12, 25);
this.ipStart.Name = "ipStart";
this.ipStart.Size = new System.Drawing.Size(130, 20);
this.ipStart.TabIndex = 10;
this.ipStart.ToolTipText = "";
//
// ipEnd
//
this.ipEnd.Location = new System.Drawing.Point(148, 25);
this.ipEnd.Name = "ipEnd";
this.ipEnd.Size = new System.Drawing.Size(130, 20);
this.ipEnd.TabIndex = 15;
this.ipEnd.ToolTipText = "";
//
// lblStartIP
//
this.lblStartIP.AutoSize = true;
this.lblStartIP.Location = new System.Drawing.Point(12, 7);
this.lblStartIP.Name = "lblStartIP";
this.lblStartIP.Size = new System.Drawing.Size(46, 13);
this.lblStartIP.TabIndex = 0;
this.lblStartIP.Text = "Start IP:";
//
// lblEndIP
//
this.lblEndIP.AutoSize = true;
this.lblEndIP.Location = new System.Drawing.Point(148, 7);
this.lblEndIP.Name = "lblEndIP";
this.lblEndIP.Size = new System.Drawing.Size(42, 13);
this.lblEndIP.TabIndex = 5;
this.lblEndIP.Text = "End IP:";
//
// btnScan
//
this.btnScan._mice = mRemoteNG.UI.Controls.Base.NGButton.MouseState.HOVER;
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.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.btnScan.Location = new System.Drawing.Point(801, 12);
this.btnScan.Name = "btnScan";
this.btnScan.Size = new System.Drawing.Size(95, 55);
this.btnScan.TabIndex = 20;
this.btnScan.Text = "&Scan";
this.btnScan.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.btnScan.UseVisualStyleBackColor = true;
this.btnScan.Click += new System.EventHandler(this.btnScan_Click);
//
// olvHosts
//
this.olvHosts.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PortScanWindow));
this.ipStart = new mRemoteNG.UI.Controls.IPTextBox();
this.ipEnd = new mRemoteNG.UI.Controls.IPTextBox();
this.lblStartIP = new mRemoteNG.UI.Controls.Base.NGLabel();
this.lblEndIP = new mRemoteNG.UI.Controls.Base.NGLabel();
this.btnScan = new mRemoteNG.UI.Controls.Base.NGButton();
this.olvHosts = new mRemoteNG.UI.Controls.Base.NGListView();
this.resultsMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
this.importHTTPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importHTTPSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importRDPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importRloginToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importSSH2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importTelnetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importVNCToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.btnImport = new mRemoteNG.UI.Controls.Base.NGButton();
this.cbProtocol = new mRemoteNG.UI.Controls.Base.NGComboBox();
this.lblOnlyImport = new mRemoteNG.UI.Controls.Base.NGLabel();
this.clmHost = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmSSH = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmTelnet = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmHTTP = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmHTTPS = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmRlogin = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmRDP = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmVNC = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmOpenPorts = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.clmClosedPorts = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.prgBar = new mRemoteNG.UI.Controls.Base.NGProgressBar();
this.pnlScan = new System.Windows.Forms.Panel();
this.numericSelectorTimeout = new mRemoteNG.UI.Controls.Base.NGNumericUpDown();
this.lblTimeout = new System.Windows.Forms.Label();
this.portEnd = new mRemoteNG.UI.Controls.Base.NGNumericUpDown();
this.portStart = new mRemoteNG.UI.Controls.Base.NGNumericUpDown();
this.Label2 = new mRemoteNG.UI.Controls.Base.NGLabel();
this.Label1 = new mRemoteNG.UI.Controls.Base.NGLabel();
this.pnlImport = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.olvHosts)).BeginInit();
this.resultsMenuStrip.SuspendLayout();
this.pnlScan.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericSelectorTimeout)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.portEnd)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.portStart)).BeginInit();
this.pnlImport.SuspendLayout();
this.SuspendLayout();
//
// ipStart
//
this.ipStart.Location = new System.Drawing.Point(5, 19);
this.ipStart.Name = "ipStart";
this.ipStart.Size = new System.Drawing.Size(130, 20);
this.ipStart.TabIndex = 10;
this.ipStart.ToolTipText = "";
//
// ipEnd
//
this.ipEnd.Location = new System.Drawing.Point(155, 19);
this.ipEnd.Name = "ipEnd";
this.ipEnd.Size = new System.Drawing.Size(130, 20);
this.ipEnd.TabIndex = 15;
this.ipEnd.ToolTipText = "";
//
// lblStartIP
//
this.lblStartIP.AutoSize = true;
this.lblStartIP.Location = new System.Drawing.Point(3, 5);
this.lblStartIP.Name = "lblStartIP";
this.lblStartIP.Size = new System.Drawing.Size(46, 13);
this.lblStartIP.TabIndex = 0;
this.lblStartIP.Text = "Start IP:";
//
// lblEndIP
//
this.lblEndIP.AutoSize = true;
this.lblEndIP.Location = new System.Drawing.Point(152, 5);
this.lblEndIP.Name = "lblEndIP";
this.lblEndIP.Size = new System.Drawing.Size(42, 13);
this.lblEndIP.TabIndex = 5;
this.lblEndIP.Text = "End IP:";
//
// btnScan
//
this.btnScan._mice = mRemoteNG.UI.Controls.Base.NGButton.MouseState.HOVER;
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.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.btnScan.Location = new System.Drawing.Point(769, 5);
this.btnScan.Name = "btnScan";
this.btnScan.Size = new System.Drawing.Size(110, 55);
this.btnScan.TabIndex = 20;
this.btnScan.Text = "&Scan";
this.btnScan.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.btnScan.UseVisualStyleBackColor = true;
this.btnScan.Click += new System.EventHandler(this.btnScan_Click);
//
// olvHosts
//
this.olvHosts.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.olvHosts.CellEditUseWholeCell = false;
this.olvHosts.ContextMenuStrip = this.resultsMenuStrip;
this.olvHosts.Cursor = System.Windows.Forms.Cursors.Default;
this.olvHosts.DecorateLines = true;
this.olvHosts.FullRowSelect = true;
this.olvHosts.GridLines = true;
this.olvHosts.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.olvHosts.HideSelection = false;
this.olvHosts.Location = new System.Drawing.Point(12, 73);
this.olvHosts.Name = "olvHosts";
this.olvHosts.ShowGroups = false;
this.olvHosts.Size = new System.Drawing.Size(884, 290);
this.olvHosts.TabIndex = 26;
this.olvHosts.UseCompatibleStateImageBehavior = false;
this.olvHosts.View = System.Windows.Forms.View.Details;
//
// resultsMenuStrip
//
this.resultsMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.olvHosts.CellEditUseWholeCell = false;
this.olvHosts.ContextMenuStrip = this.resultsMenuStrip;
this.olvHosts.Cursor = System.Windows.Forms.Cursors.Default;
this.olvHosts.DecorateLines = true;
this.olvHosts.FullRowSelect = true;
this.olvHosts.GridLines = true;
this.olvHosts.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.olvHosts.HideSelection = false;
this.olvHosts.Location = new System.Drawing.Point(12, 73);
this.olvHosts.Name = "olvHosts";
this.olvHosts.ShowGroups = false;
this.olvHosts.Size = new System.Drawing.Size(883, 290);
this.olvHosts.TabIndex = 26;
this.olvHosts.UseCompatibleStateImageBehavior = false;
this.olvHosts.View = System.Windows.Forms.View.Details;
//
// resultsMenuStrip
//
this.resultsMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.importHTTPToolStripMenuItem,
this.importHTTPSToolStripMenuItem,
this.importRDPToolStripMenuItem,
@@ -163,77 +163,77 @@ namespace mRemoteNG.UI.Window
this.importSSH2ToolStripMenuItem,
this.importTelnetToolStripMenuItem,
this.importVNCToolStripMenuItem});
this.resultsMenuStrip.Name = "resultsMenuStrip";
this.resultsMenuStrip.Size = new System.Drawing.Size(150, 158);
//
// importHTTPToolStripMenuItem
//
this.importHTTPToolStripMenuItem.Name = "importHTTPToolStripMenuItem";
this.importHTTPToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importHTTPToolStripMenuItem.Text = "Import HTTP";
this.importHTTPToolStripMenuItem.Click += new System.EventHandler(this.importHTTPToolStripMenuItem_Click);
//
// importHTTPSToolStripMenuItem
//
this.importHTTPSToolStripMenuItem.Name = "importHTTPSToolStripMenuItem";
this.importHTTPSToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importHTTPSToolStripMenuItem.Text = "Import HTTPS";
this.importHTTPSToolStripMenuItem.Click += new System.EventHandler(this.importHTTPSToolStripMenuItem_Click);
//
// importRDPToolStripMenuItem
//
this.importRDPToolStripMenuItem.Name = "importRDPToolStripMenuItem";
this.importRDPToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importRDPToolStripMenuItem.Text = "Import RDP";
this.importRDPToolStripMenuItem.Click += new System.EventHandler(this.importRDPToolStripMenuItem_Click);
//
// importRloginToolStripMenuItem
//
this.importRloginToolStripMenuItem.Name = "importRloginToolStripMenuItem";
this.importRloginToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importRloginToolStripMenuItem.Text = "Import Rlogin";
this.importRloginToolStripMenuItem.Click += new System.EventHandler(this.importRloginToolStripMenuItem_Click);
//
// importSSH2ToolStripMenuItem
//
this.importSSH2ToolStripMenuItem.Name = "importSSH2ToolStripMenuItem";
this.importSSH2ToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importSSH2ToolStripMenuItem.Text = "Import SSH2";
this.importSSH2ToolStripMenuItem.Click += new System.EventHandler(this.importSSH2ToolStripMenuItem_Click);
//
// importTelnetToolStripMenuItem
//
this.importTelnetToolStripMenuItem.Name = "importTelnetToolStripMenuItem";
this.importTelnetToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importTelnetToolStripMenuItem.Text = "Import Telnet";
this.importTelnetToolStripMenuItem.Click += new System.EventHandler(this.importTelnetToolStripMenuItem_Click);
//
// importVNCToolStripMenuItem
//
this.importVNCToolStripMenuItem.Name = "importVNCToolStripMenuItem";
this.importVNCToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importVNCToolStripMenuItem.Text = "Import VNC";
this.importVNCToolStripMenuItem.Click += new System.EventHandler(this.importVNCToolStripMenuItem_Click);
//
// btnImport
//
this.btnImport._mice = mRemoteNG.UI.Controls.Base.NGButton.MouseState.HOVER;
this.btnImport.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnImport.Location = new System.Drawing.Point(798, 3);
this.btnImport.Name = "btnImport";
this.btnImport.Size = new System.Drawing.Size(75, 31);
this.btnImport.TabIndex = 101;
this.btnImport.Text = "&Import";
this.btnImport.UseVisualStyleBackColor = true;
this.btnImport.Click += new System.EventHandler(this.btnImport_Click);
//
// cbProtocol
//
this.cbProtocol._mice = mRemoteNG.UI.Controls.Base.NGComboBox.MouseState.HOVER;
this.cbProtocol.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.cbProtocol.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbProtocol.FormattingEnabled = true;
this.cbProtocol.Items.AddRange(new object[] {
this.resultsMenuStrip.Name = "resultsMenuStrip";
this.resultsMenuStrip.Size = new System.Drawing.Size(150, 158);
//
// importHTTPToolStripMenuItem
//
this.importHTTPToolStripMenuItem.Name = "importHTTPToolStripMenuItem";
this.importHTTPToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importHTTPToolStripMenuItem.Text = "Import HTTP";
this.importHTTPToolStripMenuItem.Click += new System.EventHandler(this.importHTTPToolStripMenuItem_Click);
//
// importHTTPSToolStripMenuItem
//
this.importHTTPSToolStripMenuItem.Name = "importHTTPSToolStripMenuItem";
this.importHTTPSToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importHTTPSToolStripMenuItem.Text = "Import HTTPS";
this.importHTTPSToolStripMenuItem.Click += new System.EventHandler(this.importHTTPSToolStripMenuItem_Click);
//
// importRDPToolStripMenuItem
//
this.importRDPToolStripMenuItem.Name = "importRDPToolStripMenuItem";
this.importRDPToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importRDPToolStripMenuItem.Text = "Import RDP";
this.importRDPToolStripMenuItem.Click += new System.EventHandler(this.importRDPToolStripMenuItem_Click);
//
// importRloginToolStripMenuItem
//
this.importRloginToolStripMenuItem.Name = "importRloginToolStripMenuItem";
this.importRloginToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importRloginToolStripMenuItem.Text = "Import Rlogin";
this.importRloginToolStripMenuItem.Click += new System.EventHandler(this.importRloginToolStripMenuItem_Click);
//
// importSSH2ToolStripMenuItem
//
this.importSSH2ToolStripMenuItem.Name = "importSSH2ToolStripMenuItem";
this.importSSH2ToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importSSH2ToolStripMenuItem.Text = "Import SSH2";
this.importSSH2ToolStripMenuItem.Click += new System.EventHandler(this.importSSH2ToolStripMenuItem_Click);
//
// importTelnetToolStripMenuItem
//
this.importTelnetToolStripMenuItem.Name = "importTelnetToolStripMenuItem";
this.importTelnetToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importTelnetToolStripMenuItem.Text = "Import Telnet";
this.importTelnetToolStripMenuItem.Click += new System.EventHandler(this.importTelnetToolStripMenuItem_Click);
//
// importVNCToolStripMenuItem
//
this.importVNCToolStripMenuItem.Name = "importVNCToolStripMenuItem";
this.importVNCToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.importVNCToolStripMenuItem.Text = "Import VNC";
this.importVNCToolStripMenuItem.Click += new System.EventHandler(this.importVNCToolStripMenuItem_Click);
//
// btnImport
//
this.btnImport._mice = mRemoteNG.UI.Controls.Base.NGButton.MouseState.HOVER;
this.btnImport.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnImport.Location = new System.Drawing.Point(800, 5);
this.btnImport.Name = "btnImport";
this.btnImport.Size = new System.Drawing.Size(80, 40);
this.btnImport.TabIndex = 101;
this.btnImport.Text = "&Import";
this.btnImport.UseVisualStyleBackColor = true;
this.btnImport.Click += new System.EventHandler(this.btnImport_Click);
//
// cbProtocol
//
this.cbProtocol._mice = mRemoteNG.UI.Controls.Base.NGComboBox.MouseState.HOVER;
this.cbProtocol.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.cbProtocol.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbProtocol.FormattingEnabled = true;
this.cbProtocol.Items.AddRange(new object[] {
"SSH2",
"Telnet",
"HTTP",
@@ -241,214 +241,217 @@ namespace mRemoteNG.UI.Window
"Rlogin",
"RDP",
"VNC"});
this.cbProtocol.Location = new System.Drawing.Point(157, 6);
this.cbProtocol.Name = "cbProtocol";
this.cbProtocol.Size = new System.Drawing.Size(122, 21);
this.cbProtocol.TabIndex = 28;
//
// lblOnlyImport
//
this.lblOnlyImport.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lblOnlyImport.AutoSize = true;
this.lblOnlyImport.Location = new System.Drawing.Point(5, 13);
this.lblOnlyImport.Name = "lblOnlyImport";
this.lblOnlyImport.Size = new System.Drawing.Size(104, 13);
this.lblOnlyImport.TabIndex = 1;
this.lblOnlyImport.Text = "Protocol to import:";
//
// clmHost
//
this.clmHost.AspectName = "HostIPorName";
this.clmHost.FillsFreeSpace = true;
this.clmHost.Text = "Hostname/IP";
this.clmHost.Width = 130;
//
// clmSSH
//
this.clmSSH.AspectName = "SshName";
this.clmSSH.Text = "SSH";
this.clmSSH.Width = 50;
//
// clmTelnet
//
this.clmTelnet.AspectName = "TelnetName";
this.clmTelnet.Text = "Telnet";
this.clmTelnet.Width = 50;
//
// clmHTTP
//
this.clmHTTP.AspectName = "HttpName";
this.clmHTTP.Text = "HTTP";
this.clmHTTP.Width = 50;
//
// clmHTTPS
//
this.clmHTTPS.AspectName = "HttpsName";
this.clmHTTPS.Text = "HTTPS";
this.clmHTTPS.Width = 50;
//
// clmRlogin
//
this.clmRlogin.AspectName = "RloginName";
this.clmRlogin.Text = "Rlogin";
this.clmRlogin.Width = 50;
//
// clmRDP
//
this.clmRDP.AspectName = "RdpName";
this.clmRDP.Text = "RDP";
this.clmRDP.Width = 50;
//
// clmVNC
//
this.clmVNC.AspectName = "VncName";
this.clmVNC.Text = "VNC";
this.clmVNC.Width = 50;
//
// clmOpenPorts
//
this.clmOpenPorts.AspectName = "OpenPortsName";
this.clmOpenPorts.FillsFreeSpace = true;
this.clmOpenPorts.Text = "Open Ports";
this.clmOpenPorts.Width = 150;
//
// clmClosedPorts
//
this.clmClosedPorts.AspectName = "ClosedPortsName";
this.clmClosedPorts.FillsFreeSpace = true;
this.clmClosedPorts.Text = "Closed Ports";
this.clmClosedPorts.Width = 150;
//
// prgBar
//
this.prgBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
this.cbProtocol.Location = new System.Drawing.Point(5, 25);
this.cbProtocol.Name = "cbProtocol";
this.cbProtocol.Size = new System.Drawing.Size(122, 21);
this.cbProtocol.TabIndex = 28;
//
// lblOnlyImport
//
this.lblOnlyImport.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lblOnlyImport.AutoSize = true;
this.lblOnlyImport.Location = new System.Drawing.Point(2, 5);
this.lblOnlyImport.Name = "lblOnlyImport";
this.lblOnlyImport.Size = new System.Drawing.Size(104, 13);
this.lblOnlyImport.TabIndex = 1;
this.lblOnlyImport.Text = "Protocol to import:";
//
// clmHost
//
this.clmHost.AspectName = "HostIPorName";
this.clmHost.FillsFreeSpace = true;
this.clmHost.Text = "Hostname/IP";
this.clmHost.Width = 130;
//
// clmSSH
//
this.clmSSH.AspectName = "SshName";
this.clmSSH.Text = "SSH";
this.clmSSH.Width = 50;
//
// clmTelnet
//
this.clmTelnet.AspectName = "TelnetName";
this.clmTelnet.Text = "Telnet";
this.clmTelnet.Width = 50;
//
// clmHTTP
//
this.clmHTTP.AspectName = "HttpName";
this.clmHTTP.Text = "HTTP";
this.clmHTTP.Width = 50;
//
// clmHTTPS
//
this.clmHTTPS.AspectName = "HttpsName";
this.clmHTTPS.Text = "HTTPS";
this.clmHTTPS.Width = 50;
//
// clmRlogin
//
this.clmRlogin.AspectName = "RloginName";
this.clmRlogin.Text = "Rlogin";
this.clmRlogin.Width = 50;
//
// clmRDP
//
this.clmRDP.AspectName = "RdpName";
this.clmRDP.Text = "RDP";
this.clmRDP.Width = 50;
//
// clmVNC
//
this.clmVNC.AspectName = "VncName";
this.clmVNC.Text = "VNC";
this.clmVNC.Width = 50;
//
// clmOpenPorts
//
this.clmOpenPorts.AspectName = "OpenPortsName";
this.clmOpenPorts.FillsFreeSpace = true;
this.clmOpenPorts.Text = "Open Ports";
this.clmOpenPorts.Width = 150;
//
// clmClosedPorts
//
this.clmClosedPorts.AspectName = "ClosedPortsName";
this.clmClosedPorts.FillsFreeSpace = true;
this.clmClosedPorts.Text = "Closed Ports";
this.clmClosedPorts.Width = 150;
//
// prgBar
//
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(15, 51);
this.prgBar.Name = "prgBar";
this.prgBar.Size = new System.Drawing.Size(775, 16);
this.prgBar.Step = 1;
this.prgBar.TabIndex = 28;
//
// pnlPorts
//
this.pnlPorts.Controls.Add(this.numericSelectorTimeout);
this.pnlPorts.Controls.Add(this.lblTimeout);
this.pnlPorts.Controls.Add(this.portEnd);
this.pnlPorts.Controls.Add(this.portStart);
this.pnlPorts.Controls.Add(this.Label2);
this.pnlPorts.Controls.Add(this.Label1);
this.pnlPorts.Location = new System.Drawing.Point(284, 7);
this.pnlPorts.Name = "pnlPorts";
this.pnlPorts.Size = new System.Drawing.Size(506, 38);
this.pnlPorts.TabIndex = 18;
//
// numericSelectorTimeout
//
this.numericSelectorTimeout.Location = new System.Drawing.Point(436, 12);
this.numericSelectorTimeout.Maximum = new decimal(new int[] {
this.prgBar.Location = new System.Drawing.Point(5, 45);
this.prgBar.Name = "prgBar";
this.prgBar.Size = new System.Drawing.Size(760, 15);
this.prgBar.Step = 1;
this.prgBar.TabIndex = 28;
//
// pnlScan
//
this.pnlScan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.pnlScan.Controls.Add(this.numericSelectorTimeout);
this.pnlScan.Controls.Add(this.lblTimeout);
this.pnlScan.Controls.Add(this.portEnd);
this.pnlScan.Controls.Add(this.portStart);
this.pnlScan.Controls.Add(this.prgBar);
this.pnlScan.Controls.Add(this.Label2);
this.pnlScan.Controls.Add(this.lblStartIP);
this.pnlScan.Controls.Add(this.lblEndIP);
this.pnlScan.Controls.Add(this.ipStart);
this.pnlScan.Controls.Add(this.btnScan);
this.pnlScan.Controls.Add(this.Label1);
this.pnlScan.Controls.Add(this.ipEnd);
this.pnlScan.Location = new System.Drawing.Point(12, 5);
this.pnlScan.Name = "pnlScan";
this.pnlScan.Size = new System.Drawing.Size(883, 65);
this.pnlScan.TabIndex = 18;
//
// numericSelectorTimeout
//
this.numericSelectorTimeout.Location = new System.Drawing.Point(600, 17);
this.numericSelectorTimeout.Maximum = new decimal(new int[] {
2147482,
0,
0,
0});
this.numericSelectorTimeout.Name = "numericSelectorTimeout";
this.numericSelectorTimeout.Size = new System.Drawing.Size(67, 22);
this.numericSelectorTimeout.TabIndex = 17;
//
// lblTimeout
//
this.lblTimeout.AutoSize = true;
this.lblTimeout.Location = new System.Drawing.Point(315, 14);
this.lblTimeout.Name = "lblTimeout";
this.lblTimeout.Size = new System.Drawing.Size(102, 13);
this.lblTimeout.TabIndex = 16;
this.lblTimeout.Text = "Timeout (seconds):";
//
// portEnd
//
this.portEnd.Location = new System.Drawing.Point(232, 12);
this.portEnd.Maximum = new decimal(new int[] {
this.numericSelectorTimeout.Name = "numericSelectorTimeout";
this.numericSelectorTimeout.Size = new System.Drawing.Size(67, 22);
this.numericSelectorTimeout.TabIndex = 17;
//
// lblTimeout
//
this.lblTimeout.AutoSize = true;
this.lblTimeout.Location = new System.Drawing.Point(597, 1);
this.lblTimeout.Name = "lblTimeout";
this.lblTimeout.Size = new System.Drawing.Size(102, 13);
this.lblTimeout.TabIndex = 16;
this.lblTimeout.Text = "Timeout (seconds):";
//
// portEnd
//
this.portEnd.Location = new System.Drawing.Point(490, 17);
this.portEnd.Maximum = new decimal(new int[] {
65535,
0,
0,
0});
this.portEnd.Name = "portEnd";
this.portEnd.Size = new System.Drawing.Size(67, 22);
this.portEnd.TabIndex = 15;
this.portEnd.Enter += new System.EventHandler(this.portEnd_Enter);
//
// portStart
//
this.portStart.Location = new System.Drawing.Point(79, 12);
this.portStart.Maximum = new decimal(new int[] {
this.portEnd.Name = "portEnd";
this.portEnd.Size = new System.Drawing.Size(67, 22);
this.portEnd.TabIndex = 15;
this.portEnd.Enter += new System.EventHandler(this.portEnd_Enter);
//
// portStart
//
this.portStart.Location = new System.Drawing.Point(375, 17);
this.portStart.Maximum = new decimal(new int[] {
65535,
0,
0,
0});
this.portStart.Name = "portStart";
this.portStart.Size = new System.Drawing.Size(67, 22);
this.portStart.TabIndex = 5;
this.portStart.Enter += new System.EventHandler(this.portStart_Enter);
//
// Label2
//
this.Label2.AutoSize = true;
this.Label2.Location = new System.Drawing.Point(160, 14);
this.Label2.Name = "Label2";
this.Label2.Size = new System.Drawing.Size(54, 13);
this.Label2.TabIndex = 10;
this.Label2.Text = "End Port:";
//
// Label1
//
this.Label1.AutoSize = true;
this.Label1.Location = new System.Drawing.Point(7, 14);
this.Label1.Name = "Label1";
this.Label1.Size = new System.Drawing.Size(58, 13);
this.Label1.TabIndex = 0;
this.Label1.Text = "Start Port:";
//
// pnlImport
//
this.pnlImport.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
this.portStart.Name = "portStart";
this.portStart.Size = new System.Drawing.Size(67, 22);
this.portStart.TabIndex = 5;
this.portStart.Enter += new System.EventHandler(this.portStart_Enter);
//
// Label2
//
this.Label2.AutoSize = true;
this.Label2.Location = new System.Drawing.Point(487, 1);
this.Label2.Name = "Label2";
this.Label2.Size = new System.Drawing.Size(54, 13);
this.Label2.TabIndex = 10;
this.Label2.Text = "End Port:";
//
// Label1
//
this.Label1.AutoSize = true;
this.Label1.Location = new System.Drawing.Point(372, 1);
this.Label1.Name = "Label1";
this.Label1.Size = new System.Drawing.Size(58, 13);
this.Label1.TabIndex = 0;
this.Label1.Text = "Start Port:";
//
// pnlImport
//
this.pnlImport.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
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, 369);
this.pnlImport.Name = "pnlImport";
this.pnlImport.Size = new System.Drawing.Size(884, 40);
this.pnlImport.TabIndex = 102;
//
// PortScanWindow
//
this.AcceptButton = this.btnImport;
this.ClientSize = new System.Drawing.Size(908, 421);
this.Controls.Add(this.pnlImport);
this.Controls.Add(this.olvHosts);
this.Controls.Add(this.pnlPorts);
this.Controls.Add(this.prgBar);
this.Controls.Add(this.btnScan);
this.Controls.Add(this.lblEndIP);
this.Controls.Add(this.lblStartIP);
this.Controls.Add(this.ipEnd);
this.Controls.Add(this.ipStart);
this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "PortScanWindow";
this.TabText = "Port Scan";
this.Text = "Port Scan";
this.Load += new System.EventHandler(this.PortScan_Load);
((System.ComponentModel.ISupportInitialize)(this.olvHosts)).EndInit();
this.resultsMenuStrip.ResumeLayout(false);
this.pnlPorts.ResumeLayout(false);
this.pnlPorts.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericSelectorTimeout)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.portEnd)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.portStart)).EndInit();
this.pnlImport.ResumeLayout(false);
this.pnlImport.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
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, 364);
this.pnlImport.Name = "pnlImport";
this.pnlImport.Size = new System.Drawing.Size(883, 50);
this.pnlImport.TabIndex = 102;
//
// PortScanWindow
//
this.AcceptButton = this.btnImport;
this.AutoScroll = true;
this.ClientSize = new System.Drawing.Size(908, 421);
this.Controls.Add(this.pnlImport);
this.Controls.Add(this.olvHosts);
this.Controls.Add(this.pnlScan);
this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MinimumSize = new System.Drawing.Size(924, 460);
this.Name = "PortScanWindow";
this.TabText = "Port Scan";
this.Text = "Port Scan";
this.Load += new System.EventHandler(this.PortScan_Load);
((System.ComponentModel.ISupportInitialize)(this.olvHosts)).EndInit();
this.resultsMenuStrip.ResumeLayout(false);
this.pnlScan.ResumeLayout(false);
this.pnlScan.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericSelectorTimeout)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.portEnd)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.portStart)).EndInit();
this.pnlImport.ResumeLayout(false);
this.pnlImport.PerformLayout();
this.ResumeLayout(false);
}
internal System.Windows.Forms.Panel pnlImport;

View File

@@ -122,7 +122,7 @@ namespace mRemoteNG.UI.Window
else
{
Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg, Language.strCannotStartPortScan);
}
}
}
}
@@ -147,14 +147,14 @@ namespace mRemoteNG.UI.Window
clmClosedPorts.Text = Language.strClosedPorts;
Label2.Text = $"{Language.strEndPort}:";
Label1.Text = $"{Language.strStartPort}:";
lblTimeout.Text = $"{Language.TimeoutInSeconds}";
lblTimeout.Text = $"{Language.strTimeoutInSeconds}";
TabText = Language.strMenuPortScan;
Text = Language.strMenuPortScan;
}
private void ShowImportControls(bool controlsVisible)
{
pnlPorts.Visible = controlsVisible;
pnlScan.Visible = controlsVisible;
pnlImport.Visible = controlsVisible;
if (controlsVisible)
{

View File

@@ -692,6 +692,12 @@
<setting name="MultiSshToolbarVisible" serializeAs="String">
<value>False</value>
</setting>
<setting name="CreateEmptyPanelOnStartUp" serializeAs="String">
<value>False</value>
</setting>
<setting name="StartUpPanelName" serializeAs="String">
<value>General</value>
</setting>
</mRemoteNG.Settings>
</userSettings>
<applicationSettings>