Compare commits

..

63 Commits

Author SHA1 Message Date
Riley McArdle
d72dbdace0 Update CHANGELOG.TXT for release of 1.71 Beta 2. 2013-03-19 13:14:34 -05:00
Riley McArdle
5c887b648f Update translations from Crowdin. 2013-03-18 23:38:08 -05:00
Riley McArdle
4de7167352 Add additional translators to CREDITS.TXT. 2013-03-18 22:58:43 -05:00
Riley McArdle
54825b353f Fix issue MR-401 - Checkbox misaligned 2013-03-17 17:51:13 -05:00
Riley McArdle
b23fb58977 RDP connections can now be switched to full screen mode when redirect key combinations is enabled. 2013-03-17 15:36:59 -05:00
Riley McArdle
7b831c6ab8 Add feature MR-351 - Import connections from PuTTY 2013-03-16 22:37:34 -05:00
Riley McArdle
167344bd14 Add translator Emanuel Silva to CREDITS.TXT. 2013-03-16 13:46:21 -05:00
Riley McArdle
14f31ba461 Fix COMException on WebBrowser controls. 2013-03-15 23:56:48 -05:00
Riley McArdle
13a82799b2 Correct a typo. 2013-03-15 22:14:09 -05:00
Riley McArdle
66fe33683e Fix issue MR-375 - Changing a connection's icon using the picture button should immediately update Icon field 2013-03-15 18:03:41 -05:00
Riley McArdle
8030c9a63d Add feature MR-346 - Option to show/hide the description box at the bottom of the Config panel 2013-03-15 17:50:17 -05:00
Riley McArdle
60630a5cab Remove debug message from Connection.Protocol.PuttyBase.vb. 2013-03-15 16:51:02 -05:00
Riley McArdle
d9ba8f81e2 Create Sort Language Files.cmd. 2013-03-14 22:01:14 -05:00
Riley McArdle
7fe56402fd Fix spelling of colour for English and add color to en-US. 2013-03-14 22:00:05 -05:00
Riley McArdle
634bce25cd Move theme related strings into Language.resx. 2013-03-14 21:41:12 -05:00
Riley McArdle
437ff003b0 More theme improvements. 2013-03-14 20:18:56 -05:00
Riley McArdle
9f09798da5 More theme improvements. 2013-03-14 19:46:06 -05:00
Riley McArdle
5da85b6a88 More additions to theming. 2013-03-12 22:41:59 -05:00
Riley McArdle
bb42a31486 Change theme settings file name to Themes.xml and moved it to a Const in App.Info.Settings. 2013-03-12 20:18:13 -05:00
Riley McArdle
7e5e1e6342 Hide theme properties that don't look good. Additional improvements to theming. 2013-03-12 20:01:35 -05:00
Riley McArdle
6f43bbf96e Start adding theme support. 2013-03-09 22:13:40 -06:00
Riley McArdle
8ea514643d Additional fix for MR-345. 2013-03-09 15:14:42 -06:00
Riley McArdle
f7e12c6e92 Fix issue MR-354 - Re-ordering tabs doesn't give good, reliable visual feedback 2013-03-08 20:32:54 -06:00
Riley McArdle
30f2cc9e28 Fix ArgumentNullException in Tools.CommandLineArguments. 2013-03-08 19:35:31 -06:00
Riley McArdle
45b9dddb4b Add feature MR-345 - Two separate options for confirming closure of Tabs and Connection Panels 2013-03-08 18:33:37 -06:00
Riley McArdle
650dc487db Fix issue MR-381 - Notifications panel - whitespace context menu allows Copy and Delete on nothing 2013-03-07 22:34:49 -06:00
Riley McArdle
5bc443707f Fix issue MR-377 - Several redundant panels can be opened 2013-03-07 21:14:00 -06:00
Riley McArdle
4510219300 Fix issue MR-379 - Connection variables not working with external tools 2013-03-07 20:26:02 -06:00
Riley McArdle
cd8601c7ff Correct CHANGELOG.TXT. 2013-03-07 20:25:41 -06:00
Riley McArdle
73c27069ee Change "Automatically get session information" to be disabled by default. 2013-03-07 19:50:35 -06:00
Riley McArdle
7dcad234f5 Hide the username and domain settings for VNC connections. 2013-03-07 18:52:15 -06:00
Riley McArdle
66281639b4 Merge branch 'release/1.70' into develop
Conflicts:
	CHANGELOG.TXT
2013-03-07 12:11:20 -06:00
Riley McArdle
83ec9e50b8 Merge branch 'release/1.70' into develop 2013-03-06 23:04:55 -06:00
Riley McArdle
0ff00e59ba Add setting for update channel. 2013-03-04 21:52:28 -06:00
Riley McArdle
850a342e38 Prepare CHANGELOG.TXT for release of 1.71 Beta 1. 2013-03-04 15:54:49 -06:00
Riley McArdle
1caba06aca Fix issue MR-362 - Rename 'Screenshot Manager' to 'Screenshots' on the View menu to match Panel name 2013-03-04 13:20:49 -06:00
Riley McArdle
a115196cee Disable Fullscreen item on tab context menu if redirect keys is enabled for RDP connection. Fix automatic RDP resize when redirect keys is enabled. Fix automatic RDP resize when SmartSize setting is changed. 2013-03-04 12:55:46 -06:00
Riley McArdle
5f451de94e Fix issue MR-352 - Passwords with " (quotation mark) and # (hash key) characters make mRemoteNG to open PuttyNG dialog 2013-03-02 01:41:00 -06:00
Riley McArdle
a4921fc564 Add automatic resizing of RDP connections when the window is resized or when toggling full screen mode. 2013-03-01 17:04:28 -06:00
Riley McArdle
7d1d03e8cd Fix connection bar being shown when connecting to an RDP connection with redirect key combinations enabled. 2013-02-28 22:46:07 -06:00
Riley McArdle
92c18a45ba Merge branch 'release/1.70' into develop 2013-02-28 14:57:41 -06:00
Riley McArdle
e1deaf73ea Fix issue MR-117 - Remote Session Info Window / Tab does not populate 2013-02-27 19:20:49 -06:00
Riley McArdle
7d6d602477 Merge branch 'release/1.70' into develop
Conflicts:
	CHANGELOG.TXT
2013-02-27 14:44:17 -06:00
Riley McArdle
0a7c88a853 Fix issue MR-339 - Connection group collapses with just one click 2013-02-27 14:39:27 -06:00
Riley McArdle
960ecba12a Fix tabs not closing on double-click when the active tab is a PuTTY connection. 2013-02-27 14:12:49 -06:00
Riley McArdle
3988820db9 Fix issue MR-342 - Incorrect view in config pane of new connection after viewing default inheritance 2013-02-26 21:06:47 -06:00
Riley McArdle
22ea7055c9 Fix issue MR-142 - Start of mRemoteNG takes about one minute and consumes excessive CPU 2013-02-26 20:46:49 -06:00
Riley McArdle
edba3fbea0 Merge branch 'release/1.70' into develop
Conflicts:
	CHANGELOG.TXT
	mRemoteV1/Forms/frmOptions.resx
	mRemoteV1/Forms/frmOptions.vb
2013-02-26 20:02:18 -06:00
Riley McArdle
51e4bc7eae Move search prompt to resource string. 2013-02-26 16:19:06 -06:00
Riley McArdle
3e680235ee Improve appearance and discoverability of the connection search box. 2013-02-26 16:13:45 -06:00
Riley McArdle
c218f0362e Merge branch 'release/1.70' into develop
Conflicts:
	CHANGELOG.TXT
2013-02-25 18:47:20 -06:00
Riley McArdle
a3c9c667b4 Add detection of newer versions of connection files and database schemata and refuse to open them to avoid data loss. 2013-02-24 16:46:37 -06:00
Riley McArdle
73f71050a0 Fix issue MR-332 - Can't select different tab with one click after disconnecting existing tab 2013-02-24 16:02:04 -06:00
Riley McArdle
94d901ec4c Increment version to 1.71. 2013-02-24 15:40:19 -06:00
Riley McArdle
9e67f36615 Fix issue MR-330 - Portable version saves log to user's profile folder 2013-02-24 15:38:48 -06:00
Riley McArdle
bf6f166d8f Add feature MR-329 - Create Option to disable the "Quick: " prefix 2013-02-24 13:15:44 -06:00
Riley McArdle
1de5ab43d6 Fix issue MR-67 - Sort does not recursively sort 2013-02-24 12:49:38 -06:00
Riley McArdle
39dd75dbde Fix issue MR-121 - Config pane not sorting properties correctly when switching between alphabetical and categorized view 2013-02-24 00:04:45 -06:00
Riley McArdle
b509f75c17 Fix issue MR-130 - Issues duplicating folders 2013-02-23 23:38:16 -06:00
Riley McArdle
877649b80a Fix issue MR-158 - Password field not accepting Pipe 2013-02-23 22:14:48 -06:00
Riley McArdle
b5846f2286 Fix issue MR-333 - Unnecessary prompt for 'close all open connections?' 2013-02-23 21:34:48 -06:00
Riley McArdle
80dd98e7fb Merge branch 'release/1.70' into develop 2013-02-23 21:03:21 -06:00
Riley McArdle
80f35cea71 Refactor Security.Crypt.Decrypt(). 2013-02-21 21:08:19 -06:00
63 changed files with 4829 additions and 997 deletions

View File

@@ -1,3 +1,35 @@
1.71 Beta 2 (2013-03-19):
Added feature MR-345 - Two separate options for confirming closure of Tabs and Connection Panels
Added feature MR-346 - Option to show/hide the description box at the bottom of the Config panel
Added feature MR-351 - Import connections from PuTTY
Fixed issue MR-354 - Re-ordering tabs doesn't give good, reliable visual feedback
Fixed issue MR-375 - Changing a connection's icon using the picture button should immediately update Icon field
Fixed issue MR-377 - Several redundant panels can be opened
Fixed issue MR-379 - Connection variables not working with external tools
Fixed issue MR-381 - Notifications panel - whitespace context menu allows Copy and Delete on nothing
Fixed issue MR-401 - Checkbox misaligned
The username and domain settings are now hidden for VNC connections since they are not supported.
Changed "Automatically get session information" to be disabled by default.
RDP connections can now be switched to full screen mode when redirect key combinations is enabled.
1.71 Beta 1 (2013-03-04):
Added feature MR-329 - Create Option to disable the "Quick: " prefix
Fixed issue MR-67 - Sort does not recursively sort
Fixed issue MR-117 - Remote Session Info Window / Tab does not populate
Fixed issue MR-121 - Config pane not sorting properties correctly when switching between alphabetical and categorized view
Fixed issue MR-130 - Issues duplicating folders
Fixed issue MR-142 - Start of mRemoteNG takes about one minute and consumes excessive CPU
Fixed issue MR-158 - Password field not accepting Pipe
Fixed issue MR-330 - Portable version saves log to user's profile folder
Fixed issue MR-333 - Unnecessary prompt for 'close all open connections?'
Fixed issue MR-342 - Incorrect view in config pane of new connection after viewing default inheritance
Fixed issue MR-352 - Passwords with " (quotation mark) and # (hash key) characters make mRemoteNG to open PuttyNG dialog
Fixed issue MR-362 - Rename 'Screenshot Manager' to 'Screenshots' on the View menu to match Panel name
Added detection of newer versions of connection files and database schemata. mRemoteNG will now refuse to open them to avoid data loss.
Improved appearance and discoverability of the connection search box.
If RDC 7.0 or higher is installed, the connection bar is no longer briefly shown when connecting to an RDP connection with redirect key combinations enabled.
If RDC 8.0 or higher is installed, RDP connections automatically adjust their size when the window is resized or when toggling full screen mode.
1.70 (2013-03-07):
Fixed issue MR-339 - Connection group collapses with just one click
Fixed issue MR-340 - Object reference not set to an instance of an object.

View File

@@ -13,6 +13,15 @@ Andreas Rehm
David Vidmar
Translators
===========
Eugenio "Ryo567" Mart<72>nez
Mathieu Pape
Emanuel Silva
Robert Siwiec
Included Source Code
====================

26
Sort Language Files.cmd Normal file
View File

@@ -0,0 +1,26 @@
@echo off
set TEMP_FOLDER="%TEMP%\Translations.tmp"
set SORTRESX="%~dp0\Tools\SortRESX.exe"
echo.
echo This script sorts the language files
echo.
choice /m "Would you like to continue?"
echo.
rmdir /s /q %TEMP_FOLDER%
mkdir %TEMP_FOLDER%
copy "%~dp0\mRemoteV1\Language\*.resx" %TEMP_FOLDER%
pushd %TEMP_FOLDER%
for %%f in (*) do echo %SORTRESX% %TEMP_FOLDER%\%%f "%~dp0\mRemoteV1\Language\%%f"
popd
rmdir /s /q %TEMP_FOLDER%
echo Done.
echo.
pause

View File

@@ -21,15 +21,23 @@ Namespace App
#End If
Public Shared ReadOnly LayoutFileName As String = "pnlLayout.xml"
Public Shared ReadOnly ExtAppsFilesName As String = "extApps.xml"
Public Const ThemesFileName As String = "Themes.xml"
End Class
Public Class Update
Public Shared ReadOnly URL As String = "http://update.mremoteng.org/"
#If DEBUG Then
Public Shared ReadOnly File As String = "update-debug.txt"
#Else
Public Shared ReadOnly File As String = "update.txt"
#End If
Public Shared ReadOnly Property File As String
Get
Select Case My.Settings.UpdateChannel.ToLowerInvariant()
Case "beta"
Return "update-beta.txt"
Case "debug"
Return "update-debug.txt"
Case Else
Return "update.txt"
End Select
End Get
End Property
End Class
Public Class Connections

View File

@@ -1,7 +1,6 @@
Imports log4net
Imports mRemoteNG.Messages
Imports mRemoteNG.Connection
Imports mRemoteNG.Config.Settings
Imports mRemoteNG.Tools
Imports WeifenLuo.WinFormsUI.Docking
Imports System.IO
@@ -262,70 +261,88 @@ Namespace App
Public Shared AnnouncementForm As UI.Window.Announcement
Public Shared AnnouncementPanel As New DockContent
Public Shared Sub Show(ByVal WindowType As UI.Window.Type, Optional ByVal PortScanMode As Tools.PortScan.PortScanMode = Tools.PortScan.PortScanMode.Normal)
Public Shared Sub Show(ByVal windowType As UI.Window.Type, Optional ByVal portScanMode As PortScan.PortScanMode = PortScan.PortScanMode.Normal)
Try
Select Case WindowType
Select Case windowType
Case UI.Window.Type.About
Windows.aboutForm = New UI.Window.About(Windows.aboutPanel)
Windows.aboutPanel = Windows.aboutForm
If aboutForm Is Nothing OrElse aboutForm.IsDisposed Then
aboutForm = New UI.Window.About(aboutPanel)
aboutPanel = aboutForm
End If
Windows.aboutForm.Show(frmMain.pnlDock)
aboutForm.Show(frmMain.pnlDock)
Case UI.Window.Type.ADImport
Windows.adimportForm = New UI.Window.ADImport(Windows.adimportPanel)
Windows.adimportPanel = Windows.adimportForm
If adimportForm Is Nothing OrElse adimportForm.IsDisposed Then
adimportForm = New UI.Window.ADImport(adimportPanel)
adimportPanel = adimportForm
End If
Windows.adimportPanel.Show(frmMain.pnlDock)
adimportPanel.Show(frmMain.pnlDock)
Case UI.Window.Type.Options
Windows.optionsForm = New frmOptions(Windows.optionsPanel)
Windows.optionsForm.Show(frmMain.pnlDock)
optionsForm = New frmOptions(optionsPanel)
optionsForm.Show(frmMain.pnlDock)
Case UI.Window.Type.Export
Windows.exportForm = New UI.Window.Export(Windows.exportPanel)
Windows.exportPanel = Windows.exportForm
If exportForm Is Nothing OrElse exportForm.IsDisposed Then
exportForm = New UI.Window.Export(exportPanel)
exportPanel = exportForm
End If
Windows.exportForm.Show(frmMain.pnlDock)
exportForm.Show(frmMain.pnlDock)
Case UI.Window.Type.SSHTransfer
Windows.sshtransferForm = New UI.Window.SSHTransfer(Windows.sshtransferPanel)
Windows.sshtransferPanel = Windows.sshtransferForm
sshtransferForm = New UI.Window.SSHTransfer(sshtransferPanel)
sshtransferPanel = sshtransferForm
Windows.sshtransferForm.Show(frmMain.pnlDock)
sshtransferForm.Show(frmMain.pnlDock)
Case UI.Window.Type.Update
Windows.updateForm = New UI.Window.Update(Windows.updatePanel)
Windows.updatePanel = Windows.updateForm
If updateForm Is Nothing OrElse updateForm.IsDisposed Then
updateForm = New UI.Window.Update(updatePanel)
updatePanel = updateForm
End If
Windows.updateForm.Show(frmMain.pnlDock)
updateForm.Show(frmMain.pnlDock)
Case UI.Window.Type.Help
Windows.helpForm = New UI.Window.Help(Windows.helpPanel)
Windows.helpPanel = Windows.helpForm
If helpForm Is Nothing OrElse helpForm.IsDisposed Then
helpForm = New UI.Window.Help(helpPanel)
helpPanel = helpForm
End If
Windows.helpForm.Show(frmMain.pnlDock)
helpForm.Show(frmMain.pnlDock)
Case UI.Window.Type.ExternalApps
Windows.externalappsForm = New UI.Window.ExternalApps(Windows.externalappsPanel)
Windows.externalappsPanel = Windows.externalappsForm
If externalappsForm Is Nothing OrElse externalappsForm.IsDisposed Then
externalappsForm = New UI.Window.ExternalApps(externalappsPanel)
externalappsPanel = externalappsForm
End If
Windows.externalappsForm.Show(frmMain.pnlDock)
externalappsForm.Show(frmMain.pnlDock)
Case UI.Window.Type.PortScan
Windows.portscanForm = New UI.Window.PortScan(Windows.portscanPanel, PortScanMode)
Windows.portscanPanel = Windows.portscanForm
portscanForm = New UI.Window.PortScan(portscanPanel, portScanMode)
portscanPanel = portscanForm
Windows.portscanForm.Show(frmMain.pnlDock)
portscanForm.Show(frmMain.pnlDock)
Case UI.Window.Type.UltraVNCSC
Windows.ultravncscForm = New UI.Window.UltraVNCSC(Windows.ultravncscPanel)
Windows.ultravncscPanel = Windows.ultravncscForm
If ultravncscForm Is Nothing OrElse ultravncscForm.IsDisposed Then
ultravncscForm = New UI.Window.UltraVNCSC(ultravncscPanel)
ultravncscPanel = ultravncscForm
End If
Windows.ultravncscForm.Show(frmMain.pnlDock)
ultravncscForm.Show(frmMain.pnlDock)
Case UI.Window.Type.ComponentsCheck
Windows.componentscheckForm = New UI.Window.ComponentsCheck(Windows.componentscheckPanel)
Windows.componentscheckPanel = Windows.componentscheckForm
If componentscheckForm Is Nothing OrElse componentscheckForm.IsDisposed Then
componentscheckForm = New UI.Window.ComponentsCheck(componentscheckPanel)
componentscheckPanel = componentscheckForm
End If
Windows.componentscheckForm.Show(frmMain.pnlDock)
componentscheckForm.Show(frmMain.pnlDock)
Case UI.Window.Type.Announcement
Windows.AnnouncementForm = New UI.Window.Announcement(AnnouncementPanel)
Windows.AnnouncementPanel = Windows.AnnouncementForm
If AnnouncementForm Is Nothing OrElse AnnouncementForm.IsDisposed Then
AnnouncementForm = New UI.Window.Announcement(AnnouncementPanel)
AnnouncementPanel = AnnouncementForm
End If
Windows.AnnouncementForm.Show(frmMain.pnlDock)
AnnouncementForm.Show(frmMain.pnlDock)
End Select
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Show (App.Runtime.Windows) failed" & vbNewLine & ex.Message, True)
MessageCollector.AddMessage(MessageClass.ErrorMsg, "App.Runtime.Windows.Show() failed." & vbNewLine & ex.Message, True)
End Try
End Sub
@@ -447,35 +464,56 @@ Namespace App
Next
End Sub
Public Shared Sub GetPuttySessions()
Connection.PuttySession.PuttySessions = Connection.Protocol.PuttyBase.GetSessions()
End Sub
Public Shared Sub CreateLogger()
log4net.Config.XmlConfigurator.Configure(New FileInfo("mRemoteNG.exe.config"))
Log = log4net.LogManager.GetLogger("mRemoteNG.Log")
Log.InfoFormat("{0} started.", My.Application.Info.ProductName)
Log.InfoFormat("Command Line: {0}", Environment.GetCommandLineArgs)
Try
Dim servicePack As Integer
For Each managementObject As ManagementObject In New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem").Get()
servicePack = managementObject.GetPropertyValue("ServicePackMajorVersion")
If servicePack = 0 Then
Log.InfoFormat("{0} {1}", managementObject.GetPropertyValue("Caption").Trim, managementObject.GetPropertyValue("OSArchitecture"))
Else
Log.InfoFormat("{0} Service Pack {1} {2}", managementObject.GetPropertyValue("Caption").Trim, servicePack.ToString, managementObject.GetPropertyValue("OSArchitecture"))
End If
Next
Catch ex As Exception
Log.WarnFormat("Error retrieving operating system information from WMI. {0}", ex.Message)
End Try
Log.InfoFormat("Microsoft .NET Framework {0}", System.Environment.Version.ToString)
log4net.Config.XmlConfigurator.Configure()
Dim logFilePath As String
#If Not PORTABLE Then
Log.InfoFormat("{0} {1}", My.Application.Info.ProductName.ToString, My.Application.Info.Version.ToString)
logFilePath = Path.Combine(GetFolderPath(SpecialFolder.LocalApplicationData), Application.ProductName)
#Else
log.InfoFormat("{0} {1} {2}", My.Application.Info.ProductName.ToString, My.Application.Info.Version.ToString, My.Language.strLabelPortableEdition)
logFilePath = Application.StartupPath
#End If
Log.InfoFormat("System Culture: {0}/{1}", Threading.Thread.CurrentThread.CurrentUICulture.Name, Threading.Thread.CurrentThread.CurrentUICulture.NativeName)
Dim logFileName As String = Path.ChangeExtension(Application.ProductName, ".log")
Dim logFile As String = Path.Combine(logFilePath, logFileName)
Dim repository As Repository.ILoggerRepository = LogManager.GetRepository()
Dim appenders As Appender.IAppender() = repository.GetAppenders()
Dim fileAppender As Appender.FileAppender
For Each appender As Appender.IAppender In appenders
fileAppender = TryCast(appender, Appender.FileAppender)
If Not (fileAppender Is Nothing OrElse Not fileAppender.Name = "LogFileAppender") Then
fileAppender.File = logFile
fileAppender.ActivateOptions()
End If
Next
Log = LogManager.GetLogger("Logger")
If My.Settings.WriteLogFile Then
#If Not PORTABLE Then
Log.InfoFormat("{0} {1} starting.", Application.ProductName, Application.ProductVersion)
#Else
Log.InfoFormat("{0} {1} {2} starting.", Application.ProductName, Application.ProductVersion, My.Language.strLabelPortableEdition)
#End If
Log.InfoFormat("Command Line: {0}", Environment.GetCommandLineArgs)
Try
Dim servicePack As Integer
For Each managementObject As ManagementObject In New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem").Get()
servicePack = managementObject.GetPropertyValue("ServicePackMajorVersion")
If servicePack = 0 Then
Log.InfoFormat("{0} {1}", managementObject.GetPropertyValue("Caption").Trim, managementObject.GetPropertyValue("OSArchitecture"))
Else
Log.InfoFormat("{0} Service Pack {1} {2}", managementObject.GetPropertyValue("Caption").Trim, servicePack.ToString, managementObject.GetPropertyValue("OSArchitecture"))
End If
Next
Catch ex As Exception
Log.WarnFormat("Error retrieving operating system information from WMI. {0}", ex.Message)
End Try
Log.InfoFormat("Microsoft .NET CLR {0}", Version.ToString)
Log.InfoFormat("System Culture: {0}/{1}", Thread.CurrentThread.CurrentUICulture.Name, Thread.CurrentThread.CurrentUICulture.NativeName)
End If
End Sub
Public Shared Sub UpdateCheck()
@@ -1482,7 +1520,12 @@ Namespace App
If Not String.IsNullOrEmpty(Uri.Host) Then
Dim newConnectionInfo As New Connection.Info
newConnectionInfo.Name = String.Format(My.Language.strQuick, Uri.Host)
If My.Settings.IdentifyQuickConnectTabs Then
newConnectionInfo.Name = String.Format(My.Language.strQuick, Uri.Host)
Else
newConnectionInfo.Name = Uri.Host
End If
newConnectionInfo.Protocol = Protocol
newConnectionInfo.Hostname = Uri.Host
If Uri.Port = -1 Then
@@ -1521,11 +1564,13 @@ Namespace App
Exit Sub
End If
If Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.Connection Then
If Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.Connection Or _
Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.PuttySession Then
OpenConnection(Windows.treeForm.tvConnections.SelectedNode.Tag, Force)
ElseIf Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.Container Then
For Each tNode As TreeNode In Tree.Node.SelectedNode.Nodes
If Tree.Node.GetNodeType(tNode) = Tree.Node.Type.Connection Then
If Tree.Node.GetNodeType(tNode) = Tree.Node.Type.Connection Or _
Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.PuttySession Then
If tNode.Tag IsNot Nothing Then
OpenConnection(tNode.Tag, Force)
End If

View File

@@ -5,6 +5,7 @@ Imports mRemoteNG.App.Runtime
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Imports PSTaskDialog
Namespace Config
Namespace Connections
@@ -206,7 +207,12 @@ Namespace Config
sqlRd.Read()
End If
Me.confVersion = Convert.ToDouble(sqlRd.Item("confVersion"), CultureInfo.InvariantCulture)
confVersion = Convert.ToDouble(sqlRd.Item("confVersion"), CultureInfo.InvariantCulture)
Const maxSupportedSchemaVersion As Double = 2.4
If confVersion > maxSupportedSchemaVersion Then
cTaskDialog.ShowTaskDialogBox(frmMain, Application.ProductName, "Incompatible database schema", String.Format("The database schema on the server is not supported. Please upgrade to a newer version of {0}.", Application.ProductName), String.Format("Schema Version: {1}{0}Highest Supported Version: {2}", vbNewLine, confVersion.ToString(), maxSupportedSchemaVersion.ToString()), "", "", "", "", eTaskDialogButtons.OK, eSysIcons.Error, Nothing)
Throw New Exception(String.Format("Incompatible database schema (schema version {0}).", confVersion))
End If
Dim rootNode As TreeNode
rootNode = New TreeNode(sqlRd.Item("Name"))
@@ -235,6 +241,8 @@ Namespace Config
sqlRd.Close()
Windows.treeForm.tvConnections.BeginUpdate()
' SECTION 3. Populate the TreeView with the DOM nodes.
AddNodesFromSQL(rootNode)
'AddNodeFromXml(xDom.DocumentElement, Me._RootTreeNode)
@@ -248,6 +256,8 @@ Namespace Config
End If
Next
Windows.treeForm.tvConnections.EndUpdate()
'open connections from last mremote session
If My.Settings.OpenConsFromLastSession = True And My.Settings.NoReconnect = False Then
For Each conI As Connection.Info In Me._ConnectionList
@@ -265,10 +275,12 @@ Namespace Config
App.Runtime.IsConnectionsFileLoaded = True
'App.Runtime.Windows.treeForm.InitialRefresh()
sqlCon.Close()
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strLoadFromSqlFailed & vbNewLine & ex.Message, True)
Finally
If sqlCon IsNot Nothing Then
sqlCon.Close()
End If
End Try
End Sub
@@ -644,6 +656,12 @@ Namespace Config
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, My.Language.strOldConffile)
End If
Const maxSupportedConfVersion As Double = 2.4
If confVersion > maxSupportedConfVersion Then
cTaskDialog.ShowTaskDialogBox(frmMain, Application.ProductName, "Incompatible connection file format", String.Format("The format of this connection file is not supported. Please upgrade to a newer version of {0}.", Application.ProductName), String.Format("{1}{0}File Format Version: {2}{0}Highest Supported Version: {3}", vbNewLine, ConnectionFileName, confVersion.ToString(), maxSupportedConfVersion.ToString()), "", "", "", "", eTaskDialogButtons.OK, eSysIcons.Error, Nothing)
Throw New Exception(String.Format("Incompatible connection file format (file format version {0}).", confVersion))
End If
' SECTION 2. Initialize the treeview control.
Dim rootNode As TreeNode
@@ -693,6 +711,8 @@ Namespace Config
Me._RootTreeNode.SelectedImageIndex = Images.Enums.TreeImage.Root
End If
Windows.treeForm.tvConnections.BeginUpdate()
' SECTION 3. Populate the TreeView with the DOM nodes.
AddNodeFromXML(xDom.DocumentElement, Me._RootTreeNode)
@@ -705,6 +725,8 @@ Namespace Config
End If
Next
Windows.treeForm.tvConnections.EndUpdate()
'open connections from last mremote session
If My.Settings.OpenConsFromLastSession = True And My.Settings.NoReconnect = False Then
For Each conI As Connection.Info In Me._ConnectionList

View File

@@ -44,6 +44,8 @@ Namespace Config
log.InfoFormat("Override Culture: {0}/{1}", Threading.Thread.CurrentThread.CurrentUICulture.Name, Threading.Thread.CurrentThread.CurrentUICulture.NativeName)
End If
Themes.ThemeManager.LoadTheme(My.Settings.ThemeName)
.WindowState = FormWindowState.Normal
If My.Settings.MainFormState = FormWindowState.Normal Then
If Not My.Settings.MainFormLocation.IsEmpty Then .Location = My.Settings.MainFormLocation

View File

@@ -0,0 +1,9 @@
Namespace Config
Public Enum ConfirmClose
Unspecified = 0
Never = 1
[Exit] = 2
Multiple = 3
All = 4
End Enum
End Namespace

View File

@@ -0,0 +1,142 @@
Imports System.ComponentModel
Imports Microsoft.Win32
Imports mRemoteNG.Connection.Protocol
Imports mRemoteNG.Tree
Imports mRemoteNG.My
Namespace Config
Public Class PuttySessions
Private Const PuttySessionsKey As String = "Software\SimonTatham\PuTTY\Sessions"
Public Shared Sub AddSessionsToTree(ByVal treeView As TreeView)
Dim savedSessions() As Connection.Info = LoadSessions()
If savedSessions Is Nothing OrElse savedSessions.Length = 0 Then Return
Dim puttyRootInfo As New Root.PuttySessions.Info()
If String.IsNullOrEmpty(My.Settings.PuttySavedSessionsName) Then
puttyRootInfo.Name = Language.strPuttySavedSessionsRootName
Else
puttyRootInfo.Name = My.Settings.PuttySavedSessionsName
End If
If String.IsNullOrEmpty(My.Settings.PuttySavedSessionsPanel) Then
puttyRootInfo.Panel = Language.strGeneral
Else
puttyRootInfo.Panel = My.Settings.PuttySavedSessionsPanel
End If
Dim puttyRootNode As TreeNode = New TreeNode
puttyRootNode.Text = puttyRootInfo.Name
puttyRootNode.Tag = puttyRootInfo
puttyRootNode.ImageIndex = Images.Enums.TreeImage.PuttySessions
puttyRootNode.SelectedImageIndex = Images.Enums.TreeImage.PuttySessions
puttyRootInfo.TreeNode = puttyRootNode
treeView.BeginUpdate()
treeView.Nodes.Add(puttyRootNode)
Dim newTreeNode As TreeNode
For Each sessionInfo As Connection.PuttySession.Info In savedSessions
newTreeNode = Node.AddNode(Node.Type.PuttySession, sessionInfo.Name)
If newTreeNode Is Nothing Then Continue For
sessionInfo.RootPuttySessionsInfo = puttyRootInfo
sessionInfo.TreeNode = newTreeNode
sessionInfo.Inherit.TurnOffInheritanceCompletely()
newTreeNode.Tag = sessionInfo
newTreeNode.ImageIndex = Images.Enums.TreeImage.ConnectionClosed
newTreeNode.SelectedImageIndex = Images.Enums.TreeImage.ConnectionClosed
puttyRootNode.Nodes.Add(newTreeNode)
Next
puttyRootNode.Expand()
treeView.EndUpdate()
End Sub
Protected Shared Function GetSessionNames(Optional ByVal addDefaultSettings As Boolean = False) As String()
Dim sessionsKey As RegistryKey = Registry.CurrentUser.OpenSubKey(PuttySessionsKey)
If sessionsKey Is Nothing Then Return Nothing
Dim sessionNames As New List(Of String)
If addDefaultSettings Then sessionNames.Add("Default Settings")
For Each sessionName As String In sessionsKey.GetSubKeyNames()
sessionNames.Add(Web.HttpUtility.UrlDecode(sessionName))
Next
Return sessionNames.ToArray()
End Function
Protected Shared Function LoadSessions() As Connection.PuttySession.Info()
Dim sessionList As New List(Of Connection.PuttySession.Info)
Dim sessionInfo As Connection.Info
For Each sessionName As String In GetSessionNames()
sessionInfo = SessionToConnectionInfo(sessionName)
If sessionInfo Is Nothing Then Continue For
sessionList.Add(sessionInfo)
Next
Return sessionList.ToArray()
End Function
Protected Shared Function SessionToConnectionInfo(ByVal sessionName As String) As Connection.PuttySession.Info
Dim sessionsKey As RegistryKey = Registry.CurrentUser.OpenSubKey(PuttySessionsKey)
If sessionsKey Is Nothing Then Return Nothing
Dim sessionKey As RegistryKey = sessionsKey.OpenSubKey(sessionName)
If sessionKey Is Nothing Then Return Nothing
Dim sessionInfo As New Connection.PuttySession.Info
With sessionInfo
.PuttySession = sessionName
.Name = sessionName
.Hostname = sessionKey.GetValue("HostName")
.Username = sessionKey.GetValue("UserName")
Dim protocol As String = sessionKey.GetValue("Protocol")
Select Case protocol.ToLowerInvariant()
Case "raw"
.Protocol = Protocols.RAW
Case "rlogin"
.Protocol = Protocols.Rlogin
Case "serial"
Return Nothing
Case "ssh"
Dim sshVersion As Integer = sessionKey.GetValue("SshProt")
If sshVersion >= 2 Then
.Protocol = Protocols.SSH2
Else
.Protocol = Protocols.SSH1
End If
Case "telnet"
.Protocol = Protocols.Telnet
Case Else
Return Nothing
End Select
.Port = sessionKey.GetValue("PortNumber")
End With
Return sessionInfo
End Function
Public Class SessionList
Inherits StringConverter
Public Shared ReadOnly Property Names() As String()
Get
Return GetSessionNames(True)
End Get
End Property
Public Overloads Overrides Function GetStandardValues(ByVal context As System.ComponentModel.ITypeDescriptorContext) As System.ComponentModel.TypeConverter.StandardValuesCollection
Return New StandardValuesCollection(Names)
End Function
Public Overloads Overrides Function GetStandardValuesExclusive(ByVal context As System.ComponentModel.ITypeDescriptorContext) As Boolean
Return True
End Function
Public Overloads Overrides Function GetStandardValuesSupported(ByVal context As ITypeDescriptorContext) As Boolean
Return True
End Function
End Class
End Class
End Namespace

View File

@@ -13,7 +13,7 @@ Namespace Connection
Browsable(True), _
LocalizedDisplayName("strPropertyNameName"), _
LocalizedDescription("strPropertyDescriptionName")> _
Public Property Name() As String
Public Overridable Property Name() As String
Get
Return Me._Name
End Get
@@ -27,7 +27,7 @@ Namespace Connection
Browsable(True), _
LocalizedDisplayName("strPropertyNameDescription"), _
LocalizedDescription("strPropertyDescriptionDescription")> _
Public Property Description() As String
Public Overridable Property Description() As String
Get
If Me._Inherit.Description And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
@@ -54,7 +54,7 @@ Namespace Connection
Browsable(True), _
LocalizedDisplayName("strPropertyNameIcon"), _
LocalizedDescription("strPropertyDescriptionIcon")> _
Public Property Icon() As String
Public Overridable Property Icon() As String
Get
If Me._Inherit.Icon And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
@@ -80,7 +80,7 @@ Namespace Connection
Browsable(True), _
LocalizedDisplayName("strPropertyNamePanel"), _
LocalizedDescription("strPropertyDescriptionPanel")> _
Public Property Panel() As String
Public Overridable Property Panel() As String
Get
If Me._Inherit.Panel And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
@@ -107,7 +107,7 @@ Namespace Connection
Browsable(True), _
LocalizedDisplayName("strPropertyNameAddress"), _
LocalizedDescription("strPropertyDescriptionAddress")> _
Public Property Hostname() As String
Public Overridable Property Hostname() As String
Get
Return Me._Hostname.Trim()
End Get
@@ -121,7 +121,7 @@ Namespace Connection
Browsable(True), _
LocalizedDisplayName("strPropertyNameUsername"), _
LocalizedDescription("strPropertyDescriptionUsername")> _
Public Property Username() As String
Public Overridable Property Username() As String
Get
If Me._Inherit.Username And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
@@ -148,7 +148,7 @@ Namespace Connection
LocalizedDisplayName("strPropertyNamePassword"), _
LocalizedDescription("strPropertyDescriptionPassword"), _
PasswordPropertyText(True)> _
Public Property Password() As String
Public Overridable Property Password() As String
Get
If Me._Inherit.Password And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
@@ -202,7 +202,7 @@ Namespace Connection
LocalizedDisplayName("strPropertyNameProtocol"), _
LocalizedDescription("strPropertyDescriptionProtocol"), _
TypeConverter(GetType(Tools.Misc.EnumTypeConverter))> _
Public Property Protocol() As Connection.Protocol.Protocols
Public Overridable Property Protocol() As Connection.Protocol.Protocols
Get
If Me._Inherit.Protocol And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
@@ -255,7 +255,7 @@ Namespace Connection
Browsable(True), _
LocalizedDisplayName("strPropertyNamePort"), _
LocalizedDescription("strPropertyDescriptionPort")> _
Public Property Port() As Integer
Public Overridable Property Port() As Integer
Get
If Me._Inherit.Port And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
@@ -281,8 +281,8 @@ Namespace Connection
Browsable(True), _
LocalizedDisplayName("strPropertyNamePuttySession"), _
LocalizedDescription("strPropertyDescriptionPuttySession"), _
TypeConverter(GetType(mRemoteNG.Connection.PuttySession))> _
Public Property PuttySession() As String
TypeConverter(GetType(Config.PuttySessions.SessionList))> _
Public Overridable Property PuttySession() As String
Get
If Me._Inherit.PuttySession And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
@@ -958,7 +958,7 @@ Namespace Connection
LocalizedDisplayName("strPropertyNameExternalToolBefore"), _
LocalizedDescription("strPropertyDescriptionExternalToolBefore"), _
TypeConverter(GetType(Tools.ExternalAppsTypeConverter))> _
Public Property PreExtApp() As String
Public Overridable Property PreExtApp() As String
Get
If Me._Inherit.PreExtApp And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
@@ -985,7 +985,7 @@ Namespace Connection
LocalizedDisplayName("strPropertyNameExternalToolAfter"), _
LocalizedDescription("strPropertyDescriptionExternalToolAfter"), _
TypeConverter(GetType(Tools.ExternalAppsTypeConverter))> _
Public Property PostExtApp() As String
Public Overridable Property PostExtApp() As String
Get
If Me._Inherit.PostExtApp And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
@@ -1011,7 +1011,7 @@ Namespace Connection
Browsable(True), _
LocalizedDisplayName("strPropertyNameMACAddress"), _
LocalizedDescription("strPropertyDescriptionMACAddress")> _
Public Property MacAddress() As String
Public Overridable Property MacAddress() As String
Get
If Me._Inherit.MacAddress And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
@@ -1037,7 +1037,7 @@ Namespace Connection
Browsable(True), _
LocalizedDisplayName("strPropertyNameUser1"), _
LocalizedDescription("strPropertyDescriptionUser1")> _
Public Property UserField() As String
Public Overridable Property UserField() As String
Get
If Me._Inherit.UserField And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo

View File

@@ -17,14 +17,24 @@ Namespace Connection
End Set
End Property
Private _InterfaceControl As Connection.InterfaceControl
Public Property InterfaceControl() As Connection.InterfaceControl
Private WithEvents _connectionWindow As UI.Window.Connection
Public Property ConnectionWindow As UI.Window.Connection
Get
Return Me._InterfaceControl
Return _connectionWindow
End Get
Set(ByVal value As Connection.InterfaceControl)
Me._InterfaceControl = value
Set(value As UI.Window.Connection)
_connectionWindow = value
End Set
End Property
Private _interfaceControl As InterfaceControl
Public Property InterfaceControl() As InterfaceControl
Get
Return _interfaceControl
End Get
Set(ByVal value As InterfaceControl)
_interfaceControl = value
ConnectionWindow = TryCast(_interfaceControl.GetContainerControl(), UI.Window.Connection)
End Set
End Property
@@ -62,17 +72,29 @@ Namespace Connection
End Try
End Sub
Public Overridable Sub ResizeBegin(ByVal sender As System.Object, ByVal e As EventArgs) Handles _connectionWindow.ResizeBegin
End Sub
Public Overridable Sub Resize(ByVal sender As System.Object, ByVal e As EventArgs) Handles _connectionWindow.Resize
End Sub
Public Overridable Sub ResizeEnd(ByVal sender As System.Object, ByVal e As EventArgs) Handles _connectionWindow.ResizeEnd
End Sub
Public Overridable Function SetProps() As Boolean
Try
Me._InterfaceControl.Parent.Tag = Me._InterfaceControl
Me._InterfaceControl.Show()
Me._interfaceControl.Parent.Tag = Me._interfaceControl
Me._interfaceControl.Show()
If Me._Control IsNot Nothing Then
Me._Control.Name = Me._Name
Me._Control.Parent = Me._InterfaceControl
Me._Control.Location = Me._InterfaceControl.Location
Me._Control.Parent = Me._interfaceControl
Me._Control.Location = Me._interfaceControl.Location
Me._Control.Size = Me.InterfaceControl.Size
Me._Control.Anchor = Me._InterfaceControl.Anchor
Me._Control.Anchor = Me._interfaceControl.Anchor
End If
Return True
@@ -92,10 +114,6 @@ Namespace Connection
Me.Close()
End Sub
Public Overridable Sub Resize()
End Sub
Public Overridable Sub Close()
Dim t As New Thread(AddressOf CloseBG)
t.SetApartmentState(Threading.ApartmentState.STA)

View File

@@ -55,9 +55,9 @@ Namespace Connection
Dim objWebBrowser As WebBrowser = TryCast(wBrowser, WebBrowser)
Dim objAxWebBrowser As SHDocVw.WebBrowser = DirectCast(objWebBrowser.ActiveXInstance, SHDocVw.WebBrowser)
objWebBrowser.AllowWebBrowserDrop = False
objWebBrowser.ScrollBarsEnabled = True
AddHandler objWebBrowser.Navigated, AddressOf wBrowser_Navigated
AddHandler objWebBrowser.DocumentTitleChanged, AddressOf wBrowser_DocumentTitleChanged
AddHandler objAxWebBrowser.NewWindow3, AddressOf wBrowser_NewWindow3
End If
@@ -118,8 +118,14 @@ Namespace Connection
#End Region
#Region "Events"
Private Sub gex_CreateWindow(ByVal sender As Object, ByVal e As Skybound.Gecko.GeckoCreateWindowEventArgs)
e.WebBrowser = Me.wBrowser
Private Sub wBrowser_Navigated(sender As Object, e As System.Windows.Forms.WebBrowserNavigatedEventArgs)
Dim objWebBrowser As WebBrowser = TryCast(wBrowser, WebBrowser)
If objWebBrowser Is Nothing Then Return
' This can only be set once the WebBrowser control is shown, it will throw a COM exception otherwise.
objWebBrowser.AllowWebBrowserDrop = False
RemoveHandler objWebBrowser.Navigated, AddressOf wBrowser_Navigated
End Sub
Private Sub wBrowser_NewWindow3(ByRef ppDisp As Object, ByRef Cancel As Boolean, ByVal dwFlags As Long, ByVal bstrUrlContext As String, ByVal bstrUrl As String)
@@ -177,6 +183,7 @@ Namespace Connection
End Enum
Private Enum NWMF
' ReSharper disable InconsistentNaming
NWMF_UNLOADING = &H1
NWMF_USERINITED = &H2
NWMF_FIRST = &H4
@@ -191,6 +198,7 @@ Namespace Connection
NWMF_SUGGESTWINDOW = &H40000
NWMF_SUGGESTTAB = &H80000
NWMF_INACTIVETAB = &H100000
' ReSharper restore InconsistentNaming
End Enum
#End Region
End Class

View File

@@ -1,6 +1,7 @@
Imports mRemoteNG.App.Native
Imports System.Threading
Imports mRemoteNG.App.Runtime
Imports mRemoteNG.Tools
Namespace Connection
Namespace Protocol
@@ -86,8 +87,9 @@ Namespace Connection
Return Nothing
End If
IntAppProcessStartInfo.UseShellExecute = False
IntAppProcessStartInfo.FileName = _IntAppPath
IntAppProcessStartInfo.Arguments = Arguments
IntAppProcessStartInfo.Arguments = CommandLineArguments.EscapeBackslashes(Arguments)
IntAppProcess = Process.Start(IntAppProcessStartInfo)
IntAppProcess.EnableRaisingEvents = True
@@ -120,7 +122,7 @@ Namespace Connection
SetWindowLong(Me.IntAppHandle, 0, WS_VISIBLE)
ShowWindow(Me.IntAppHandle, SW_SHOWMAXIMIZED)
Resize()
Resize(Me, New EventArgs)
MyBase.Connect()
Return True
@@ -139,8 +141,9 @@ Namespace Connection
End Try
End Sub
Public Overrides Sub Resize()
Public Overrides Sub Resize(ByVal sender As Object, ByVal e As EventArgs)
Try
If InterfaceControl.Size = Size.Empty Then Return
MoveWindow(IntAppHandle, -SystemInformation.FrameBorderSize.Width, -(SystemInformation.CaptionHeight + SystemInformation.FrameBorderSize.Height), Me.InterfaceControl.Width + (SystemInformation.FrameBorderSize.Width * 2), Me.InterfaceControl.Height + SystemInformation.CaptionHeight + (SystemInformation.FrameBorderSize.Height * 2), True)
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIntAppResizeFailed & vbNewLine & ex.Message, True)

View File

@@ -6,6 +6,8 @@ Imports System.Threading
Imports Microsoft.Win32
Imports System.Drawing
Imports mRemoteNG.App.Runtime
Imports System.Text.RegularExpressions
Imports mRemoteNG.Tools
Namespace Connection
Namespace Protocol
@@ -111,45 +113,50 @@ Namespace Connection
PuttyProcess = New Process
With PuttyProcess.StartInfo
.UseShellExecute = False
.FileName = _PuttyPath
Select Case _PuttyProtocol
Case Putty_Protocol.raw
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.rlogin
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.ssh
Dim userArgument As String = ""
Dim passwordArgument As String = ""
Dim arguments As New CommandLineArguments
arguments.EscapeForShell = False
arguments.Add("-load", InterfaceControl.Info.PuttySession)
arguments.Add("-" & _PuttyProtocol.ToString)
If _PuttyProtocol = Putty_Protocol.ssh Then
Dim username As String = ""
Dim password As String = ""
If Not String.IsNullOrEmpty(InterfaceControl.Info.Username) Then
username = InterfaceControl.Info.Username
Else
If My.Settings.EmptyCredentials = "windows" Then
userArgument = " -l """ & Environment.UserName & """"
username = Environment.UserName
ElseIf My.Settings.EmptyCredentials = "custom" Then
userArgument = " -l """ & My.Settings.DefaultUsername & """"
passwordArgument = " -pw """ & PuttyEscapeArgument(Security.Crypt.Decrypt(My.Settings.DefaultPassword, App.Info.General.EncryptionKey)) & """"
username = My.Settings.DefaultUsername
End If
End If
If InterfaceControl.Info.Username <> "" Then
userArgument = " -l """ & InterfaceControl.Info.Username & """"
If Not String.IsNullOrEmpty(InterfaceControl.Info.Password) Then
password = InterfaceControl.Info.Password
Else
If My.Settings.EmptyCredentials = "custom" Then
password = Security.Crypt.Decrypt(My.Settings.DefaultPassword, App.Info.General.EncryptionKey)
End If
End If
If InterfaceControl.Info.Password <> "" Then
passwordArgument = " -pw """ & PuttyEscapeArgument(InterfaceControl.Info.Password) & """"
End If
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -" & _PuttySSHVersion & userArgument & passwordArgument & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.telnet
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.serial
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
End Select
If _isPuttyNg Then
.Arguments = .Arguments & " -hwndparent " & InterfaceControl.Handle.ToString()
arguments.Add("-" & _PuttySSHVersion)
arguments.Add("-l", username)
arguments.Add("-pw", password)
End If
'REMOVE IN RELEASE!
'MessageCollector.AddMessage(MessageClass.InformationMsg, "PuTTY Arguments: " & .Arguments, True)
arguments.Add("-P", InterfaceControl.Info.Port.ToString)
arguments.Add(InterfaceControl.Info.Hostname)
If _isPuttyNg Then
arguments.Add("-hwndparent", InterfaceControl.Handle.ToString())
End If
.Arguments = arguments.ToString
End With
PuttyProcess.EnableRaisingEvents = True
@@ -179,7 +186,7 @@ Namespace Connection
MessageCollector.AddMessage(MessageClass.InformationMsg, String.Format(My.Language.strPuttyTitle, PuttyProcess.MainWindowTitle), True)
MessageCollector.AddMessage(MessageClass.InformationMsg, String.Format(My.Language.strPuttyParentHandle, InterfaceControl.Parent.Handle.ToString), True)
Resize()
Resize(Me, New EventArgs)
MyBase.Connect()
Return True
@@ -189,26 +196,18 @@ Namespace Connection
End Try
End Function
' Due to the way PuTTY handles command line arguments, backslashes followed by a quotation mark will be removed.
' Since all the strings we send to PuTTY are surrounded by quotation marks, we need to escape any trailing
' backslashes by adding another. See split_into_argv() in WINDOWS\WINUTILS.C of the PuTTY source for more info.
Private Shared Function PuttyEscapeArgument(ByVal argument As String) As String
If argument.EndsWith("\") Then argument = argument & "\"
Return argument
End Function
Public Overrides Sub Focus()
Try
If ConnectionWindow.InTabDrag Then Return
SetForegroundWindow(PuttyHandle)
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyFocusFailed & vbNewLine & ex.Message, True)
End Try
End Sub
Public Overrides Sub Resize()
Public Overrides Sub Resize(ByVal sender As Object, ByVal e As EventArgs)
Try
If frmMain.WindowState = FormWindowState.Minimized Then Return
If InterfaceControl.Size = Size.Empty Then Return
MoveWindow(PuttyHandle, -SystemInformation.FrameBorderSize.Width, -(SystemInformation.CaptionHeight + SystemInformation.FrameBorderSize.Height), InterfaceControl.Width + (SystemInformation.FrameBorderSize.Width * 2), InterfaceControl.Height + SystemInformation.CaptionHeight + (SystemInformation.FrameBorderSize.Height * 2), True)
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyResizeFailed & vbNewLine & ex.Message, True)
@@ -244,27 +243,6 @@ Namespace Connection
#End Region
#Region "Public Shared Methods"
Public Shared Function GetSessions() As Array
Try
Dim regKey As RegistryKey
regKey = Registry.CurrentUser.OpenSubKey("Software\SimonTatham\PuTTY\Sessions")
Dim arrKeys() As String
arrKeys = regKey.GetSubKeyNames()
Array.Resize(arrKeys, arrKeys.Length + 1)
arrKeys(arrKeys.Length - 1) = "Default Settings"
For i As Integer = 0 To arrKeys.Length - 1
arrKeys(i) = System.Web.HttpUtility.UrlDecode(arrKeys(i))
Next
Return arrKeys
Catch ex As Exception
App.Runtime.MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, My.Language.strPuttyGetSessionsFailed & vbNewLine & ex.Message, True)
Return Nothing
End Try
End Function
Public Shared Function IsFilePuttyNg(file As String) As Boolean
Dim isPuttyNg As Boolean
Try
@@ -283,8 +261,6 @@ Namespace Connection
p = Process.Start(pSI)
p.WaitForExit()
mRemoteNG.Connection.PuttySession.PuttySessions = GetSessions()
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyStartFailed & vbNewLine & ex.Message, True)
End Try

View File

@@ -12,23 +12,42 @@ Namespace Connection
Inherits Connection.Protocol.Base
#Region "Properties"
Private _SmartSize As Boolean
Public Property SmartSize() As Boolean
Get
Return Me.RDP.AdvancedSettings4.SmartSizing
Return RDP.AdvancedSettings4.SmartSizing
End Get
Set(ByVal value As Boolean)
Me.RDP.AdvancedSettings4.SmartSizing = value
RDP.AdvancedSettings4.SmartSizing = value
ReconnectForResize()
End Set
End Property
Private _Fullscreen As Boolean
Public Property Fullscreen() As Boolean
Get
Return Me.RDP.FullScreen
Return RDP.FullScreen
End Get
Set(ByVal value As Boolean)
Me.RDP.FullScreen = value
RDP.FullScreen = value
ReconnectForResize()
End Set
End Property
Private _redirectKeys As Boolean = False
Public Property RedirectKeys As Boolean
Get
Return _redirectKeys
End Get
Set(value As Boolean)
_redirectKeys = value
Try
If Not _redirectKeys Then Return
Debug.Assert(RDP.SecuredSettingsEnabled)
Dim msRdpClientSecuredSettings As MSTSCLib.IMsRdpClientSecuredSettings = RDP.SecuredSettings2
msRdpClientSecuredSettings.KeyboardHookMode = 1 ' Apply key combinations at the remote server.
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetRedirectKeysFailed & vbNewLine & ex.Message, True)
End Try
End Set
End Property
#End Region
@@ -78,7 +97,7 @@ Namespace Connection
RDP.AdvancedSettings3.MaxReconnectAttempts = My.Settings.RdpReconnectionCount
RDP.AdvancedSettings2.keepAliveInterval = 60000 'in milliseconds (10.000 = 10 seconds)
RDP.AdvancedSettings5.AuthenticationLevel = 0
RDP.AdvancedSettings.EncryptionEnabled = 1
RDP.AdvancedSettings2.EncryptionEnabled = 1
RDP.AdvancedSettings2.overallConnectionTimeout = 20
@@ -87,7 +106,7 @@ Namespace Connection
Me.SetUseConsoleSession()
Me.SetPort()
Me.SetRedirectKeys()
RedirectKeys = Info.RedirectKeys
Me.SetRedirection()
Me.SetAuthenticationLevel()
Me.SetRDGateway()
@@ -156,14 +175,56 @@ Namespace Connection
End Try
End Sub
Public Overrides Sub Resize()
Control.Location = InterfaceControl.Location
Control.Size = InterfaceControl.Size
MyBase.Resize()
Private _controlBeginningSize As New Size
Public Overrides Sub ResizeBegin(ByVal sender As Object, ByVal e As EventArgs)
_controlBeginningSize = Control.Size
End Sub
Public Overrides Sub Resize(ByVal sender As Object, ByVal e As EventArgs)
If DoResize() And _controlBeginningSize.IsEmpty Then
ReconnectForResize()
End If
MyBase.Resize(sender, e)
End Sub
Public Overrides Sub ResizeEnd(ByVal sender As Object, ByVal e As EventArgs)
DoResize()
If Not Control.Size = _controlBeginningSize Then
ReconnectForResize()
End If
_controlBeginningSize = Size.Empty
End Sub
#End Region
#Region "Private Methods"
Private Function DoResize() As Boolean
Control.Location = InterfaceControl.Location
If Not Control.Size = InterfaceControl.Size And Not InterfaceControl.Size = Size.Empty Then
Control.Size = InterfaceControl.Size
Return True
Else
Return False
End If
End Function
Private Sub ReconnectForResize()
If RDPVersion < Versions.RDC80 Then Return
If Not (InterfaceControl.Info.Resolution = RDPResolutions.FitToWindow Or _
InterfaceControl.Info.Resolution = RDPResolutions.Fullscreen) Or _
SmartSize Then Return
Dim size As Size
If Not Fullscreen Then
size = Control.Size
Else
size = Screen.FromControl(Control).Bounds.Size
End If
Dim msRdpClient8 As MSTSCLib.IMsRdpClient8 = RDP.GetOcx()
msRdpClient8.Reconnect(size.Width, size.Height)
End Sub
Private Sub SetRDGateway()
Try
If RDP.TransportSettings.GatewayIsSupported = 1 Then
@@ -310,19 +371,6 @@ Namespace Connection
End Try
End Sub
Private Sub SetRedirectKeys()
Try
If Me.Info.RedirectKeys Then
RDP.AdvancedSettings2.ContainerHandledFullScreen = 1
RDP.AdvancedSettings2.DisplayConnectionBar = False
RDP.AdvancedSettings2.PinConnectionBar = False
RDP.FullScreen = True
End If
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetRedirectKeysFailed & vbNewLine & ex.Message, True)
End Try
End Sub
Private Sub SetRedirection()
Try
RDP.AdvancedSettings2.RedirectDrives = Me.Info.RedirectDiskDrives
@@ -414,6 +462,7 @@ Namespace Connection
End Sub
Private Sub RDPEvent_OnLeaveFullscreenMode(ByVal sender As Object, ByVal e As System.EventArgs)
Fullscreen = False
RaiseEvent LeaveFullscreen(Me, e)
End Sub
#End Region
@@ -626,6 +675,8 @@ Namespace Connection
Public Class Versions
Public Shared RDC60 As New Version(6, 0, 6000)
Public Shared RDC61 As New Version(6, 0, 6001)
Public Shared RDC70 As New Version(6, 1, 7600)
Public Shared RDC80 As New Version(6, 2, 9200)
End Class
#Region "Terminal Sessions"
@@ -818,7 +869,6 @@ Namespace Connection
End If
End Sub
#End Region
End Class
End Namespace
End Namespace

View File

@@ -1,21 +0,0 @@
Imports System.ComponentModel
Namespace Connection
Public Class PuttySession
Inherits StringConverter
Public Shared PuttySessions As String() = New String() {}
Public Overloads Overrides Function GetStandardValues(ByVal context As System.ComponentModel.ITypeDescriptorContext) As System.ComponentModel.TypeConverter.StandardValuesCollection
Return New StandardValuesCollection(PuttySessions)
End Function
Public Overloads Overrides Function GetStandardValuesExclusive(ByVal context As System.ComponentModel.ITypeDescriptorContext) As Boolean
Return True
End Function
Public Overloads Overrides Function GetStandardValuesSupported(ByVal context As ITypeDescriptorContext) As Boolean
Return True
End Function
End Class
End Namespace

View File

@@ -0,0 +1,77 @@
Imports System.ComponentModel
Namespace Connection
Namespace PuttySession
Public Class Info
Inherits Connection.Info
<Browsable(False)> _
Public Property RootPuttySessionsInfo() As Root.PuttySessions.Info
<[ReadOnly](True)> _
Public Overrides Property PuttySession() As String
<[ReadOnly](True)> _
Public Overrides Property Name() As String
<[ReadOnly](True), _
Browsable(False)> _
Public Overrides Property Description() As String
<[ReadOnly](True), _
Browsable(False)> _
Public Overrides Property Icon() As String
Get
Return "PuTTY"
End Get
Set(value As String)
End Set
End Property
<[ReadOnly](True), _
Browsable(False)> _
Public Overrides Property Panel() As String
Get
Return RootPuttySessionsInfo.Panel
End Get
Set(value As String)
End Set
End Property
<[ReadOnly](True)> _
Public Overrides Property Hostname() As String
<[ReadOnly](True)> _
Public Overrides Property Username() As String
<[ReadOnly](True), _
Browsable(False)> _
Public Overrides Property Password() As String
<[ReadOnly](True)> _
Public Overrides Property Protocol() As Protocol.Protocols
<[ReadOnly](True)> _
Public Overrides Property Port() As Integer
<[ReadOnly](True), _
Browsable(False)> _
Public Overrides Property PreExtApp() As String
<[ReadOnly](True), _
Browsable(False)> _
Public Overrides Property PostExtApp() As String
<[ReadOnly](True), _
Browsable(False)> _
Public Overrides Property MacAddress() As String
<[ReadOnly](True), _
Browsable(False)> _
Public Overrides Property UserField() As String
End Class
End Namespace
End Namespace

View File

@@ -689,6 +689,7 @@ Partial Class frmMain
Me.tsExternalTools.Location = New System.Drawing.Point(39, 49)
Me.tsExternalTools.Name = "tsExtAppsToolbar"
Me.tsExternalTools.Size = New System.Drawing.Size(111, 25)
Me.tsExternalTools.MaximumSize = New System.Drawing.Size(0, 25)
Me.tsExternalTools.TabIndex = 17
'
'cMenExtAppsToolbar
@@ -712,6 +713,7 @@ Partial Class frmMain
Me.tsQuickConnect.Location = New System.Drawing.Point(3, 24)
Me.tsQuickConnect.Name = "tsQuickConnect"
Me.tsQuickConnect.Size = New System.Drawing.Size(331, 25)
Me.tsQuickConnect.MaximumSize = New System.Drawing.Size(0, 25)
Me.tsQuickConnect.TabIndex = 18
'
'btnQuickyPlay
@@ -741,6 +743,7 @@ Partial Class frmMain
Me.ToolStrip1.Location = New System.Drawing.Point(3, 74)
Me.ToolStrip1.Name = "ToolStrip1"
Me.ToolStrip1.Size = New System.Drawing.Size(264, 25)
Me.ToolStrip1.MaximumSize = New System.Drawing.Size(0, 25)
Me.ToolStrip1.TabIndex = 19
Me.ToolStrip1.Visible = False
'

View File

@@ -1,3 +1,4 @@
Imports System.IO
Imports WeifenLuo.WinFormsUI.Docking
Imports mRemoteNG.App.Runtime
Imports System.Reflection
@@ -5,6 +6,8 @@ Imports System.Runtime.InteropServices
Imports Crownwood
Imports mRemoteNG.App.Native
Imports PSTaskDialog
Imports mRemoteNG.Config
Imports mRemoteNG.Themes
Public Class frmMain
Private _previousWindowState As FormWindowState
@@ -46,6 +49,9 @@ Public Class frmMain
ApplyLanguage()
AddHandler ThemeManager.ThemeChanged, AddressOf ApplyThemes
ApplyThemes()
fpChainedWindowHandle = SetClipboardViewer(Me.Handle)
MessageCollector = New Messages.Collector(Windows.errorsForm)
@@ -56,7 +62,6 @@ Public Class frmMain
WindowList = New UI.Window.List
Startup.GetConnectionIcons()
Startup.GetPuttySessions()
App.Runtime.GetExtApps()
Windows.treePanel.Focus()
@@ -69,6 +74,8 @@ Public Class frmMain
Return
End If
PuttySessions.AddSessionsToTree(Tree.Node.TreeView)
If My.Settings.StartupComponentsCheck Then
Windows.Show(UI.Window.Type.ComponentsCheck)
End If
@@ -124,7 +131,7 @@ Public Class frmMain
mMenViewConfig.Text = My.Language.strMenuConfig
mMenViewSessions.Text = My.Language.strMenuSessions
mMenViewErrorsAndInfos.Text = My.Language.strMenuNotifications
mMenViewScreenshotManager.Text = My.Language.strMenuScreenshotManager
mMenViewScreenshotManager.Text = My.Language.strScreenshots
mMenViewJumpTo.Text = My.Language.strMenuJumpTo
mMenViewJumpToConnectionsConfig.Text = My.Language.strMenuConnectionsAndConfig
mMenViewJumpToSessionsScreenshots.Text = My.Language.strMenuSessionsAndScreenshots
@@ -166,12 +173,64 @@ Public Class frmMain
ToolStripMenuItem2.Text = My.Language.strKeysCtrlEsc
End Sub
Public Sub ApplyThemes()
With ThemeManager.ActiveTheme
pnlDock.DockBackColor = .WindowBackgroundColor
tsContainer.BackColor = .ToolbarBackgroundColor
tsContainer.ForeColor = .ToolbarTextColor
tsContainer.TopToolStripPanel.BackColor = .ToolbarBackgroundColor
tsContainer.TopToolStripPanel.ForeColor = .ToolbarTextColor
tsContainer.BottomToolStripPanel.BackColor = .ToolbarBackgroundColor
tsContainer.BottomToolStripPanel.ForeColor = .ToolbarTextColor
tsContainer.LeftToolStripPanel.BackColor = .ToolbarBackgroundColor
tsContainer.LeftToolStripPanel.ForeColor = .ToolbarTextColor
tsContainer.RightToolStripPanel.BackColor = .ToolbarBackgroundColor
tsContainer.RightToolStripPanel.ForeColor = .ToolbarTextColor
tsContainer.ContentPanel.BackColor = .ToolbarBackgroundColor
tsContainer.ContentPanel.ForeColor = .ToolbarTextColor
msMain.BackColor = .ToolbarBackgroundColor
msMain.ForeColor = .ToolbarTextColor
ApplyMenuColors(msMain.Items)
tsExternalTools.BackColor = .ToolbarBackgroundColor
tsExternalTools.ForeColor = .ToolbarTextColor
tsQuickConnect.BackColor = .ToolbarBackgroundColor
tsQuickConnect.ForeColor = .ToolbarTextColor
End With
End Sub
Private Sub ApplyMenuColors(itemCollection As ToolStripItemCollection)
With ThemeManager.ActiveTheme
Dim menuItem As ToolStripMenuItem
For Each item As ToolStripItem In itemCollection
item.BackColor = .MenuBackgroundColor
item.ForeColor = .MenuTextColor
menuItem = TryCast(item, ToolStripMenuItem)
If menuItem IsNot Nothing Then
ApplyMenuColors(menuItem.DropDownItems)
End If
Next
End With
End Sub
Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If WindowList IsNot Nothing Then
If My.Settings.ConfirmExit And WindowList.Count > 0 Then
If Not (WindowList Is Nothing OrElse WindowList.Count = 0) Then
Dim connectionWindow As UI.Window.Connection
Dim openConnections As Integer = 0
For Each window As UI.Window.Base In WindowList
connectionWindow = TryCast(window, UI.Window.Connection)
If connectionWindow IsNot Nothing Then
openConnections = openConnections + connectionWindow.TabController.TabPages.Count
End If
Next
If openConnections > 0 And _
(My.Settings.ConfirmCloseConnection = ConfirmClose.All Or _
(My.Settings.ConfirmCloseConnection = ConfirmClose.Multiple And openConnections > 1) Or _
My.Settings.ConfirmCloseConnection = ConfirmClose.Exit) Then
Dim result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, My.Language.strConfirmExitMainInstruction, "", "", "", My.Language.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
If cTaskDialog.VerificationChecked Then
My.Settings.ConfirmExit = False
My.Settings.ConfirmCloseConnection = My.Settings.ConfirmCloseConnection - 1
End If
If result = DialogResult.No Then
e.Cancel = True
@@ -256,7 +315,8 @@ Public Class frmMain
Private Sub tsExtAppEntry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim extA As Tools.ExternalTool = sender.Tag
If Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.Connection Then
If Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.Connection Or _
Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.PuttySession Then
extA.Start(Tree.Node.SelectedNode.Tag)
Else
extA.Start()
@@ -283,8 +343,10 @@ Public Class frmMain
#Region "Menu"
#Region "File"
Private Sub mMenFile_DropDownOpening(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFile.DropDownOpening
Select Case Tree.Node.GetNodeType(mRemoteNG.Tree.Node.SelectedNode)
Select Case Tree.Node.GetNodeType(Tree.Node.SelectedNode)
Case Tree.Node.Type.Root
mMenFileNewConnection.Enabled = True
mMenFileNewFolder.Enabled = True
mMenFileImportExport.Enabled = True
mMenFileDelete.Enabled = False
mMenFileRename.Enabled = True
@@ -293,6 +355,8 @@ Public Class frmMain
mMenFileRename.Text = My.Language.strMenuRenameFolder
mMenFileDuplicate.Text = My.Language.strMenuDuplicate
Case Tree.Node.Type.Container
mMenFileNewConnection.Enabled = True
mMenFileNewFolder.Enabled = True
mMenFileImportExport.Enabled = True
mMenFileDelete.Enabled = True
mMenFileRename.Enabled = True
@@ -301,6 +365,8 @@ Public Class frmMain
mMenFileRename.Text = My.Language.strMenuRenameFolder
mMenFileDuplicate.Text = My.Language.strMenuDuplicateFolder
Case Tree.Node.Type.Connection
mMenFileNewConnection.Enabled = True
mMenFileNewFolder.Enabled = True
mMenFileImportExport.Enabled = False
mMenFileDelete.Enabled = True
mMenFileRename.Enabled = True
@@ -308,7 +374,19 @@ Public Class frmMain
mMenFileDelete.Text = My.Language.strMenuDeleteConnection
mMenFileRename.Text = My.Language.strMenuRenameConnection
mMenFileDuplicate.Text = My.Language.strMenuDuplicateConnection
Case Tree.Node.Type.PuttyRoot, Tree.Node.Type.PuttySession
mMenFileNewConnection.Enabled = False
mMenFileNewFolder.Enabled = False
mMenFileImportExport.Enabled = False
mMenFileDelete.Enabled = False
mMenFileRename.Enabled = False
mMenFileDuplicate.Enabled = False
mMenFileDelete.Text = My.Language.strMenuDelete
mMenFileRename.Text = My.Language.strMenuRename
mMenFileDuplicate.Text = My.Language.strMenuDuplicate
Case Else
mMenFileNewConnection.Enabled = True
mMenFileNewFolder.Enabled = True
mMenFileImportExport.Enabled = False
mMenFileDelete.Enabled = False
mMenFileRename.Enabled = False
@@ -677,7 +755,8 @@ Public Class frmMain
menToolStrip.DropDownItems.Add(tMenItem)
AddNodeToMenu(tNode.Nodes, tMenItem)
ElseIf Tree.Node.GetNodeType(tNode) = Tree.Node.Type.Connection Then
ElseIf Tree.Node.GetNodeType(tNode) = Tree.Node.Type.Connection Or _
Tree.Node.GetNodeType(tNode) = Tree.Node.Type.PuttySession Then
tMenItem.Image = Windows.treeForm.imgListTree.Images(tNode.ImageIndex)
tMenItem.Tag = tNode.Tag
@@ -701,28 +780,34 @@ Public Class frmMain
#End Region
#Region "Window Overrides and DockPanel Stuff"
Private Sub frmMain_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
If Me.WindowState = FormWindowState.Minimized Then
Private _inSizeMove As Boolean = False
Private Sub frmMain_ResizeBegin(ByVal sender As Object, ByVal e As EventArgs) Handles Me.ResizeBegin
_inSizeMove = True
End Sub
Private Sub frmMain_Resize(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Resize
If WindowState = FormWindowState.Minimized Then
If My.Settings.MinimizeToTray Then
If App.Runtime.NotificationAreaIcon Is Nothing Then
App.Runtime.NotificationAreaIcon = New Tools.Controls.NotificationAreaIcon()
If NotificationAreaIcon Is Nothing Then
NotificationAreaIcon = New Tools.Controls.NotificationAreaIcon()
End If
Me.Hide()
Hide()
End If
Else
PreviousWindowState = Me.WindowState
PreviousWindowState = WindowState
End If
End Sub
Private _inMouseActivate As Boolean = False
Private _inSizeMove As Boolean = False
Private Sub frmMain_ResizeEnd(ByVal sender As Object, ByVal e As EventArgs) Handles Me.ResizeEnd
_inSizeMove = False
' This handles activations from clicks that started a size/move operation
ActivateConnection()
End Sub
Private _inMouseActivate As Boolean = False
Protected Overloads Overrides Sub WndProc(ByRef m As Message)
Try
#If Config = "Debug" Then
'Debug.Print(m.Msg)
#End If
Select Case m.Msg
Case WM_MOUSEACTIVATE
_inMouseActivate = True
@@ -737,7 +822,7 @@ Public Class frmMain
' Let TreeViews and ComboBoxes get focus but don't simulate a mouse event
If TypeOf control Is TreeView Or TypeOf control Is ComboBox Then Exit Select
If control.CanSelect Or TypeOf control Is MenuStrip Or TypeOf control Is ToolStrip Or TypeOf control Is Magic.Controls.InertButton Then
If control.CanSelect Or TypeOf control Is MenuStrip Or TypeOf control Is ToolStrip Or TypeOf control Is Magic.Controls.TabControl Or TypeOf control Is Magic.Controls.InertButton Then
' Simulate a mouse event since one wasn't generated by Windows
Dim clientMousePosition As Point = control.PointToClient(MousePosition)
SendMessage(control.Handle, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(clientMousePosition.X, clientMousePosition.Y))
@@ -749,13 +834,6 @@ Public Class frmMain
' This handles activations from clicks that did not start a size/move operation
ActivateConnection()
Case WM_ENTERSIZEMOVE
_inSizeMove = True
Case WM_EXITSIZEMOVE
_inSizeMove = False
' This handles activations from clicks that started a size/move operation
ActivateConnection()
Case WM_WINDOWPOSCHANGED
' Ignore this message if the window wasn't activated
Dim windowPos As WINDOWPOS = Marshal.PtrToStructure(m.LParam, GetType(WINDOWPOS))

View File

@@ -124,154 +124,177 @@
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABi
IgAAAk1TRnQBSQFMAgEBBwEAASABAQEgAQEBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEgBgABIB4AAeIB7wH0Af8BqAHJAdcB/wFtAaQBtgH/AVABhgGcAf8BOwFiAYoB/wE2
AV0BhwH/ATYBZwGVAf8BSQGOAasB/wGPAbcBzQH/Ad0B6gHxAf8MAANXAbcDnwH/A5oB/wOWAf8DkQH/
A40B/wOJAf8DhAH/A4AB/wNYAf8DVAH/A1AB/wNNAf8DSQH/A0YB/wNXAbcYAAMNARIDVgG2A1YBtgMN
ARFgAAGtAc8B3wH/AUgBkQGtAf8BTQGjAb8B/wFpAcAB1AH/AZUB2QHmAf8BgQHbAfAB/wFBAcYB7AH/
ARUBqgHdAf8BBwGSAccB/wETAYABrAH/ASoBYgGSAf8BnQG/AdEB/wgAA6gB/wPpAf8D0wH/A9IB/wPR
Af8D0AH/A84B/wPNAf8DzQH/A8sB/wPLAf8DygH/A8kB/wPIAf8D4gH/A0YB/xgAA14B2QPkAf8D4wH/
A1gBwWAAAUsBhAGbAf8BNQG9AecB/wFYAdMB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUEBygHw
Af8BDwG2Ae0B/wEAAacB6AH/AQABoQHhAf8BAAGWAdIB/wEuAU8BawH/CAADrQH/A9YB/wO6Af8DuAH/
A7UB/wOzAf8DsQH/A7AB/wOtAf8DqwH/A6oB/wOoAf8DpwH/A6YB/wPIAf8DSgH/CAADCwEPA1QBrQM6
AWEDPwFuA3EB+AHiAeEB3wH/AeEB4AHfAf8DXwHzAzwBZwM8AWYDUwGtAwsBD1AAAU4BhwGeAf8BNAHE
AfAB/wFaAdQB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUEBygHwAf8BDwG2Ae0B/wEAAagB6AH/
AQABoQHhAf8BAAGcAdoB/wEvAVABbQH/CAADsQH/A9kB/wO9Af8DugH/A7gB/wO2Af8DtQH/A7MB/wOw
Af8DrwH/A60B/wOrAf8DqQH/A6gB/wPKAf8DTgH/CAADWgHFBP8ClgGVAf4ClQGUAf4C5wHmAf8B1gHV
AdMB/wHXAdYB1AH/AeMB4gHgAf8BigGJAYcB/gOoAf0B6QHoAeYB/wNYAcFQAAFQAYkBoAH/ATQBxAHv
Af8BWQHUAfEB/wGNAeMB9AH/AaIB6wH2Af8BggHfAfMB/wFCAcoB8AH/AQ8BtgHtAf8BAAGoAegB/wEA
AaEB4QH/AQABnAHaAf8BMQFTAW8B/wgAA7YB/wPdAf8DwQH/A70B/wO8Af8DugH/A7gB/wO1Af8DtAH/
A7IB/wOwAf8DrQH/A6wB/wOsAf8DzwH/A1IB/wgAA2QB5wL5AfcB/wLvAe4B/wLbAdoB/wHKAskB/wHJ
AcgBxgH/AckByAHHAf8ByQHIAccB/wLLAckB/wHmAeUB5AH/AeUB5AHiAf8DZQHlUAABUgGMAaIB/wE2
AcYB8AH/AVsB1AHxAf8BjAHjAfQB/wGiAesB9gH/AYIB3wH0Af8BQgHKAfAB/wEPAbYB7QH/AQABqAHo
Af8BAAGiAeIB/wEAAZsB2wH/ATMBVgGAAf8IAANaAb0D2gH/A8gB/wPAAf8DvwH/A70B/wO6Af8DuAH/
A7cB/wO1Af8DswH/A7AB/wOvAf8DswH/A8IB/wNaAb0IAANOAZUB9gH1AfQB/wHmAeUB5AH/Ab8BvgG9
Af8C6wHqAf8B1AHTAdIB/wHWAdUB1AH/AeIC4QH/ArQBswH/AdcB1gHUAf8B4gHhAd8B/wNKAY1QAAFV
AY8BpQH/ATcBxgHwAf8BWwHUAfIB/wGNAeMB9AH/AaIB6wH2Af8BgwHfAfQB/wFBAcoB8AH/AQ8BtgHt
Af8BAAGnAegB/wEAAaEB4gH/AQABnAHbAf8BNQFZAYMB/wgAA1oBvQPjAf8D5wH/A+EB/wPgAf8D4AH/
A98B/wPfAf8D3gH/A90B/wPdAf8D3AH/A9sB/wPgAf8D0AH/A1oBvQMLAQ8DVQG1A2QB5wHkAeMB4gH/
AdEB0AHPAf8C8AHvAf8DrgH/A2QB8QNnAfICrAGrAf8C6AHnAf8CywHKAf8B4AHfAd0B/wNhAeQDVQG1
AwsBD0gAAVYBkgGoAf8BNwHFAfAB/wFcAdQB8gH/AY0B4wH0Af8BogHrAfYB/wGCAd8B9AH/AUEBygHw
Af8BDwG2Ae0B/wEAAacB6AH/AQABoQHhAf8BAAGcAdsB/wE3AVwBhgH/CAADKQE/A84B/wPsAf8D3gH/
A9gB/wPSAf8DzAH/A8gB/wPHAf8DyAH/A8sB/wPQAf8D3QH/A+gB/wOkAf8DKwFCAz8BbQLkAeMB/wHY
AdYB1QH/AdIB0QHQAf8BxQHEAcMB/wHtAewB6wH/A1cBuggAA1wBzQHoAecB5gH/AbYBtQG0Af8B1gHV
AdMB/wHiAeEB4AH/AuAB3wH/AzwBZkgAAVkBlQGrAf8BNwHFAfAB/wFcAdQB8gH/AY0B4wH0Af8BogHr
AfYB/wGDAd8B9AH/AUIBywHwAf8BDwG1Ae0B/wEAAacB6AH/AQABoQHiAf8BAAGcAdoB/wE6AV8BiAH/
DAADWgG9A+MB/wPbAf8D4gH/AbcB0AG4Af8BQAGtAUQB/wFSAaoBQAH/AUwBrwFEAf8BMgGlAT4B/wGs
AcUBrAH/A8IB/wPRAf8D0wH/A1oBvQQAA0IBdgHsAesB6AH/AdoB2QHXAf8B1AHTAdEB/wHGAcUBxAH/
Ad4C3AH/A0YBfggAA1ABmgHdAdwB2wH/AcgBxgHFAf8C4gHhAf8C4QHfAf8B7gHtAewB/wM/AW9IAAFb
AZgBrgH/ATcBxQHwAf8BXAHUAfEB/wGNAeMB9AH/AaIB6wH2Af8BgwHfAfQB/wFCAcoB8AH/AQ8BtgHt
Af8BAAGoAekB/wEAAaEB4QH/AQABnAHaAf8BPAFhAYoB/wwAAykBPwPRAf8D8wH/AccB3gHKAf8BQAHJ
AYUB/wGzAdwBpAH/AecBxwFYAf8B3AG/AU8B/wFSAcwBjwH/ASsBrQFEAf8BuAHQAbgB/wPxAf8DrwH/
AysBQgQAAy8BSgNgAesDeAH8Ad4B3QHcAf8BywLKAf8B5gLlAf8DYQHhAzIBUAM4AVwDYAHrAu4B7AH/
AcwCywH/AecB5gHlAf8DeAH8A2AB6wMsAUNIAAFeAZsBsAH/ATYBxgHwAf8BXAHUAfIB/wGNAeMB9AH/
AaIB6wH2Af8BgwHfAfQB/wFCAcoB8AH/AQ8BtgHtAf8BAAGoAegB/wEAAaEB4QH/AQABnAHaAf8BPwFl
AY4B/xAAA1oBvQPEAf8BUgHOAYsB/wGZAeQBqwH/AbABxQE5Af8B6gG1ASQB/wHhAaIBFQH/AaUBnQEc
Af8BggHFAY8B/wElAZoBMgH/A6AB/wNaAb0QAANeAc4B4QHgAd4B/wHZAdcB1gH/AbgCtwH/AeEB4AHf
Af8DqAH9A6gB/QL2AfUB/wLAAb8B/wHqAekB6AH/AvMB8gH/A1wByVAAAWEBnwGzAf8BNgHGAfAB/wFa
AdQB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUIBygHwAf8BDwG2Ae0B/wEAAacB6AH/AQABoQHh
Af8BAAGbAdoB/wFBAWgBkAH/GAABXgF6AWkB/AGiAekBlQH/AdYBzwFFAf8B4gGzASMB/wHRAbsBKwH/
AcIBrgEeAf8BggG9AUgB/wErAW8BUgH8GAADTAGRAeMB4gHgAf8C3gHcAf8B4QHgAd8B/wHMAssB/wHE
AcMBwgH/As8BzgH/At4B3QH/AvAB7wH/AvAB7wH/AvYB9QH/A0gBh1AAAWIBoQG1Af8BXAHVAfQB/wGa
AegB9wH/AbUB8wH6Af8BwgH4AfwB/wHDAfgB/QH/AcEB9wH9Af8BrwHwAfsB/wGPAeIB9wH/AVsB0AHw
Af8BLwG4AeUB/wFEAWsBkwH/GAABYAF6AWoB/AGiAfABnwH/AdgB7QGvAf8B3gHFAUQB/wG0AeIBQQH/
ATwB5wEVAf8BRwHXAUcB/wEsAXEBWwH8FAADAQECA18B4wHlAeQB4QH/Au4B7QH/Au4B7QH/AusB6gH/
AeMB4gHhAf8C6AHnAf8C6gHpAf8C8wHyAf8C9QH0Af8B+gH5AfgB/wNcAd9QAAFlAaMBuAH/AcUB+QH9
Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHF
AfkB/QH/AcUB+QH9Af8BRgFuAZUB/xgAA2EB3AHIAfcB1AH/AdgB9gHKAf8B5wHjAakB/wHbAc8BSAH/
Aa8B3AFEAf8BnQHqAasB/wNfAeAYAANAAW8DfwH+A2QB5wNfAfMB6AHnAeYB/wHnAeYB5QH/Au0B7AH/
AvsB+gH/A2cB8gNkAecDfwH+Az0BaFAAAbcB1wHhAf8BjAG9AcwB/wGdAc8B2wH/Aa0B3wHoAf8BuQHs
AfMB/wHCAfUB+gH/AcIB9QH6Af8BuAHrAfEB/wGpAdoB4wH/AZQBxAHRAf8BbAGoAbgB/wGpAcUB0QH/
GAADLQFFAVcBdgFtAfoB2wH4AekB/wHnAfIB2AH/Ae0B5QGzAf8B3wHZAaYB/wFfAYUBXwH7AzIBUCAA
Aw8BFAMKAQ4DUwGqAe8B7gHtAf8C9AHzAf8DUgGkAwgBCwMRARdYAAL+Av8B4wHxAfQB/wG5AdcB4QH/
AZUBvgHMAf8BbAGoAbsB/wFfAZsBsAH/AVsBmAGtAf8BZAGhAbMB/wGMAbIBwgH/AbEBzQHXAf8B3wHr
Ae8B/wP+Af8cAAMuAUcDXgHZAWQBegFoAfwBZAF5AWQB/ANeAd0DMgFQLAADLwFKA10B8ANiAe8DLAFD
ZAADEQEXA1YBswFTAVQBUwGstAADBAEFAxABFQMfAS0DKQE/Ay8BSQMuAUgDKAE9Ax4BKwMPARQDAwEE
EAADtwH/AZwBqAGeAf8BAAFTAS4B/wEYAZIBUAH/AQABVwEuAf8BAAFEAaAB/wEAAUIBngH/AQABPwGb
Af8BAAE9AZkB/wEAATsBlwH/AQABOAGUAf8BAAE3AZMB/wNIAf8DSAH/HAADQQFyAUwCXwHzAVkCXAHP
AUsCTAGQAyMBM1wAAwUBBwMfASwCPgE9AWoCUgFQAaMBWwJZAcQBXQJaAdMBXQJaAdMBWwJZAcMBUgJR
AaEDPAFmAxwBKAMEAQYMAAMVAR0DUQGiAR0BlQFUAf8BggG+AaoB/wEsAaUBggH/AQ0BlwFGAf8BEAGZ
AUsB/wEUAZkBTwH/ARgBnQFUAf8BUgGqAdIB/wFQAagB0QH/AQABOQGVAf8gAAMhATABKwEwAWgB/AGG
Aa0B4QH/AVoBqAHcAf8BOwGSAckB/wEMAU4BqwH/AVUCVgGxAx8BLVMAAQEDEgEYAz4BawFdAlkB1wFW
AisB/AGsASkBAAH/AeEBSQEdAf8B5AFbATEB/wHTAUcBFQH/AaMBQAE6Af0BYQJeAdoCPgE9AWoDDwEU
CAADGAEiAVABUgFQAaQDVgGzAUkBrAGfAf8BUAG3AZ4B/wFaAbsBrAH/AVoBuwGuAf8BWwG7AbAB/wGA
AbwBswH/ARMBmgFXAf8BMAGVAccB/wFTAasB0wH/AQABPAGYAf8gAAFUAlYBqwFJAZ0B0QH/AZkBvAHr
Af8BTQGgAeMB/wGWAbkB6gH/AZQBuAHqAf8BPAGTAcoB/wIrAWQB/ANDAXhQAAMbASYDWQHSARkBAwEA
Af8BigE4ASAB/wHKAYYBQgH/AfYBvAGcAf8B+QHMAbcB/wHjAaABVAH/AbEBUwE5Af8BVQEvARAB/wFe
AlgB3QMcASgIAAFVAVYBVQGxA1YBswNWAbMBOAGkAZEB/wFLAbYBmwH/AUQBsgGbAf8BRgGyAZ4B/wFI
AbMBoQH/AYUBvwG2Af8BGgGeAYIB/wE1AZkByQH/AVcBrQHUAf8BAAFAAZwB/xwAAx8BLQErAUMBbAH8
AZ0BvwHsAf8BRQGcAeIB/wE3AZMB3wH/ATQBkQHfAf8BOwGUAeAB/wGVAbgB6gH/AYYBrQHhAf8BJQGD
AbsB/wFLAkwBkAQAA50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/
A50B/wOdAf8DnQH/A50B/wgAAVMCTwGlATABFQEAAf8BVQFAASsB/wGPAVIBPQH/AawBiAFHAf8BwgGj
AYgB/wHBAaUBjgH/AbMBmAGBAf8BkQFSATwB/wFQATcBIgH/AT8BGAEAAf8BVgJVAbEIAAMIAQsDVQGy
A1YBswFSAbIBqAH/AVkBvQGnAf8BhwHBAbUB/wGGAcEBtgH/AYcBwQG3Af8BiAHBAbkB/wEgAaIBiAH/
AToBnAHLAf8BWwGwAdUB/wEAAUMBnwH/EAADKwFCA0gBhAFVAlcBtwFMAl8B8wFSAaQB1wH/AaEBwgHt
Af8BnwHAAe0B/wGdAb8B7QH/AVABowHkAf8BNgGSAd8B/wE0AZAB3gH/AVcBpwHmAf8BkgG2AegB/wEf
AVsBtwH/AzcBWgOdAf8BugK9Af8B5gLsAf8B5gLtAf8B5wLtAf8B6ALuAf8B6QLvAf8B6QLvAf8B6gLv
Af8B6gLwAf8B6wLwAf8B6wLxAf8B7ALxAf8B7ALxAf8BvQK/Af8DnQH/BAADOQFfAVEBMQEWAf8BwwGx
AaIB/wG2AZwBgwH/AaYBVQEoAf8BqAFTASUB/wHDAaQBhwH/AdgBxgGwAf8BvQGpAYsB/wFbATsBGwH/
ATgBGAEAAf8BLgEKAQAB/wE1AQ4BAAH/AzMBUwgAAwYBCANVAbIBKwGgAYoB/wGTAckBugH/ATsBrwGX
Af8BIAGiAYMB/wEhAaMBhwH/ASMBpAGLAf8BIgGqAZIB/wEwAcIB7QH/AYEBtAHXAf8BBAFHAaMB/wwA
A0wBkwFAAZcBzwH/AVcBqAHZAf8BjQG0AeIB/wGjAcQB7QH/AacBxwHuAf8BQAGXAc0B/wEQAVEBsgH/
ATsBkwHJAf8BnwHAAe0B/wFUAZYBowH/AZ4BlgEkAf8BWAGUAZEB/wGNAbMB6QH/AVUBpQHYAf8BWgJe
AdgEAANcAeoB2wLiAf8BzQLPAf8DywH/A8wB/wPOAf8DzwH/A9AB/wPSAf8D0wH/A9UB/wHXAtgB/wHn
AuwB/wNtAfcEAAMiATEBVgJVAbEBQwEXAQAB/wGqAYUBOwH/AbIBTgEMAf8BrQErAQAB/wG6AUgBAAH/
AeoB1QG/Af8B/QH8AfoB/wHWAb4BpgH/AZABOwEIAf8BPgEMAQAB/wE/ARwBAAH/ATgBGAEAAf8DVwHF
AxwBJwgAAwQBBgERAZQBUwH/AUoBuQGeAf8BJQGmAYkB/wFVAbEB1QH/AVEBrQHUAf8BTQGrAdIB/wE7
AboB5AH/AQABmQFFAf8BAwGOATQB/wEGAUwBmgH/DAABSAJiAfYBrgHNAfAB/wGwAc8B8AH/AZgBvwHs
Af8BWgGuAecB/wGqAcoB7wH/ARkBVwG4Af8EAAERAVIBswH/AaIBwwHtAf8BqAGXAQ0B/wHEAbUBNgH/
AawBlwECAf8BNwGTAd8B/wGYAbsB6wH/AQABQAGfAf8EAANcAeoB2QLhAf8BywLMAf8DxwH/A8gB/wPK
Af8DywH/A80B/wPOAf8D0AH/A9EB/wHTAtQB/wHlAusB/wNtAfcEAAMuAUcDWQHsAT4BDAEAAf8BmQEr
AQAB/wG4AUMBAAH/AcIBPwEAAf8ByQFRAQAB/wHmAb8BlAH/AewB1AG2Af8BzQGcAT4B/wGoAUgBCAH/
AZkBSQEdAf8BowGMAU4B/wFbAUIBKwH/AlEBPwH3ATUCNAFVDAABNAGOAcQB/wEuAawBiwH/ASsBqgGP
Af8BWgG1AdgB/wFWAbIB1gH/AVMBrwHVAf8BTwGsAdMB/wEAAZABPgH/ATUBqAGEAf8BAAFUAS8B/wMU
ARsIAAFaAmAB3gGoAckB7QH/AYQBpwHtAf8BNAFGAe0B/wFGAY4B6QH/Aa0BzQHwAf8BSQGdAdIB/wEa
AVgBuQH/AUMBmQHOAf8BpQHFAe4B/wGVAZoBRQH/Aa0BlwECAf8BnQGXASkB/wFCAZsB4gH/AZgBuwHq
Af8BSAJiAfYEAANcAeoB1wLfAf8BxwLJAf8DwgH/A8QB/wPFAf8DyAH/A8kB/wPKAf8DzAH/A80B/wHQ
AtEB/wHjAuoB/wNtAfcEAAM5AV8CQAEnAf0BUAEXAQAB/wGuATUBAAH/AcABPQEAAf8B5wGWASIB/wHo
AbIBVgH/AeQBsQFWAf8B0gGJARUB/wG9AUIBAAH/AagBMAEAAf8BuAGNATkB/wHUAcMBsgH/AZgBhAFK
Af8BNwEZAQAB/wE+Aj0BagwAAToBkQHJAf8BpAHMAeQB/wGHAbsB2wH/ARsBoQFWAf8BFQGcAVAB/wEQ
AZoBTAH/AQsBlgFGAf8BJwGjAYEB/wGEAcABqwH/AR4BlgFVAf8DUQGiAxUBHQQAA1EBnAGSAbkB5QH/
AUoBUAH2Af8BgQGEAfUB/wIcAfAB/wGQAbsB6wH/Aa4BzQHwAf8BrAHMAfAB/wGqAcoB8AH/AYUBsgHp
Af8BOgGpAcEB/wEgAbMBjQH/ATIBqAG2Af8BTAGhAeQB/wGXAboB6AH/A10B7QQAA1wB6gHWAt8B/wHD
AsUB/wPAAf8DwAH/A8IB/wPDAf8DxAH/A8UB/wPIAf8DyQH/A80B/wHgAugB/wNtAfcEAAM3AVoCTQEo
AfoBgwEiAQAB/wHLAUwBAAH/AeUBiwEZAf8B/gG2AU4C/wHjAcIB/wH0AbwBhQH/AdYBUwEFAf8BxQFK
AQAB/wG6AT8BAAH/Aa8BUwEVAf8BrgGIATkB/wGUAVIBOQH/ATgBGgEAAf8DPAFmDAABPwGVAc0B/wGo
Ac8B5QH/AYwBvwHdAf8BIQGlAYEB/wGNAcUBuAH/AYkBwwG0Af8BhgHBAbEB/wGEAb8BrwH/AVMBuQGf
Af8BSgGtAaAB/wNWAbMBUAFSAVABpAMYASIDIwEzASsBYQF3AfwBkgGkAfUB/wE1ATYB9gH/AS0BhgH0
Af8BFwGmAfsB/wE4AasB8gH/AVoBrwHnAf8BVwGtAecB/wFUAaoB5gH/ARsBtgGAAf8BPAHIAZcB/wEX
AbcBVgH/AVkBrAHnAf8BjwG1AeMB/wFaAl4B1QQAA2AB1gHHAs0B/wHbAuQB/wHbAuQB/wHbAuUB/wHc
AuUB/wHcAuUB/wHdAuYB/wHdAuYB/wHeAucB/wHfAugB/wHgAugB/wHNAtMB/wNfAeMEAAMmATkBYAJa
Ad4BjgEqAQAB/wHsAZ4BLwH/Af4BvwGFAv8BzAGhAv8B3wG7Af8B/gHCAVsB/wHiAY4BJQH/AdMBhAEW
Af8BygFVAQgB/wG1AUwBBgH/AZcBPQEDAf8BgQE6ARUB/wNZAewDLgFIDAABQwGYAdAB/wGrAdEB5wH/
AZABwgHfAf8BKAGpAYgB/wGRAckBuwH/AVIBugGlAf8BTgG4AaEB/wFKAbYBngH/AU4BuAGdAf8BOQGl
AZIB/wNWAbMDVgGzAVUBVgFVAbEEAANJAYcBhgGvAeEB/wG5AdcB8wH/AQ4BpgH+Af8BSAG/Av8BBwGj
Av8BQgG+AfAB/wEWAc4B+wH/ATYBvgHxAf8BLgGzAaAB/wEXAbcBVQH/ASMBswGQAf8BpwHIAe4B/wFT
AaUB1gH/AU8CUQGcBAADLAFDA1sByAOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOd
Af8DXgHdAzEBTgQAAwkBDANLAY4BwAFKAQkC/wG8AVsB/wH6Ac4BpwH/AfgB2wG+Av8B4gHGAv8BvgGG
Af8B9AGsAVEB/wHsAcIBmgH/AeIBtQGLAf8BuAFRAQ8B/wGdAUABCAH/AYgBQAEcAf8DTwGlAxABFQwA
AUcBmwHTAf8BrgHUAegB/wGrAdMB6AH/ATUBsQGQAf8BmwHOAcAB/wGZAc0BvQH/AZYBywG7Af8BlQHK
AbkB/wGAAb8BqAH/AVMBswGpAf8DVgGzA1UBsgMIAQsEAAMEAQYDUQGfAYUBrgHhAf8BNgGyAfkB/wEH
AaMC/wEcAakB+wH/AQwB0wH+Af8BSAHiAv8BBwHVAv8BWwGwAegB/wFYAa0B5wH/AakBygHvAf8BpQHF
Ae0B/wErAU8BbgH8AyEBMEQAAxMBGgJkAVMB8QHYAZ4BTgH/AecB0wHAAf8B/AH1Ae4C/wH4AesC/wHl
AcIB/wH2AbkBggH/AfIB0gG4Af8B7gHSAbYB/wHCAYYBKgH/AacBUgEjAf8CTQEpAfoDHQEpEAABSgGd
AdUB/wFIAZsB0wH/AUUBmgHSAf8BJQGhAYwB/wEgAZ8BigH/AR0BnQGFAf8BGQGZAYAB/wEyAaUBkgH/
AVsBuAGxAf8BLAGhAYsB/wNVAbIDBgEIEAADQgF1AV8CYgH2AY4BtgHjAf8BuQHXAfMB/wE5AdUB+wH/
AQYB1QL/AR0B0QH7Af8BswHSAfIB/wGxAdAB8QH/AZIBuAHiAf8BPgGVAcwB/wNKAYpMAAM1AVcBqQE+
ARAB/wHKAbgBqAb/Af4B/AL/AfYB4gH/AfsBxQGgAf8B5AG5AZUB/wHbAawBWQH/AcMBjgE4Af8BkwFA
ARQB/wE+Aj0BajAAAVMCVAGsA1YBswNWAbMDBAEGGAADFgEeA1QBrgFSAaMB3AH/AZEBuAHkAf8BqAHK
AewB/wGlAccB7AH/AY0BtQHiAf8BRAGaAdIB/wFaAl8B2wMxAU5UAAMyAVECZAFZAewB0AGyAZUB/wHs
AeAB2QH/AeYB1QHEAf8B0wGwAZQB/wHTAaYBUwH/AcsBjwExAf8BZwFlAVkB8gE6AjkBYDQAAVMCVAGs
A1YBswMEAQYkAAMrAUIDTAGQAVsCXQHSAVkCXAHPA04BmQMtAUVgAAMRARcDRAF6AloBVwHFAmUBXgHl
AmEBWAHmAlwBWQHJAkgBRwGDAxUBHRAAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYA
A/8BAAHgAQcCAAH8AT8CAAHAAQMCAAH8AT8CAAHAAQMCAAHAAQMCAAHAAQMCAAHAAQMCAAHAAQMCAAHA
AQMCAAHAAQMCAAHAAQMCAAHAAQMGAAHAAQMCAAEBAYACAAHAAQMBgAIBAYACAAHAAQMBgAEBBAABwAED
AcABAwHAAQMCAAHAAQMB8AEPAcABAwIAAcABAwHwAQ8BgAEDAgABwAEDAfABDwHAAQMCAAHAAQMB8AEP
AfABDwIAAcABAwH4AR8B/AE/AgAB4wX/AeABBwGAAQEB/AEfAv8BwAEDAYABBwH4AQcC/wGAAQMBAAEH
AfgBAwL/AcABAwEAAQcB8AEBAgABwAEDAQABBwGAAwABgAEBAYABBwIAAYABAQIAAcABBwEBAQABgAEB
AgAB4AEDAgABgAEBAgAB4AEBAgABgAEBAgAB4AMAAYABAQIAAeABAAGAAQABgAEBAgAB4AEAAYABAAL/
AYABAQHgAQEB4AEBAv8BwAEDAf8BwwHwAQMC/wHgAQcB/wHHAfwBDwL/AfABDws=
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD+
JgAAAk1TRnQBSQFMAgEBCAEAAVABAQFQAQEBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABMAMAAQEBAAEgBgABMP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8ALgAB4gHvAfQB/wGo
AckB1wH/AWcBpAG2Af8BSgGGAZwB/wE1AVwBigH/ATABVwGHAf8BMAFhAZUB/wFDAY4BqwH/AY8BtwHN
Af8B3QHqAfEB/wwAA1cBtwOfAf8DmgH/A5YB/wORAf8DjQH/A4kB/wOEAf8DgAH/A1IB/wNOAf8DSgH/
A0cB/wNDAf8DQAH/A1cBtxgAAw0BEgNWAbYDVgG2Aw0BEWAAAa0BzwHfAf8BQgGRAa0B/wFHAaMBvwH/
AWMBwAHUAf8BlQHZAeYB/wGBAdsB8AH/ATsBxgHsAf8BDwGqAd0B/wEBAZIBxwH/AQ0BgAGsAf8BJAFc
AZIB/wGdAb8B0QH/CAADqAH/A+kB/wPTAf8D0gH/A9EB/wPQAf8DzgH/A80B/wPNAf8DywH/A8sB/wPK
Af8DyQH/A8gB/wPiAf8DQAH/GAADXgHZA+QB/wPjAf8DWAHBMAADQQFyAUwCXwHzAVkCXAHPAUsCTAGQ
AyMBMxwAAUUBhAGbAf8BLwG9AecB/wFSAdMB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/ATsBygHw
Af8BCQG2Ae0B/wEAAacB6AH/AQABoQHhAf8BAAGWAdIB/wEoAUkBZQH/CAADrQH/A9YB/wO6Af8DuAH/
A7UB/wOzAf8DsQH/A7AB/wOtAf8DqwH/A6oB/wOoAf8DpwH/A6YB/wPIAf8DRAH/CAADCwEPA1QBrQM6
AWEDPwFuA2cB+AHiAeEB3wH/AeEB4AHfAf8DXwHzAzwBZwM8AWYDUwGtAwsBDxwAAyEBMAIrAWIB/AGG
Aa0B4QH/AVQBqAHcAf8BNQGSAckB/wEGAUgBqwH/AVUCVgGxAx8BLRQAAUgBhwGeAf8BLgHEAfAB/wFU
AdQB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/ATsBygHwAf8BCQG2Ae0B/wEAAagB6AH/AQABoQHh
Af8BAAGcAdoB/wEpAUoBZwH/CAADsQH/A9kB/wO9Af8DugH/A7gB/wO2Af8DtQH/A7MB/wOwAf8DrwH/
A60B/wOrAf8DqQH/A6gB/wPKAf8DSAH/CAADWgHFBP8ChAGDAf4CgwGCAf4C5wHmAf8B1gHVAdMB/wHX
AdYB1AH/AeMB4gHgAf8DfwH+A6gB/QHpAegB5gH/A1gBwRwAAVQCVgGrAUMBnQHRAf8BmQG8AesB/wFH
AaAB4wH/AZYBuQHqAf8BlAG4AeoB/wE2AZMBygH/AisBXgH8A0MBeBAAAUoBiQGgAf8BLgHEAe8B/wFT
AdQB8QH/AY0B4wH0Af8BogHrAfYB/wGCAd8B8wH/ATwBygHwAf8BCQG2Ae0B/wEAAagB6AH/AQABoQHh
Af8BAAGcAdoB/wErAU0BaQH/CAADtgH/A90B/wPBAf8DvQH/A7wB/wO6Af8DuAH/A7UB/wO0Af8DsgH/
A7AB/wOtAf8DrAH/A6wB/wPPAf8DTAH/CAADZAHnAvkB9wH/Au8B7gH/AtsB2gH/AcoCyQH/AckByAHG
Af8ByQHIAccB/wHJAcgBxwH/AssByQH/AeYB5QHkAf8B5QHkAeIB/wNlAeUYAAMfAS0BKwE2AWYB/AGd
Ab8B7AH/AT8BnAHiAf8BMQGTAd8B/wEuAZEB3wH/ATUBlAHgAf8BlQG4AeoB/wGGAa0B4QH/AR8BgwG7
Af8BSwJMAZAMAAFMAYwBogH/ATABxgHwAf8BVQHUAfEB/wGMAeMB9AH/AaIB6wH2Af8BggHfAfQB/wE8
AcoB8AH/AQkBtgHtAf8BAAGoAegB/wEAAaIB4gH/AQABmwHbAf8BLQFQAYAB/wgAA1oBvQPaAf8DyAH/
A8AB/wO/Af8DvQH/A7oB/wO4Af8DtwH/A7UB/wOzAf8DsAH/A68B/wOzAf8DwgH/A1oBvQgAA04BlQH2
AfUB9AH/AeYB5QHkAf8BvwG+Ab0B/wLrAeoB/wHUAdMB0gH/AdYB1QHUAf8B4gLhAf8CtAGzAf8B1wHW
AdQB/wHiAeEB3wH/A0oBjQwAAysBQgNIAYQBVQJXAbcBTAJfAfMBTAGkAdcB/wGhAcIB7QH/AZ8BwAHt
Af8BnQG/Ae0B/wFKAaMB5AH/ATABkgHfAf8BLgGQAd4B/wFRAacB5gH/AZIBtgHoAf8BGQFVAbcB/wM3
AVoIAAFPAY8BpQH/ATEBxgHwAf8BVQHUAfIB/wGNAeMB9AH/AaIB6wH2Af8BgwHfAfQB/wE7AcoB8AH/
AQkBtgHtAf8BAAGnAegB/wEAAaEB4gH/AQABnAHbAf8BLwFTAYMB/wgAA1oBvQPjAf8D5wH/A+EB/wPg
Af8D4AH/A98B/wPfAf8D3gH/A90B/wPdAf8D3AH/A9sB/wPgAf8D0AH/A1oBvQMLAQ8DVQG1A2QB5wHk
AeMB4gH/AdEB0AHPAf8C8AHvAf8DrgH/A2QB8QNnAfICrAGrAf8C6AHnAf8CywHKAf8B4AHfAd0B/wNh
AeQDVQG1AwsBDwNMAZMBOgGXAc8B/wFRAagB2QH/AY0BtAHiAf8BowHEAe0B/wGnAccB7gH/AToBlwHN
Af8BCgFLAbIB/wE1AZMByQH/AZ8BwAHtAf8BTgGWAaMB/wGeAZYBHgH/AVIBlAGRAf8BjQGzAekB/wFP
AaUB2AH/AVoCXgHYCAABUAGSAagB/wExAcUB8AH/AVYB1AHyAf8BjQHjAfQB/wGiAesB9gH/AYIB3wH0
Af8BOwHKAfAB/wEJAbYB7QH/AQABpwHoAf8BAAGhAeEB/wEAAZwB2wH/ATEBVgGGAf8IAAMpAT8DzgH/
A+wB/wPeAf8D2AH/A9IB/wPMAf8DyAH/A8cB/wPIAf8DywH/A9AB/wPdAf8D6AH/A6QB/wMrAUIDPwFt
AuQB4wH/AdgB1gHVAf8B0gHRAdAB/wHFAcQBwwH/Ae0B7AHrAf8DVwG6CAADXAHNAegB5wHmAf8BtgG1
AbQB/wHWAdUB0wH/AeIB4QHgAf8C4AHfAf8DPAFmAUgCYgH2Aa4BzQHwAf8BsAHPAfAB/wGYAb8B7AH/
AVQBrgHnAf8BqgHKAe8B/wETAVEBuAH/BAABCwFMAbMB/wGiAcMB7QH/AagBlwEHAf8BxAG1ATAB/wGs
AZcBAAH/ATEBkwHfAf8BmAG7AesB/wEAAToBnwH/CAABUwGVAasB/wExAcUB8AH/AVYB1AHyAf8BjQHj
AfQB/wGiAesB9gH/AYMB3wH0Af8BPAHLAfAB/wEJAbUB7QH/AQABpwHoAf8BAAGhAeIB/wEAAZwB2gH/
ATQBWQGIAf8MAANaAb0D4wH/A9sB/wPiAf8BtwHQAbgB/wE6Aa0BPgH/AUwBqgE6Af8BRgGvAT4B/wEs
AaUBOAH/AawBxQGsAf8DwgH/A9EB/wPTAf8DWgG9BAADQgF2AewB6wHoAf8B2gHZAdcB/wHUAdMB0QH/
AcYBxQHEAf8B3gLcAf8DRgF+CAADUAGaAd0B3AHbAf8ByAHGAcUB/wLiAeEB/wLhAd8B/wHuAe0B7AH/
Az8BbwFaAmAB3gGoAckB7QH/AYQBpwHtAf8BLgFAAe0B/wFAAY4B6QH/Aa0BzQHwAf8BQwGdAdIB/wEU
AVIBuQH/AT0BmQHOAf8BpQHFAe4B/wGVAZoBPwH/Aa0BlwEAAf8BnQGXASMB/wE8AZsB4gH/AZgBuwHq
Af8BSAJiAfYIAAFVAZgBrgH/ATEBxQHwAf8BVgHUAfEB/wGNAeMB9AH/AaIB6wH2Af8BgwHfAfQB/wE8
AcoB8AH/AQkBtgHtAf8BAAGoAekB/wEAAaEB4QH/AQABnAHaAf8BNgFbAYoB/wwAAykBPwPRAf8D8wH/
AccB3gHKAf8BOgHJAYUB/wGzAdwBpAH/AecBxwFSAf8B3AG/AUkB/wFMAcwBjwH/ASUBrQE+Af8BuAHQ
AbgB/wPxAf8DrwH/AysBQgQAAy8BSgNgAesDcgH8Ad4B3QHcAf8BywLKAf8B5gLlAf8DYQHhAzIBUAM4
AVwDYAHrAu4B7AH/AcwCywH/AecB5gHlAf8DcgH8A2AB6wMsAUMDUQGcAZIBuQHlAf8BRAFKAfYB/wGB
AYQB9QH/AhYB8AH/AZABuwHrAf8BrgHNAfAB/wGsAcwB8AH/AaoBygHwAf8BhQGyAekB/wE0AakBwQH/
ARoBswGNAf8BLAGoAbYB/wFGAaEB5AH/AZcBugHoAf8DXQHtCAABWAGbAbAB/wEwAcYB8AH/AVYB1AHy
Af8BjQHjAfQB/wGiAesB9gH/AYMB3wH0Af8BPAHKAfAB/wEJAbYB7QH/AQABqAHoAf8BAAGhAeEB/wEA
AZwB2gH/ATkBXwGOAf8QAANaAb0DxAH/AUwBzgGLAf8BmQHkAasB/wGwAcUBMwH/AeoBtQEeAf8B4QGi
AQ8B/wGlAZ0BFgH/AYIBxQGPAf8BHwGaASwB/wOgAf8DWgG9EAADXgHOAeEB4AHeAf8B2QHXAdYB/wG4
ArcB/wHhAeAB3wH/A6gB/QOoAf0C9gH1Af8CwAG/Af8B6gHpAegB/wLzAfIB/wNcAckIAAMjATMBKwFb
AXEB/AGSAaQB9QH/AS8BMAH2Af8BJwGGAfQB/wERAaYB+wH/ATIBqwHyAf8BVAGvAecB/wFRAa0B5wH/
AU4BqgHmAf8BFQG2AYAB/wE2AcgBlwH/AREBtwFQAf8BUwGsAecB/wGPAbUB4wH/AVoCXgHVCAABWwGf
AbMB/wEwAcYB8AH/AVQB1AHxAf8BjAHjAfQB/wGiAesB9gH/AYMB3wH0Af8BPAHKAfAB/wEJAbYB7QH/
AQABpwHoAf8BAAGhAeEB/wEAAZsB2gH/ATsBYgGQAf8YAAFYAXQBYwH8AaIB6QGVAf8B1gHPAT8B/wHi
AbMBHQH/AdEBuwElAf8BwgGuARgB/wGCAb0BQgH/ASsBaQFAAfwYAANMAZEB4wHiAeAB/wLeAdwB/wHh
AeAB3wH/AcwCywH/AcQBwwHCAf8CzwHOAf8C3gHdAf8C8AHvAf8C8AHvAf8C9gH1Af8DSAGHDAADSQGH
AYYBrwHhAf8BuQHXAfMB/wEIAaYB/gH/AUIBvwL/AQEBowL/ATwBvgHwAf8BEAHOAfsB/wEwAb4B8QH/
ASgBswGgAf8BEQG3AU8B/wEdAbMBkAH/AacByAHuAf8BTQGlAdYB/wFPAlEBnAgAAVwBoQG1Af8BVgHV
AfQB/wGaAegB9wH/AbUB8wH6Af8BwgH4AfwB/wHDAfgB/QH/AcEB9wH9Af8BrwHwAfsB/wGPAeIB9wH/
AVUB0AHwAf8BKQG4AeUB/wE+AWUBkwH/GAABWgF0AWQB/AGiAfABnwH/AdgB7QGvAf8B3gHFAT4B/wG0
AeIBOwH/ATYB5wEPAf8BQQHXAUEB/wErAWsBVQH8FAADAQECA18B4wHlAeQB4QH/Au4B7QH/Au4B7QH/
AusB6gH/AeMB4gHhAf8C6AHnAf8C6gHpAf8C8wHyAf8C9QH0Af8B+gH5AfgB/wNcAd8MAAMEAQYDUQGf
AYUBrgHhAf8BMAGyAfkB/wEBAaMC/wEWAakB+wH/AQYB0wH+Af8BQgHiAv8BAQHVAv8BVQGwAegB/wFS
Aa0B5wH/AakBygHvAf8BpQHFAe0B/wErAT4BaAH8AyEBMAgAAV8BowG4Af8BxQH5Af0B/wHFAfkB/QH/
AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5
Af0B/wFAAWgBlQH/GAADYQHcAcgB9wHUAf8B2AH2AcoB/wHnAeMBqQH/AdsBzwFCAf8BrwHcAT4B/wGd
AeoBqwH/A18B4BgAA0ABbwN/Af4DZAHnA18B8wHoAecB5gH/AecB5gHlAf8C7QHsAf8C+wH6Af8DZwHy
A2QB5wN/Af4DPQFoFAADQgF1AV8CYgH2AY4BtgHjAf8BuQHXAfMB/wEzAdUB+wH/AQAB1QL/ARcB0QH7
Af8BswHSAfIB/wGxAdAB8QH/AZIBuAHiAf8BOAGVAcwB/wNKAYoMAAG3AdcB4QH/AYwBvQHMAf8BnQHP
AdsB/wGtAd8B6AH/AbkB7AHzAf8BwgH1AfoB/wHCAfUB+gH/AbgB6wHxAf8BqQHaAeMB/wGUAcQB0QH/
AWYBqAG4Af8BqQHFAdEB/xgAAy0BRQFNAXABZwH6AdsB+AHpAf8B5wHyAdgB/wHtAeUBswH/Ad8B2QGm
Af8BXwF/AV8B+wMyAVAgAAMPARQDCgEOA1MBqgHvAe4B7QH/AvQB8wH/A1IBpAMIAQsDEQEXIAADFgEe
A1QBrgFMAaMB3AH/AZEBuAHkAf8BqAHKAewB/wGlAccB7AH/AY0BtQHiAf8BPgGaAdIB/wFaAl8B2wMx
AU4QAAL+Av8B4wHxAfQB/wG5AdcB4QH/AZUBvgHMAf8BZgGoAbsB/wFZAZsBsAH/AVUBmAGtAf8BXgGh
AbMB/wGMAbIBwgH/AbEBzQHXAf8B3wHrAe8B/wP+Af8cAAMuAUcDXgHZAV4BdAFiAfwBXgFzAV4B/ANe
Ad0DMgFQLAADLwFKA10B8ANiAe8DLAFDMAADKwFCA0wBkAFbAl0B0gFZAlwBzwNOAZkDLQFFHAADEQEX
A1YBswFTAVQBUwGstAADBAEFAxABFQMfAS0DKQE/Ay8BSQMuAUgDKAE9Ax4BKwMPARQDAwEEEAADtwH/
AZwBqAGeAf8BAAFNASgB/wESAZIBSgH/AQABUQEoAf8BAAE+AaAB/wEAATwBngH/AQABOQGbAf8BAAE3
AZkB/wEAATUBlwH/AQABMgGUAf8BAAExAZMB/wNCAf8DQgH/CAABVwFQAU0BjwFwAWABVQG1AaQBcgFU
Ae4BuQF2AVAB/wG1AXQBTgH/AbMBcwFOAf8BsAFxAU0B/wGsAW8BTAH/AakBbgFMAf8BpwFsAUsB/wGm
AWsBSgH/AaABbQFMAf4BlQFoAVEB8QF1AWEBVAHETAADBQEHAx8BLAI+AT0BagJSAVABowFbAlkBxAFd
AloB0wFdAloB0wFbAlkBwwFSAlEBoQM8AWYDHAEoAwQBBgwAAxUBHQNRAaIBFwGVAU4B/wGCAb4BqgH/
ASYBpQGCAf8BBwGXAUAB/wEKAZkBRQH/AQ4BmQFJAf8BEgGdAU4B/wFMAaoB0gH/AUoBqAHRAf8BAAEz
AZUB/xAAAZYBcgFVAd4w/wGSAWkBUAHtSwABAQMSARgDPgFrAV0CWQHXAUYCKwH8AawBIwEAAf8B4QFD
ARcB/wHkAVUBKwH/AdMBQQEPAf8BowJAAf0BYQJeAdoCPgE9AWoDDwEUCAADGAEiAVABUgFQAaQDVgGz
AUMBrAGfAf8BSgG3AZ4B/wFUAbsBrAH/AVQBuwGuAf8BVQG7AbAB/wGAAbwBswH/AQ0BmgFRAf8BKgGV
AccB/wFNAasB0wH/AQABNgGYAf8QAAG8AX8BVwH+BP8BrgFkASkB/wGsAWEBKAH/AawBYQEoBf8BUwGq
AVoB/wFOAaUBVAH/AUkBoAFPAf8BRAGbAUkB/wFBAZcBRgH/AT0BkwFCBf8BoQFuAU0B/kwAAxsBJgNZ
AdIBEwIAAf8BigEyARoB/wHKAYYBPAH/AfYBvAGcAf8B+QHMAbcB/wHjAaABTgH/AbEBTQEzAf8BTwEp
AQoB/wFeAlgB3QMcASgIAAFVAVYBVQGxA1YBswNWAbMBMgGkAZEB/wFFAbYBmwH/AT4BsgGbAf8BQAGy
AZ4B/wFCAbMBoQH/AYUBvwG2Af8BFAGeAYIB/wEvAZkByQH/AVEBrQHUAf8BAAE6AZwB/xAAAcMBhQFX
Bf8BrgFkASkB/wHNAZ4BcQH/AawBYQEoBf8BSAGeAU0B/wFtAckBeAH/AW0ByQF4Af8BbAHIAXcB/wFr
AccBdQH/ATsBkgFABf8BpwFuAUwB/wQAA50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/
A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wgAAVMCTwGlASoBDwEAAf8BTwE6ASUB/wGPAUwBNwH/
AawBiAFBAf8BwgGjAYgB/wHBAaUBjgH/AbMBmAGBAf8BkQFMATYB/wFKATEBHAH/ATkBEgEAAf8BVgJV
AbEIAAMIAQsDVQGyA1YBswFMAbIBqAH/AVMBvQGnAf8BhwHBAbUB/wGGAcEBtgH/AYcBwQG3Af8BiAHB
AbkB/wEaAaIBiAH/ATQBnAHLAf8BVQGwAdUB/wEAAT0BnwH/EAABxAGFAVgF/wGuAWQBKQH/Ac0BnwFy
Af8BrAFhASgF/wFLAaIBUQH/AXABygF6Af8BbwHKAXoB/wFuAckBeQH/AWwByAF3Af8BPgGUAUMF/wGr
AW8BTQH/BAADnQH/AboCvQH/AeYC7AH/AeYC7QH/AecC7QH/AegC7gH/AekC7wH/AekC7wH/AeoC7wH/
AeoC8AH/AesC8AH/AesC8QH/AewC8QH/AewC8QH/Ab0CvwH/A50B/wQAAzkBXwFLASsBEAH/AcMBsQGi
Af8BtgGcAYMB/wGmAU8BIgH/AagBTQEfAf8BwwGkAYcB/wHYAcYBsAH/Ab0BqQGLAf8BVQE1ARUB/wEy
ARIBAAH/ASgBBAEAAf8BLwEIAQAB/wMzAVMIAAMGAQgDVQGyASUBoAGKAf8BkwHJAboB/wE1Aa8BlwH/
ARoBogGDAf8BGwGjAYcB/wEdAaQBiwH/ARwBqgGSAf8BKgHCAe0B/wGBAbQB1wH/AQABQQGjAf8QAAHH
AYcBVwX/AbMBawEwAf8B0AGkAXsB/wGxAWkBKwX/AU0BpAFTAf8BcQHLAXsB/wFwAcsBegH/AW8BygF5
Af8BbQHJAXgB/wFBAZgBRgX/AbEBcwFOAf8IAANcAeoB2wLiAf8BzQLPAf8DywH/A8wB/wPOAf8DzwH/
A9AB/wPSAf8D0wH/A9UB/wHXAtgB/wHnAuwB/wNtAfcEAAMiATEBVgJVAbEBPQERAQAB/wGqAYUBNQH/
AbIBSAEGAf8BrQElAQAB/wG6AUIBAAH/AeoB1QG/Af8B/QH8AfoB/wHWAb4BpgH/AZABNQECAf8BOAEG
AQAB/wE5ARYBAAH/ATIBEgEAAf8DVwHFAxwBJwgAAwQBBgELAZQBTQH/AUQBuQGeAf8BHwGmAYkB/wFP
AbEB1QH/AUsBrQHUAf8BRwGrAdIB/wE1AboB5AH/AQABmQE/Af8BAAGOAS4B/wEAAUYBmgH/EAAByAGJ
AVgF/wG2AXMBPQH/AdEBpQGCAf8BtQFwATUF/wFPAacBVgH/AXABywF6Af8BcAHLAXoB/wFvAcoBeQH/
AW0ByQF4Af8BRAGbAUoF/wG1AXUBUAH/CAADXAHqAdkC4QH/AcsCzAH/A8cB/wPIAf8DygH/A8sB/wPN
Af8DzgH/A9AB/wPRAf8B0wLUAf8B5QLrAf8DbQH3BAADLgFHA1kB7AE4AQYBAAH/AZkBJQEAAf8BuAE9
AQAB/wHCATkBAAH/AckBSwEAAf8B5gG/AZQB/wHsAdQBtgH/Ac0BnAE4Af8BqAFCAQIB/wGZAUMBFwH/
AaMBjAFIAf8BVQE8ASUB/wJRAT8B9wE1AjQBVQwAAS4BjgHEAf8BKAGsAYsB/wElAaoBjwH/AVQBtQHY
Af8BUAGyAdYB/wFNAa8B1QH/AUkBrAHTAf8BAAGQATgB/wEvAagBhAH/AQABTgEpAf8DFAEbDAABygGL
AVkF/wG7AXwBUQH/AbkBegFJAf8BuQF5AUcF/wFDAZoBSQH/AVABpwFWAf8BTgGlAVQB/wFMAaMBUgH/
AUoBoQFQAf8BRwGeAU0F/wG4AXkBUQH/CAADXAHqAdcC3wH/AccCyQH/A8IB/wPEAf8DxQH/A8gB/wPJ
Af8DygH/A8wB/wPNAf8B0ALRAf8B4wLqAf8DbQH3BAADOQFfAkABLQH9AUoBEQEAAf8BrgEvAQAB/wHA
ATcBAAH/AecBlgEcAf8B6AGyAVAB/wHkAbEBUAH/AdIBiQEPAf8BvQE8AQAB/wGoASoBAAH/AbgBjQEz
Af8B1AHDAbIB/wGYAYQBRAH/ATEBEwEAAf8BPgI9AWoMAAE0AZEByQH/AaQBzAHkAf8BhwG7AdsB/wEV
AaEBUAH/AQ8BnAFKAf8BCgGaAUYB/wEFAZYBQAH/ASEBowGBAf8BhAHAAasB/wEYAZYBTwH/A1EBogMV
AR0IAAHGAYgBXAH+MP8BuwF7AVIB/wgAA1wB6gHWAt8B/wHDAsUB/wPAAf8DwAH/A8IB/wPDAf8DxAH/
A8UB/wPIAf8DyQH/A80B/wHgAugB/wNtAfcEAAM3AVoCTQEoAfoBgwEcAQAB/wHLAUYBAAH/AeUBiwET
Af8B/gG2AUgC/wHjAcIB/wH0AbwBhQH/AdYBTQEAAf8BxQFEAQAB/wG6ATkBAAH/Aa8BTQEPAf8BrgGI
ATMB/wGUAUwBMwH/ATIBFAEAAf8DPAFmDAABOQGVAc0B/wGoAc8B5QH/AYwBvwHdAf8BGwGlAYEB/wGN
AcUBuAH/AYkBwwG0Af8BhgHBAbEB/wGEAb8BrwH/AU0BuQGfAf8BRAGtAaAB/wNWAbMBUAFSAVABpAMY
ASIEAAHBAYgBWAH6BP8B7QHDAZoB/wHtAcMBmgH/Ae0BwwGaAf8B7QHDAZoB/wHtAcMBmgH/Ae0BwwGa
Af8B7QHDAZoB/wHtAcMBmgH/Ae0BwwGaAf8B7QHDAZoF/wG9AYABVAH/CAADYAHWAccCzQH/AdsC5AH/
AdsC5AH/AdsC5QH/AdwC5QH/AdwC5QH/Ad0C5gH/Ad0C5gH/Ad4C5wH/Ad8C6AH/AeAC6AH/Ac0C0wH/
A18B4wQAAyYBOQFgAloB3gGOASQBAAH/AewBngEpAf8B/gG/AYUC/wHMAaEC/wHfAbsB/wH+AcIBVQH/
AeIBjgEfAf8B0wGEARAB/wHKAU8BAgH/AbUBRgEAAf8BlwE3AQAB/wGBATQBDwH/A1kB7AMuAUgMAAE9
AZgB0AH/AasB0QHnAf8BkAHCAd8B/wEiAakBiAH/AZEByQG7Af8BTAG6AaUB/wFIAbgBoQH/AUQBtgGe
Af8BSAG4AZ0B/wEzAaUBkgH/A1YBswNWAbMBVQFWAVUBsQQAAbYBhwFdAfAE/wHtAcMBmwH/AfQB2gHA
Af8B9AHaAcAB/wH0AdsBwQH/AfQB2wHBAf8B9AHbAcEB/wH0AdsBwQH/AfQB2wHBAf8B9AHbAcEB/wHt
AcMBmgX/AbsBfwFXAf4IAAMsAUMDWwHIA50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/
A50B/wNeAd0DMQFOBAADCQEMA0sBjgHAAUQBAwL/AbwBVQH/AfoBzgGnAf8B+AHbAb4C/wHiAcYC/wG+
AYYB/wH0AawBSwH/AewBwgGaAf8B4gG1AYsB/wG4AUsBCQH/AZ0BOgECAf8BiAE6ARYB/wNPAaUDEAEV
DAABQQGbAdMB/wGuAdQB6AH/AasB0wHoAf8BLwGxAZAB/wGbAc4BwAH/AZkBzQG9Af8BlgHLAbsB/wGV
AcoBuQH/AYABvwGoAf8BTQGzAakB/wNWAbMDVQGyAwgBCwQAAZcBegFeAdgE/wHtAcMBmwH/Ae0BwwGb
Af8B7QHDAZsB/wHtAcMBmgH/Ae0BwwGaAf8B7QHDAZoB/wHtAcMBmgH/Ae0BwwGaAf8B7QHDAZoB/wHt
AcMBmgX/AbsBhAFcAfhIAAMTARoCZAFTAfEB2AGeAUgB/wHnAdMBwAH/AfwB9QHuAv8B+AHrAv8B5QHC
Af8B9gG5AYIB/wHyAdIBuAH/Ae4B0gG2Af8BwgGGASQB/wGnAUwBHQH/Ak0BKQH6Ax0BKRAAAUQBnQHV
Af8BQgGbAdMB/wE/AZoB0gH/AR8BoQGMAf8BGgGfAYoB/wEXAZ0BhQH/ARMBmQGAAf8BLAGlAZIB/wFV
AbgBsQH/ASYBoQGLAf8DVQGyAwYBCAgAAWEBWQFSAZsw/wHWAakBiAH/TAADNQFXAakBOAEKAf8BygG4
AagG/wH+AfwC/wH2AeIB/wH7AcUBoAH/AeQBuQGVAf8B2wGsAVMB/wHDAY4BMgH/AZMBOgEOAf8BPgI9
AWowAAFTAlQBrANWAbMDVgGzAwQBBgwAAUYBQwFBAXEBWQFTAU4BkAGLAXMBXAHMAc4BkgFcAf8ByAGN
AV4B/gHNAZEBXAH/AcwBjwFcAf8BzQGRAV4B/wHNAZIBYAH/AcsBkAFeAf8BsAGDAVsB7wGJAXIBXgHL
AdgBrQGKAf8B1wGrAYoB/1AAAzIBUQJkAVkB7AHQAbIBlQH/AewB4AHZAf8B5gHVAcQB/wHTAbABlAH/
AdMBpgFNAf8BywGPASsB/wFnAWUBWQHyAToCOQFgNAABUwJUAawDVgGzAwQBBpwAAxEBFwNEAXoCWgFX
AcUCZQFeAeUCYQFYAeYCXAFZAckCSAFHAYMDFQEdEAABQgFNAT4HAAE+AwABKAMAAUADAAEwAwABAQEA
AQEFAAGAAQEWAAP/gQAB4AEHAgAB/AE/Av8BwAEDAgAB/AE/AfwBHwHAAQMCAAHAAQMB+AEHAcABAwIA
AcABAwH4AQMBwAEDAgABwAEDAfABAQHAAQMCAAHAAQMBgAEAAcABAwYAAcABAwIAAQEBgAEBAQABwAED
AYACAQGAAgABwAEDAYABAQQAAcABAwHAAQMBwAEDAgABwAEDAfABDwHAAQMBgAEAAcABAwHwAQ8BgAED
AYABAAHAAQMB8AEPAcABAwHgAQEBwAEDAfABDwHwAQ8B8AEDAcABAwH4AR8B/AE/AfwBDwHjBf8B4AEH
AYABAQGAAQEC/wHAAQMBgAEHAYABAQL/AYABAwEAAQcBgAEBAv8BwAEDAQABBwGAAQECAAHAAQMBAAEH
AYABAQIAAYABAQGAAQcBgAEBAYABAQIAAcABBwGAAQEBgAEBAgAB4AEDAYABAQGAAQECAAHgAQEBgAEB
AYABAQIAAeABAAGAAQEBgAEBAgAB4AEAAYABAQGAAQECAAHgAQABgAEBAv8BgAEBAeABAQGAAQEC/wHA
AQMB/wHDAYABAQL/AeABBwH/AccE/wHwAQ8L
</value>
</data>
<metadata name="dlgColor.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>140, 17</value>
</metadata>
</root>

View File

@@ -1,6 +1,9 @@
Imports mRemoteNG.My
Imports System.IO
Imports System.ComponentModel
Imports mRemoteNG.My
Imports WeifenLuo.WinFormsUI.Docking
Imports mRemoteNG.App.Runtime
Imports mRemoteNG.Themes
Public Class frmOptions
Inherits System.Windows.Forms.Form
@@ -73,10 +76,8 @@ Public Class frmOptions
Friend WithEvents chkMinimizeToSystemTray As System.Windows.Forms.CheckBox
Friend WithEvents chkShowSystemTrayIcon As System.Windows.Forms.CheckBox
Friend WithEvents chkShowFullConnectionsFilePathInTitle As System.Windows.Forms.CheckBox
Friend WithEvents chkConfirmCloseConnection As System.Windows.Forms.CheckBox
Friend WithEvents chkSaveConsOnExit As System.Windows.Forms.CheckBox
Friend WithEvents chkProperInstallationOfComponentsAtStartup As System.Windows.Forms.CheckBox
Friend WithEvents chkConfirmExit As System.Windows.Forms.CheckBox
Friend WithEvents chkSingleInstance As System.Windows.Forms.CheckBox
Friend WithEvents chkReconnectOnStart As System.Windows.Forms.CheckBox
Friend WithEvents tcTabControl As System.Windows.Forms.TabControl
@@ -110,17 +111,31 @@ Public Class frmOptions
Friend WithEvents lblSQLDatabaseName As System.Windows.Forms.Label
Friend WithEvents txtSQLDatabaseName As System.Windows.Forms.TextBox
Friend WithEvents chkAlwaysShowPanelTabs As System.Windows.Forms.CheckBox
Friend WithEvents chkIdentifyQuickConnectTabs As System.Windows.Forms.CheckBox
Friend WithEvents pnlConfirmCloseConnection As System.Windows.Forms.Panel
Friend WithEvents lblClosingConnections As System.Windows.Forms.Label
Friend WithEvents radCloseWarnAll As System.Windows.Forms.RadioButton
Friend WithEvents radCloseWarnMultiple As System.Windows.Forms.RadioButton
Friend WithEvents radCloseWarnExit As System.Windows.Forms.RadioButton
Friend WithEvents radCloseWarnNever As System.Windows.Forms.RadioButton
Friend WithEvents tabTheme As System.Windows.Forms.TabPage
Friend WithEvents ThemePropertyGrid As System.Windows.Forms.PropertyGrid
Friend WithEvents dlgColor As System.Windows.Forms.ColorDialog
Friend WithEvents btnThemeNew As System.Windows.Forms.Button
Friend WithEvents cboTheme As System.Windows.Forms.ComboBox
Friend WithEvents btnThemeDelete As System.Windows.Forms.Button
Private components As System.ComponentModel.IContainer
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim ListViewItem1 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Startup/Exit", 0)
Dim ListViewItem2 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Appearance", 1)
Dim ListViewItem3 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Tabs & Panels", 2)
Dim ListViewItem4 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Connections", 3)
Dim ListViewItem5 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("SQL Server", 4)
Dim ListViewItem6 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Updates", 5)
Dim ListViewItem7 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Advanced", 6)
Dim ListViewItem1 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Startup/Exit", "StartupExit_Icon.ico")
Dim ListViewItem2 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Appearance", "Panels_Icon.ico")
Dim ListViewItem3 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Tabs & Panels", "Tab_Icon.ico")
Dim ListViewItem4 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Connections", "Root_Icon.ico")
Dim ListViewItem5 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("SQL Server", "database.bmp")
Dim ListViewItem6 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Updates", "Update_Icon.ico")
Dim ListViewItem7 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Advanced", "Config_Icon.ico")
Dim ListViewItem8 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("Theme", "Appearance_Icon.ico")
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmOptions))
Me.btnOK = New System.Windows.Forms.Button()
Me.btnCancel = New System.Windows.Forms.Button()
@@ -191,15 +206,14 @@ Public Class frmOptions
Me.lblLanguageRestartRequired = New System.Windows.Forms.Label()
Me.chkReconnectOnStart = New System.Windows.Forms.CheckBox()
Me.chkSingleInstance = New System.Windows.Forms.CheckBox()
Me.chkConfirmExit = New System.Windows.Forms.CheckBox()
Me.chkProperInstallationOfComponentsAtStartup = New System.Windows.Forms.CheckBox()
Me.chkSaveConsOnExit = New System.Windows.Forms.CheckBox()
Me.chkConfirmCloseConnection = New System.Windows.Forms.CheckBox()
Me.tcTabControl = New System.Windows.Forms.TabControl()
Me.tabStartupExit = New System.Windows.Forms.TabPage()
Me.tabAppearance = New System.Windows.Forms.TabPage()
Me.tabTabsAndPanels = New System.Windows.Forms.TabPage()
Me.chkAlwaysShowPanelTabs = New System.Windows.Forms.CheckBox()
Me.chkIdentifyQuickConnectTabs = New System.Windows.Forms.CheckBox()
Me.tabConnections = New System.Windows.Forms.TabPage()
Me.pnlDefaultCredentials = New System.Windows.Forms.Panel()
Me.radCredentialsCustom = New System.Windows.Forms.RadioButton()
@@ -212,6 +226,12 @@ Public Class frmOptions
Me.lblCredentialsPassword = New System.Windows.Forms.Label()
Me.txtCredentialsUsername = New System.Windows.Forms.TextBox()
Me.lblCredentialsDomain = New System.Windows.Forms.Label()
Me.pnlConfirmCloseConnection = New System.Windows.Forms.Panel()
Me.lblClosingConnections = New System.Windows.Forms.Label()
Me.radCloseWarnAll = New System.Windows.Forms.RadioButton()
Me.radCloseWarnMultiple = New System.Windows.Forms.RadioButton()
Me.radCloseWarnExit = New System.Windows.Forms.RadioButton()
Me.radCloseWarnNever = New System.Windows.Forms.RadioButton()
Me.tabSQLServer = New System.Windows.Forms.TabPage()
Me.lblSQLDatabaseName = New System.Windows.Forms.Label()
Me.txtSQLDatabaseName = New System.Windows.Forms.TextBox()
@@ -226,6 +246,12 @@ Public Class frmOptions
Me.lblSQLPassword = New System.Windows.Forms.Label()
Me.tabUpdates = New System.Windows.Forms.TabPage()
Me.tabAdvanced = New System.Windows.Forms.TabPage()
Me.tabTheme = New System.Windows.Forms.TabPage()
Me.btnThemeDelete = New System.Windows.Forms.Button()
Me.btnThemeNew = New System.Windows.Forms.Button()
Me.cboTheme = New System.Windows.Forms.ComboBox()
Me.ThemePropertyGrid = New System.Windows.Forms.PropertyGrid()
Me.dlgColor = New System.Windows.Forms.ColorDialog()
CType(Me.numPuttyWaitTime, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.numUVNCSCPort, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pnlProxy.SuspendLayout()
@@ -243,9 +269,11 @@ Public Class frmOptions
Me.tabTabsAndPanels.SuspendLayout()
Me.tabConnections.SuspendLayout()
Me.pnlDefaultCredentials.SuspendLayout()
Me.pnlConfirmCloseConnection.SuspendLayout()
Me.tabSQLServer.SuspendLayout()
Me.tabUpdates.SuspendLayout()
Me.tabAdvanced.SuspendLayout()
Me.tabTheme.SuspendLayout()
Me.SuspendLayout()
'
'btnOK
@@ -275,7 +303,7 @@ Public Class frmOptions
Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.lvPages.FullRowSelect = True
Me.lvPages.HideSelection = False
Me.lvPages.Items.AddRange(New System.Windows.Forms.ListViewItem() {ListViewItem1, ListViewItem2, ListViewItem3, ListViewItem4, ListViewItem5, ListViewItem6, ListViewItem7})
Me.lvPages.Items.AddRange(New System.Windows.Forms.ListViewItem() {ListViewItem1, ListViewItem2, ListViewItem3, ListViewItem4, ListViewItem5, ListViewItem6, ListViewItem7, ListViewItem8})
Me.lvPages.LabelWrap = False
Me.lvPages.LargeImageList = Me.imgListPages
Me.lvPages.Location = New System.Drawing.Point(12, 12)
@@ -293,12 +321,13 @@ Public Class frmOptions
Me.imgListPages.ImageStream = CType(resources.GetObject("imgListPages.ImageStream"), System.Windows.Forms.ImageListStreamer)
Me.imgListPages.TransparentColor = System.Drawing.Color.Fuchsia
Me.imgListPages.Images.SetKeyName(0, "StartupExit_Icon.ico")
Me.imgListPages.Images.SetKeyName(1, "Appearance_Icon.ico")
Me.imgListPages.Images.SetKeyName(1, "Panels_Icon.ico")
Me.imgListPages.Images.SetKeyName(2, "Tab_Icon.ico")
Me.imgListPages.Images.SetKeyName(3, "Root_Icon.ico")
Me.imgListPages.Images.SetKeyName(4, "database.bmp")
Me.imgListPages.Images.SetKeyName(5, "Update_Icon.ico")
Me.imgListPages.Images.SetKeyName(6, "Config_Icon.ico")
Me.imgListPages.Images.SetKeyName(7, "Appearance_Icon.ico")
'
'lblMaximumPuttyWaitTime
'
@@ -427,7 +456,7 @@ Public Class frmOptions
'chkEncryptCompleteFile
'
Me.chkEncryptCompleteFile.AutoSize = True
Me.chkEncryptCompleteFile.Location = New System.Drawing.Point(2, 26)
Me.chkEncryptCompleteFile.Location = New System.Drawing.Point(3, 26)
Me.chkEncryptCompleteFile.Name = "chkEncryptCompleteFile"
Me.chkEncryptCompleteFile.Size = New System.Drawing.Size(180, 17)
Me.chkEncryptCompleteFile.TabIndex = 1
@@ -665,7 +694,7 @@ Public Class frmOptions
Me.pnlAutoSave.Controls.Add(Me.lblAutoSave2)
Me.pnlAutoSave.Location = New System.Drawing.Point(3, 107)
Me.pnlAutoSave.Name = "pnlAutoSave"
Me.pnlAutoSave.Size = New System.Drawing.Size(500, 29)
Me.pnlAutoSave.Size = New System.Drawing.Size(596, 29)
Me.pnlAutoSave.TabIndex = 4
'
'lblAutoSave1
@@ -721,7 +750,7 @@ Public Class frmOptions
Me.pnlRdpReconnectionCount.Controls.Add(Me.numRdpReconnectionCount)
Me.pnlRdpReconnectionCount.Location = New System.Drawing.Point(3, 72)
Me.pnlRdpReconnectionCount.Name = "pnlRdpReconnectionCount"
Me.pnlRdpReconnectionCount.Size = New System.Drawing.Size(500, 29)
Me.pnlRdpReconnectionCount.Size = New System.Drawing.Size(596, 29)
Me.pnlRdpReconnectionCount.TabIndex = 3
'
'lblRdpReconnectionCount
@@ -746,7 +775,7 @@ Public Class frmOptions
'chkAlwaysShowPanelSelectionDlg
'
Me.chkAlwaysShowPanelSelectionDlg.AutoSize = True
Me.chkAlwaysShowPanelSelectionDlg.Location = New System.Drawing.Point(3, 118)
Me.chkAlwaysShowPanelSelectionDlg.Location = New System.Drawing.Point(3, 141)
Me.chkAlwaysShowPanelSelectionDlg.Name = "chkAlwaysShowPanelSelectionDlg"
Me.chkAlwaysShowPanelSelectionDlg.Size = New System.Drawing.Size(317, 17)
Me.chkAlwaysShowPanelSelectionDlg.TabIndex = 4
@@ -766,7 +795,7 @@ Public Class frmOptions
'chkDoubleClickClosesTab
'
Me.chkDoubleClickClosesTab.AutoSize = True
Me.chkDoubleClickClosesTab.Location = New System.Drawing.Point(3, 95)
Me.chkDoubleClickClosesTab.Location = New System.Drawing.Point(3, 118)
Me.chkDoubleClickClosesTab.Name = "chkDoubleClickClosesTab"
Me.chkDoubleClickClosesTab.Size = New System.Drawing.Size(159, 17)
Me.chkDoubleClickClosesTab.TabIndex = 3
@@ -797,7 +826,7 @@ Public Class frmOptions
'
Me.chkMCWarnings.AutoSize = True
Me.chkMCWarnings.Enabled = False
Me.chkMCWarnings.Location = New System.Drawing.Point(19, 233)
Me.chkMCWarnings.Location = New System.Drawing.Point(19, 256)
Me.chkMCWarnings.Name = "chkMCWarnings"
Me.chkMCWarnings.Size = New System.Drawing.Size(71, 17)
Me.chkMCWarnings.TabIndex = 8
@@ -808,7 +837,7 @@ Public Class frmOptions
'
Me.chkMCErrors.AutoSize = True
Me.chkMCErrors.Enabled = False
Me.chkMCErrors.Location = New System.Drawing.Point(19, 256)
Me.chkMCErrors.Location = New System.Drawing.Point(19, 279)
Me.chkMCErrors.Name = "chkMCErrors"
Me.chkMCErrors.Size = New System.Drawing.Size(53, 17)
Me.chkMCErrors.TabIndex = 9
@@ -819,7 +848,7 @@ Public Class frmOptions
'
Me.chkMCInformation.AutoSize = True
Me.chkMCInformation.Enabled = False
Me.chkMCInformation.Location = New System.Drawing.Point(19, 210)
Me.chkMCInformation.Location = New System.Drawing.Point(19, 233)
Me.chkMCInformation.Name = "chkMCInformation"
Me.chkMCInformation.Size = New System.Drawing.Size(83, 17)
Me.chkMCInformation.TabIndex = 7
@@ -829,7 +858,7 @@ Public Class frmOptions
'lblSwitchToErrorsAndInfos
'
Me.lblSwitchToErrorsAndInfos.AutoSize = True
Me.lblSwitchToErrorsAndInfos.Location = New System.Drawing.Point(3, 190)
Me.lblSwitchToErrorsAndInfos.Location = New System.Drawing.Point(3, 213)
Me.lblSwitchToErrorsAndInfos.Name = "lblSwitchToErrorsAndInfos"
Me.lblSwitchToErrorsAndInfos.Size = New System.Drawing.Size(159, 13)
Me.lblSwitchToErrorsAndInfos.TabIndex = 6
@@ -838,7 +867,7 @@ Public Class frmOptions
'chkUseOnlyErrorsAndInfosPanel
'
Me.chkUseOnlyErrorsAndInfosPanel.AutoSize = True
Me.chkUseOnlyErrorsAndInfosPanel.Location = New System.Drawing.Point(3, 165)
Me.chkUseOnlyErrorsAndInfosPanel.Location = New System.Drawing.Point(3, 188)
Me.chkUseOnlyErrorsAndInfosPanel.Name = "chkUseOnlyErrorsAndInfosPanel"
Me.chkUseOnlyErrorsAndInfosPanel.Size = New System.Drawing.Size(278, 17)
Me.chkUseOnlyErrorsAndInfosPanel.TabIndex = 5
@@ -916,7 +945,7 @@ Public Class frmOptions
'chkReconnectOnStart
'
Me.chkReconnectOnStart.AutoSize = True
Me.chkReconnectOnStart.Location = New System.Drawing.Point(3, 75)
Me.chkReconnectOnStart.Location = New System.Drawing.Point(3, 27)
Me.chkReconnectOnStart.Name = "chkReconnectOnStart"
Me.chkReconnectOnStart.Size = New System.Drawing.Size(273, 17)
Me.chkReconnectOnStart.TabIndex = 3
@@ -926,27 +955,17 @@ Public Class frmOptions
'chkSingleInstance
'
Me.chkSingleInstance.AutoSize = True
Me.chkSingleInstance.Location = New System.Drawing.Point(3, 99)
Me.chkSingleInstance.Location = New System.Drawing.Point(3, 51)
Me.chkSingleInstance.Name = "chkSingleInstance"
Me.chkSingleInstance.Size = New System.Drawing.Size(366, 17)
Me.chkSingleInstance.TabIndex = 4
Me.chkSingleInstance.Text = "Allow only a single instance of the application (mRemote restart required)"
Me.chkSingleInstance.UseVisualStyleBackColor = True
'
'chkConfirmExit
'
Me.chkConfirmExit.AutoSize = True
Me.chkConfirmExit.Location = New System.Drawing.Point(3, 27)
Me.chkConfirmExit.Name = "chkConfirmExit"
Me.chkConfirmExit.Size = New System.Drawing.Size(221, 17)
Me.chkConfirmExit.TabIndex = 1
Me.chkConfirmExit.Text = "Confirm exit if there are open connections"
Me.chkConfirmExit.UseVisualStyleBackColor = True
'
'chkProperInstallationOfComponentsAtStartup
'
Me.chkProperInstallationOfComponentsAtStartup.AutoSize = True
Me.chkProperInstallationOfComponentsAtStartup.Location = New System.Drawing.Point(3, 123)
Me.chkProperInstallationOfComponentsAtStartup.Location = New System.Drawing.Point(3, 75)
Me.chkProperInstallationOfComponentsAtStartup.Name = "chkProperInstallationOfComponentsAtStartup"
Me.chkProperInstallationOfComponentsAtStartup.Size = New System.Drawing.Size(262, 17)
Me.chkProperInstallationOfComponentsAtStartup.TabIndex = 5
@@ -956,23 +975,13 @@ Public Class frmOptions
'chkSaveConsOnExit
'
Me.chkSaveConsOnExit.AutoSize = True
Me.chkSaveConsOnExit.Location = New System.Drawing.Point(3, 51)
Me.chkSaveConsOnExit.Location = New System.Drawing.Point(3, 3)
Me.chkSaveConsOnExit.Name = "chkSaveConsOnExit"
Me.chkSaveConsOnExit.Size = New System.Drawing.Size(146, 17)
Me.chkSaveConsOnExit.TabIndex = 2
Me.chkSaveConsOnExit.Text = "Save connections on exit"
Me.chkSaveConsOnExit.UseVisualStyleBackColor = True
'
'chkConfirmCloseConnection
'
Me.chkConfirmCloseConnection.AutoSize = True
Me.chkConfirmCloseConnection.Location = New System.Drawing.Point(3, 3)
Me.chkConfirmCloseConnection.Name = "chkConfirmCloseConnection"
Me.chkConfirmCloseConnection.Size = New System.Drawing.Size(176, 17)
Me.chkConfirmCloseConnection.TabIndex = 0
Me.chkConfirmCloseConnection.Text = "Confirm closing connection tabs"
Me.chkConfirmCloseConnection.UseVisualStyleBackColor = True
'
'tcTabControl
'
Me.tcTabControl.Controls.Add(Me.tabStartupExit)
@@ -982,6 +991,7 @@ Public Class frmOptions
Me.tcTabControl.Controls.Add(Me.tabSQLServer)
Me.tcTabControl.Controls.Add(Me.tabUpdates)
Me.tcTabControl.Controls.Add(Me.tabAdvanced)
Me.tcTabControl.Controls.Add(Me.tabTheme)
Me.tcTabControl.Location = New System.Drawing.Point(172, 12)
Me.tcTabControl.Name = "tcTabControl"
Me.tcTabControl.SelectedIndex = 0
@@ -992,12 +1002,10 @@ Public Class frmOptions
'
'tabStartupExit
'
Me.tabStartupExit.Controls.Add(Me.chkConfirmCloseConnection)
Me.tabStartupExit.Controls.Add(Me.chkReconnectOnStart)
Me.tabStartupExit.Controls.Add(Me.chkSaveConsOnExit)
Me.tabStartupExit.Controls.Add(Me.chkSingleInstance)
Me.tabStartupExit.Controls.Add(Me.chkProperInstallationOfComponentsAtStartup)
Me.tabStartupExit.Controls.Add(Me.chkConfirmExit)
Me.tabStartupExit.Location = New System.Drawing.Point(4, 22)
Me.tabStartupExit.Name = "tabStartupExit"
Me.tabStartupExit.Size = New System.Drawing.Size(602, 463)
@@ -1024,6 +1032,7 @@ Public Class frmOptions
'tabTabsAndPanels
'
Me.tabTabsAndPanels.Controls.Add(Me.chkAlwaysShowPanelTabs)
Me.tabTabsAndPanels.Controls.Add(Me.chkIdentifyQuickConnectTabs)
Me.tabTabsAndPanels.Controls.Add(Me.chkUseOnlyErrorsAndInfosPanel)
Me.tabTabsAndPanels.Controls.Add(Me.chkOpenNewTabRightOfSelected)
Me.tabTabsAndPanels.Controls.Add(Me.lblSwitchToErrorsAndInfos)
@@ -1051,6 +1060,16 @@ Public Class frmOptions
Me.chkAlwaysShowPanelTabs.Text = "Always show panel tabs"
Me.chkAlwaysShowPanelTabs.UseVisualStyleBackColor = True
'
'chkIdentifyQuickConnectTabs
'
Me.chkIdentifyQuickConnectTabs.AutoSize = True
Me.chkIdentifyQuickConnectTabs.Location = New System.Drawing.Point(3, 95)
Me.chkIdentifyQuickConnectTabs.Name = "chkIdentifyQuickConnectTabs"
Me.chkIdentifyQuickConnectTabs.Size = New System.Drawing.Size(293, 17)
Me.chkIdentifyQuickConnectTabs.TabIndex = 10
Me.chkIdentifyQuickConnectTabs.Text = Global.mRemoteNG.My.Language.strIdentifyQuickConnectTabs
Me.chkIdentifyQuickConnectTabs.UseVisualStyleBackColor = True
'
'tabConnections
'
Me.tabConnections.Controls.Add(Me.pnlRdpReconnectionCount)
@@ -1059,6 +1078,7 @@ Public Class frmOptions
Me.tabConnections.Controls.Add(Me.pnlDefaultCredentials)
Me.tabConnections.Controls.Add(Me.chkSingleClickOnOpenedConnectionSwitchesToIt)
Me.tabConnections.Controls.Add(Me.pnlAutoSave)
Me.tabConnections.Controls.Add(Me.pnlConfirmCloseConnection)
Me.tabConnections.Location = New System.Drawing.Point(4, 22)
Me.tabConnections.Name = "tabConnections"
Me.tabConnections.Size = New System.Drawing.Size(602, 463)
@@ -1182,6 +1202,71 @@ Public Class frmOptions
Me.lblCredentialsDomain.Text = "Domain:"
Me.lblCredentialsDomain.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'pnlConfirmCloseConnection
'
Me.pnlConfirmCloseConnection.Controls.Add(Me.lblClosingConnections)
Me.pnlConfirmCloseConnection.Controls.Add(Me.radCloseWarnAll)
Me.pnlConfirmCloseConnection.Controls.Add(Me.radCloseWarnMultiple)
Me.pnlConfirmCloseConnection.Controls.Add(Me.radCloseWarnExit)
Me.pnlConfirmCloseConnection.Controls.Add(Me.radCloseWarnNever)
Me.pnlConfirmCloseConnection.Location = New System.Drawing.Point(3, 323)
Me.pnlConfirmCloseConnection.Name = "pnlConfirmCloseConnection"
Me.pnlConfirmCloseConnection.Size = New System.Drawing.Size(596, 137)
Me.pnlConfirmCloseConnection.TabIndex = 10
'
'lblClosingConnections
'
Me.lblClosingConnections.AutoSize = True
Me.lblClosingConnections.Location = New System.Drawing.Point(3, 9)
Me.lblClosingConnections.Name = "lblClosingConnections"
Me.lblClosingConnections.Size = New System.Drawing.Size(136, 13)
Me.lblClosingConnections.TabIndex = 12
Me.lblClosingConnections.Text = "When closing connections:"
'
'radCloseWarnAll
'
Me.radCloseWarnAll.AutoSize = True
Me.radCloseWarnAll.Location = New System.Drawing.Point(16, 31)
Me.radCloseWarnAll.Name = "radCloseWarnAll"
Me.radCloseWarnAll.Size = New System.Drawing.Size(194, 17)
Me.radCloseWarnAll.TabIndex = 11
Me.radCloseWarnAll.TabStop = True
Me.radCloseWarnAll.Text = "Warn me when closing connections"
Me.radCloseWarnAll.UseVisualStyleBackColor = True
'
'radCloseWarnMultiple
'
Me.radCloseWarnMultiple.AutoSize = True
Me.radCloseWarnMultiple.Location = New System.Drawing.Point(16, 54)
Me.radCloseWarnMultiple.Name = "radCloseWarnMultiple"
Me.radCloseWarnMultiple.Size = New System.Drawing.Size(254, 17)
Me.radCloseWarnMultiple.TabIndex = 10
Me.radCloseWarnMultiple.TabStop = True
Me.radCloseWarnMultiple.Text = "Warn me only when closing multiple connections"
Me.radCloseWarnMultiple.UseVisualStyleBackColor = True
'
'radCloseWarnExit
'
Me.radCloseWarnExit.AutoSize = True
Me.radCloseWarnExit.Location = New System.Drawing.Point(16, 77)
Me.radCloseWarnExit.Name = "radCloseWarnExit"
Me.radCloseWarnExit.Size = New System.Drawing.Size(216, 17)
Me.radCloseWarnExit.TabIndex = 9
Me.radCloseWarnExit.TabStop = True
Me.radCloseWarnExit.Text = "Warn me only when exiting mRemoteNG"
Me.radCloseWarnExit.UseVisualStyleBackColor = True
'
'radCloseWarnNever
'
Me.radCloseWarnNever.AutoSize = True
Me.radCloseWarnNever.Location = New System.Drawing.Point(16, 100)
Me.radCloseWarnNever.Name = "radCloseWarnNever"
Me.radCloseWarnNever.Size = New System.Drawing.Size(226, 17)
Me.radCloseWarnNever.TabIndex = 8
Me.radCloseWarnNever.TabStop = True
Me.radCloseWarnNever.Text = "Do not warn me when closing connections"
Me.radCloseWarnNever.UseVisualStyleBackColor = True
'
'tabSQLServer
'
Me.tabSQLServer.Controls.Add(Me.lblSQLDatabaseName)
@@ -1355,6 +1440,56 @@ Public Class frmOptions
Me.tabAdvanced.Text = "Advanced"
Me.tabAdvanced.UseVisualStyleBackColor = True
'
'tabTheme
'
Me.tabTheme.Controls.Add(Me.btnThemeDelete)
Me.tabTheme.Controls.Add(Me.btnThemeNew)
Me.tabTheme.Controls.Add(Me.cboTheme)
Me.tabTheme.Controls.Add(Me.ThemePropertyGrid)
Me.tabTheme.Location = New System.Drawing.Point(4, 22)
Me.tabTheme.Name = "tabTheme"
Me.tabTheme.Padding = New System.Windows.Forms.Padding(3)
Me.tabTheme.Size = New System.Drawing.Size(602, 463)
Me.tabTheme.TabIndex = 7
Me.tabTheme.Text = "Theme"
Me.tabTheme.UseVisualStyleBackColor = True
'
'btnThemeDelete
'
Me.btnThemeDelete.Location = New System.Drawing.Point(524, 5)
Me.btnThemeDelete.Name = "btnThemeDelete"
Me.btnThemeDelete.Size = New System.Drawing.Size(75, 23)
Me.btnThemeDelete.TabIndex = 2
Me.btnThemeDelete.Text = "&Delete"
Me.btnThemeDelete.UseVisualStyleBackColor = True
'
'btnThemeNew
'
Me.btnThemeNew.Location = New System.Drawing.Point(443, 5)
Me.btnThemeNew.Name = "btnThemeNew"
Me.btnThemeNew.Size = New System.Drawing.Size(75, 23)
Me.btnThemeNew.TabIndex = 1
Me.btnThemeNew.Text = "&New"
Me.btnThemeNew.UseVisualStyleBackColor = True
'
'cboTheme
'
Me.cboTheme.FormattingEnabled = True
Me.cboTheme.Location = New System.Drawing.Point(3, 7)
Me.cboTheme.Name = "cboTheme"
Me.cboTheme.Size = New System.Drawing.Size(434, 21)
Me.cboTheme.TabIndex = 0
'
'ThemePropertyGrid
'
Me.ThemePropertyGrid.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.ThemePropertyGrid.Location = New System.Drawing.Point(3, 34)
Me.ThemePropertyGrid.Name = "ThemePropertyGrid"
Me.ThemePropertyGrid.Size = New System.Drawing.Size(596, 426)
Me.ThemePropertyGrid.TabIndex = 3
'
'frmOptions
'
Me.CancelButton = Me.btnCancel
@@ -1399,11 +1534,14 @@ Public Class frmOptions
Me.tabConnections.PerformLayout()
Me.pnlDefaultCredentials.ResumeLayout(False)
Me.pnlDefaultCredentials.PerformLayout()
Me.pnlConfirmCloseConnection.ResumeLayout(False)
Me.pnlConfirmCloseConnection.PerformLayout()
Me.tabSQLServer.ResumeLayout(False)
Me.tabSQLServer.PerformLayout()
Me.tabUpdates.ResumeLayout(False)
Me.tabAdvanced.ResumeLayout(False)
Me.tabAdvanced.PerformLayout()
Me.tabTheme.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
@@ -1413,8 +1551,16 @@ Public Class frmOptions
Private Sub LoadOptions()
Try
Me.chkSaveConsOnExit.Checked = My.Settings.SaveConsOnExit
Me.chkConfirmCloseConnection.Checked = My.Settings.ConfirmCloseConnection
Me.chkConfirmExit.Checked = My.Settings.ConfirmExit
Select Case Settings.ConfirmCloseConnection
Case Config.ConfirmClose.Never
radCloseWarnNever.Checked = True
Case Config.ConfirmClose.Exit
radCloseWarnExit.Checked = True
Case Config.ConfirmClose.Multiple
radCloseWarnMultiple.Checked = True
Case Else
radCloseWarnAll.Checked = True
End Select
Me.chkReconnectOnStart.Checked = My.Settings.OpenConsFromLastSession
Me.chkProperInstallationOfComponentsAtStartup.Checked = My.Settings.StartupComponentsCheck
@@ -1439,6 +1585,7 @@ Public Class frmOptions
Me.chkOpenNewTabRightOfSelected.Checked = My.Settings.OpenTabsRightOfSelected
Me.chkShowLogonInfoOnTabs.Checked = My.Settings.ShowLogonInfoOnTabs
Me.chkShowProtocolOnTabs.Checked = My.Settings.ShowProtocolOnTabs
chkIdentifyQuickConnectTabs.Checked = Settings.IdentifyQuickConnectTabs
Me.chkShowFullConnectionsFilePathInTitle.Checked = My.Settings.ShowCompleteConsPathInTitle
Me.chkDoubleClickClosesTab.Checked = My.Settings.DoubleClickOnTabClosesIt
Me.chkAlwaysShowPanelSelectionDlg.Checked = My.Settings.AlwaysShowPanelSelectionDlg
@@ -1519,6 +1666,15 @@ Public Class frmOptions
Me.numUVNCSCPort.Value = My.Settings.UVNCSCPort
Me.txtXULrunnerPath.Text = My.Settings.XULRunnerPath
_themeList = New BindingList(Of ThemeInfo)(ThemeManager.LoadThemes())
cboTheme.DataSource = _themeList
cboTheme.SelectedItem = ThemeManager.ActiveTheme
cboTheme_SelectionChangeCommitted(Me, New EventArgs())
ThemePropertyGrid.PropertySort = PropertySort.Categorized
_originalTheme = ThemeManager.ActiveTheme
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "LoadOptions (UI.Window.Options) failed" & vbNewLine & ex.Message, True)
End Try
@@ -1527,8 +1683,10 @@ Public Class frmOptions
Private Sub SaveOptions()
Try
My.Settings.SaveConsOnExit = Me.chkSaveConsOnExit.Checked
My.Settings.ConfirmCloseConnection = Me.chkConfirmCloseConnection.Checked
My.Settings.ConfirmExit = Me.chkConfirmExit.Checked
If radCloseWarnAll.Checked Then Settings.ConfirmCloseConnection = Config.ConfirmClose.All
If radCloseWarnMultiple.Checked Then Settings.ConfirmCloseConnection = Config.ConfirmClose.Multiple
If radCloseWarnExit.Checked Then Settings.ConfirmCloseConnection = Config.ConfirmClose.Exit
If radCloseWarnNever.Checked Then Settings.ConfirmCloseConnection = Config.ConfirmClose.Never
My.Settings.OpenConsFromLastSession = Me.chkReconnectOnStart.Checked
My.Settings.StartupComponentsCheck = Me.chkProperInstallationOfComponentsAtStartup.Checked
@@ -1561,6 +1719,7 @@ Public Class frmOptions
My.Settings.OpenTabsRightOfSelected = Me.chkOpenNewTabRightOfSelected.Checked
My.Settings.ShowLogonInfoOnTabs = Me.chkShowLogonInfoOnTabs.Checked
My.Settings.ShowProtocolOnTabs = Me.chkShowProtocolOnTabs.Checked
Settings.IdentifyQuickConnectTabs = chkIdentifyQuickConnectTabs.Checked
My.Settings.DoubleClickOnTabClosesIt = Me.chkDoubleClickClosesTab.Checked
My.Settings.AlwaysShowPanelSelectionDlg = Me.chkAlwaysShowPanelSelectionDlg.Checked
@@ -1642,6 +1801,8 @@ Public Class frmOptions
My.Settings.XULRunnerPath = Me.txtXULrunnerPath.Text
ThemeManager.SaveThemes(_themeList)
Settings.ThemeName = ThemeManager.ActiveTheme.Name
If My.Settings.LoadConsFromCustomLocation = False Then
App.Runtime.SetMainFormText(App.Info.Connections.DefaultConnectionsPath & "\" & App.Info.Connections.DefaultConnectionsFile)
@@ -1663,6 +1824,8 @@ Public Class frmOptions
#Region "Private Variables"
Private _initialTab As Integer = 0
Private _themeList As BindingList(Of ThemeInfo)
Private _originalTheme As ThemeInfo
#End Region
#Region "Public Methods"
@@ -1702,6 +1865,7 @@ Public Class frmOptions
lvPages.Items(4).Text = My.Language.strSQLServer
lvPages.Items(5).Text = My.Language.strTabUpdates
lvPages.Items(6).Text = My.Language.strTabAdvanced
lvPages.Items(7).Text = Language.strOptionsTabTheme
#If Not PORTABLE Then
lblUpdatesExplanation.Text = My.Language.strUpdateCheck
#Else
@@ -1726,8 +1890,6 @@ Public Class frmOptions
chkSingleInstance.Text = My.Language.strAllowOnlySingleInstance
chkReconnectOnStart.Text = My.Language.strReconnectAtStartup
chkCheckForUpdatesOnStartup.Text = My.Language.strCheckForUpdatesOnStartup
chkConfirmCloseConnection.Text = My.Language.strConfirmCloseConnection
chkConfirmExit.Text = My.Language.strConfirmExit
chkSaveConsOnExit.Text = My.Language.strSaveConsOnExit
chkMinimizeToSystemTray.Text = My.Language.strMinimizeToSysTray
chkShowFullConnectionsFilePathInTitle.Text = My.Language.strShowFullConsFilePath
@@ -1735,6 +1897,7 @@ Public Class frmOptions
chkAlwaysShowPanelTabs.Text = My.Language.strAlwaysShowPanelTabs
chkShowDescriptionTooltipsInTree.Text = My.Language.strShowDescriptionTooltips
chkShowProtocolOnTabs.Text = My.Language.strShowProtocolOnTabs
chkIdentifyQuickConnectTabs.Text = Language.strIdentifyQuickConnectTabs
chkShowLogonInfoOnTabs.Text = My.Language.strShowLogonInfoOnTabs
chkOpenNewTabRightOfSelected.Text = My.Language.strOpenNewTabRight
chkAlwaysShowPanelSelectionDlg.Text = My.Language.strAlwaysShowPanelSelection
@@ -1757,6 +1920,11 @@ Public Class frmOptions
radCredentialsWindows.Text = My.Language.strMyCurrentWindowsCreds
radCredentialsNoInfo.Text = My.Language.strNoInformation
lblDefaultCredentials.Text = My.Language.strEmptyUsernamePasswordDomainFields
lblClosingConnections.Text = Language.strLabelClosingConnections
radCloseWarnAll.Text = Language.strRadioCloseWarnAll
radCloseWarnMultiple.Text = Language.strRadioCloseWarnMultiple
radCloseWarnExit.Text = Language.strRadioCloseWarnExit
radCloseWarnNever.Text = Language.strRadioCloseWarnNever
chkSingleClickOnOpenedConnectionSwitchesToIt.Text = My.Language.strSingleClickOnOpenConnectionSwitchesToIt
chkSingleClickOnConnectionOpensIt.Text = My.Language.strSingleClickOnConnectionOpensIt
lblSwitchToErrorsAndInfos.Text = My.Language.strSwitchToErrorsAndInfos
@@ -1775,6 +1943,8 @@ Public Class frmOptions
chkEncryptCompleteFile.Text = My.Language.strEncryptCompleteConnectionFile
lblLanguage.Text = My.Language.strLanguage
lblLanguageRestartRequired.Text = String.Format(My.Language.strLanguageRestartRequired, My.Application.Info.ProductName)
btnThemeDelete.Text = Language.strOptionsThemeButtonDelete
btnThemeNew.Text = Language.strOptionsThemeButtonNew
End Sub
Public Shadows Sub Show(ByVal dockPanel As DockPanel, Optional ByVal initialTab As Integer = 0)
@@ -1784,8 +1954,9 @@ Public Class frmOptions
MyBase.ShowDialog(frmMain)
End Sub
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
Me.Close()
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles btnCancel.Click
ThemeManager.ActiveTheme = _originalTheme
Close()
End Sub
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
@@ -1911,5 +2082,50 @@ Public Class frmOptions
End If
End If
End Sub
Private Sub cboTheme_DropDown(ByVal sender As Object, ByVal e As EventArgs) Handles cboTheme.DropDown, cboTheme.LostFocus
If ThemeManager.ActiveTheme Is ThemeManager.DefaultTheme Then Return
ThemeManager.ActiveTheme.Name = cboTheme.Text
End Sub
Private Sub cboTheme_SelectionChangeCommitted(ByVal sender As Object, ByVal e As EventArgs) Handles cboTheme.SelectionChangeCommitted ', cboTheme.SelectedIndexChanged, cboTheme.SelectedValueChanged
If cboTheme.SelectedItem Is Nothing Then cboTheme.SelectedItem = ThemeManager.DefaultTheme
If cboTheme.SelectedItem Is ThemeManager.DefaultTheme Then
cboTheme.DropDownStyle = ComboBoxStyle.DropDownList
btnThemeDelete.Enabled = False
ThemePropertyGrid.Enabled = False
Else
cboTheme.DropDownStyle = ComboBoxStyle.DropDown
btnThemeDelete.Enabled = True
ThemePropertyGrid.Enabled = True
End If
ThemeManager.ActiveTheme = cboTheme.SelectedItem
ThemePropertyGrid.SelectedObject = ThemeManager.ActiveTheme
ThemePropertyGrid.Refresh()
End Sub
Private Sub btnThemeNew_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnThemeNew.Click
Dim newTheme As ThemeInfo = ThemeManager.ActiveTheme.Clone()
newTheme.Name = Language.strUnnamedTheme
_themeList.Add(newTheme)
cboTheme.SelectedItem = newTheme
cboTheme_SelectionChangeCommitted(Me, New EventArgs())
cboTheme.Focus()
End Sub
Private Sub btnThemeDelete_Click(sender As System.Object, e As EventArgs) Handles btnThemeDelete.Click
Dim theme As ThemeInfo = cboTheme.SelectedItem
If theme Is Nothing Then Return
_themeList.Remove(theme)
cboTheme.SelectedItem = ThemeManager.DefaultTheme
cboTheme_SelectionChangeCommitted(Me, New EventArgs())
End Sub
#End Region
End Class

BIN
mRemoteV1/Icons/PuTTY.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

View File

@@ -5,6 +5,7 @@ Namespace Images
Container = 1
ConnectionOpen = 2
ConnectionClosed = 3
PuttySessions = 4
End Enum
Public Enum ErrorImage

View File

@@ -999,15 +999,6 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Confirm closing connection tabs.
'''</summary>
Friend Shared ReadOnly Property strConfirmCloseConnection() As String
Get
Return ResourceManager.GetString("strConfirmCloseConnection", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Do you want to close the connection, &quot;{0}&quot;?.
'''</summary>
@@ -1071,15 +1062,6 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Confirm exit if there are open connections.
'''</summary>
Friend Shared ReadOnly Property strConfirmExit() As String
Get
Return ResourceManager.GetString("strConfirmExit", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Do you want to close all open connections?.
'''</summary>
@@ -1344,6 +1326,15 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Default Theme.
'''</summary>
Friend Shared ReadOnly Property strDefaultTheme() As String
Get
Return ResourceManager.GetString("strDefaultTheme", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Detect.
'''</summary>
@@ -1844,7 +1835,7 @@ Namespace My
End Property
'''<summary>
''' Looks up a localized string similar to Changeing HTTP Document Tile Failed!.
''' Looks up a localized string similar to Changing HTTP Document Tile Failed!.
'''</summary>
Friend Shared ReadOnly Property strHttpDocumentTileChangeFailed() As String
Get
@@ -1951,6 +1942,15 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Identify quick connect tabs by adding the prefix &quot;Quick:&quot;.
'''</summary>
Friend Shared ReadOnly Property strIdentifyQuickConnectTabs() As String
Get
Return ResourceManager.GetString("strIdentifyQuickConnectTabs", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Import from Active Directory.
'''</summary>
@@ -2149,6 +2149,15 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to When closing connections:.
'''</summary>
Friend Shared ReadOnly Property strLabelClosingConnections() As String
Get
Return ResourceManager.GetString("strLabelClosingConnections", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to &amp;Connect:.
'''</summary>
@@ -2752,6 +2761,33 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Copy All.
'''</summary>
Friend Shared ReadOnly Property strMenuNotificationsCopyAll() As String
Get
Return ResourceManager.GetString("strMenuNotificationsCopyAll", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Delete.
'''</summary>
Friend Shared ReadOnly Property strMenuNotificationsDelete() As String
Get
Return ResourceManager.GetString("strMenuNotificationsDelete", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Delete All.
'''</summary>
Friend Shared ReadOnly Property strMenuNotificationsDeleteAll() As String
Get
Return ResourceManager.GetString("strMenuNotificationsDeleteAll", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Open Connection File....
'''</summary>
@@ -2932,6 +2968,15 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to &amp;Show Help Text.
'''</summary>
Friend Shared ReadOnly Property strMenuShowHelpText() As String
Get
Return ResourceManager.GetString("strMenuShowHelpText", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Show Text.
'''</summary>
@@ -3212,6 +3257,33 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Theme.
'''</summary>
Friend Shared ReadOnly Property strOptionsTabTheme() As String
Get
Return ResourceManager.GetString("strOptionsTabTheme", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to &amp;Delete.
'''</summary>
Friend Shared ReadOnly Property strOptionsThemeButtonDelete() As String
Get
Return ResourceManager.GetString("strOptionsThemeButtonDelete", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to &amp;New.
'''</summary>
Friend Shared ReadOnly Property strOptionsThemeButtonNew() As String
Get
Return ResourceManager.GetString("strOptionsThemeButtonNew", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Panel Name.
'''</summary>
@@ -4286,6 +4358,15 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to PuTTY Saved Sessions.
'''</summary>
Friend Shared ReadOnly Property strPuttySavedSessionsRootName() As String
Get
Return ResourceManager.GetString("strPuttySavedSessionsRootName", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to PuTTY Settings.
'''</summary>
@@ -4376,6 +4457,42 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to &amp;Warn me when closing connections.
'''</summary>
Friend Shared ReadOnly Property strRadioCloseWarnAll() As String
Get
Return ResourceManager.GetString("strRadioCloseWarnAll", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Warn me only when e&amp;xiting mRemoteNG.
'''</summary>
Friend Shared ReadOnly Property strRadioCloseWarnExit() As String
Get
Return ResourceManager.GetString("strRadioCloseWarnExit", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Warn me only when closing &amp;multiple connections.
'''</summary>
Friend Shared ReadOnly Property strRadioCloseWarnMultiple() As String
Get
Return ResourceManager.GetString("strRadioCloseWarnMultiple", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Do &amp;not warn me when closing connections.
'''</summary>
Friend Shared ReadOnly Property strRadioCloseWarnNever() As String
Get
Return ResourceManager.GetString("strRadioCloseWarnNever", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to RAW.
'''</summary>
@@ -5024,6 +5141,15 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Search.
'''</summary>
Friend Shared ReadOnly Property strSearchPrompt() As String
Get
Return ResourceManager.GetString("strSearchPrompt", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Send To....
'''</summary>
@@ -5384,6 +5510,339 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Config Panel.
'''</summary>
Friend Shared ReadOnly Property strThemeCategoryConfigPanel() As String
Get
Return ResourceManager.GetString("strThemeCategoryConfigPanel", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Connections Panel.
'''</summary>
Friend Shared ReadOnly Property strThemeCategoryConnectionsPanel() As String
Get
Return ResourceManager.GetString("strThemeCategoryConnectionsPanel", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to General.
'''</summary>
Friend Shared ReadOnly Property strThemeCategoryGeneral() As String
Get
Return ResourceManager.GetString("strThemeCategoryGeneral", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The background colour of the config panel..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionConfigPanelBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionConfigPanelBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The colour of the category text in the config panel..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionConfigPanelCategoryTextColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionConfigPanelCategoryTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The colour of the grid lines in the config panel.
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionConfigPanelGridLineColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionConfigPanelGridLineColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The background colour of the help area of the config panel..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionConfigPanelHelpBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionConfigPanelHelpBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The colour of the text in the help area of the config panel..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionConfigPanelHelpTextColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionConfigPanelHelpTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The colour of the text in the config panel..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionConfigPanelTextColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionConfigPanelTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The background colour of the connections panel..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionConnectionsPanelBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionConnectionsPanelBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The colour of the text in the connections panel..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionConnectionsPanelTextColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionConnectionsPanelTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The colour of the tree lines in the connections panel..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionConnectionsPanelTreeLineColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionConnectionsPanelTreeLineColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The background colour of the menus..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionMenuBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionMenuBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The colour of the text in the menus..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionMenuTextColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionMenuTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The background colour of the search box..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionSearchBoxBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionSearchBoxBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The colour of the text in the search box..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionSearchBoxTextColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionSearchBoxTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The colour of the prompt text in the search box..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionSearchBoxTextPromptColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionSearchBoxTextPromptColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The background colour of the toolbars..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionToolbarBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionToolbarBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The colour of the text in the toolbars..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionToolbarTextColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionToolbarTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to The background colour of the main window..
'''</summary>
Friend Shared ReadOnly Property strThemeDescriptionWindowBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeDescriptionWindowBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Config Panel Background Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameConfigPanelBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeNameConfigPanelBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Config Panel Category Text Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameConfigPanelCategoryTextColor() As String
Get
Return ResourceManager.GetString("strThemeNameConfigPanelCategoryTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Config Panel Grid Line Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameConfigPanelGridLineColor() As String
Get
Return ResourceManager.GetString("strThemeNameConfigPanelGridLineColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Config Panel Help Background Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameConfigPanelHelpBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeNameConfigPanelHelpBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Config Panel Help Text Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameConfigPanelHelpTextColor() As String
Get
Return ResourceManager.GetString("strThemeNameConfigPanelHelpTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Config Panel Text Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameConfigPanelTextColor() As String
Get
Return ResourceManager.GetString("strThemeNameConfigPanelTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Connections Panel Background Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameConnectionsPanelBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeNameConnectionsPanelBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Connections Panel Text Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameConnectionsPanelTextColor() As String
Get
Return ResourceManager.GetString("strThemeNameConnectionsPanelTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Connections Panel Tree Line Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameConnectionsPanelTreeLineColor() As String
Get
Return ResourceManager.GetString("strThemeNameConnectionsPanelTreeLineColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Menu Background Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameMenuBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeNameMenuBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Menu Text Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameMenuTextColor() As String
Get
Return ResourceManager.GetString("strThemeNameMenuTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Search Box Background Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameSearchBoxBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeNameSearchBoxBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Search Box Text Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameSearchBoxTextColor() As String
Get
Return ResourceManager.GetString("strThemeNameSearchBoxTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Search Box Text Prompt Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameSearchBoxTextPromptColor() As String
Get
Return ResourceManager.GetString("strThemeNameSearchBoxTextPromptColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Toolbar Background Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameToolbarBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeNameToolbarBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Toolbar Text Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameToolbarTextColor() As String
Get
Return ResourceManager.GetString("strThemeNameToolbarTextColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Window Background Colour.
'''</summary>
Friend Shared ReadOnly Property strThemeNameWindowBackgroundColor() As String
Get
Return ResourceManager.GetString("strThemeNameWindowBackgroundColor", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Error ({0}).
'''</summary>
@@ -5492,6 +5951,15 @@ Namespace My
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Unnamed Theme.
'''</summary>
Friend Shared ReadOnly Property strUnnamedTheme() As String
Get
Return ResourceManager.GetString("strUnnamedTheme", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to mRemoteNG requires an update.
'''</summary>

View File

@@ -438,9 +438,6 @@ VncSharpNG Control Version {0}</value>
<data name="strConfigUiLoadFailed" xml:space="preserve">
<value>Konfigurationsfenster laden fehlgeschlagen!</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>Bestätigen Sie das schließen der Verbindungstabs</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Möchten Sie die Verbindung "{0}" schließen?</value>
</data>
@@ -462,9 +459,6 @@ VncSharpNG Control Version {0}</value>
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
<value>Sind Sie sicher dass Sie den Ordner "{0}" entfernen möchten? Jeder Ordner und jede Verbindung in diesem Ordner werden ebenfalls gelöscht.</value>
</data>
<data name="strConfirmExit" xml:space="preserve">
<value>Schließen bestätigen wenn Verbindungen bestehen</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>Möchten Sie alle offenen Verbindungen schließen?</value>
</data>
@@ -595,19 +589,19 @@ Starte mit neuer Datei.</value>
<value>Letzte IP</value>
</data>
<data name="strEndPort" xml:space="preserve">
<value>letzte Port</value>
<value>Letzter Port</value>
</data>
<data name="strErrorAddExternalToolsToToolBarFailed" xml:space="preserve">
<value>AddExternalToolsToToolBar (FrmMain) ist fehlgeschlagen. {0}</value>
</data>
<data name="strErrorAddFolderFailed" xml:space="preserve">
<value>AddFolder (UI.Window.Tree) fehlgeschlagen. {0}</value>
<value>AddFolder (UI.Window.Tree) ist fehlgeschlagen. {0}</value>
</data>
<data name="strErrorBadDatabaseVersion" xml:space="preserve">
<value>Die Datenbankversion {0} ist nicht kompatibel mit dieser Version von {1}.</value>
</data>
<data name="strErrorCloneNodeFailed" xml:space="preserve">
<value>CloneNode (Tree.Node) fehlgeschlagen. {0}</value>
<value>CloneNode (Tree.Node) ist fehlgeschlagen. {0}</value>
</data>
<data name="strErrorCode" xml:space="preserve">
<value>Fehler Nummer {0}.</value>
@@ -711,9 +705,6 @@ Starte mit neuer Datei.</value>
<data name="strHttpConnectionFailed" xml:space="preserve">
<value>Erstellen der HTTP Verbindung fehlgeschlagen!</value>
</data>
<data name="strHttpDocumentTileChangeFailed" xml:space="preserve">
<value>Ändern des Webseiten Titels fehlgeschlagen!</value>
</data>
<data name="strHttpSetPropsFailed" xml:space="preserve">
<value>Setzen der HTTP Parameter fehlgeschlagen!</value>
</data>

View File

@@ -138,4 +138,106 @@
<data name="strRDP65536Colors" xml:space="preserve">
<value>65536 Colors (16-bit)</value>
</data>
<data name="strThemeDescriptionConfigPanelBackgroundColor" xml:space="preserve">
<value>The background color of the config panel.</value>
</data>
<data name="strThemeDescriptionConfigPanelCategoryTextColor" xml:space="preserve">
<value>The color of the category text in the config panel.</value>
</data>
<data name="strThemeDescriptionConfigPanelGridLineColor" xml:space="preserve">
<value>The color of the grid lines in the config panel</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>The background color of the help area of the config panel.</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpTextColor" xml:space="preserve">
<value>The color of the text in the help area of the config panel.</value>
</data>
<data name="strThemeDescriptionConfigPanelTextColor" xml:space="preserve">
<value>The color of the text in the config panel.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelBackgroundColor" xml:space="preserve">
<value>The background color of the connections panel.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTextColor" xml:space="preserve">
<value>The color of the text in the connections panel.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTreeLineColor" xml:space="preserve">
<value>The color of the tree lines in the connections panel.</value>
</data>
<data name="strThemeDescriptionMenuBackgroundColor" xml:space="preserve">
<value>The background color of the menus.</value>
</data>
<data name="strThemeDescriptionMenuTextColor" xml:space="preserve">
<value>The color of the text in the menus.</value>
</data>
<data name="strThemeDescriptionSearchBoxBackgroundColor" xml:space="preserve">
<value>The background color of the search box.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextColor" xml:space="preserve">
<value>The color of the text in the search box.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextPromptColor" xml:space="preserve">
<value>The color of the prompt text in the search box.</value>
</data>
<data name="strThemeDescriptionToolbarBackgroundColor" xml:space="preserve">
<value>The background color of the toolbars.</value>
</data>
<data name="strThemeDescriptionToolbarTextColor" xml:space="preserve">
<value>The color of the text in the toolbars.</value>
</data>
<data name="strThemeDescriptionWindowBackgroundColor" xml:space="preserve">
<value>The background color of the main window.</value>
</data>
<data name="strThemeNameConfigPanelBackgroundColor" xml:space="preserve">
<value>Config Panel Background Color</value>
</data>
<data name="strThemeNameConfigPanelCategoryTextColor" xml:space="preserve">
<value>Config Panel Category Text Color</value>
</data>
<data name="strThemeNameConfigPanelGridLineColor" xml:space="preserve">
<value>Config Panel Grid Line Color</value>
</data>
<data name="strThemeNameConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>Config Panel Help Background Color</value>
</data>
<data name="strThemeNameConfigPanelHelpTextColor" xml:space="preserve">
<value>Config Panel Help Text Color</value>
</data>
<data name="strThemeNameConfigPanelTextColor" xml:space="preserve">
<value>Config Panel Text Color</value>
</data>
<data name="strThemeNameConnectionsPanelBackgroundColor" xml:space="preserve">
<value>Connections Panel Background Color</value>
</data>
<data name="strThemeNameConnectionsPanelTextColor" xml:space="preserve">
<value>Connections Panel Text Color</value>
</data>
<data name="strThemeNameConnectionsPanelTreeLineColor" xml:space="preserve">
<value>Connections Panel Tree Line Color</value>
</data>
<data name="strThemeNameMenuBackgroundColor" xml:space="preserve">
<value>Menu Background Color</value>
</data>
<data name="strThemeNameMenuTextColor" xml:space="preserve">
<value>Menu Text Color</value>
</data>
<data name="strThemeNameSearchBoxBackgroundColor" xml:space="preserve">
<value>Search Box Background Color</value>
</data>
<data name="strThemeNameSearchBoxTextColor" xml:space="preserve">
<value>Search Box Text Color</value>
</data>
<data name="strThemeNameSearchBoxTextPromptColor" xml:space="preserve">
<value>Search Box Text Prompt Color</value>
</data>
<data name="strThemeNameToolbarBackgroundColor" xml:space="preserve">
<value>Toolbar Background Color</value>
</data>
<data name="strThemeNameToolbarTextColor" xml:space="preserve">
<value>Toolbar Text Color</value>
</data>
<data name="strThemeNameWindowBackgroundColor" xml:space="preserve">
<value>Window Background Color</value>
</data>
</root>

View File

@@ -244,9 +244,6 @@ VncSharpNG Control {0}</value>
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
<value>¿Está seguro que desea eliminar la carpeta "{0}"? También se eliminará cualquier carpetas o conexiones que contiene.</value>
</data>
<data name="strConfirmExit" xml:space="preserve">
<value>Confirmar salida si hay conexiones abiertas</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>¿Desea cerrar todas las conexiones abiertas?</value>
</data>

View File

@@ -150,6 +150,9 @@
<data name="strAlwaysShowPanelSelection" xml:space="preserve">
<value>Mostrar siempre el diálogo de selección de panel cuando se abran conexiones</value>
</data>
<data name="strAlwaysShowPanelTabs" xml:space="preserve">
<value>Mostrar las pestañas del panel siempre</value>
</data>
<data name="strAlwaysShowSysTrayIcon" xml:space="preserve">
<value>Mostrar siempre el Icono de la Bandeja del Sistema</value>
</data>
@@ -422,9 +425,6 @@ Versión de Control {0} de VNCSharpNG</value>
<data name="strConfigUiLoadFailed" xml:space="preserve">
<value>Error al Cargar la Interfaz de Configuración de Usuario</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>Confirme el cierre de las pestañas de conexiones</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Desea cerrar la conexión, "{0}"?</value>
</data>
@@ -446,9 +446,6 @@ Versión de Control {0} de VNCSharpNG</value>
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
<value>¿Está seguro de querer eliminar la carpeta, "{0}"? Cualquier carpeta o conexión que contenga será también eliminada.</value>
</data>
<data name="strConfirmExit" xml:space="preserve">
<value>Confirmar al salir si hay conexiones abiertas</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>¿Quiere cerrar todas las conexiones abiertas?</value>
</data>
@@ -533,6 +530,9 @@ Arrancando con un nuevo archivo de conexiones.</value>
<data name="strCurrentVersion" xml:space="preserve">
<value>Versión Instalada</value>
</data>
<data name="strDefaultTheme" xml:space="preserve">
<value>Tema por defecto</value>
</data>
<data name="strDetect" xml:space="preserve">
<value>Detectar</value>
</data>
@@ -687,9 +687,6 @@ Ver el articulo de soporte de Microsoft en http://support.microsoft.com/kb/81183
<data name="strHttpConnectionFailed" xml:space="preserve">
<value>¡No se pudo crear una nueva conexión HTTP!</value>
</data>
<data name="strHttpDocumentTileChangeFailed" xml:space="preserve">
<value>¡Fallo en el cambio de HTTP Document Tile!</value>
</data>
<data name="strHttpSetPropsFailed" xml:space="preserve">
<value>¡Asignación de Propiedades HTTP fallida!</value>
</data>
@@ -762,6 +759,9 @@ Ver el articulo de soporte de Microsoft en http://support.microsoft.com/kb/81183
<data name="strLabelChangeLog" xml:space="preserve">
<value>Registro de cambios:</value>
</data>
<data name="strLabelClosingConnections" xml:space="preserve">
<value>Al cerrar las conexiones:</value>
</data>
<data name="strLabelConnect" xml:space="preserve">
<value>&amp;Conectar:</value>
</data>
@@ -960,6 +960,15 @@ Ver el articulo de soporte de Microsoft en http://support.microsoft.com/kb/81183
<data name="strMenuNotifications" xml:space="preserve">
<value>Notificaciones</value>
</data>
<data name="strMenuNotificationsCopyAll" xml:space="preserve">
<value>Copiar todo</value>
</data>
<data name="strMenuNotificationsDelete" xml:space="preserve">
<value>Eliminar</value>
</data>
<data name="strMenuNotificationsDeleteAll" xml:space="preserve">
<value>Eliminar todo</value>
</data>
<data name="strMenuOpenConnectionFile" xml:space="preserve">
<value>Abrir Archivo de Conexión...</value>
</data>
@@ -1111,6 +1120,15 @@ Ver el articulo de soporte de Microsoft en http://support.microsoft.com/kb/81183
<data name="strOpenPorts" xml:space="preserve">
<value>Puertos Abiertos</value>
</data>
<data name="strOptionsTabTheme" xml:space="preserve">
<value>Tema</value>
</data>
<data name="strOptionsThemeButtonDelete" xml:space="preserve">
<value>&amp;Eliminar</value>
</data>
<data name="strOptionsThemeButtonNew" xml:space="preserve">
<value>&amp;Nuevo</value>
</data>
<data name="strPanelName" xml:space="preserve">
<value>Nombre del Panel</value>
</data>
@@ -1399,6 +1417,9 @@ Ver el articulo de soporte de Microsoft en http://support.microsoft.com/kb/81183
<data name="strPropertyNameUseConsoleSession" xml:space="preserve">
<value>Usar Sesión de Consola</value>
</data>
<data name="strPropertyNameUseCredSsp" xml:space="preserve">
<value>Usar CredSSP</value>
</data>
<data name="strPropertyNameUser1" xml:space="preserve">
<value>Campo de Usuario</value>
</data>
@@ -1473,6 +1494,9 @@ Mensaje:
<data name="strQuickConnectHistoryExistsFailed" xml:space="preserve">
<value>¡Fallo en el Histórico de Conexiones Rápidas!</value>
</data>
<data name="strRadioCloseWarnAll" xml:space="preserve">
<value>&amp;Avisarme al cerrar conexiones</value>
</data>
<data name="strRAW" xml:space="preserve">
<value>RAW</value>
</data>
@@ -1683,6 +1707,9 @@ Mensaje:
<data name="strScreenshots" xml:space="preserve">
<value>Volcados de Pantalla</value>
</data>
<data name="strSearchPrompt" xml:space="preserve">
<value>Buscar</value>
</data>
<data name="strSendTo" xml:space="preserve">
<value>Enviar a...</value>
</data>
@@ -1803,6 +1830,30 @@ Mensaje:
<data name="strTheFollowing" xml:space="preserve">
<value>El siguiente:</value>
</data>
<data name="strThemeCategoryConfigPanel" xml:space="preserve">
<value>Panel de configuración</value>
</data>
<data name="strThemeCategoryConnectionsPanel" xml:space="preserve">
<value>Panel de conexiones</value>
</data>
<data name="strThemeCategoryGeneral" xml:space="preserve">
<value>General</value>
</data>
<data name="strThemeDescriptionConfigPanelBackgroundColor" xml:space="preserve">
<value>El color de fondo del panel de configuración.</value>
</data>
<data name="strThemeNameConfigPanelBackgroundColor" xml:space="preserve">
<value>Color de fondo del panel de configuración</value>
</data>
<data name="strThemeNameMenuTextColor" xml:space="preserve">
<value>Color del texto del menú</value>
</data>
<data name="strThemeNameToolbarBackgroundColor" xml:space="preserve">
<value>Color de fondo de la barra de herramientas</value>
</data>
<data name="strThemeNameToolbarTextColor" xml:space="preserve">
<value>Color del texto de la barra de herramientas</value>
</data>
<data name="strTitleError" xml:space="preserve">
<value>Error ({0})</value>
</data>
@@ -1839,6 +1890,9 @@ Mensaje:
<data name="strUncheckProperties" xml:space="preserve">
<value>¡Desmarque las propiedades que no quiera que sean guardadas!</value>
</data>
<data name="strUnnamedTheme" xml:space="preserve">
<value>Tema sin nombre</value>
</data>
<data name="strUpdateAvailable" xml:space="preserve">
<value>Actualización de mRemoteNG disponible</value>
</data>

View File

@@ -150,6 +150,9 @@
<data name="strAlwaysShowPanelSelection" xml:space="preserve">
<value>Toujours afficher la sélection de panneau à l'ouverture d'une connexion</value>
</data>
<data name="strAlwaysShowPanelTabs" xml:space="preserve">
<value>Toujours afficher les onglets du panneau</value>
</data>
<data name="strAlwaysShowSysTrayIcon" xml:space="preserve">
<value>Toujours afficher l'icone dans la zone de notification</value>
</data>
@@ -424,9 +427,6 @@ Si la vérification des composants ou l'utilisation d'ICA échoue malgré tout,
<data name="strConfigUiLoadFailed" xml:space="preserve">
<value>Fenêtre de configuration échec du chargement!</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>Confirmez la fermeture de l'onglet des connexions</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Voulez-vous fermer la connexion, "{0}"?</value>
</data>
@@ -448,9 +448,6 @@ Si la vérification des composants ou l'utilisation d'ICA échoue malgré tout,
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
<value>Etes-vous sûr de vouloir supprimer le dossier, "{0}"? Tous les dossiers ou les connexions qu'il contient seront également supprimés.</value>
</data>
<data name="strConfirmExit" xml:space="preserve">
<value>Confirmer la sortie si des connexions sont ouvertes</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>Voulez-vous de fermer toutes les connexions ouvertes?</value>
</data>
@@ -532,9 +529,15 @@ Si la vérification des composants ou l'utilisation d'ICA échoue malgré tout,
<data name="strCouldNotCreateNewConnectionsFile" xml:space="preserve">
<value>Impossible de créer le nouveau fichier de connexions!</value>
</data>
<data name="strCouldNotFindToolStripInFilteredPropertyGrid" xml:space="preserve">
<value>Le contrôle ToolStrip est introuvable dans le FilteredPropertyGrid.</value>
</data>
<data name="strCurrentVersion" xml:space="preserve">
<value>Version installée</value>
</data>
<data name="strDefaultTheme" xml:space="preserve">
<value>Thème par défaut</value>
</data>
<data name="strDetect" xml:space="preserve">
<value>Détecter</value>
</data>
@@ -715,6 +718,9 @@ Allez sur l'article du support de Microsoft pour plus d'informations http://supp
<data name="strIcaSetResolutionFailed" xml:space="preserve">
<value>Échec de ICA Set Resolution !</value>
</data>
<data name="strIdentifyQuickConnectTabs" xml:space="preserve">
<value>Identifier les onglets de connexion rapide en ajoutant le préfix "Rapide."</value>
</data>
<data name="strImportAD" xml:space="preserve">
<value>Importer à partir d'Active Directory</value>
</data>
@@ -781,6 +787,9 @@ Allez sur l'article du support de Microsoft pour plus d'informations http://supp
<data name="strLabelChangeLog" xml:space="preserve">
<value>Historique des changements:</value>
</data>
<data name="strLabelClosingConnections" xml:space="preserve">
<value>Lors de la fermeture des connexions :</value>
</data>
<data name="strLabelConnect" xml:space="preserve">
<value>&amp;Connecter:</value>
</data>
@@ -979,6 +988,15 @@ Allez sur l'article du support de Microsoft pour plus d'informations http://supp
<data name="strMenuNotifications" xml:space="preserve">
<value>Notifications</value>
</data>
<data name="strMenuNotificationsCopyAll" xml:space="preserve">
<value>Copiez tout</value>
</data>
<data name="strMenuNotificationsDelete" xml:space="preserve">
<value>Supprimer</value>
</data>
<data name="strMenuNotificationsDeleteAll" xml:space="preserve">
<value>Supprimer tout</value>
</data>
<data name="strMenuOpenConnectionFile" xml:space="preserve">
<value>Ouvrir un fichier de connexion...</value>
</data>
@@ -1039,6 +1057,9 @@ Allez sur l'article du support de Microsoft pour plus d'informations http://supp
<data name="strMenuSessionsAndScreenshots" xml:space="preserve">
<value>Sessions et capture d'ecran</value>
</data>
<data name="strMenuShowHelpText" xml:space="preserve">
<value>&amp;Afficher le texte d'aide</value>
</data>
<data name="strMenuShowText" xml:space="preserve">
<value>Afficher le texte</value>
</data>
@@ -1133,6 +1154,15 @@ Si vous rencontrez une erreur, créez un nouveau fichier de connexion s'il vous
<data name="strOpenPorts" xml:space="preserve">
<value>Ports ouverts</value>
</data>
<data name="strOptionsTabTheme" xml:space="preserve">
<value>Thème</value>
</data>
<data name="strOptionsThemeButtonDelete" xml:space="preserve">
<value>&amp;Supprimer</value>
</data>
<data name="strOptionsThemeButtonNew" xml:space="preserve">
<value>&amp;Nouveau</value>
</data>
<data name="strPanelName" xml:space="preserve">
<value>Nom du panneau</value>
</data>
@@ -1271,6 +1301,9 @@ Si vous rencontrez une erreur, créez un nouveau fichier de connexion s'il vous
<data name="strPropertyDescriptionUseConsoleSession" xml:space="preserve">
<value>Connexion à la console de l'hôte distant.</value>
</data>
<data name="strPropertyDescriptionUseCredSsp" xml:space="preserve">
<value>Utilisez les informations d'identification Security Support Provider (CredSSP) pour l'authentification si elle est disponible.</value>
</data>
<data name="strPropertyDescriptionUser1" xml:space="preserve">
<value>N'hésitez pas à entrer toutes les informations dont vous avez besoin ici.</value>
</data>
@@ -1421,6 +1454,9 @@ Si vous rencontrez une erreur, créez un nouveau fichier de connexion s'il vous
<data name="strPropertyNameUseConsoleSession" xml:space="preserve">
<value>Utilisez la session console</value>
</data>
<data name="strPropertyNameUseCredSsp" xml:space="preserve">
<value>Utiliser CredSSP</value>
</data>
<data name="strPropertyNameUser1" xml:space="preserve">
<value>Champ utilisateur</value>
</data>
@@ -1516,6 +1552,18 @@ Message:
<data name="strQuickConnectHistoryExistsFailed" xml:space="preserve">
<value>Échec d'Existence d'Historique de Connexion Rapide !</value>
</data>
<data name="strRadioCloseWarnAll" xml:space="preserve">
<value>&amp;M'avertir lors de la fermeture des connexions</value>
</data>
<data name="strRadioCloseWarnExit" xml:space="preserve">
<value>M'avertir uniquement lorsque mRemoteNG se f&amp;erme</value>
</data>
<data name="strRadioCloseWarnMultiple" xml:space="preserve">
<value>M'avertir seulement lors de la fermeture de connexions &amp;multiples</value>
</data>
<data name="strRadioCloseWarnNever" xml:space="preserve">
<value>&amp;Ne pas m'avertir lors de la fermeture des connexions</value>
</data>
<data name="strRAW" xml:space="preserve">
<value>RAW</value>
</data>
@@ -1732,6 +1780,9 @@ Message:
<data name="strScreenshots" xml:space="preserve">
<value>Captures d'écran</value>
</data>
<data name="strSearchPrompt" xml:space="preserve">
<value>Rechercher</value>
</data>
<data name="strSendTo" xml:space="preserve">
<value>Envoyer à ...</value>
</data>
@@ -1852,6 +1903,117 @@ Message:
<data name="strTheFollowing" xml:space="preserve">
<value>Ce qui suit :</value>
</data>
<data name="strThemeCategoryConfigPanel" xml:space="preserve">
<value>Panneau de configuration</value>
</data>
<data name="strThemeCategoryConnectionsPanel" xml:space="preserve">
<value>Panneau de connexions</value>
</data>
<data name="strThemeCategoryGeneral" xml:space="preserve">
<value>Générale</value>
</data>
<data name="strThemeDescriptionConfigPanelBackgroundColor" xml:space="preserve">
<value>La couleur de fond du panneau de configuration.</value>
</data>
<data name="strThemeDescriptionConfigPanelCategoryTextColor" xml:space="preserve">
<value>La couleur du texte catégorie dans le panneau de configuration.</value>
</data>
<data name="strThemeDescriptionConfigPanelGridLineColor" xml:space="preserve">
<value>La couleur du quadrillage dans le panneau de configuration</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>La couleur de fond de la section d'aide du panneau de configuration.</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpTextColor" xml:space="preserve">
<value>La couleur du texte dans la section d'aide du panneau de configuration.</value>
</data>
<data name="strThemeDescriptionConfigPanelTextColor" xml:space="preserve">
<value>La couleur du texte dans le panneau de configuration.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelBackgroundColor" xml:space="preserve">
<value>La couleur de fond du panneau des connexions.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTextColor" xml:space="preserve">
<value>La couleur du texte dans le panneau des connexions.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTreeLineColor" xml:space="preserve">
<value>La couleur des lignes d'arborescence dans le panneau des connexions.</value>
</data>
<data name="strThemeDescriptionMenuBackgroundColor" xml:space="preserve">
<value>La couleur de fond des menus.</value>
</data>
<data name="strThemeDescriptionMenuTextColor" xml:space="preserve">
<value>La couleur du texte dans les menus.</value>
</data>
<data name="strThemeDescriptionSearchBoxBackgroundColor" xml:space="preserve">
<value>La couleur de fond de la boîte de recherche.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextColor" xml:space="preserve">
<value>La couleur du texte dans la zone Rechercher.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextPromptColor" xml:space="preserve">
<value>La couleur du texte dans la zone de recherche rapide.</value>
</data>
<data name="strThemeDescriptionToolbarBackgroundColor" xml:space="preserve">
<value>La couleur de fond des barres d'outils.</value>
</data>
<data name="strThemeDescriptionToolbarTextColor" xml:space="preserve">
<value>La couleur du texte dans les barres d'outils.</value>
</data>
<data name="strThemeDescriptionWindowBackgroundColor" xml:space="preserve">
<value>La couleur d'arrière-plan de la fenêtre principale.</value>
</data>
<data name="strThemeNameConfigPanelBackgroundColor" xml:space="preserve">
<value>Couleur de fond de panneau de configuration</value>
</data>
<data name="strThemeNameConfigPanelCategoryTextColor" xml:space="preserve">
<value>Couleur de texte pour le panneau de configuration</value>
</data>
<data name="strThemeNameConfigPanelGridLineColor" xml:space="preserve">
<value>Couleur des ligne de la grille du panneau de configuration</value>
</data>
<data name="strThemeNameConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>Couleur de Fond de l'Aide du Panneau de Configuration</value>
</data>
<data name="strThemeNameConfigPanelHelpTextColor" xml:space="preserve">
<value>Couleur du Texte de l'Aide du Panneau de Configuration</value>
</data>
<data name="strThemeNameConfigPanelTextColor" xml:space="preserve">
<value>Couleur du Texte du Panneau de Configuration</value>
</data>
<data name="strThemeNameConnectionsPanelBackgroundColor" xml:space="preserve">
<value>Couleur de Fond du Panneau des Connexions</value>
</data>
<data name="strThemeNameConnectionsPanelTextColor" xml:space="preserve">
<value>Couleur du Texte du Panneau de Connexions</value>
</data>
<data name="strThemeNameConnectionsPanelTreeLineColor" xml:space="preserve">
<value>Couleur de l'arbre des connections dans le menu</value>
</data>
<data name="strThemeNameMenuBackgroundColor" xml:space="preserve">
<value>Couleur de Fond du Menu</value>
</data>
<data name="strThemeNameMenuTextColor" xml:space="preserve">
<value>Couleur de texte du menu</value>
</data>
<data name="strThemeNameSearchBoxBackgroundColor" xml:space="preserve">
<value>Couleur de fond de la boite de recherche</value>
</data>
<data name="strThemeNameSearchBoxTextColor" xml:space="preserve">
<value>Couleur du texte pour la boite de recherche</value>
</data>
<data name="strThemeNameSearchBoxTextPromptColor" xml:space="preserve">
<value>Couleur du Texte de la Boîte de Recherche</value>
</data>
<data name="strThemeNameToolbarBackgroundColor" xml:space="preserve">
<value>Couleur de fond de barre d'outils</value>
</data>
<data name="strThemeNameToolbarTextColor" xml:space="preserve">
<value>Couleur du texte pour la barre d'outils</value>
</data>
<data name="strThemeNameWindowBackgroundColor" xml:space="preserve">
<value>Couleur de fond de la fenêtre</value>
</data>
<data name="strTitleError" xml:space="preserve">
<value>Erreur ({0})</value>
</data>
@@ -1888,6 +2050,9 @@ Message:
<data name="strUncheckProperties" xml:space="preserve">
<value>Décochez les propriétés que vous souhaitez ne pas être enregistrer!</value>
</data>
<data name="strUnnamedTheme" xml:space="preserve">
<value>Thème sans nom</value>
</data>
<data name="strUpdateAvailable" xml:space="preserve">
<value>mRemoteNG nécessite une mise à jour</value>
</data>

View File

@@ -150,6 +150,9 @@
<data name="strAlwaysShowPanelSelection" xml:space="preserve">
<value>Mostra sempre la finsetra di selezione pannello all'apertura di una connessione</value>
</data>
<data name="strAlwaysShowPanelTabs" xml:space="preserve">
<value>Mostra sempre le schede dei pannelli</value>
</data>
<data name="strAlwaysShowSysTrayIcon" xml:space="preserve">
<value>Mostra sempre l'icona nell'area delle notifiche</value>
</data>
@@ -435,9 +438,6 @@ VncSharpNG Control versione {0}</value>
<data name="strConfigUiLoadFailed" xml:space="preserve">
<value>Caricamento Config UI fallito!</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>Conferma la chiusura delle tab delle connessioni</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Vuoi chiudere la connessione "{0}"?</value>
</data>
@@ -459,9 +459,6 @@ VncSharpNG Control versione {0}</value>
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
<value>Sei sicuro di voler cancellare la cartella "{0}"? Tutte le sottocartelle e le connessioni contenute in essa verranno eliminate.</value>
</data>
<data name="strConfirmExit" xml:space="preserve">
<value>Chiedi conferma prima di uscire se ci sono connessioni aperte</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>Vuoi chiudere tutte le connessioni aperte?</value>
</data>
@@ -549,6 +546,9 @@ Creazione di un nuovo file delle connessioni.</value>
<data name="strCurrentVersion" xml:space="preserve">
<value>Versione installata</value>
</data>
<data name="strDefaultTheme" xml:space="preserve">
<value>Tema predefinito</value>
</data>
<data name="strDetect" xml:space="preserve">
<value>Rileva</value>
</data>
@@ -706,9 +706,6 @@ Visualizza il supporto Microsoft http://support.microsoft.com/kb/811833/it per o
<data name="strHttpConnectionFailed" xml:space="preserve">
<value>Impossibile creare una nuova connessione HTTP!</value>
</data>
<data name="strHttpDocumentTileChangeFailed" xml:space="preserve">
<value>Cambiamento HTTP Document Tile fallito!</value>
</data>
<data name="strHttpSetPropsFailed" xml:space="preserve">
<value>Impostazione delle proprietà HTTP fallita!</value>
</data>
@@ -730,6 +727,9 @@ Visualizza il supporto Microsoft http://support.microsoft.com/kb/811833/it per o
<data name="strIcaSetResolutionFailed" xml:space="preserve">
<value>ICA Set Resolution fallito!</value>
</data>
<data name="strIdentifyQuickConnectTabs" xml:space="preserve">
<value>Aggiungi il prefisso "Quick:" alle schede di connessioni rapide</value>
</data>
<data name="strImportAD" xml:space="preserve">
<value>Importa da Active Directory</value>
</data>
@@ -796,6 +796,9 @@ Visualizza il supporto Microsoft http://support.microsoft.com/kb/811833/it per o
<data name="strLabelChangeLog" xml:space="preserve">
<value>Modifiche recenti:</value>
</data>
<data name="strLabelClosingConnections" xml:space="preserve">
<value>Alla chiusura delle connessioni:</value>
</data>
<data name="strLabelConnect" xml:space="preserve">
<value>&amp;Connetti:</value>
</data>
@@ -994,6 +997,15 @@ Visualizza il supporto Microsoft http://support.microsoft.com/kb/811833/it per o
<data name="strMenuNotifications" xml:space="preserve">
<value>Notifiche</value>
</data>
<data name="strMenuNotificationsCopyAll" xml:space="preserve">
<value>Copia tutto</value>
</data>
<data name="strMenuNotificationsDelete" xml:space="preserve">
<value>Elimina</value>
</data>
<data name="strMenuNotificationsDeleteAll" xml:space="preserve">
<value>Elimina tutto</value>
</data>
<data name="strMenuOpenConnectionFile" xml:space="preserve">
<value>Apri file delle connessioni...</value>
</data>
@@ -1054,6 +1066,9 @@ Visualizza il supporto Microsoft http://support.microsoft.com/kb/811833/it per o
<data name="strMenuSessionsAndScreenshots" xml:space="preserve">
<value>Sessioni e screenshot</value>
</data>
<data name="strMenuShowHelpText" xml:space="preserve">
<value>&amp;Mostra testo di aiuto</value>
</data>
<data name="strMenuShowText" xml:space="preserve">
<value>Mostra testo</value>
</data>
@@ -1147,6 +1162,15 @@ Visualizza il supporto Microsoft http://support.microsoft.com/kb/811833/it per o
<data name="strOpenPorts" xml:space="preserve">
<value>Porte aperte</value>
</data>
<data name="strOptionsTabTheme" xml:space="preserve">
<value>Tema</value>
</data>
<data name="strOptionsThemeButtonDelete" xml:space="preserve">
<value>Elimina</value>
</data>
<data name="strOptionsThemeButtonNew" xml:space="preserve">
<value>&amp;Nuovo</value>
</data>
<data name="strPanelName" xml:space="preserve">
<value>Nome del pannello</value>
</data>
@@ -1285,6 +1309,9 @@ Visualizza il supporto Microsoft http://support.microsoft.com/kb/811833/it per o
<data name="strPropertyDescriptionUseConsoleSession" xml:space="preserve">
<value>Connettiti alla sessione della console dell'host remoto.</value>
</data>
<data name="strPropertyDescriptionUseCredSsp" xml:space="preserve">
<value>Usa Credential Security Support Provider (CredSSP) per l'autenticazione, se disponibile.</value>
</data>
<data name="strPropertyDescriptionUser1" xml:space="preserve">
<value>Sentiti libero di inserire qui informazioni a piacimento.</value>
</data>
@@ -1435,6 +1462,9 @@ Visualizza il supporto Microsoft http://support.microsoft.com/kb/811833/it per o
<data name="strPropertyNameUseConsoleSession" xml:space="preserve">
<value>Utilizza la sessione della console</value>
</data>
<data name="strPropertyNameUseCredSsp" xml:space="preserve">
<value>Usa CredSSP</value>
</data>
<data name="strPropertyNameUser1" xml:space="preserve">
<value>Campo utente</value>
</data>
@@ -1531,6 +1561,18 @@ Messaggio:
<data name="strQuickConnectHistoryExistsFailed" xml:space="preserve">
<value>Operazione Quick Connect History Exists fallita!</value>
</data>
<data name="strRadioCloseWarnAll" xml:space="preserve">
<value>&amp;Avvisami alla chiusura delle connessioni</value>
</data>
<data name="strRadioCloseWarnExit" xml:space="preserve">
<value>Avvisami soltanto all'&amp;uscita da mRemoteNG</value>
</data>
<data name="strRadioCloseWarnMultiple" xml:space="preserve">
<value>Avvisami soltanto alla chiusura di &amp;più connessioni</value>
</data>
<data name="strRadioCloseWarnNever" xml:space="preserve">
<value>&amp;Non avvisarmi alla chiusura delle connessioni</value>
</data>
<data name="strRAW" xml:space="preserve">
<value>RAW</value>
</data>
@@ -1747,6 +1789,9 @@ Messaggio:
<data name="strScreenshots" xml:space="preserve">
<value>Screenshot</value>
</data>
<data name="strSearchPrompt" xml:space="preserve">
<value>Cerca</value>
</data>
<data name="strSendTo" xml:space="preserve">
<value>Invia a...</value>
</data>
@@ -1867,6 +1912,117 @@ Messaggio:
<data name="strTheFollowing" xml:space="preserve">
<value>Il seguente:</value>
</data>
<data name="strThemeCategoryConfigPanel" xml:space="preserve">
<value>Pannello configurazione</value>
</data>
<data name="strThemeCategoryConnectionsPanel" xml:space="preserve">
<value>Pannello connessioni</value>
</data>
<data name="strThemeCategoryGeneral" xml:space="preserve">
<value>Generale</value>
</data>
<data name="strThemeDescriptionConfigPanelBackgroundColor" xml:space="preserve">
<value>Colore di sfondo del pannello configurazione.</value>
</data>
<data name="strThemeDescriptionConfigPanelCategoryTextColor" xml:space="preserve">
<value>Colore della categoria nel pannello configurazione.</value>
</data>
<data name="strThemeDescriptionConfigPanelGridLineColor" xml:space="preserve">
<value>Colore delle linee griglia nel pannello configurazione</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>Colore di sfondo nell'area aiuto del pannello configurazione.</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpTextColor" xml:space="preserve">
<value>Colore del testo nell'area aiuto del pannello configurazione.</value>
</data>
<data name="strThemeDescriptionConfigPanelTextColor" xml:space="preserve">
<value>Colore del testo nel pannello configurazione.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelBackgroundColor" xml:space="preserve">
<value>Colore di sfondo nel pannello connessioni.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTextColor" xml:space="preserve">
<value>Colore del testo nel pannello connessioni.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTreeLineColor" xml:space="preserve">
<value>Colore delle linee di alberatura nel pannello connessioni.</value>
</data>
<data name="strThemeDescriptionMenuBackgroundColor" xml:space="preserve">
<value>Colore di sfondo dei menu.</value>
</data>
<data name="strThemeDescriptionMenuTextColor" xml:space="preserve">
<value>Colore del testo nei menu.</value>
</data>
<data name="strThemeDescriptionSearchBoxBackgroundColor" xml:space="preserve">
<value>Colore di sfondo della casella di ricerca.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextColor" xml:space="preserve">
<value>Colore del testo nella casella di ricerca.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextPromptColor" xml:space="preserve">
<value>Colore del prompt nella casella di ricerca.</value>
</data>
<data name="strThemeDescriptionToolbarBackgroundColor" xml:space="preserve">
<value>Colore di sfondo delle barre degli strumenti.</value>
</data>
<data name="strThemeDescriptionToolbarTextColor" xml:space="preserve">
<value>Colore del testo nelle barre degli strumenti.</value>
</data>
<data name="strThemeDescriptionWindowBackgroundColor" xml:space="preserve">
<value>Colore di sfondo della finestra principale.</value>
</data>
<data name="strThemeNameConfigPanelBackgroundColor" xml:space="preserve">
<value>Colore sfondo pannello configurazione</value>
</data>
<data name="strThemeNameConfigPanelCategoryTextColor" xml:space="preserve">
<value>Colore categoria pannello configurazione</value>
</data>
<data name="strThemeNameConfigPanelGridLineColor" xml:space="preserve">
<value>Colore linee griglia pannello configurazione</value>
</data>
<data name="strThemeNameConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>Colore sfondo aiuto pannello configurazione</value>
</data>
<data name="strThemeNameConfigPanelHelpTextColor" xml:space="preserve">
<value>Colore testo aiuto pannello configurazione</value>
</data>
<data name="strThemeNameConfigPanelTextColor" xml:space="preserve">
<value>Colore testo pannello configurazione</value>
</data>
<data name="strThemeNameConnectionsPanelBackgroundColor" xml:space="preserve">
<value>Colore sfondo pannello connessioni</value>
</data>
<data name="strThemeNameConnectionsPanelTextColor" xml:space="preserve">
<value>Colore testo pannello connessioni</value>
</data>
<data name="strThemeNameConnectionsPanelTreeLineColor" xml:space="preserve">
<value>Colore linee alberatura pannello connessioni</value>
</data>
<data name="strThemeNameMenuBackgroundColor" xml:space="preserve">
<value>Colore sfondo menu</value>
</data>
<data name="strThemeNameMenuTextColor" xml:space="preserve">
<value>Colore testo menu</value>
</data>
<data name="strThemeNameSearchBoxBackgroundColor" xml:space="preserve">
<value>Colore sfondo casella ricerca</value>
</data>
<data name="strThemeNameSearchBoxTextColor" xml:space="preserve">
<value>Colore testo casella ricerca</value>
</data>
<data name="strThemeNameSearchBoxTextPromptColor" xml:space="preserve">
<value>Colore prompt casella ricerca</value>
</data>
<data name="strThemeNameToolbarBackgroundColor" xml:space="preserve">
<value>Colore sfondo barra strumenti</value>
</data>
<data name="strThemeNameToolbarTextColor" xml:space="preserve">
<value>Colore testo barra strumenti</value>
</data>
<data name="strThemeNameWindowBackgroundColor" xml:space="preserve">
<value>Colore sfondo finestra</value>
</data>
<data name="strTitleError" xml:space="preserve">
<value>Errore ({0})</value>
</data>
@@ -1903,6 +2059,9 @@ Messaggio:
<data name="strUncheckProperties" xml:space="preserve">
<value>Deseleziona le proprietà che non vuoi salvare!</value>
</data>
<data name="strUnnamedTheme" xml:space="preserve">
<value>Tema senza nome</value>
</data>
<data name="strUpdateAvailable" xml:space="preserve">
<value>mRemoteNG richiede un aggiornamento</value>
</data>

View File

@@ -150,6 +150,9 @@
<data name="strAlwaysShowPanelSelection" xml:space="preserve">
<value>Altijd Paneel dialoogvenster tonen bij het openen van verbindingen</value>
</data>
<data name="strAlwaysShowPanelTabs" xml:space="preserve">
<value>Altijd tabbladen tonen</value>
</data>
<data name="strAlwaysShowSysTrayIcon" xml:space="preserve">
<value>Altijd het icoon in het systeemvak tonen</value>
</data>
@@ -438,9 +441,6 @@ VncSharpNG Versie {0}</value>
<data name="strConfigUiLoadFailed" xml:space="preserve">
<value>Configuratie UI laden mislukt!</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>Bevestig sluiten connectie tab</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Wilt u de verbinding sluiten, "{0}"?</value>
</data>
@@ -462,9 +462,6 @@ VncSharpNG Versie {0}</value>
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
<value>Weet u het zeker dat u de map wilt verwijderen, "{0}"? Alle mappen of connecties daaronder zullen ook worden verwijderd.</value>
</data>
<data name="strConfirmExit" xml:space="preserve">
<value>Bevestig afsluiten als er geopende verbindingen zijn</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>Wilt u alle geopende verbindingen sluiten?</value>
</data>
@@ -549,9 +546,15 @@ Beginnen met nieuwe Connectie bestand.</value>
<data name="strCouldNotCreateNewConnectionsFile" xml:space="preserve">
<value>Kon geen nieuwe connectie bestand aanmaken!</value>
</data>
<data name="strCouldNotFindToolStripInFilteredPropertyGrid" xml:space="preserve">
<value>Kan geen ToolStrip vinden in FilteredPropertyGrid.</value>
</data>
<data name="strCurrentVersion" xml:space="preserve">
<value>Geïnstalleerde versie</value>
</data>
<data name="strDefaultTheme" xml:space="preserve">
<value>Standaard thema</value>
</data>
<data name="strDetect" xml:space="preserve">
<value>Detecteer</value>
</data>
@@ -710,7 +713,7 @@ Zie het Microsoft Support artikel op http://support.microsoft.com/kb/811833 voor
<value>Kon geen nieuwe HTTP verbinding aanmaken!</value>
</data>
<data name="strHttpDocumentTileChangeFailed" xml:space="preserve">
<value>Aanpassen HTTP Document Tegel mislukt!</value>
<value>Verandering van HTTP document tegel niet gelukt!</value>
</data>
<data name="strHttpSetPropsFailed" xml:space="preserve">
<value>Instellen HTTP Eigenschappen mislukt!</value>
@@ -733,6 +736,9 @@ Zie het Microsoft Support artikel op http://support.microsoft.com/kb/811833 voor
<data name="strIcaSetResolutionFailed" xml:space="preserve">
<value>ICA Instellen Resolutie mislukt!</value>
</data>
<data name="strIdentifyQuickConnectTabs" xml:space="preserve">
<value>Vindt de Snel aansluit tabs met het voorzetsel "Quick"</value>
</data>
<data name="strImportAD" xml:space="preserve">
<value>Importeer van Active Directory</value>
</data>
@@ -799,6 +805,9 @@ Zie het Microsoft Support artikel op http://support.microsoft.com/kb/811833 voor
<data name="strLabelChangeLog" xml:space="preserve">
<value>Veranderingen:</value>
</data>
<data name="strLabelClosingConnections" xml:space="preserve">
<value>Bij het sluiten van connecties:</value>
</data>
<data name="strLabelConnect" xml:space="preserve">
<value>&amp;Verbind:</value>
</data>
@@ -997,6 +1006,15 @@ Zie het Microsoft Support artikel op http://support.microsoft.com/kb/811833 voor
<data name="strMenuNotifications" xml:space="preserve">
<value>Notificaties</value>
</data>
<data name="strMenuNotificationsCopyAll" xml:space="preserve">
<value>Kopieër alles</value>
</data>
<data name="strMenuNotificationsDelete" xml:space="preserve">
<value>Verwijder</value>
</data>
<data name="strMenuNotificationsDeleteAll" xml:space="preserve">
<value>Verwijder alles</value>
</data>
<data name="strMenuOpenConnectionFile" xml:space="preserve">
<value>Open Connectie Bestand...</value>
</data>
@@ -1057,6 +1075,9 @@ Zie het Microsoft Support artikel op http://support.microsoft.com/kb/811833 voor
<data name="strMenuSessionsAndScreenshots" xml:space="preserve">
<value>Sessies en Screenshots</value>
</data>
<data name="strMenuShowHelpText" xml:space="preserve">
<value>&amp;Laat hulp zien</value>
</data>
<data name="strMenuShowText" xml:space="preserve">
<value>Toon tekst</value>
</data>
@@ -1151,6 +1172,15 @@ Als dergelijke problemen voorkomen maak dan een nieuwe verbindings bestand aan!<
<data name="strOpenPorts" xml:space="preserve">
<value>Open Poorten</value>
</data>
<data name="strOptionsTabTheme" xml:space="preserve">
<value>Thema</value>
</data>
<data name="strOptionsThemeButtonDelete" xml:space="preserve">
<value>&amp;Verwijder</value>
</data>
<data name="strOptionsThemeButtonNew" xml:space="preserve">
<value>&amp;Nieuw</value>
</data>
<data name="strPanelName" xml:space="preserve">
<value>Paneel Naam</value>
</data>
@@ -1289,6 +1319,9 @@ Als dergelijke problemen voorkomen maak dan een nieuwe verbindings bestand aan!<
<data name="strPropertyDescriptionUseConsoleSession" xml:space="preserve">
<value>Verbinding maken met de console sessie van de remote host.</value>
</data>
<data name="strPropertyDescriptionUseCredSsp" xml:space="preserve">
<value>Gebruik, indien beschikbaar, de Credential Security Support Provider (CredSSP) voor authenticatie.</value>
</data>
<data name="strPropertyDescriptionUser1" xml:space="preserve">
<value>Voel je vrij om alle informatie die u nodig heeft hier in te voeren.</value>
</data>
@@ -1439,6 +1472,9 @@ Als dergelijke problemen voorkomen maak dan een nieuwe verbindings bestand aan!<
<data name="strPropertyNameUseConsoleSession" xml:space="preserve">
<value>Gebruik consolesessie</value>
</data>
<data name="strPropertyNameUseCredSsp" xml:space="preserve">
<value>Gebruik CredSSP</value>
</data>
<data name="strPropertyNameUser1" xml:space="preserve">
<value>Gebruiker veld</value>
</data>
@@ -1535,6 +1571,18 @@ Bericht:
<data name="strQuickConnectHistoryExistsFailed" xml:space="preserve">
<value>Snelle Connectie geschiedenis bestaat mislukt!</value>
</data>
<data name="strRadioCloseWarnAll" xml:space="preserve">
<value>&amp;Waarschuw bij het sluiten van connecties</value>
</data>
<data name="strRadioCloseWarnExit" xml:space="preserve">
<value>&amp;xWaarschuw alleen bij het sluiten van mRemoteNG</value>
</data>
<data name="strRadioCloseWarnMultiple" xml:space="preserve">
<value>Waarschuw alleen bij het sluiten van &amp;meerdere connecties</value>
</data>
<data name="strRadioCloseWarnNever" xml:space="preserve">
<value>Waarschuw &amp;niet bij het sluiten van connecties</value>
</data>
<data name="strRAW" xml:space="preserve">
<value>RAW</value>
</data>
@@ -1751,6 +1799,9 @@ Bericht:
<data name="strScreenshots" xml:space="preserve">
<value>Schermafbeeldingen</value>
</data>
<data name="strSearchPrompt" xml:space="preserve">
<value>Zoek</value>
</data>
<data name="strSendTo" xml:space="preserve">
<value>Verstuur naar...</value>
</data>
@@ -1871,6 +1922,117 @@ Bericht:
<data name="strTheFollowing" xml:space="preserve">
<value>De volgende:</value>
</data>
<data name="strThemeCategoryConfigPanel" xml:space="preserve">
<value>Configuratie paneel</value>
</data>
<data name="strThemeCategoryConnectionsPanel" xml:space="preserve">
<value>Connectie paneel</value>
</data>
<data name="strThemeCategoryGeneral" xml:space="preserve">
<value>Algemeen</value>
</data>
<data name="strThemeDescriptionConfigPanelBackgroundColor" xml:space="preserve">
<value>De achtergrondkleur van het configuratie paneel.</value>
</data>
<data name="strThemeDescriptionConfigPanelCategoryTextColor" xml:space="preserve">
<value>De kleur van de categorie tekst in het configuratie paneel.</value>
</data>
<data name="strThemeDescriptionConfigPanelGridLineColor" xml:space="preserve">
<value>De kleur van de gridlijnen in het configuratiepaneel</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>De achtergrondkleur van de helptekst in het configuratiepaneel.</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpTextColor" xml:space="preserve">
<value>De tekst kleur ven de help in het configurateipaneel.</value>
</data>
<data name="strThemeDescriptionConfigPanelTextColor" xml:space="preserve">
<value>De tekstkleur van het configuratiepaneel.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelBackgroundColor" xml:space="preserve">
<value>De achtergrondkleur van het connectie paneel.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTextColor" xml:space="preserve">
<value>De tekstkleur van het connectie paneel.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTreeLineColor" xml:space="preserve">
<value>De boomstructuur lijnen kleur in het connectie paneel.</value>
</data>
<data name="strThemeDescriptionMenuBackgroundColor" xml:space="preserve">
<value>De achtergrondkleur van de menu's.</value>
</data>
<data name="strThemeDescriptionMenuTextColor" xml:space="preserve">
<value>De tekstkleur in de menu's.</value>
</data>
<data name="strThemeDescriptionSearchBoxBackgroundColor" xml:space="preserve">
<value>De achtergrondkleur van de zoekboks.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextColor" xml:space="preserve">
<value>De tekstkleur in de zoekboks.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextPromptColor" xml:space="preserve">
<value>De prompttekst kleur in de zoekboks.</value>
</data>
<data name="strThemeDescriptionToolbarBackgroundColor" xml:space="preserve">
<value>De achtergrondkleur van de gereedschapsbalk.</value>
</data>
<data name="strThemeDescriptionToolbarTextColor" xml:space="preserve">
<value>De tekstkleur in de gereedschapsbalk.</value>
</data>
<data name="strThemeDescriptionWindowBackgroundColor" xml:space="preserve">
<value>De achtergrondkleur van het hoofdwindow.</value>
</data>
<data name="strThemeNameConfigPanelBackgroundColor" xml:space="preserve">
<value>Achtergrondkleur configuratiepaneel</value>
</data>
<data name="strThemeNameConfigPanelCategoryTextColor" xml:space="preserve">
<value>Categorie tekst kleur in het configuratiepaneel</value>
</data>
<data name="strThemeNameConfigPanelGridLineColor" xml:space="preserve">
<value>Lijnenkleur in het configuratiepaneel</value>
</data>
<data name="strThemeNameConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>Help achtergrondkleur van het configuratiepaneel</value>
</data>
<data name="strThemeNameConfigPanelHelpTextColor" xml:space="preserve">
<value>Help tekstkleur van het configuratiepaneel</value>
</data>
<data name="strThemeNameConfigPanelTextColor" xml:space="preserve">
<value>Configuratiepaneel tekstkleur</value>
</data>
<data name="strThemeNameConnectionsPanelBackgroundColor" xml:space="preserve">
<value>Achtergrondkleur connectie paneel</value>
</data>
<data name="strThemeNameConnectionsPanelTextColor" xml:space="preserve">
<value>Tekstkleur connectiepaneel</value>
</data>
<data name="strThemeNameConnectionsPanelTreeLineColor" xml:space="preserve">
<value>Boomstructuur lijnen kleur connectiepaneel</value>
</data>
<data name="strThemeNameMenuBackgroundColor" xml:space="preserve">
<value>Menu achtergrondkleur</value>
</data>
<data name="strThemeNameMenuTextColor" xml:space="preserve">
<value>Tekstkleur menu</value>
</data>
<data name="strThemeNameSearchBoxBackgroundColor" xml:space="preserve">
<value>Achtergrondkleur zoekboks</value>
</data>
<data name="strThemeNameSearchBoxTextColor" xml:space="preserve">
<value>Tekstkleur zoekboks</value>
</data>
<data name="strThemeNameSearchBoxTextPromptColor" xml:space="preserve">
<value>Prompt tekstkleur zoekboks</value>
</data>
<data name="strThemeNameToolbarBackgroundColor" xml:space="preserve">
<value>Achtergrondkleur gereedschapsbalk</value>
</data>
<data name="strThemeNameToolbarTextColor" xml:space="preserve">
<value>Tekstkleur gereedschapskleur</value>
</data>
<data name="strThemeNameWindowBackgroundColor" xml:space="preserve">
<value>Achtergrondkleur window</value>
</data>
<data name="strTitleError" xml:space="preserve">
<value>Fout ({0})</value>
</data>
@@ -1907,6 +2069,9 @@ Bericht:
<data name="strUncheckProperties" xml:space="preserve">
<value>Verwijder het vinkje bij eigenschappen die u niet wil opslaan!</value>
</data>
<data name="strUnnamedTheme" xml:space="preserve">
<value>Thema zonder naam</value>
</data>
<data name="strUpdateAvailable" xml:space="preserve">
<value>Er is een update voor mRemoteNG beschikbaar</value>
</data>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@@ -59,7 +59,7 @@
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
@@ -105,36 +105,72 @@
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="strAbout" xml:space="preserve">
<value>O programie</value>
</data>
<data name="strActive" xml:space="preserve">
<value>Aktywny</value>
</data>
<data name="strActivity" xml:space="preserve">
<value>Aktywność</value>
</data>
<data name="strAddConnection" xml:space="preserve">
<value>Nowe połączenie</value>
</data>
<data name="strAddFolder" xml:space="preserve">
<value>Nowy folder</value>
</data>
<data name="strAddNodeFromXmlFailed" xml:space="preserve">
<value>Dodanie węzła z XML nie powiodło się!</value>
</data>
<data name="strAddNodesFromSqlFailed" xml:space="preserve">
<value>Wykonanie fukcji AddNodesFromSQL nie powiodło się!</value>
</data>
<data name="strAllowOnlySingleInstance" xml:space="preserve">
<value>Pozwól uruchomić tylko jedną kopię programu (wymaga restartu mRemoteNG)</value>
</data>
<data name="strAlways" xml:space="preserve">
<value>Zawsze</value>
</data>
<data name="strAlwaysConnectEvenIfAuthFails" xml:space="preserve">
<value>Łącz zawsze, nawet jeśli uwierzytelnianie się nie powiedzie</value>
</data>
<data name="strAlwaysShowSysTrayIcon" xml:space="preserve">
<value>Zawsze pokazuj ikonę w obszarze powiadomień</value>
</data>
<data name="strAskUpdatesCommandAskLater" xml:space="preserve">
<value>Zapytaj mnie znów później</value>
</data>
<data name="strAskUpdatesCommandCustom" xml:space="preserve">
<value>Dostosuj ustawienia</value>
</data>
<data name="strAskUpdatesCommandRecommended" xml:space="preserve">
<value>Użyj zalecanych ustawień</value>
</data>
<data name="strAskUpdatesContent" xml:space="preserve">
<value>{0} może automaczycznie sprawdzać aktualizacje które mogą zawierać nowe funkcjonalności oraz poprawki błędów. Zaleca się, aby zezwolnić {0} na sprawdzanie aktualizacji co tydzień.</value>
</data>
<data name="strAskUpdatesMainInstruction" xml:space="preserve">
<value>Ustawienia automatycznej aktualizacji</value>
</data>
<data name="strAspect" xml:space="preserve">
<value>Propocjonalnie</value>
</data>
<data name="strAutomaticallyGetSessionInfo" xml:space="preserve">
<value>Automatycznie pobierz informacje o sesji</value>
</data>
<data name="strAutoSaveEvery" xml:space="preserve">
<value>Automatyczny zapis co:</value>
</data>
@@ -168,6 +204,9 @@
<data name="strButtonIcon" xml:space="preserve">
<value>Ikona</value>
</data>
<data name="strButtonImport" xml:space="preserve">
<value>&amp;Import</value>
</data>
<data name="strButtonInheritance" xml:space="preserve">
<value>Dziedziczenie</value>
</data>
@@ -177,18 +216,37 @@
<data name="strButtonNew" xml:space="preserve">
<value>&amp;Nowy</value>
</data>
<data name="strButtonOK" xml:space="preserve">
<value>&amp;OK</value>
</data>
<data name="strButtonProperties" xml:space="preserve">
<value>Ustawienia</value>
</data>
<data name="strButtonScan" xml:space="preserve">
<value>&amp;Skanuj</value>
</data>
<data name="strButtonStop" xml:space="preserve">
<value>&amp;Stop</value>
</data>
<data name="strButtonTestProxy" xml:space="preserve">
<value>Testuj Proxy</value>
</data>
<data name="strCannotImportNormalSessionFile" xml:space="preserve">
<value>Nie można zaimportować zwykłego pliku połączenia.
Proszę użyć opcji Plik - Wgraj Połączenia aby wgrać zwykłe pliki połączenia!</value>
</data>
<data name="strCannotStartPortScan" xml:space="preserve">
<value>Nie można rozpocząć skanowania portów - niewłaściwy format adresu IP!</value>
</data>
<data name="strCategoryAppearance" xml:space="preserve">
<value>Wygląd</value>
</data>
<data name="strCategoryConnection" xml:space="preserve">
<value>Połączenie</value>
</data>
<data name="strCategoryCredentials" xml:space="preserve">
<value>Dane uwierzytelniające</value>
</data>
<data name="strCategoryDisplay" xml:space="preserve">
<value>Wyświetl</value>
</data>
@@ -198,12 +256,63 @@
<data name="strCategoryGeneral" xml:space="preserve">
<value>Ogólny</value>
</data>
<data name="strCategoryMiscellaneous" xml:space="preserve">
<value>Pozostałe</value>
</data>
<data name="strCategoryProtocol" xml:space="preserve">
<value>Protokół</value>
</data>
<data name="strCategoryRedirect" xml:space="preserve">
<value>Przekierowanie</value>
</data>
<data name="strCcAlwaysShowScreen" xml:space="preserve">
<value>Zawsze pokazuj ten ekran przy starcie</value>
</data>
<data name="strCcCheckAgain" xml:space="preserve">
<value>Odświerz</value>
</data>
<data name="strCcCheckFailed" xml:space="preserve">
<value>Sprawdzanie nie powiodło się!</value>
</data>
<data name="strCcCheckSucceeded" xml:space="preserve">
<value>Sprawdzenie powiodło się!</value>
</data>
<data name="strCcEOLFailed" xml:space="preserve">
<value>Funkcja sesji (RDP) wymaga, abyś miał zarejestrowaną w systemie bibliotekę eolwtscom.dll.
mRemoteNG dystrybuowany jest z tym komponentem, ale nie jest automatycznie rejestrowany dopóki nie uruchomisz instalatora. Aby zarejestrować ten plik ręcznie wykonaj: otwórz "Uruchom" (Start - Uruchom) i wprowadź komendę: regsvr32 "c:\Program Files\mRemoteNG\eolwtscom.dll" (gdzie c:\Program Files\mRemoteNG\ jest ścieżką instalacyjną mRemoteNG).
Jeśli nadal nie można sprawdzić lub użyć fukcji Sesji (RDP) skonsultuj to na Forum mRemoteNG na stronie http://forum.mremoteng.org/</value>
</data>
<data name="strCcEOLOK" xml:space="preserve">
<value>EOLWTSCOM został znaleziony i wydaje się być poprawnie zarejestrowany.</value>
</data>
<data name="strCcGeckoOK" xml:space="preserve">
<value>XULrunner został znaleziony i wydaje się być zainstalowany prawidłowo.</value>
</data>
<data name="strCcICAOK" xml:space="preserve">
<value>Wszystkie składniki ICA zostały znalezione i wydają się być poprawnie zarejestrowane.
Wersja klienta Citrix ICA {0}</value>
</data>
<data name="strCcNotInstalledProperly" xml:space="preserve">
<value>nie jest zainstalowany prawidłowo</value>
</data>
<data name="strCcPuttyFailed" xml:space="preserve">
<value>SSH, Telnet, Rlogin i protokołów RAW używają programu PuTTY. PuTTY zawarty jest pakiecie mRemoteNG i znajduje się w ścieżce instalacji programu.
Proszę upewnić się, że albo masz Putty.exe w katalogu mRemoteNG (domyślnie: c:\Program Files\mRemoteNG\) lub że podałeś prawidłową ścieżkę do narzędzia PuTTY w opcjach programu(Narzędzia - Opcje - zaawansowane - ścieżka programu PuTTY)</value>
</data>
<data name="strCcPuttyOK" xml:space="preserve">
<value>Aplikacja PuTTY została odnaleziona i powinna być gotowa do użytku.</value>
</data>
<data name="strCcRDPOK" xml:space="preserve">
<value>Wszystkie składniki RDP zostały znalezione i wydają się być poprawnie zarejestrowane.
Podłączanie pulpitu zdalnego sterowania wersja {0}</value>
</data>
<data name="strCcVNCOK" xml:space="preserve">
<value>Wszystkie składniki VNC zostały znalezione i wydają się być poprawnie zarejestrowane.
VncSharpNG wersja {0}</value>
</data>
<data name="strCheckboxAutomaticReconnect" xml:space="preserve">
<value>Automatycznie Spróbuj ponownie, gdy odłączony od serwera (tylko RDP &amp;&amp; ICA)</value>
</data>
<data name="strCheckboxDomain" xml:space="preserve">
<value>Domena</value>
</data>
@@ -216,15 +325,36 @@
<data name="strCheckboxPassword" xml:space="preserve">
<value>Hasło</value>
</data>
<data name="strCheckboxProxyAuthentication" xml:space="preserve">
<value>Ten serwer proxy wymaga uwierzytelnienia</value>
</data>
<data name="strCheckboxPuttyPath" xml:space="preserve">
<value>Użyj niestandardowej ścieżki PuTTY:</value>
</data>
<data name="strCheckboxReconnectWhenReady" xml:space="preserve">
<value>Połącz ponownie, gdy gotowy</value>
</data>
<data name="strCheckboxUpdateUseProxy" xml:space="preserve">
<value>Użyj serwera proxy do połączenia</value>
</data>
<data name="strCheckboxUsername" xml:space="preserve">
<value>Użytkownik</value>
</data>
<data name="strCheckboxWaitForExit" xml:space="preserve">
<value>Czekaj na wyjście</value>
</data>
<data name="strCheckForUpdate" xml:space="preserve">
<value>Sprawdź ponownie</value>
</data>
<data name="strCheckForUpdatesOnStartup" xml:space="preserve">
<value>Sprawdź aktualizacje i ogłoszenia podczas startu</value>
</data>
<data name="strCheckNow" xml:space="preserve">
<value>Sprawdź teraz</value>
</data>
<data name="strCheckProperInstallationOfComponentsAtStartup" xml:space="preserve">
<value>Sprawdź poprawność zainstalowanych komponentów podczas startu</value>
</data>
<data name="strChoosePanelBeforeConnecting" xml:space="preserve">
<value>Przed połączeniem wybierz panel</value>
</data>
@@ -234,15 +364,54 @@
<data name="strCollapseAllFolders" xml:space="preserve">
<value>Zwiń wszystkie foldery</value>
</data>
<data name="strColumnArguments" xml:space="preserve">
<value>Argumenty</value>
</data>
<data name="strColumnDisplayName" xml:space="preserve">
<value>Nazwa wyświetlana</value>
</data>
<data name="strColumnFilename" xml:space="preserve">
<value>Nazwa pliku</value>
</data>
<data name="strColumnHostnameIP" xml:space="preserve">
<value>Nazwa hosta/IP</value>
</data>
<data name="strColumnMessage" xml:space="preserve">
<value>Wiadomość</value>
</data>
<data name="strColumnUsername" xml:space="preserve">
<value>Użytkownik</value>
</data>
<data name="strColumnWaitForExit" xml:space="preserve">
<value>Czekaj na wyjście</value>
</data>
<data name="strCommandLineArgsCouldNotBeParsed" xml:space="preserve">
<value>Nie można zanalizować argumentów wejściowych!</value>
</data>
<data name="strComponentsCheck" xml:space="preserve">
<value>Sprawdzenie komponentów</value>
</data>
<data name="strConfigPropertyGridButtonIconClickFailed" xml:space="preserve">
<value>btnIcon_Click nie powiodło się!</value>
</data>
<data name="strConfigPropertyGridHideItemsFailed" xml:space="preserve">
<value>ShowHideGridItems nie powiodło się!</value>
</data>
<data name="strConfigPropertyGridMenuClickFailed" xml:space="preserve">
<value>IconMenu_Click nie powiodło się!</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Czy chcesz zamknąć połączenie, "{0}"?</value>
</data>
<data name="strConfirmCloseConnectionPanelMainInstruction" xml:space="preserve">
<value>Czy na pewno chcesz zamknąć panel, "{0}"? Wszystkie połączenia, które zawiera również zostaną zamknięte.</value>
</data>
<data name="strConfirmDeleteExternalTool" xml:space="preserve">
<value>Czy na pewno chcesz usunąć zewnętrzne narzędzie, "{0}"?</value>
</data>
<data name="strConfirmDeleteExternalToolMultiple" xml:space="preserve">
<value>Czy na pewno chcesz usunąć {0} wybranych narzędzi zewnętrznych?</value>
</data>
<data name="strConfirmDeleteNodeConnection" xml:space="preserve">
<value>Czy jesteś pewien, że chcesz usunąć połączenie, "{0}"?</value>
</data>
@@ -267,6 +436,18 @@
<data name="strConnecting" xml:space="preserve">
<value>Łączenie...</value>
</data>
<data name="strConnectionEventConnectedDetail" xml:space="preserve">
<value>Połączenie "{0}" przez "{1}" ustanowione przez użytkownika "{2}" (Opis: "{3}"; Pole użytkownika: {4})</value>
</data>
<data name="strConnectionEventConnectionFailed" xml:space="preserve">
<value>Połączenie nie powiodło się!</value>
</data>
<data name="strConnectionOpenFailed" xml:space="preserve">
<value>Otwarcie połączenia nie powiodło się!</value>
</data>
<data name="strConnectionOpenFailedNoHostname" xml:space="preserve">
<value>Nie można otworzyć połączenia: nie określono nazwy hosta!</value>
</data>
<data name="strConnectionRdpErrorDetail" xml:space="preserve">
<value>Błąd RDP!
Kod błędu: {0}
@@ -275,36 +456,121 @@ Opis błędu: {1}</value>
<data name="strConnections" xml:space="preserve">
<value>Połączenia</value>
</data>
<data name="strConnectionSetDefaultPortFailed" xml:space="preserve">
<value>Nie można ustawić domyślnego portu!</value>
</data>
<data name="strConnectionsFileBackupFailed" xml:space="preserve">
<value>Nie można utworzyć kopii zapasowej pliku połączeń!</value>
</data>
<data name="strConnectionsFileCouldNotBeImported" xml:space="preserve">
<value>Nie można zaimportować pliku połączeń!</value>
</data>
<data name="strConnectionsFileCouldNotBeLoaded" xml:space="preserve">
<value>Nie można załadować pliku połączeń "{0}"!</value>
</data>
<data name="strConnectionsFileCouldNotBeLoadedNew" xml:space="preserve">
<value>Nie można załadować pliku połączeń "{0}"!
Załadowano nowy plik połączeń.</value>
</data>
<data name="strConnectionsFileCouldNotBeSaved" xml:space="preserve">
<value>Nie można zapisać pliku połączeń!</value>
</data>
<data name="strConnectionsFileCouldNotSaveAs" xml:space="preserve">
<value>Nie można zapisać pliku połączeń jako "{0}"!</value>
</data>
<data name="strConnectToConsoleSession" xml:space="preserve">
<value>Połącz się z sesją konsoli</value>
</data>
<data name="strConnectWithOptions" xml:space="preserve">
<value>Połącz (z opcjami)</value>
</data>
<data name="strConnenctionClosedByUser" xml:space="preserve">
<value>Połączenie do {0} za pomocą {1} zostało zamknięte przez użytkownika {2}.</value>
</data>
<data name="strConnenctionClosedByUserDetail" xml:space="preserve">
<value>Połączenie do {0} przez {1} zostało zamknięte przez użytkownika {2}. (Opis: "{3}"; Pole użytkownika: "{4}")</value>
</data>
<data name="strCouldNotCreateNewConnectionsFile" xml:space="preserve">
<value>Nie można utworzyć nowego pliku połączeń!</value>
</data>
<data name="strCurrentVersion" xml:space="preserve">
<value>Zainstalowana wersja</value>
</data>
<data name="strDetect" xml:space="preserve">
<value>Wykryj</value>
</data>
<data name="strDontConnectWhenAuthFails" xml:space="preserve">
<value>Nie łącz, jeśli uwierzytelnianie nie powiedzie się</value>
</data>
<data name="strDoubleClickTabClosesIt" xml:space="preserve">
<value>Dwukrotne kliknięcie na karcie, zamyka ją</value>
</data>
<data name="strDownloadAndInstall" xml:space="preserve">
<value>Ściągnij i zainstaluj</value>
</data>
<data name="strDuplicate" xml:space="preserve">
<value>Duplikuj</value>
</data>
<data name="strEmptyPasswordContinue" xml:space="preserve">
<value>Czy chcesz kontynuować bez hasła?</value>
</data>
<data name="strEmptyUsernamePasswordDomainFields" xml:space="preserve">
<value>Dla pustej nazwy pola użytkownika, hasła lub domeny użyj:</value>
</data>
<data name="strEnc128Bit" xml:space="preserve">
<value>128-bit</value>
</data>
<data name="strEnc128BitLogonOnly" xml:space="preserve">
<value>128-bit (logowanie tylko)</value>
</data>
<data name="strEncBasic" xml:space="preserve">
<value>Podstawowe</value>
</data>
<data name="strEncryptCompleteConnectionFile" xml:space="preserve">
<value>Całkowicie szyfruj plik połączeń</value>
</data>
<data name="strEndIP" xml:space="preserve">
<value>Końcowe IP</value>
</data>
<data name="strEndPort" xml:space="preserve">
<value>Port końcowy</value>
</data>
<data name="strErrorBadDatabaseVersion" xml:space="preserve">
<value>Wersja bazy danych {0} nie jest zgodna z wersją {1}.</value>
</data>
<data name="strErrorCode" xml:space="preserve">
<value>Kod błędu {0}.</value>
</data>
<data name="strErrorConnectionListSaveFailed" xml:space="preserve">
<value>Nie można zapisać listy połączeń.</value>
</data>
<data name="strErrorDecryptionFailed" xml:space="preserve">
<value>Odszyfrowywanie nie powiodło się. {0}</value>
</data>
<data name="strErrorEncryptionFailed" xml:space="preserve">
<value>Odszyfrowywanie nie powiodło się. {0}</value>
</data>
<data name="strErrors" xml:space="preserve">
<value>Błędy</value>
</data>
<data name="strErrorVerifyDatabaseVersionFailed" xml:space="preserve">
<value>VerifyDatabaseVersion (Config.Connections.Save) nie powiodło się. {0}</value>
</data>
<data name="strExpandAllFolders" xml:space="preserve">
<value>Rozwiń wszystkie foldery</value>
</data>
<data name="strExperimental" xml:space="preserve">
<value>Eksperymentalny</value>
</data>
<data name="strExport" xml:space="preserve">
<value>Eksport</value>
</data>
<data name="strExportmRemoteXML" xml:space="preserve">
<value>Eksport mRemote/mRemoteNG XML</value>
</data>
<data name="strExtApp" xml:space="preserve">
<value>Aplikacja wew.</value>
</data>
<data name="strFAMFAMFAMAttribution" xml:space="preserve">
<value>Zawiera ikony ze strony [FAMFAMFAM]</value>
</data>
@@ -326,6 +592,9 @@ Opis błędu: {1}</value>
<data name="strFiltervRD2008CSV" xml:space="preserve">
<value>Pliki CSV visionapp Remote Desktop 2008 (*.csv)</value>
</data>
<data name="strFormatInherit" xml:space="preserve">
<value>Dziedzicz {0}</value>
</data>
<data name="strFree" xml:space="preserve">
<value>Wolne</value>
</data>
@@ -335,21 +604,57 @@ Opis błędu: {1}</value>
<data name="strGeneral" xml:space="preserve">
<value>Ogólne</value>
</data>
<data name="strGetConnectionInfoFromSqlFailed" xml:space="preserve">
<value>Uzyskanie informacji na temat połączenia z SQL nie powiodło się</value>
</data>
<data name="strGetConnectionInfoFromXmlFailed" xml:space="preserve">
<value>Wystąpił błąd podczas ładowania wpisu połączenia dla "{0}" z "{1}". {2}</value>
</data>
<data name="strGroupboxAutomaticReconnect" xml:space="preserve">
<value>Połącz automatycznie</value>
</data>
<data name="strGroupboxConnection" xml:space="preserve">
<value>Połączenie</value>
</data>
<data name="strGroupboxExternalToolProperties" xml:space="preserve">
<value>Właściwości zewnętrznego narzędzia</value>
</data>
<data name="strGroupboxFiles" xml:space="preserve">
<value>Pliki</value>
</data>
<data name="strHost" xml:space="preserve">
<value>Host</value>
</data>
<data name="strHttpConnectFailed" xml:space="preserve">
<value>Błąd połączenia HTTP!</value>
</data>
<data name="strHttpConnectionFailed" xml:space="preserve">
<value>Nie można utworzyć nowego połączenia HTTP!</value>
</data>
<data name="strIcaConnectionFailed" xml:space="preserve">
<value>Nie można utworzyć nowego połączenia ICA!</value>
</data>
<data name="strIcaControlFailed" xml:space="preserve">
<value>Ładowanie pluginu ICA nie powiodło się!</value>
</data>
<data name="strIcaSetCredentialsFailed" xml:space="preserve">
<value>ICA SetCredentials nie powiodło się!</value>
</data>
<data name="strImportAD" xml:space="preserve">
<value>Importów z Active Directory</value>
</data>
<data name="strImportExport" xml:space="preserve">
<value>Importuj/Eksportuj</value>
</data>
<data name="strImportmRemoteXML" xml:space="preserve">
<value>Import mRemote/mRemoteNG XML</value>
</data>
<data name="strImportPortScan" xml:space="preserve">
<value>Import z Port Scan</value>
</data>
<data name="strImportRDPFiles" xml:space="preserve">
<value>Import z plików .RDP</value>
</data>
<data name="strInactive" xml:space="preserve">
<value>Bezczynny</value>
</data>
@@ -362,6 +667,18 @@ Opis błędu: {1}</value>
<data name="strIntAppConnectionFailed" xml:space="preserve">
<value>Połączenie nieudane</value>
</data>
<data name="strKeysCtrlAltDel" xml:space="preserve">
<value>CTRL-ALT-DEL</value>
</data>
<data name="strKeysCtrlEsc" xml:space="preserve">
<value>CTRL-ESC</value>
</data>
<data name="strLabelAddress" xml:space="preserve">
<value>Adres:</value>
</data>
<data name="strLabelArguments" xml:space="preserve">
<value>Argumenty:</value>
</data>
<data name="strLabelChangeLog" xml:space="preserve">
<value>Historia wersji:</value>
</data>
@@ -377,21 +694,33 @@ Opis błędu: {1}</value>
<data name="strLabelFilename" xml:space="preserve">
<value>Nazwa pliku:</value>
</data>
<data name="strLabelHostname" xml:space="preserve">
<value>Nazwa hosta:</value>
</data>
<data name="strLabelOptions" xml:space="preserve">
<value>Opcje:</value>
</data>
<data name="strLabelPassword" xml:space="preserve">
<value>Hasło:</value>
</data>
<data name="strLabelPort" xml:space="preserve">
<value>Nr portu:</value>
</data>
<data name="strLabelPortableEdition" xml:space="preserve">
<value>Wersja przenośna.</value>
</data>
<data name="strLabelProtocol" xml:space="preserve">
<value>Protokół</value>
</data>
<data name="strLabelPuttySessionsConfig" xml:space="preserve">
<value>Aby skonfigurować sesje PuTTY kliknij ten przycisk:</value>
</data>
<data name="strLabelReleasedUnderGPL" xml:space="preserve">
<value>Wydane na licencji GNU General Public License (GPL)</value>
</data>
<data name="strLabelSeconds" xml:space="preserve">
<value>sekund</value>
</data>
<data name="strLabelServerStatus" xml:space="preserve">
<value>Status serwera:</value>
</data>
@@ -413,18 +742,39 @@ Opis błędu: {1}</value>
<data name="strLanguageDefault" xml:space="preserve">
<value>(Wykryj automatycznie)</value>
</data>
<data name="strLoadFromSqlFailed" xml:space="preserve">
<value>Import z SQL nie powiódł się!</value>
</data>
<data name="strLoadFromXmlFailed" xml:space="preserve">
<value>Import z XML nie powiódł się!</value>
</data>
<data name="strLocalFile" xml:space="preserve">
<value>Plik lokalny</value>
</data>
<data name="strLocalFileDoesNotExist" xml:space="preserve">
<value>Plik lokalny nie istnieje!</value>
</data>
<data name="strLogOff" xml:space="preserve">
<value>Wyloguj</value>
</data>
<data name="strLogWriteToFileFailed" xml:space="preserve">
<value>Zapis raportu nie powiódł się!</value>
</data>
<data name="strLogWriteToFileFinalLocationFailed" xml:space="preserve">
<value>Nie można zapisać raportu do docelowej lokalizacji.</value>
</data>
<data name="strMagicLibraryAttribution" xml:space="preserve">
<value>Program korzysta z bibliotek "Magic library" [Crownwood Software]</value>
</data>
<data name="strMenuAbout" xml:space="preserve">
<value>O programie</value>
</data>
<data name="strMenuAddConnectionPanel" xml:space="preserve">
<value>Dodaj panel połączenia</value>
</data>
<data name="strMenuAnnouncements" xml:space="preserve">
<value>Powiadomienia</value>
</data>
<data name="strMenuCheckForUpdates" xml:space="preserve">
<value>Sprawdź aktualizacje</value>
</data>
@@ -446,12 +796,21 @@ Opis błędu: {1}</value>
<data name="strMenuCopy" xml:space="preserve">
<value>Kopiuj</value>
</data>
<data name="strMenuCtrlAltDel" xml:space="preserve">
<value>Ctrl-Alt-Del</value>
</data>
<data name="strMenuCtrlEsc" xml:space="preserve">
<value>Ctrl-Esc</value>
</data>
<data name="strMenuDelete" xml:space="preserve">
<value>Usuń...</value>
</data>
<data name="strMenuDeleteConnection" xml:space="preserve">
<value>Usuń połączenie...</value>
</data>
<data name="strMenuDeleteExternalTool" xml:space="preserve">
<value>Skazuj zewnętrzne narzędzie...</value>
</data>
<data name="strMenuDeleteFolder" xml:space="preserve">
<value>Usuń folder...</value>
</data>
@@ -500,6 +859,21 @@ Opis błędu: {1}</value>
<data name="strMenuJumpTo" xml:space="preserve">
<value>Idz do</value>
</data>
<data name="strMenuLaunchExternalTool" xml:space="preserve">
<value>Uruchom zewnętrzne narzędzie</value>
</data>
<data name="strMenuNewConnectionFile" xml:space="preserve">
<value>Nowy plik połączenia</value>
</data>
<data name="strMenuNewExternalTool" xml:space="preserve">
<value>Nowe zewnętrzne zewnętrzne</value>
</data>
<data name="strMenuNotifications" xml:space="preserve">
<value>Powiadomienia</value>
</data>
<data name="strMenuOpenConnectionFile" xml:space="preserve">
<value>Otwórz plik połączenia...</value>
</data>
<data name="strMenuOptions" xml:space="preserve">
<value>Opcje</value>
</data>
@@ -509,6 +883,15 @@ Opis błędu: {1}</value>
<data name="strMenuPortScan" xml:space="preserve">
<value>Skaner portów</value>
</data>
<data name="strMenuQuickConnectToolbar" xml:space="preserve">
<value>Pasek szybkiego połączenia</value>
</data>
<data name="strMenuReconnect" xml:space="preserve">
<value>Połącz ponownie</value>
</data>
<data name="strMenuRefreshScreen" xml:space="preserve">
<value>Odśwież ekran (VNC)</value>
</data>
<data name="strMenuRename" xml:space="preserve">
<value>Zmień nazwę</value>
</data>
@@ -518,6 +901,12 @@ Opis błędu: {1}</value>
<data name="strMenuRenameFolder" xml:space="preserve">
<value>Zmień nazwę folderu</value>
</data>
<data name="strMenuRenameTab" xml:space="preserve">
<value>Zmień nazwę zakładki</value>
</data>
<data name="strMenuReportBug" xml:space="preserve">
<value>Zaraportuj błąd</value>
</data>
<data name="strMenuSaveConnectionFile" xml:space="preserve">
<value>Zapisz plik połączeń</value>
</data>
@@ -530,6 +919,9 @@ Opis błędu: {1}</value>
<data name="strMenuScreenshotManager" xml:space="preserve">
<value>Menager zrzutów ekranów</value>
</data>
<data name="strMenuSendSpecialKeys" xml:space="preserve">
<value>Wyślij specjalne klawisze (VNC)</value>
</data>
<data name="strMenuSessions" xml:space="preserve">
<value>Sesje</value>
</data>
@@ -551,6 +943,9 @@ Opis błędu: {1}</value>
<data name="strMenuTools" xml:space="preserve">
<value>&amp;Narzędzia</value>
</data>
<data name="strMenuTransferFile" xml:space="preserve">
<value>Transfer pliku (SSH)</value>
</data>
<data name="strMenuView" xml:space="preserve">
<value>&amp;Widok</value>
</data>
@@ -587,6 +982,15 @@ Opis błędu: {1}</value>
<data name="strNoCompression" xml:space="preserve">
<value>Bez kompresji</value>
</data>
<data name="strNoInformation" xml:space="preserve">
<value>Żaden</value>
</data>
<data name="strNone" xml:space="preserve">
<value>Żaden</value>
</data>
<data name="strNormal" xml:space="preserve">
<value>W normie</value>
</data>
<data name="strNoUpdateAvailable" xml:space="preserve">
<value>Brak aktualizacji</value>
</data>
@@ -596,15 +1000,30 @@ Opis błędu: {1}</value>
<data name="strPanelName" xml:space="preserve">
<value>Nazwa panelu</value>
</data>
<data name="strPleaseFillAllFields" xml:space="preserve">
<value>Wypełnij wszystkie pola</value>
</data>
<data name="strPortScanCouldNotLoadPanel" xml:space="preserve">
<value>Nie można załadować panelu skanowania portów!</value>
</data>
<data name="strPropertyDescriptionDomain" xml:space="preserve">
<value>Podaj domenę.</value>
</data>
<data name="strPropertyDescriptionUsername" xml:space="preserve">
<value>Nazwa użytkownika.</value>
</data>
<data name="strPropertyNameAddress" xml:space="preserve">
<value>Nazwa hosta/IP</value>
</data>
<data name="strPropertyNameAll" xml:space="preserve">
<value>Wszystkie</value>
</data>
<data name="strPropertyNameAuthenticationLevel" xml:space="preserve">
<value>Autentykacja serwera</value>
</data>
<data name="strPropertyNameAuthenticationMode" xml:space="preserve">
<value>Tryb autentykacji</value>
</data>
<data name="strPropertyNameColors" xml:space="preserve">
<value>Kolory</value>
</data>
@@ -629,6 +1048,12 @@ Opis błędu: {1}</value>
<data name="strPropertyNameEncoding" xml:space="preserve">
<value>Kodowanie</value>
</data>
<data name="strPropertyNameEncryptionStrength" xml:space="preserve">
<value>Siła szyfrowania</value>
</data>
<data name="strPropertyNameExternalTool" xml:space="preserve">
<value>Zewnętrzne narzędzie</value>
</data>
<data name="strPropertyNameIcon" xml:space="preserve">
<value>Ikona</value>
</data>
@@ -638,9 +1063,15 @@ Opis błędu: {1}</value>
<data name="strPropertyNameName" xml:space="preserve">
<value>Nazwa</value>
</data>
<data name="strPropertyNamePanel" xml:space="preserve">
<value>Panel</value>
</data>
<data name="strPropertyNamePassword" xml:space="preserve">
<value>Hasło</value>
</data>
<data name="strPropertyNamePort" xml:space="preserve">
<value>Port</value>
</data>
<data name="strPropertyNameProtocol" xml:space="preserve">
<value>Protokół</value>
</data>
@@ -668,6 +1099,12 @@ Opis błędu: {1}</value>
<data name="strPropertyNameResolution" xml:space="preserve">
<value>Rozdzielczość</value>
</data>
<data name="strPropertyNameUseConsoleSession" xml:space="preserve">
<value>Użyj konsoli sesji</value>
</data>
<data name="strPropertyNameUser1" xml:space="preserve">
<value>Pole użytkownika</value>
</data>
<data name="strPropertyNameUsername" xml:space="preserve">
<value>Użytkownik</value>
</data>
@@ -734,6 +1171,15 @@ Opis błędu: {1}</value>
<data name="strRDPDisableWallpaper" xml:space="preserve">
<value>Wyłącz tapetę</value>
</data>
<data name="strRdpErrorCode1" xml:space="preserve">
<value>Wewnętrzny kod błędu 1.</value>
</data>
<data name="strRdpErrorCode2" xml:space="preserve">
<value>Wewnętrzny kod błędu 2.</value>
</data>
<data name="strRdpErrorCode4" xml:space="preserve">
<value>Wewnętrzny kod błędu 4.</value>
</data>
<data name="strRDPSmartSize" xml:space="preserve">
<value>Mądry rozmiar</value>
</data>

View File

@@ -150,6 +150,9 @@
<data name="strAlwaysShowPanelSelection" xml:space="preserve">
<value>Mostrar sempre a caixa de diálogo de seleção do painel ao abrir ligações</value>
</data>
<data name="strAlwaysShowPanelTabs" xml:space="preserve">
<value>Sempre Mostrar painel abas</value>
</data>
<data name="strAlwaysShowSysTrayIcon" xml:space="preserve">
<value>Mostrar sempre o ícone da área de notificação</value>
</data>
@@ -420,9 +423,6 @@
<data name="strConfigUiLoadFailed" xml:space="preserve">
<value>Config UI carregamento falhado!</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>Confira o fecho de ligações ativas</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Pretende fechar a ligação, "{0}"?</value>
</data>
@@ -444,9 +444,6 @@
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
<value>Tem certeza que deseja excluir a pasta, "{0}"? Pastas ou ligações que ele contém também serão excluídas.</value>
</data>
<data name="strConfirmExit" xml:space="preserve">
<value>Confirmar saída se houver ligações abertas</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>Pretende fechar todas as ligações abertas?</value>
</data>
@@ -530,9 +527,15 @@ Descrição do erro: {1}</value>
<data name="strCouldNotCreateNewConnectionsFile" xml:space="preserve">
<value>Impossível criar novo arquivo de ligações!</value>
</data>
<data name="strCouldNotFindToolStripInFilteredPropertyGrid" xml:space="preserve">
<value>Não foi possível encontrar o controlo ToolStrip em FilteredPropertyGrid.</value>
</data>
<data name="strCurrentVersion" xml:space="preserve">
<value>Versão instalada</value>
</data>
<data name="strDefaultTheme" xml:space="preserve">
<value>Tema padrão</value>
</data>
<data name="strDetect" xml:space="preserve">
<value>Detetar</value>
</data>
@@ -687,7 +690,7 @@ Descrição do erro: {1}</value>
<value>Impossível criar nova ligação HTTP!</value>
</data>
<data name="strHttpDocumentTileChangeFailed" xml:space="preserve">
<value>Telha de alteração de documento HTTP falhou!</value>
<value>Alteração da aba HTTP falhou!</value>
</data>
<data name="strHttpSetPropsFailed" xml:space="preserve">
<value>Falhou configuração de props HTTP!</value>
@@ -710,6 +713,9 @@ Descrição do erro: {1}</value>
<data name="strIcaSetResolutionFailed" xml:space="preserve">
<value>Configuração de resolução ICA falhou!</value>
</data>
<data name="strIdentifyQuickConnectTabs" xml:space="preserve">
<value>Identificar guias de ligação rápida, adicionando o prefixo "rápido:"</value>
</data>
<data name="strImportAD" xml:space="preserve">
<value>Importar do Active Directory</value>
</data>
@@ -776,6 +782,9 @@ Descrição do erro: {1}</value>
<data name="strLabelChangeLog" xml:space="preserve">
<value>Log de alterações:</value>
</data>
<data name="strLabelClosingConnections" xml:space="preserve">
<value>Ao fechar ligações:</value>
</data>
<data name="strLabelConnect" xml:space="preserve">
<value>&amp;Ligar:</value>
</data>
@@ -974,6 +983,15 @@ Descrição do erro: {1}</value>
<data name="strMenuNotifications" xml:space="preserve">
<value>Notificações</value>
</data>
<data name="strMenuNotificationsCopyAll" xml:space="preserve">
<value>Copie todos</value>
</data>
<data name="strMenuNotificationsDelete" xml:space="preserve">
<value>Excluir</value>
</data>
<data name="strMenuNotificationsDeleteAll" xml:space="preserve">
<value>Apagar tudo</value>
</data>
<data name="strMenuOpenConnectionFile" xml:space="preserve">
<value>Abrir arquivo de ligações...</value>
</data>
@@ -1127,6 +1145,15 @@ Descrição do erro: {1}</value>
<data name="strOpenPorts" xml:space="preserve">
<value>Portas abertas</value>
</data>
<data name="strOptionsTabTheme" xml:space="preserve">
<value>Tema</value>
</data>
<data name="strOptionsThemeButtonDelete" xml:space="preserve">
<value>&amp;Excluir</value>
</data>
<data name="strOptionsThemeButtonNew" xml:space="preserve">
<value>&amp;Novo</value>
</data>
<data name="strPanelName" xml:space="preserve">
<value>Nome do painel</value>
</data>
@@ -1265,6 +1292,9 @@ Descrição do erro: {1}</value>
<data name="strPropertyDescriptionUseConsoleSession" xml:space="preserve">
<value>ligar-se à sessão consola do host remoto.</value>
</data>
<data name="strPropertyDescriptionUseCredSsp" xml:space="preserve">
<value>Use o Credential Security Support Provider (CredSSP) para autenticação, se ele estiver disponível.</value>
</data>
<data name="strPropertyDescriptionUser1" xml:space="preserve">
<value>Insira qualquer informação que necessite aqui.</value>
</data>
@@ -1415,6 +1445,9 @@ Descrição do erro: {1}</value>
<data name="strPropertyNameUseConsoleSession" xml:space="preserve">
<value>Use a sessão de Consola</value>
</data>
<data name="strPropertyNameUseCredSsp" xml:space="preserve">
<value>Utilize o CredSSP</value>
</data>
<data name="strPropertyNameUser1" xml:space="preserve">
<value>Campo de utilizador</value>
</data>
@@ -1508,6 +1541,18 @@ Descrição do erro: {1}</value>
<data name="strQuickConnectHistoryExistsFailed" xml:space="preserve">
<value>Histórico de Ligação rápida falhou!</value>
</data>
<data name="strRadioCloseWarnAll" xml:space="preserve">
<value>&amp;Avisar-me quando fechar ligações</value>
</data>
<data name="strRadioCloseWarnExit" xml:space="preserve">
<value>Avisar-me apenas ao &amp;sair do mRemoteNG</value>
</data>
<data name="strRadioCloseWarnMultiple" xml:space="preserve">
<value>Avisar-me somente ao fechar ligações múltiplas</value>
</data>
<data name="strRadioCloseWarnNever" xml:space="preserve">
<value>&amp;Não avisar ao fechar ligações</value>
</data>
<data name="strRAW" xml:space="preserve">
<value>RAW</value>
</data>
@@ -1724,6 +1769,9 @@ Descrição do erro: {1}</value>
<data name="strScreenshots" xml:space="preserve">
<value>Imagens do ecrã</value>
</data>
<data name="strSearchPrompt" xml:space="preserve">
<value>Pesquisa</value>
</data>
<data name="strSendTo" xml:space="preserve">
<value>Enviar para...</value>
</data>
@@ -1844,6 +1892,93 @@ Descrição do erro: {1}</value>
<data name="strTheFollowing" xml:space="preserve">
<value>A seguir:</value>
</data>
<data name="strThemeCategoryConfigPanel" xml:space="preserve">
<value>Painel de configuração</value>
</data>
<data name="strThemeCategoryConnectionsPanel" xml:space="preserve">
<value>Painel de ligações</value>
</data>
<data name="strThemeCategoryGeneral" xml:space="preserve">
<value>Geral</value>
</data>
<data name="strThemeDescriptionConfigPanelBackgroundColor" xml:space="preserve">
<value>A cor de fundo do painel de configuração.</value>
</data>
<data name="strThemeDescriptionConfigPanelCategoryTextColor" xml:space="preserve">
<value>A cor do texto no painel de configuração de categoria.</value>
</data>
<data name="strThemeDescriptionConfigPanelGridLineColor" xml:space="preserve">
<value>A cor das linhas de grade do painel de configuração</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>A cor de fundo da área de ajuda do painel de configuração.</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpTextColor" xml:space="preserve">
<value>A cor do texto na área de ajuda do painel de configuração.</value>
</data>
<data name="strThemeDescriptionConfigPanelTextColor" xml:space="preserve">
<value>A cor do texto no painel de configuração.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelBackgroundColor" xml:space="preserve">
<value>A cor de fundo do painel de ligações.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTextColor" xml:space="preserve">
<value>A cor do texto no painel de ligações.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTreeLineColor" xml:space="preserve">
<value>A cor das linhas de árvore no painel de ligações.</value>
</data>
<data name="strThemeDescriptionMenuBackgroundColor" xml:space="preserve">
<value>A cor de fundo dos menus.</value>
</data>
<data name="strThemeDescriptionMenuTextColor" xml:space="preserve">
<value>A cor do texto nos menus.</value>
</data>
<data name="strThemeDescriptionSearchBoxBackgroundColor" xml:space="preserve">
<value>A cor de fundo da caixa de pesquisa.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextColor" xml:space="preserve">
<value>A cor do texto na caixa de pesquisa.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextPromptColor" xml:space="preserve">
<value>A cor do texto na caixa de pesquisa rápida.</value>
</data>
<data name="strThemeDescriptionToolbarBackgroundColor" xml:space="preserve">
<value>A cor de fundo das barras de ferramentas.</value>
</data>
<data name="strThemeDescriptionToolbarTextColor" xml:space="preserve">
<value>A cor do texto em barras de ferramentas.</value>
</data>
<data name="strThemeDescriptionWindowBackgroundColor" xml:space="preserve">
<value>A cor de fundo da janela principal.</value>
</data>
<data name="strThemeNameConfigPanelBackgroundColor" xml:space="preserve">
<value>Cor de fundo do painel de configuração</value>
</data>
<data name="strThemeNameConfigPanelCategoryTextColor" xml:space="preserve">
<value>Cor do texto da categoria do Painel de configuração</value>
</data>
<data name="strThemeNameConfigPanelGridLineColor" xml:space="preserve">
<value>Cor de linha de grade do painel de configuração</value>
</data>
<data name="strThemeNameConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>Cor de fundo do painel de configuração ajuda</value>
</data>
<data name="strThemeNameConfigPanelHelpTextColor" xml:space="preserve">
<value>Cor do texto do painel de configuração ajuda</value>
</data>
<data name="strThemeNameConfigPanelTextColor" xml:space="preserve">
<value>Cor do texto do painel de configuração</value>
</data>
<data name="strThemeNameConnectionsPanelBackgroundColor" xml:space="preserve">
<value>Cor de fundo de painel de ligações</value>
</data>
<data name="strThemeNameConnectionsPanelTextColor" xml:space="preserve">
<value>Cor de texto de painel de ligações</value>
</data>
<data name="strThemeNameConnectionsPanelTreeLineColor" xml:space="preserve">
<value>Cor linha da da árvore do painel de ligações</value>
</data>
<data name="strTitleError" xml:space="preserve">
<value>Erro ({0})</value>
</data>
@@ -1880,6 +2015,9 @@ Descrição do erro: {1}</value>
<data name="strUncheckProperties" xml:space="preserve">
<value>Desmarcar as propriedades que não deseja salvar!</value>
</data>
<data name="strUnnamedTheme" xml:space="preserve">
<value>Tema sem nome</value>
</data>
<data name="strUpdateAvailable" xml:space="preserve">
<value>mRemoteNG requer uma atualização</value>
</data>
@@ -1931,6 +2069,9 @@ Descrição do erro: {1}</value>
<data name="strUser" xml:space="preserve">
<value>Utilizador</value>
</data>
<data name="strUseSameUsernameAndPassword" xml:space="preserve">
<value>Use o mesmo nome de utilizador e senha</value>
</data>
<data name="strUseSmartCard" xml:space="preserve">
<value>Usar um smart card</value>
</data>

View File

@@ -438,9 +438,6 @@ VncSharpNG Control Version {0}</value>
<data name="strConfigUiLoadFailed" xml:space="preserve">
<value>Config UI load failed!</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>Confirm closing connection tabs</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Do you want to close the connection, "{0}"?</value>
</data>
@@ -462,9 +459,6 @@ VncSharpNG Control Version {0}</value>
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
<value>Are you sure you want to delete the folder, "{0}"? Any folders or connections that it contains will also be deleted.</value>
</data>
<data name="strConfirmExit" xml:space="preserve">
<value>Confirm exit if there are open connections</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>Do you want to close all open connections?</value>
</data>
@@ -722,7 +716,7 @@ See the Microsoft Support article at http://support.microsoft.com/kb/811833 for
<value>Couldn't create new HTTP Connection!</value>
</data>
<data name="strHttpDocumentTileChangeFailed" xml:space="preserve">
<value>Changeing HTTP Document Tile Failed!</value>
<value>Changing HTTP Document Tile Failed!</value>
</data>
<data name="strHttpGecko" xml:space="preserve">
<value>Gecko (Firefox)</value>
@@ -2061,4 +2055,166 @@ mRemoteNG will now quit and begin with the installation.</value>
<data name="strAlwaysShowPanelTabs" xml:space="preserve">
<value>Always show panel tabs</value>
</data>
<data name="strIdentifyQuickConnectTabs" xml:space="preserve">
<value>Identify quick connect tabs by adding the prefix "Quick:"</value>
</data>
<data name="strSearchPrompt" xml:space="preserve">
<value>Search</value>
</data>
<data name="strMenuNotificationsCopyAll" xml:space="preserve">
<value>Copy All</value>
</data>
<data name="strMenuNotificationsDelete" xml:space="preserve">
<value>Delete</value>
</data>
<data name="strMenuNotificationsDeleteAll" xml:space="preserve">
<value>Delete All</value>
</data>
<data name="strLabelClosingConnections" xml:space="preserve">
<value>When closing connections:</value>
</data>
<data name="strRadioCloseWarnAll" xml:space="preserve">
<value>&amp;Warn me when closing connections</value>
</data>
<data name="strRadioCloseWarnExit" xml:space="preserve">
<value>Warn me only when e&amp;xiting mRemoteNG</value>
</data>
<data name="strRadioCloseWarnMultiple" xml:space="preserve">
<value>Warn me only when closing &amp;multiple connections</value>
</data>
<data name="strRadioCloseWarnNever" xml:space="preserve">
<value>Do &amp;not warn me when closing connections</value>
</data>
<data name="strThemeCategoryGeneral" xml:space="preserve">
<value>General</value>
</data>
<data name="strThemeCategoryConfigPanel" xml:space="preserve">
<value>Config Panel</value>
</data>
<data name="strThemeCategoryConnectionsPanel" xml:space="preserve">
<value>Connections Panel</value>
</data>
<data name="strDefaultTheme" xml:space="preserve">
<value>Default Theme</value>
</data>
<data name="strOptionsTabTheme" xml:space="preserve">
<value>Theme</value>
</data>
<data name="strOptionsThemeButtonDelete" xml:space="preserve">
<value>&amp;Delete</value>
</data>
<data name="strOptionsThemeButtonNew" xml:space="preserve">
<value>&amp;New</value>
</data>
<data name="strUnnamedTheme" xml:space="preserve">
<value>Unnamed Theme</value>
</data>
<data name="strThemeDescriptionConfigPanelBackgroundColor" xml:space="preserve">
<value>The background colour of the config panel.</value>
</data>
<data name="strThemeDescriptionConfigPanelCategoryTextColor" xml:space="preserve">
<value>The colour of the category text in the config panel.</value>
</data>
<data name="strThemeDescriptionConfigPanelGridLineColor" xml:space="preserve">
<value>The colour of the grid lines in the config panel</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>The background colour of the help area of the config panel.</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpTextColor" xml:space="preserve">
<value>The colour of the text in the help area of the config panel.</value>
</data>
<data name="strThemeDescriptionConfigPanelTextColor" xml:space="preserve">
<value>The colour of the text in the config panel.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelBackgroundColor" xml:space="preserve">
<value>The background colour of the connections panel.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTextColor" xml:space="preserve">
<value>The colour of the text in the connections panel.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTreeLineColor" xml:space="preserve">
<value>The colour of the tree lines in the connections panel.</value>
</data>
<data name="strThemeDescriptionMenuBackgroundColor" xml:space="preserve">
<value>The background colour of the menus.</value>
</data>
<data name="strThemeDescriptionMenuTextColor" xml:space="preserve">
<value>The colour of the text in the menus.</value>
</data>
<data name="strThemeDescriptionSearchBoxBackgroundColor" xml:space="preserve">
<value>The background colour of the search box.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextColor" xml:space="preserve">
<value>The colour of the text in the search box.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextPromptColor" xml:space="preserve">
<value>The colour of the prompt text in the search box.</value>
</data>
<data name="strThemeDescriptionToolbarBackgroundColor" xml:space="preserve">
<value>The background colour of the toolbars.</value>
</data>
<data name="strThemeDescriptionToolbarTextColor" xml:space="preserve">
<value>The colour of the text in the toolbars.</value>
</data>
<data name="strThemeDescriptionWindowBackgroundColor" xml:space="preserve">
<value>The background colour of the main window.</value>
</data>
<data name="strThemeNameConfigPanelBackgroundColor" xml:space="preserve">
<value>Config Panel Background Colour</value>
</data>
<data name="strThemeNameConfigPanelCategoryTextColor" xml:space="preserve">
<value>Config Panel Category Text Colour</value>
</data>
<data name="strThemeNameConfigPanelGridLineColor" xml:space="preserve">
<value>Config Panel Grid Line Colour</value>
</data>
<data name="strThemeNameConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>Config Panel Help Background Colour</value>
</data>
<data name="strThemeNameConfigPanelHelpTextColor" xml:space="preserve">
<value>Config Panel Help Text Colour</value>
</data>
<data name="strThemeNameConfigPanelTextColor" xml:space="preserve">
<value>Config Panel Text Colour</value>
</data>
<data name="strThemeNameConnectionsPanelBackgroundColor" xml:space="preserve">
<value>Connections Panel Background Colour</value>
</data>
<data name="strThemeNameConnectionsPanelTextColor" xml:space="preserve">
<value>Connections Panel Text Colour</value>
</data>
<data name="strThemeNameConnectionsPanelTreeLineColor" xml:space="preserve">
<value>Connections Panel Tree Line Colour</value>
</data>
<data name="strThemeNameMenuBackgroundColor" xml:space="preserve">
<value>Menu Background Colour</value>
</data>
<data name="strThemeNameMenuTextColor" xml:space="preserve">
<value>Menu Text Colour</value>
</data>
<data name="strThemeNameSearchBoxBackgroundColor" xml:space="preserve">
<value>Search Box Background Colour</value>
</data>
<data name="strThemeNameSearchBoxTextColor" xml:space="preserve">
<value>Search Box Text Colour</value>
</data>
<data name="strThemeNameSearchBoxTextPromptColor" xml:space="preserve">
<value>Search Box Text Prompt Colour</value>
</data>
<data name="strThemeNameToolbarBackgroundColor" xml:space="preserve">
<value>Toolbar Background Colour</value>
</data>
<data name="strThemeNameToolbarTextColor" xml:space="preserve">
<value>Toolbar Text Colour</value>
</data>
<data name="strThemeNameWindowBackgroundColor" xml:space="preserve">
<value>Window Background Colour</value>
</data>
<data name="strMenuShowHelpText" xml:space="preserve">
<value>&amp;Show Help Text</value>
</data>
<data name="strPuttySavedSessionsRootName" xml:space="preserve">
<value>PuTTY Saved Sessions</value>
</data>
</root>

View File

@@ -150,6 +150,9 @@
<data name="strAlwaysShowPanelSelection" xml:space="preserve">
<value>Всегда показывать диалог выбора панели при открытии подключения</value>
</data>
<data name="strAlwaysShowPanelTabs" xml:space="preserve">
<value>Всегда показывать панель закладок</value>
</data>
<data name="strAlwaysShowSysTrayIcon" xml:space="preserve">
<value>Всегда показывать значок в системном трее</value>
</data>
@@ -438,9 +441,6 @@
<data name="strConfigUiLoadFailed" xml:space="preserve">
<value>Ошибка загрузки Config UI!</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>Запрашивать подтверждение при закрытии вкладки подключения</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Хотите закрыть подключение, "{0}"?</value>
</data>
@@ -462,9 +462,6 @@
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
<value>Хотите удалить папку "{0}"? Любые папки или подключения, которые она содержит также будут удалены.</value>
</data>
<data name="strConfirmExit" xml:space="preserve">
<value>Подтверждение при выходе, если есть открытые подключения</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>Хотите закрыть все открытые подключения?</value>
</data>
@@ -549,9 +546,15 @@
<data name="strCouldNotCreateNewConnectionsFile" xml:space="preserve">
<value>Не удается создать новый файл подключений!</value>
</data>
<data name="strCouldNotFindToolStripInFilteredPropertyGrid" xml:space="preserve">
<value>Не удалось найти элемент управления ToolStrip в FilteredPropertyGrid.</value>
</data>
<data name="strCurrentVersion" xml:space="preserve">
<value>Установленная версия</value>
</data>
<data name="strDefaultTheme" xml:space="preserve">
<value>Тема по умолчанию</value>
</data>
<data name="strDetect" xml:space="preserve">
<value>Обнаружение</value>
</data>
@@ -739,6 +742,9 @@
<data name="strIcaSetResolutionFailed" xml:space="preserve">
<value>Ошибка установки разрешений ICA!</value>
</data>
<data name="strIdentifyQuickConnectTabs" xml:space="preserve">
<value>Определить вкладки быстрых подключений, добавляя префикс «Quick:»</value>
</data>
<data name="strImportAD" xml:space="preserve">
<value>Импорт из Active Directory</value>
</data>
@@ -805,6 +811,9 @@
<data name="strLabelChangeLog" xml:space="preserve">
<value>История версий:</value>
</data>
<data name="strLabelClosingConnections" xml:space="preserve">
<value>При закрытии подключений:</value>
</data>
<data name="strLabelConnect" xml:space="preserve">
<value>&amp;Подключение:</value>
</data>
@@ -1003,6 +1012,15 @@
<data name="strMenuNotifications" xml:space="preserve">
<value>Уведомления</value>
</data>
<data name="strMenuNotificationsCopyAll" xml:space="preserve">
<value>Скопировать все</value>
</data>
<data name="strMenuNotificationsDelete" xml:space="preserve">
<value>Удалить</value>
</data>
<data name="strMenuNotificationsDeleteAll" xml:space="preserve">
<value>Удалить все</value>
</data>
<data name="strMenuOpenConnectionFile" xml:space="preserve">
<value>Открыть файл подключения...</value>
</data>
@@ -1063,6 +1081,9 @@
<data name="strMenuSessionsAndScreenshots" xml:space="preserve">
<value>Сессии и скриншоты</value>
</data>
<data name="strMenuShowHelpText" xml:space="preserve">
<value>Показать текст справки</value>
</data>
<data name="strMenuShowText" xml:space="preserve">
<value>Показать текст</value>
</data>
@@ -1157,6 +1178,15 @@
<data name="strOpenPorts" xml:space="preserve">
<value>Открытые порты</value>
</data>
<data name="strOptionsTabTheme" xml:space="preserve">
<value>Тема</value>
</data>
<data name="strOptionsThemeButtonDelete" xml:space="preserve">
<value>Удалить</value>
</data>
<data name="strOptionsThemeButtonNew" xml:space="preserve">
<value>Новая</value>
</data>
<data name="strPanelName" xml:space="preserve">
<value>Название группы</value>
</data>
@@ -1295,6 +1325,9 @@
<data name="strPropertyDescriptionUseConsoleSession" xml:space="preserve">
<value>Подключение к текущему сеансу удаленного пользователя.</value>
</data>
<data name="strPropertyDescriptionUseCredSsp" xml:space="preserve">
<value>Использовать поставщика поддержки безопасности (CredSSP) для проверки подлинности учетных данных, если он доступен.</value>
</data>
<data name="strPropertyDescriptionUser1" xml:space="preserve">
<value>Введите любую информацию.</value>
</data>
@@ -1445,6 +1478,9 @@
<data name="strPropertyNameUseConsoleSession" xml:space="preserve">
<value>Сеанс консоли</value>
</data>
<data name="strPropertyNameUseCredSsp" xml:space="preserve">
<value>Использовать проверку подлинности CredSSP</value>
</data>
<data name="strPropertyNameUser1" xml:space="preserve">
<value>Дополнительно</value>
</data>
@@ -1541,6 +1577,18 @@
<data name="strQuickConnectHistoryExistsFailed" xml:space="preserve">
<value>Ошибка истории Быстрых подключений!</value>
</data>
<data name="strRadioCloseWarnAll" xml:space="preserve">
<value>Предупреждать при закрытии подключений</value>
</data>
<data name="strRadioCloseWarnExit" xml:space="preserve">
<value>Предупреждать меня только при выходе из mRemoteNG</value>
</data>
<data name="strRadioCloseWarnMultiple" xml:space="preserve">
<value>Предупреждать меня только при закрытии нескольких подключений</value>
</data>
<data name="strRadioCloseWarnNever" xml:space="preserve">
<value>Не предупреждать при закрытии подключений</value>
</data>
<data name="strRAW" xml:space="preserve">
<value>RAW</value>
</data>
@@ -1665,7 +1713,7 @@
<value>RDP: Установить уровень проверки подлинности не удалась!</value>
</data>
<data name="strRdpSetConsoleSessionFailed" xml:space="preserve">
<value>RDP: Не удалось использование консольную сессию!</value>
<value>RDP: Не удалось использовать консольную сессию!</value>
</data>
<data name="strRdpSetConsoleSwitch" xml:space="preserve">
<value>Настройка переключения консолей для RDC {0}.</value>
@@ -1757,6 +1805,9 @@
<data name="strScreenshots" xml:space="preserve">
<value>Скриншоты</value>
</data>
<data name="strSearchPrompt" xml:space="preserve">
<value>Поиск</value>
</data>
<data name="strSendTo" xml:space="preserve">
<value>Отправить...</value>
</data>
@@ -1877,6 +1928,117 @@
<data name="strTheFollowing" xml:space="preserve">
<value>Установить вручную:</value>
</data>
<data name="strThemeCategoryConfigPanel" xml:space="preserve">
<value>Конфигурация</value>
</data>
<data name="strThemeCategoryConnectionsPanel" xml:space="preserve">
<value>Подключения</value>
</data>
<data name="strThemeCategoryGeneral" xml:space="preserve">
<value>Общие</value>
</data>
<data name="strThemeDescriptionConfigPanelBackgroundColor" xml:space="preserve">
<value>Цвет фона панели конфигурации.</value>
</data>
<data name="strThemeDescriptionConfigPanelCategoryTextColor" xml:space="preserve">
<value>Цвет текста категории на панели конфигурации.</value>
</data>
<data name="strThemeDescriptionConfigPanelGridLineColor" xml:space="preserve">
<value>Цвет линий сетки на панели конфигурации</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>Цвет фона области справки панели конфигурации.</value>
</data>
<data name="strThemeDescriptionConfigPanelHelpTextColor" xml:space="preserve">
<value>Цвет текста в области справки панели конфигурации.</value>
</data>
<data name="strThemeDescriptionConfigPanelTextColor" xml:space="preserve">
<value>Цвет текста в панели конфигурации.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelBackgroundColor" xml:space="preserve">
<value>Цвет фона панели подключений.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTextColor" xml:space="preserve">
<value>Цвет текста в панели подключений.</value>
</data>
<data name="strThemeDescriptionConnectionsPanelTreeLineColor" xml:space="preserve">
<value>Цвет линий дерева на панели подключений.</value>
</data>
<data name="strThemeDescriptionMenuBackgroundColor" xml:space="preserve">
<value>Цвет фона меню.</value>
</data>
<data name="strThemeDescriptionMenuTextColor" xml:space="preserve">
<value>Цвет текста в меню.</value>
</data>
<data name="strThemeDescriptionSearchBoxBackgroundColor" xml:space="preserve">
<value>Цвет фона поля поиска.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextColor" xml:space="preserve">
<value>Цвет текста в поле поиска.</value>
</data>
<data name="strThemeDescriptionSearchBoxTextPromptColor" xml:space="preserve">
<value>Цвет текста подсказки в поле поиска.</value>
</data>
<data name="strThemeDescriptionToolbarBackgroundColor" xml:space="preserve">
<value>Цвет фона панели инструментов.</value>
</data>
<data name="strThemeDescriptionToolbarTextColor" xml:space="preserve">
<value>Цвет текста в панели инструментов.</value>
</data>
<data name="strThemeDescriptionWindowBackgroundColor" xml:space="preserve">
<value>Цвет фона главного окна.</value>
</data>
<data name="strThemeNameConfigPanelBackgroundColor" xml:space="preserve">
<value>Цвет фона панели конфигурации</value>
</data>
<data name="strThemeNameConfigPanelCategoryTextColor" xml:space="preserve">
<value>Цвет текста категории панели конфигурации</value>
</data>
<data name="strThemeNameConfigPanelGridLineColor" xml:space="preserve">
<value>Цвет линий сетки панели конфигурации</value>
</data>
<data name="strThemeNameConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>Цвет фона справки панели конфигурации</value>
</data>
<data name="strThemeNameConfigPanelHelpTextColor" xml:space="preserve">
<value>Цвет текста справки панели конфигурации</value>
</data>
<data name="strThemeNameConfigPanelTextColor" xml:space="preserve">
<value>Цвет текста панели конфигурации</value>
</data>
<data name="strThemeNameConnectionsPanelBackgroundColor" xml:space="preserve">
<value>Цвет фона панели подключений</value>
</data>
<data name="strThemeNameConnectionsPanelTextColor" xml:space="preserve">
<value>Цвет текста панели подключений</value>
</data>
<data name="strThemeNameConnectionsPanelTreeLineColor" xml:space="preserve">
<value>Цвет линий дерева панели подключений</value>
</data>
<data name="strThemeNameMenuBackgroundColor" xml:space="preserve">
<value>Цвет фона меню</value>
</data>
<data name="strThemeNameMenuTextColor" xml:space="preserve">
<value>Цвет текста меню</value>
</data>
<data name="strThemeNameSearchBoxBackgroundColor" xml:space="preserve">
<value>Цвет фона поля поиска</value>
</data>
<data name="strThemeNameSearchBoxTextColor" xml:space="preserve">
<value>Цвет текста поля поиска</value>
</data>
<data name="strThemeNameSearchBoxTextPromptColor" xml:space="preserve">
<value>Цвет текста подсказки поля поиска</value>
</data>
<data name="strThemeNameToolbarBackgroundColor" xml:space="preserve">
<value>Цвет фона панели инструментов</value>
</data>
<data name="strThemeNameToolbarTextColor" xml:space="preserve">
<value>Цвет текста панели инструментов</value>
</data>
<data name="strThemeNameWindowBackgroundColor" xml:space="preserve">
<value>Цвет фона окна</value>
</data>
<data name="strTitleError" xml:space="preserve">
<value>Ошибка ({0})</value>
</data>
@@ -1913,6 +2075,9 @@
<data name="strUncheckProperties" xml:space="preserve">
<value>Снимите свойства, которые не хотите сохранять!</value>
</data>
<data name="strUnnamedTheme" xml:space="preserve">
<value>Безымянный тема</value>
</data>
<data name="strUpdateAvailable" xml:space="preserve">
<value>Требуется обновление mRemoteNG</value>
</data>

View File

@@ -438,9 +438,6 @@ VncSharpNG Control Version {0}</value>
<data name="strConfigUiLoadFailed" xml:space="preserve">
<value>Помилка завантаження Config UI!</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>Запитувати підтвердження при закритті вкладки з'єднання</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Хочете закрити з'єднання, "{0}"?</value>
</data>
@@ -462,9 +459,6 @@ VncSharpNG Control Version {0}</value>
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
<value>Хочете видалити папку "{0}"? Будь-які папки або з'єднання, які вона містить також будуть видалені.</value>
</data>
<data name="strConfirmExit" xml:space="preserve">
<value>Підтвердження при виході, якщо є відкриті з'єднання</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>Хочете закрити всі відкриті з'єднання?</value>
</data>
@@ -715,9 +709,6 @@ VncSharpNG Control Version {0}</value>
<data name="strHttpConnectionFailed" xml:space="preserve">
<value>Не вдається створити нове з'єднання HTTP!</value>
</data>
<data name="strHttpDocumentTileChangeFailed" xml:space="preserve">
<value>Змінити HTTP документ не вдалося!</value>
</data>
<data name="strHttpSetPropsFailed" xml:space="preserve">
<value>Не вдалося задати параметри HTTP!</value>
</data>

View File

@@ -150,6 +150,9 @@
<data name="strAlwaysShowPanelSelection" xml:space="preserve">
<value>在打开连接时总是显示面板选择对话框</value>
</data>
<data name="strAlwaysShowPanelTabs" xml:space="preserve">
<value>始终显示标签面板</value>
</data>
<data name="strAlwaysShowSysTrayIcon" xml:space="preserve">
<value>始终显示通知区域图标</value>
</data>
@@ -433,9 +436,6 @@ VncSharpNG 版本 {0}</value>
<data name="strConfigUiLoadFailed" xml:space="preserve">
<value>无法加载配置界面。</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>关闭连接选项卡时确认。</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>确定要关闭连接“{0}”?</value>
</data>
@@ -457,9 +457,6 @@ VncSharpNG 版本 {0}</value>
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
<value>确定要删除目录,"{0}"?目录下所有目录及连接都将被删除。</value>
</data>
<data name="strConfirmExit" xml:space="preserve">
<value>退出时如有已打开的连接,需进行确认。</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>确认要关闭所有已打开的连接吗?</value>
</data>
@@ -547,6 +544,9 @@ VncSharpNG 版本 {0}</value>
<data name="strCurrentVersion" xml:space="preserve">
<value>已安装版本</value>
</data>
<data name="strDefaultTheme" xml:space="preserve">
<value>默认主题</value>
</data>
<data name="strDetect" xml:space="preserve">
<value>检测</value>
</data>
@@ -702,9 +702,6 @@ VncSharpNG 版本 {0}</value>
<data name="strHttpConnectionFailed" xml:space="preserve">
<value>无法创建新的 HTTP 连接!</value>
</data>
<data name="strHttpDocumentTileChangeFailed" xml:space="preserve">
<value>更改HTTP文档标题失败</value>
</data>
<data name="strHttpSetPropsFailed" xml:space="preserve">
<value>设置 HTTP 属性失败!</value>
</data>
@@ -792,6 +789,9 @@ VncSharpNG 版本 {0}</value>
<data name="strLabelChangeLog" xml:space="preserve">
<value>更新记录:</value>
</data>
<data name="strLabelClosingConnections" xml:space="preserve">
<value>当关闭连接时:</value>
</data>
<data name="strLabelConnect" xml:space="preserve">
<value>连接(&amp;C)</value>
</data>
@@ -990,6 +990,15 @@ VncSharpNG 版本 {0}</value>
<data name="strMenuNotifications" xml:space="preserve">
<value>通知</value>
</data>
<data name="strMenuNotificationsCopyAll" xml:space="preserve">
<value>复制全部</value>
</data>
<data name="strMenuNotificationsDelete" xml:space="preserve">
<value>删除</value>
</data>
<data name="strMenuNotificationsDeleteAll" xml:space="preserve">
<value>删除全部</value>
</data>
<data name="strMenuOpenConnectionFile" xml:space="preserve">
<value>打开连接配置文件…</value>
</data>
@@ -1050,6 +1059,9 @@ VncSharpNG 版本 {0}</value>
<data name="strMenuSessionsAndScreenshots" xml:space="preserve">
<value>会话和屏幕截图</value>
</data>
<data name="strMenuShowHelpText" xml:space="preserve">
<value>显示(&amp;S帮助文本</value>
</data>
<data name="strMenuShowText" xml:space="preserve">
<value>显示文本</value>
</data>
@@ -1143,6 +1155,15 @@ VncSharpNG 版本 {0}</value>
<data name="strOpenPorts" xml:space="preserve">
<value>打开端口</value>
</data>
<data name="strOptionsTabTheme" xml:space="preserve">
<value>主题</value>
</data>
<data name="strOptionsThemeButtonDelete" xml:space="preserve">
<value>删除(&amp;D)</value>
</data>
<data name="strOptionsThemeButtonNew" xml:space="preserve">
<value>新建(&amp;N</value>
</data>
<data name="strPanelName" xml:space="preserve">
<value>面板名称</value>
</data>
@@ -1527,6 +1548,18 @@ VncSharpNG 版本 {0}</value>
<data name="strQuickConnectHistoryExistsFailed" xml:space="preserve">
<value>快速连接历史记录检测失败 </value>
</data>
<data name="strRadioCloseWarnAll" xml:space="preserve">
<value>&amp;W关闭连接时确认</value>
</data>
<data name="strRadioCloseWarnExit" xml:space="preserve">
<value>退出(&amp;emRemoteNG时确认</value>
</data>
<data name="strRadioCloseWarnMultiple" xml:space="preserve">
<value>关闭多个(&amp;m连接时确认</value>
</data>
<data name="strRadioCloseWarnNever" xml:space="preserve">
<value>关闭连接时不需确认</value>
</data>
<data name="strRAW" xml:space="preserve">
<value>RAW</value>
</data>
@@ -1743,6 +1776,9 @@ VncSharpNG 版本 {0}</value>
<data name="strScreenshots" xml:space="preserve">
<value>屏幕截图</value>
</data>
<data name="strSearchPrompt" xml:space="preserve">
<value>搜索</value>
</data>
<data name="strSendTo" xml:space="preserve">
<value>发送到…</value>
</data>
@@ -1863,6 +1899,66 @@ VncSharpNG 版本 {0}</value>
<data name="strTheFollowing" xml:space="preserve">
<value>以下:</value>
</data>
<data name="strThemeCategoryConfigPanel" xml:space="preserve">
<value>配置面板</value>
</data>
<data name="strThemeCategoryConnectionsPanel" xml:space="preserve">
<value>连接面板</value>
</data>
<data name="strThemeCategoryGeneral" xml:space="preserve">
<value>常规</value>
</data>
<data name="strThemeNameConfigPanelBackgroundColor" xml:space="preserve">
<value>配置面板背景色</value>
</data>
<data name="strThemeNameConfigPanelCategoryTextColor" xml:space="preserve">
<value>配置面板类别文本颜色</value>
</data>
<data name="strThemeNameConfigPanelGridLineColor" xml:space="preserve">
<value>配置面板网格线颜色</value>
</data>
<data name="strThemeNameConfigPanelHelpBackgroundColor" xml:space="preserve">
<value>配置面板帮助背景颜色</value>
</data>
<data name="strThemeNameConfigPanelHelpTextColor" xml:space="preserve">
<value>配置面板帮助文本颜色</value>
</data>
<data name="strThemeNameConfigPanelTextColor" xml:space="preserve">
<value>配置面板文本颜色</value>
</data>
<data name="strThemeNameConnectionsPanelBackgroundColor" xml:space="preserve">
<value>连接面板背景色</value>
</data>
<data name="strThemeNameConnectionsPanelTextColor" xml:space="preserve">
<value>连接面板文本颜色</value>
</data>
<data name="strThemeNameConnectionsPanelTreeLineColor" xml:space="preserve">
<value>连接面板树线颜色</value>
</data>
<data name="strThemeNameMenuBackgroundColor" xml:space="preserve">
<value>菜单背景颜色</value>
</data>
<data name="strThemeNameMenuTextColor" xml:space="preserve">
<value>菜单文本颜色</value>
</data>
<data name="strThemeNameSearchBoxBackgroundColor" xml:space="preserve">
<value>搜索栏背景颜色</value>
</data>
<data name="strThemeNameSearchBoxTextColor" xml:space="preserve">
<value>搜索栏文本颜色</value>
</data>
<data name="strThemeNameSearchBoxTextPromptColor" xml:space="preserve">
<value>搜索栏提示文本颜色</value>
</data>
<data name="strThemeNameToolbarBackgroundColor" xml:space="preserve">
<value>工具栏背景颜色</value>
</data>
<data name="strThemeNameToolbarTextColor" xml:space="preserve">
<value>工具栏文本颜色</value>
</data>
<data name="strThemeNameWindowBackgroundColor" xml:space="preserve">
<value>窗口背景颜色</value>
</data>
<data name="strTitleError" xml:space="preserve">
<value>错误 ({0})</value>
</data>
@@ -1899,6 +1995,9 @@ VncSharpNG 版本 {0}</value>
<data name="strUncheckProperties" xml:space="preserve">
<value>请勾去您不想保存的属性!</value>
</data>
<data name="strUnnamedTheme" xml:space="preserve">
<value>未命名主题</value>
</data>
<data name="strUpdateAvailable" xml:space="preserve">
<value>mRemoteNG 需要更新</value>
</data>

View File

@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.70.*")>
<Assembly: AssemblyVersion("1.71.*")>
<Assembly: NeutralResourcesLanguageAttribute("en")>

View File

@@ -1,7 +1,7 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.239
' Runtime Version:4.0.30319.296
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
@@ -585,6 +585,13 @@ Namespace My.Resources
End Get
End Property
Friend ReadOnly Property PuttySessions() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("PuttySessions", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
Friend ReadOnly Property Quit() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Quit", resourceCulture)

View File

@@ -445,4 +445,8 @@
<data name="News" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images_FamFamFam\News.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="PuttySessions" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\PuttySessions.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@@ -185,7 +185,7 @@ Namespace My
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("True")> _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property AutomaticallyGetSessionInfo() As Boolean
Get
Return CType(Me("AutomaticallyGetSessionInfo"),Boolean)
@@ -234,19 +234,6 @@ Namespace My
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("True")> _
Public Property ConfirmExit() As Boolean
Get
Return CType(Me("ConfirmExit"),Boolean)
End Get
Set
Me("ConfirmExit") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
@@ -2207,10 +2194,10 @@ Namespace My
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("True")> _
Public Property ConfirmCloseConnection() As Boolean
Global.System.Configuration.DefaultSettingValueAttribute("4")> _
Public Property ConfirmCloseConnection() As Integer
Get
Return CType(Me("ConfirmCloseConnection"),Boolean)
Return CType(Me("ConfirmCloseConnection"),Integer)
End Get
Set
Me("ConfirmCloseConnection") = value
@@ -2321,6 +2308,82 @@ Namespace My
Me("AlwaysShowPanelTabs") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property IdentifyQuickConnectTabs() As Boolean
Get
Return CType(Me("IdentifyQuickConnectTabs"),Boolean)
End Get
Set
Me("IdentifyQuickConnectTabs") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("release")> _
Public ReadOnly Property UpdateChannel() As String
Get
Return CType(Me("UpdateChannel"),String)
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property ThemeName() As String
Get
Return CType(Me("ThemeName"),String)
End Get
Set
Me("ThemeName") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("True")> _
Public Property ShowConfigHelpText() As Boolean
Get
Return CType(Me("ShowConfigHelpText"),Boolean)
End Get
Set
Me("ShowConfigHelpText") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property PuttySavedSessionsName() As String
Get
Return CType(Me("PuttySavedSessionsName"),String)
End Get
Set
Me("PuttySavedSessionsName") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property PuttySavedSessionsPanel() As String
Get
Return CType(Me("PuttySavedSessionsPanel"),String)
End Get
Set
Me("PuttySavedSessionsPanel") = value
End Set
End Property
End Class
End Namespace

View File

@@ -33,7 +33,7 @@
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="AutomaticallyGetSessionInfo" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="LoadConsFromCustomLocation" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
@@ -44,9 +44,6 @@
<Setting Name="SaveConsOnExit" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="ConfirmExit" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="CheckForUpdatesOnStartup" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
@@ -500,8 +497,8 @@
<Setting Name="InhDefaultEnableDesktopComposition" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ConfirmCloseConnection" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
<Setting Name="ConfirmCloseConnection" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Int32" Scope="User">
<Value Profile="(Default)">4</Value>
</Setting>
<Setting Name="MainFormRestoreSize" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)" />
@@ -527,5 +524,23 @@
<Setting Name="AlwaysShowPanelTabs" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Roaming="true" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="IdentifyQuickConnectTabs" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Roaming="true" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="UpdateChannel" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="Application">
<Value Profile="(Default)">release</Value>
</Setting>
<Setting Name="ThemeName" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="ShowConfigHelpText" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="PuttySavedSessionsName" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="PuttySavedSessionsPanel" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
</Settings>
</SettingsFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

View File

@@ -0,0 +1,29 @@
Imports mRemoteNG.Tools.LocalizedAttributes
Namespace Root
Namespace PuttySessions
Public Class Info
Inherits Root.Info
Public Sub New()
MyBase.New(RootType.PuttySessions)
End Sub
Public Overrides Property Name() As String
Private _panel As String = My.Language.strGeneral
<LocalizedCategory("strCategoryDisplay", 1), _
LocalizedDisplayName("strPropertyNamePanel"), _
LocalizedDescription("strPropertyDescriptionPanel")> _
Public Property Panel() As String
Get
Return _panel
End Get
Set(ByVal value As String)
_panel = value
End Set
End Property
End Class
End Namespace
End Namespace

View File

@@ -20,7 +20,7 @@ Namespace Root
LocalizedDisplayName("strPropertyNameName"), _
LocalizedDescription("strPropertyDescriptionName"), _
Attributes.Root()> _
Public Property Name() As String
Public Overridable Property Name() As String
Get
Return Me._Name
End Get
@@ -104,6 +104,7 @@ Namespace Root
Public Enum RootType
Connection
Credential
PuttySessions
End Enum
Public Class Attributes

View File

@@ -43,36 +43,38 @@ Namespace Security
Return StrToEncrypt
End Function
Public Shared Function Decrypt(ByVal StrToDecrypt As String, ByVal StrSecret As String) As String
If StrToDecrypt = "" Or StrSecret = "" Then
Return StrToDecrypt
Public Shared Function Decrypt(ByVal ciphertextBase64 As String, ByVal password As String) As String
If String.IsNullOrEmpty(ciphertextBase64) Or String.IsNullOrEmpty(password) Then
Return ciphertextBase64
End If
Try
Dim rd As New RijndaelManaged
Dim rijndaelIvLength As Integer = 16
Dim md5 As New MD5CryptoServiceProvider
Dim key() As Byte = md5.ComputeHash(Encoding.UTF8.GetBytes(StrSecret))
Dim plaintext As String
md5.Clear()
Using rijndaelManaged As New RijndaelManaged
Using md5 As New MD5CryptoServiceProvider
Dim key() As Byte = md5.ComputeHash(Encoding.UTF8.GetBytes(password))
rijndaelManaged.Key = key
End Using
Dim encdata() As Byte = Convert.FromBase64String(StrToDecrypt)
Dim ms As New MemoryStream(encdata)
Dim iv(15) As Byte
Dim ciphertext() As Byte = Convert.FromBase64String(ciphertextBase64)
ms.Read(iv, 0, rijndaelIvLength)
rd.IV = iv
rd.Key = key
Using memoryStream As New MemoryStream(ciphertext)
Const ivLength As Integer = 16
Dim iv(ivLength - 1) As Byte
memoryStream.Read(iv, 0, ivLength)
rijndaelManaged.IV = iv
Dim cs As New CryptoStream(ms, rd.CreateDecryptor, CryptoStreamMode.Read)
Using cryptoStream As New CryptoStream(memoryStream, rijndaelManaged.CreateDecryptor, CryptoStreamMode.Read)
Using streamReader As New StreamReader(cryptoStream, System.Text.Encoding.UTF8, True)
plaintext = streamReader.ReadToEnd()
End Using
rijndaelManaged.Clear()
End Using ' cryptoStream
End Using ' memoryStream
End Using ' rijndaelManaged
Dim data(ms.Length - rijndaelIvLength) As Byte
Dim i As Integer = cs.Read(data, 0, data.Length)
cs.Close()
rd.Clear()
Return System.Text.Encoding.UTF8.GetString(data, 0, i)
Return plaintext
Catch ex As Exception
' Ignore CryptographicException "Padding is invalid and cannot be removed." when password is incorrect.
If Not TypeOf ex Is CryptographicException Then
@@ -80,7 +82,7 @@ Namespace Security
End If
End Try
Return StrToDecrypt
Return ciphertextBase64
End Function
End Class
End Namespace

View File

@@ -10,7 +10,7 @@ Namespace Security
Public Class Impersonator
#Region "Logon API"
Private Const LOGON32_PROVIDER_DEFAULT As Integer = 0
Private Const LOGON32_LOGON_INTERACTIVE As Integer = 2 ' This parameter causes LogonUser to create a primary token.
Private Const LOGON32_LOGON_NEW_CREDENTIALS As Integer = 9
Private Const SecurityImpersonation As Integer = 2
@@ -37,7 +37,6 @@ Namespace Security
#End Region
Private tokenHandle As New IntPtr(0)
Private dupeTokenHandle As New IntPtr(0)
Private impersonatedUser As WindowsImpersonationContext = Nothing
' GetErrorMessage formats and returns an error message corresponding to the input errorCode.
@@ -59,9 +58,8 @@ Namespace Security
If Not (impersonatedUser Is Nothing) Then Throw New Exception("Already impersonating a user.")
tokenHandle = IntPtr.Zero
dupeTokenHandle = IntPtr.Zero
Dim returnValue As Integer = LogonUser(UserName, DomainName, Password, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, tokenHandle)
Dim returnValue As Integer = LogonUser(UserName, DomainName, Password, LOGON32_LOGON_NEW_CREDENTIALS, LOGON32_PROVIDER_DEFAULT, tokenHandle)
If 0 = returnValue Then
Dim errCode As Integer = Marshal.GetLastWin32Error()
@@ -70,17 +68,8 @@ Namespace Security
Throw exLogon
End If
returnValue = DuplicateToken(tokenHandle, SecurityImpersonation, dupeTokenHandle)
If 0 = returnValue Then
CloseHandle(tokenHandle)
Throw New ApplicationException("Error trying to duplicate handle.")
End If
' The token that is passed to the following constructor must
' be a primary token in order to use it for impersonation.
Dim newId As New WindowsIdentity(dupeTokenHandle)
Dim newId As New WindowsIdentity(tokenHandle)
impersonatedUser = newId.Impersonate()
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Starting Impersonation failed (Sessions feature will not work)" & vbNewLine & ex.Message, True)
End Try
@@ -98,7 +87,6 @@ Namespace Security
Finally
If Not System.IntPtr.op_Equality(tokenHandle, IntPtr.Zero) Then CloseHandle(tokenHandle)
If Not System.IntPtr.op_Equality(dupeTokenHandle, IntPtr.Zero) Then CloseHandle(dupeTokenHandle)
impersonatedUser = Nothing
End Try

View File

@@ -0,0 +1,325 @@
Imports System.ComponentModel
Imports mRemoteNG.Tools.LocalizedAttributes
Imports mRemoteNG.My
Namespace Themes
Public Class ThemeInfo
Implements ICloneable, INotifyPropertyChanged
#Region "Public Methods"
Public Sub New(Optional ByVal themeName As String = Nothing)
If themeName IsNot Nothing Then Name = themeName
End Sub
Public Function Clone() As Object Implements ICloneable.Clone
Return MemberwiseClone()
End Function
Public Overrides Function ToString() As String
Return Name
End Function
Public Overrides Function Equals(obj As Object) As Boolean
Dim otherTheme As ThemeInfo = TryCast(obj, ThemeInfo)
If otherTheme Is Nothing Then Return False
Dim themeInfoType As Type = (New ThemeInfo).GetType()
Dim myProperty As Object
Dim otherProperty As Object
For Each propertyInfo As Reflection.PropertyInfo In themeInfoType.GetProperties()
myProperty = propertyInfo.GetValue(Me, Nothing)
otherProperty = propertyInfo.GetValue(otherTheme, Nothing)
If Not myProperty.Equals(otherProperty) Then Return False
Next
Return True
End Function
#End Region
#Region "Events"
Public Event PropertyChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
Protected Sub NotifyPropertyChanged(ByVal propertyName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
End Sub
#End Region
#Region "Properties"
Private _name As String = Language.strUnnamedTheme
<Browsable(False)> _
Public Property Name As String
Get
Return _name
End Get
Set(value As String)
If _name = value Then Return
_name = value
NotifyPropertyChanged("Name")
End Set
End Property
#Region "General"
Private _windowBackgroundColor As Color = SystemColors.AppWorkspace
<LocalizedCategory("strThemeCategoryGeneral", 1), _
LocalizedDisplayName("strThemeNameWindowBackgroundColor"), _
LocalizedDescription("strThemeDescriptionWindowBackgroundColor")> _
Public Property WindowBackgroundColor() As Color
Get
Return (_windowBackgroundColor)
End Get
Set(value As Color)
If _windowBackgroundColor = value Then Return
_windowBackgroundColor = value
NotifyPropertyChanged("WindowBackgroundColor")
End Set
End Property
Private _menuBackgroundColor As Color = SystemColors.Control
<LocalizedCategory("strThemeCategoryGeneral", 1), _
Browsable(False),
LocalizedDisplayName("strThemeNameMenuBackgroundColor"),
LocalizedDescription("strThemeDescriptionMenuBackgroundColor")>
Public Property MenuBackgroundColor() As Color
Get
Return _menuBackgroundColor
End Get
Set(value As Color)
If _menuBackgroundColor = value Then Return
_menuBackgroundColor = value
NotifyPropertyChanged("MenuBackgroundColor")
End Set
End Property
Private _menuTextColor As Color = SystemColors.ControlText
<LocalizedCategory("strThemeCategoryGeneral", 1), _
Browsable(False),
LocalizedDisplayName("strThemeNameMenuTextColor"),
LocalizedDescription("strThemeDescriptionMenuTextColor")>
Public Property MenuTextColor() As Color
Get
Return _menuTextColor
End Get
Set(value As Color)
If _menuTextColor = value Then Return
_menuTextColor = value
NotifyPropertyChanged("MenuTextColor")
End Set
End Property
Private _toolbarBackgroundColor As Color = SystemColors.Control
<LocalizedCategory("strThemeCategoryGeneral", 1), _
Browsable(False), _
LocalizedDisplayName("strThemeNameToolbarBackgroundColor"), _
LocalizedDescription("strThemeDescriptionToolbarBackgroundColor")> _
Public Property ToolbarBackgroundColor() As Color
Get
Return _toolbarBackgroundColor
End Get
Set(value As Color)
If _toolbarBackgroundColor = value Then Return
_toolbarBackgroundColor = value
NotifyPropertyChanged("ToolbarBackgroundColor")
End Set
End Property
Private _toolbarTextColor As Color = SystemColors.ControlText
<LocalizedCategory("strThemeCategoryGeneral", 1), _
Browsable(False), _
LocalizedDisplayName("strThemeNameToolbarTextColor"), _
LocalizedDescription("strThemeDescriptionToolbarTextColor")> _
Public Property ToolbarTextColor() As Color
Get
Return _toolbarTextColor
End Get
Set(value As Color)
If _toolbarTextColor = value Then Return
_toolbarTextColor = value
NotifyPropertyChanged("ToolbarTextColor")
End Set
End Property
#End Region
#Region "Connections Panel"
Private _connectionsPanelBackgroundColor As Color = SystemColors.Window
<LocalizedCategory("strThemeCategoryConnectionsPanel", 2), _
LocalizedDisplayName("strThemeNameConnectionsPanelBackgroundColor"), _
LocalizedDescription("strThemeDescriptionConnectionsPanelBackgroundColor")> _
Public Property ConnectionsPanelBackgroundColor() As Color
Get
Return _connectionsPanelBackgroundColor
End Get
Set(value As Color)
If _connectionsPanelBackgroundColor = value Or value = Color.Transparent Then Return
_connectionsPanelBackgroundColor = value
NotifyPropertyChanged("ConnectionsPanelBackgroundColor")
End Set
End Property
Private _connectionsPanelTextColor As Color = SystemColors.WindowText
<LocalizedCategory("strThemeCategoryConnectionsPanel", 2),
LocalizedDisplayName("strThemeNameConnectionsPanelTextColor"),
LocalizedDescription("strThemeDescriptionConnectionsPanelTextColor")>
Public Property ConnectionsPanelTextColor() As Color
Get
Return _connectionsPanelTextColor
End Get
Set(value As Color)
If _connectionsPanelTextColor = value Then Return
_connectionsPanelTextColor = value
NotifyPropertyChanged("ConnectionsPanelTextColor")
End Set
End Property
Private _connectionsPanelTreeLineColor As Color = Color.Black
<LocalizedCategory("strThemeCategoryConnectionsPanel", 2),
LocalizedDisplayName("strThemeNameConnectionsPanelTreeLineColor"),
LocalizedDescription("strThemeDescriptionConnectionsPanelTreeLineColor")>
Public Property ConnectionsPanelTreeLineColor() As Color
Get
Return _connectionsPanelTreeLineColor
End Get
Set(value As Color)
If _connectionsPanelTreeLineColor = value Then Return
_connectionsPanelTreeLineColor = value
NotifyPropertyChanged("ConnectionsPanelTreeLineColor")
End Set
End Property
Private _searchBoxBackgroundColor As Color = SystemColors.Window
<LocalizedCategory("strThemeCategoryConnectionsPanel", 2), _
LocalizedDisplayName("strThemeNameSearchBoxBackgroundColor"), _
LocalizedDescription("strThemeDescriptionSearchBoxBackgroundColor")> _
Public Property SearchBoxBackgroundColor() As Color
Get
Return _searchBoxBackgroundColor
End Get
Set(value As Color)
If _searchBoxBackgroundColor = value Or value = Color.Transparent Then Return
_searchBoxBackgroundColor = value
NotifyPropertyChanged("SearchBoxBackgroundColor")
End Set
End Property
Private _searchBoxTextPromptColor As Color = SystemColors.GrayText
<LocalizedCategory("strThemeCategoryConnectionsPanel", 2), _
LocalizedDisplayName("strThemeNameSearchBoxTextPromptColor"), _
LocalizedDescription("strThemeDescriptionSearchBoxTextPromptColor")> _
Public Property SearchBoxTextPromptColor() As Color
Get
Return _searchBoxTextPromptColor
End Get
Set(value As Color)
If _searchBoxTextPromptColor = value Then Return
_searchBoxTextPromptColor = value
NotifyPropertyChanged("SearchBoxTextPromptColor")
End Set
End Property
Private _searchBoxTextColor As Color = SystemColors.WindowText
<LocalizedCategory("strThemeCategoryConnectionsPanel", 2), _
LocalizedDisplayName("strThemeNameSearchBoxTextColor"), _
LocalizedDescription("strThemeDescriptionSearchBoxTextColor")> _
Public Property SearchBoxTextColor() As Color
Get
Return _searchBoxTextColor
End Get
Set(value As Color)
If _searchBoxTextColor = value Then Return
_searchBoxTextColor = value
NotifyPropertyChanged("SearchBoxTextColor")
End Set
End Property
#End Region
#Region "Config Panel"
Private _configPanelBackgroundColor As Color = SystemColors.Window
<LocalizedCategory("strThemeCategoryConfigPanel", 3), _
LocalizedDisplayName("strThemeNameConfigPanelBackgroundColor"), _
LocalizedDescription("strThemeDescriptionConfigPanelBackgroundColor")> _
Public Property ConfigPanelBackgroundColor() As Color
Get
Return _configPanelBackgroundColor
End Get
Set(value As Color)
If _configPanelBackgroundColor = value Or value = Color.Transparent Then Return
_configPanelBackgroundColor = value
NotifyPropertyChanged("ConfigPanelBackgroundColor")
End Set
End Property
Private _configPanelTextColor As Color = SystemColors.WindowText
<LocalizedCategory("strThemeCategoryConfigPanel", 3), _
LocalizedDisplayName("strThemeNameConfigPanelTextColor"), _
LocalizedDescription("strThemeDescriptionConfigPanelTextColor")> _
Public Property ConfigPanelTextColor() As Color
Get
Return _configPanelTextColor
End Get
Set(value As Color)
If _configPanelTextColor = value Then Return
_configPanelTextColor = value
NotifyPropertyChanged("ConfigPanelTextColor")
End Set
End Property
Private _configPanelCategoryTextColor As Color = SystemColors.ControlText
<LocalizedCategory("strThemeCategoryConfigPanel", 3), _
LocalizedDisplayName("strThemeNameConfigPanelCategoryTextColor"), _
LocalizedDescription("strThemeDescriptionConfigPanelCategoryTextColor")> _
Public Property ConfigPanelCategoryTextColor() As Color
Get
Return _configPanelCategoryTextColor
End Get
Set(value As Color)
If _configPanelCategoryTextColor = value Then Return
_configPanelCategoryTextColor = value
NotifyPropertyChanged("ConfigPanelCategoryTextColor")
End Set
End Property
Private _configPanelHelpBackgroundColor As Color = SystemColors.Control
<LocalizedCategory("strThemeCategoryConfigPanel", 3), _
LocalizedDisplayName("strThemeNameConfigPanelHelpBackgroundColor"), _
LocalizedDescription("strThemeDescriptionConfigPanelHelpBackgroundColor")> _
Public Property ConfigPanelHelpBackgroundColor() As Color
Get
Return _configPanelHelpBackgroundColor
End Get
Set(value As Color)
If _configPanelHelpBackgroundColor = value Or value = Color.Transparent Then Return
_configPanelHelpBackgroundColor = value
NotifyPropertyChanged("ConfigPanelHelpBackgroundColor")
End Set
End Property
Private _configPanelHelpTextColor As Color = SystemColors.ControlText
<LocalizedCategory("strThemeCategoryConfigPanel", 3), _
LocalizedDisplayName("strThemeNameConfigPanelHelpTextColor"), _
LocalizedDescription("strThemeDescriptionConfigPanelHelpTextColor")> _
Public Property ConfigPanelHelpTextColor() As Color
Get
Return _configPanelHelpTextColor
End Get
Set(value As Color)
If _configPanelHelpTextColor = value Then Return
_configPanelHelpTextColor = value
NotifyPropertyChanged("ConfigPanelHelpTextColor")
End Set
End Property
Private _configPanelGridLineColor As Color = SystemColors.InactiveBorder
<LocalizedCategory("strThemeCategoryConfigPanel", 3), _
LocalizedDisplayName("strThemeNameConfigPanelGridLineColor"), _
LocalizedDescription("strThemeDescriptionConfigPanelGridLineColor")> _
Public Property ConfigPanelGridLineColor() As Color
Get
Return _configPanelGridLineColor
End Get
Set(value As Color)
If _configPanelGridLineColor = value Then Return
_configPanelGridLineColor = value
NotifyPropertyChanged("ConfigPanelGridLineColor")
End Set
End Property
#End Region
#End Region
End Class
End Namespace

View File

@@ -0,0 +1,86 @@
Imports System.IO
Imports System.ComponentModel
Imports mRemoteNG.My
Namespace Themes
Public Class ThemeManager
#Region "Public Methods"
Public Shared Function LoadTheme(ByVal themeName As String, Optional ByVal setActive As Boolean = True) As ThemeInfo
Dim loadedTheme As ThemeInfo = DefaultTheme
If Not String.IsNullOrEmpty(themeName) Then
For Each theme As ThemeInfo In LoadThemes()
If theme.Name = themeName Then
loadedTheme = theme
Exit For
End If
Next
End If
If setActive Then ActiveTheme = loadedTheme
Return loadedTheme
End Function
Public Shared Function LoadThemes() As List(Of ThemeInfo)
Dim themes As New List(Of ThemeInfo)
themes.Add(DefaultTheme)
themes.AddRange(ThemeSerializer.LoadFromXmlFile(Path.Combine(App.Info.Settings.SettingsPath, App.Info.Settings.ThemesFileName)))
Return themes
End Function
Public Shared Sub SaveThemes(ByVal themes As List(Of ThemeInfo))
themes.Remove(DefaultTheme)
ThemeSerializer.SaveToXmlFile(themes, Path.Combine(App.Info.Settings.SettingsPath, App.Info.Settings.ThemesFileName))
End Sub
Public Shared Sub SaveThemes(ByVal themes As ThemeInfo())
SaveThemes(New List(Of ThemeInfo)(themes))
End Sub
Public Shared Sub SaveThemes(ByVal themes As BindingList(Of ThemeInfo))
Dim themesArray(themes.Count - 1) As ThemeInfo
themes.CopyTo(themesArray, 0)
SaveThemes(themesArray)
End Sub
#End Region
#Region "Events"
Public Shared Event ThemeChanged()
Protected Shared Sub NotifyThemeChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs)
If e.PropertyName = "Name" Then Return
RaiseEvent ThemeChanged()
End Sub
#End Region
#Region "Properties"
' ReSharper disable InconsistentNaming
Private Shared ReadOnly _defaultTheme As New ThemeInfo(Language.strDefaultTheme)
' ReSharper restore InconsistentNaming
Public Shared ReadOnly Property DefaultTheme As ThemeInfo
Get
Return _defaultTheme
End Get
End Property
Private Shared _activeTheme As ThemeInfo
Private Shared _activeThemeHandlerSet As Boolean = False
Public Shared Property ActiveTheme As ThemeInfo
Get
Return _activeTheme
End Get
Set(value As ThemeInfo)
If _activeTheme Is Nothing OrElse Not _activeTheme.Equals(value) Then
If _activeThemeHandlerSet Then RemoveHandler _activeTheme.PropertyChanged, AddressOf NotifyThemeChanged
_activeTheme = value
AddHandler _activeTheme.PropertyChanged, AddressOf NotifyThemeChanged
_activeThemeHandlerSet = True
NotifyThemeChanged(_activeTheme, New PropertyChangedEventArgs(""))
End If
End Set
End Property
#End Region
End Class
End Namespace

View File

@@ -0,0 +1,102 @@
Imports System.IO
Imports System.Xml
Imports System.Reflection
Namespace Themes
Public Class ThemeSerializer
Public Shared Sub SaveToXmlFile(themeInfo As ThemeInfo, filename As String)
Dim themeList As New List(Of ThemeInfo)
themeList.Add(ThemeInfo)
SaveToXmlFile(themeList, filename)
End Sub
Public Shared Sub SaveToXmlFile(themes As List(Of ThemeInfo), filename As String)
Dim tempFileName As String = Path.GetTempFileName()
Dim xmlTextWriter As New XmlTextWriter(tempFileName, System.Text.Encoding.UTF8)
xmlTextWriter.Formatting = Formatting.Indented
xmlTextWriter.Indentation = 4
xmlTextWriter.WriteStartDocument()
xmlTextWriter.WriteStartElement("mRemoteNG")
xmlTextWriter.WriteStartElement("FileInfo")
xmlTextWriter.WriteAttributeString("Version", "1.0")
xmlTextWriter.WriteElementString("FileType", "Theme")
xmlTextWriter.WriteElementString("FileTypeVersion", "1.0")
xmlTextWriter.WriteEndElement() ' FileInfo
Dim themeType As Type = (New ThemeInfo).GetType()
Dim colorType As Type = (New Color).GetType()
Dim color As Color
For Each themeInfo As ThemeInfo In themes
xmlTextWriter.WriteStartElement("Theme")
xmlTextWriter.WriteAttributeString("Name", themeInfo.Name)
For Each propertyInfo As PropertyInfo In themeType.GetProperties()
If Not propertyInfo.PropertyType Is colorType Then Continue For
color = propertyInfo.GetValue(themeInfo, Nothing)
xmlTextWriter.WriteStartElement("Color")
xmlTextWriter.WriteAttributeString("Name", propertyInfo.Name)
xmlTextWriter.WriteAttributeString("Value", color.Name)
xmlTextWriter.WriteEndElement() ' Color
Next
xmlTextWriter.WriteEndElement() ' Theme
Next
xmlTextWriter.WriteEndElement() ' mRemoteNG
xmlTextWriter.Close()
File.Delete(filename)
File.Move(tempFileName, filename)
End Sub
Public Shared Function LoadFromXmlFile(filename As String) As List(Of ThemeInfo)
Dim xmlDocument As New XmlDocument()
xmlDocument.Load(filename)
Dim fileInfoNode As XmlNode = xmlDocument.SelectSingleNode("/mRemoteNG/FileInfo")
Dim fileInfoVersion As New Version(fileInfoNode.Attributes("Version").Value)
If fileInfoVersion > New Version(1, 0) Then
Throw New FileFormatException(String.Format("Unsupported FileInfo version ({0}).", fileInfoVersion))
End If
Dim fileTypeNode As XmlNode = fileInfoNode.SelectSingleNode("./FileType")
Dim fileType As String = fileTypeNode.InnerText
If Not fileType = "Theme" Then
Throw New FileFormatException(String.Format("Incorrect FileType ({0}). Expected ""Theme"".", fileType))
End If
Dim fileTypeVersion As New Version(fileInfoNode.SelectSingleNode("./FileTypeVersion").InnerText)
If fileTypeVersion > New Version(1, 0) Then
Throw New FileFormatException(String.Format("Unsupported FileTypeVersion ({0}).", fileTypeVersion))
End If
Dim themeNodes As XmlNodeList = xmlDocument.SelectNodes("/mRemoteNG/Theme")
Dim themes As New List(Of ThemeInfo)
Dim themeInfo As ThemeInfo
Dim themeType As Type = (New ThemeInfo).GetType()
Dim colorType As Type = (New Color).GetType()
Dim colorName As String
Dim colorValue As String
Dim propertyInfo As PropertyInfo
For Each themeNode As XmlNode In themeNodes
themeInfo = New ThemeInfo
themeInfo.Name = themeNode.Attributes("Name").Value
For Each colorNode As XmlNode In themeNode.SelectNodes("./Color")
colorName = colorNode.Attributes("Name").Value
colorValue = colorNode.Attributes("Value").Value
propertyInfo = themeType.GetProperty(colorName)
If propertyInfo Is Nothing OrElse Not propertyInfo.PropertyType Is colorType Then Continue For
propertyInfo.SetValue(themeInfo, Color.FromName(colorValue), Nothing)
Next
themes.Add(themeInfo)
Next
Return themes
End Function
End Class
End Namespace

View File

@@ -0,0 +1,102 @@
Imports System.Text.RegularExpressions
Namespace Tools
' Adapted from http://qntm.org/cmd
Public Class CommandLineArguments
#Region "Protected Fields"
Protected Arguments As New List(Of Argument)
#End Region
#Region "Public Properties"
Public Property EscapeForShell As Boolean
#End Region
#Region "Public Methods"
Public Sub Add(ByVal argument As String, Optional ByVal forceQuotes As Boolean = False)
Arguments.Add(New Argument(argument, False, forceQuotes))
End Sub
Public Sub Add(ByVal ParamArray argumentArray As String())
For Each argument As String In argumentArray
Add(argument)
Next
End Sub
Public Sub AddFileName(ByVal fileName As String, Optional ByVal forceQuotes As Boolean = False)
Arguments.Add(New Argument(fileName, True, forceQuotes))
End Sub
Public Overrides Function ToString() As String
Dim processedArguments As New List(Of String)
For Each argument As Argument In Arguments
processedArguments.Add(ProcessArgument(argument, EscapeForShell))
Next
Return String.Join(" ", processedArguments.ToArray())
End Function
Public Shared Function PrefixFileName(ByVal argument As String) As String
If String.IsNullOrEmpty(argument) Then Return argument
If argument.StartsWith("-") Then argument = ".\" & argument
Return argument
End Function
Public Shared Function EscapeBackslashes(ByVal argument As String) As String
If String.IsNullOrEmpty(argument) Then Return argument
' Sequence of backslashes followed by a double quote:
' double up all the backslashes and escape the double quote
Return Regex.Replace(argument, "(\\*)""", "$1$1\""")
End Function
Public Shared Function QuoteArgument(ByVal argument As String, Optional ByVal forceQuotes As Boolean = False) As String
If Not forceQuotes And Not String.IsNullOrEmpty(argument) And Not argument.Contains(" ") Then Return argument
' Sequence of backslashes followed by the end of the string
' (which will become a double quote):
' double up all the backslashes
If Not String.IsNullOrEmpty(argument) Then
argument = Regex.Replace(argument, "(\\*)$", "$1$1")
End If
Return """" & argument & """"
End Function
Public Shared Function EscapeShellMetacharacters(ByVal argument As String) As String
If String.IsNullOrEmpty(argument) Then Return argument
Return Regex.Replace(argument, "([()%!^""<>&|])", "^$1")
End Function
#End Region
#Region "Protected Methods"
Protected Shared Function ProcessArgument(ByVal argument As Argument, Optional ByVal escapeForShell As Boolean = False) As String
Dim text As String = argument.Text
If argument.IsFileName Then text = PrefixFileName(text)
text = EscapeBackslashes(text)
text = QuoteArgument(text, argument.ForceQuotes)
If escapeForShell Then text = EscapeShellMetacharacters(text)
Return text
End Function
#End Region
#Region "Protected Classes"
Protected Class Argument
Public Sub New(ByVal text As String, Optional ByVal isFileName As Boolean = False, Optional ByVal forceQuotes As Boolean = False)
Me.Text = text
Me.IsFileName = isFileName
Me.ForceQuotes = forceQuotes
End Sub
Public Property Text As String
Public Property IsFileName As Boolean
Public Property ForceQuotes As Boolean
End Class
#End Region
End Class
End Namespace

View File

@@ -223,39 +223,26 @@ Namespace Tools
Public Class TreeNodeSorter
Implements IComparer
Private _nodeToSort As TreeNode
Private _sortType As SortType
Public Property Sorting As System.Windows.Forms.SortOrder
Public Sub New(ByVal node As TreeNode, ByVal sortType As SortType)
Public Sub New(Optional ByVal sortOrder As SortOrder = SortOrder.None)
MyBase.New()
Me._nodeToSort = node
Me._sortType = sortType
Sorting = sortOrder
End Sub
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements IComparer.Compare
Dim tx As TreeNode = CType(x, TreeNode)
Dim ty As TreeNode = CType(y, TreeNode)
If ((tx.Parent Is Me._nodeToSort) AndAlso (ty.Parent Is Me._nodeToSort)) Then
' Ascending
If (Me._sortType = SortType.Ascending) Then
Select Case Sorting
Case SortOrder.Ascending
Return String.Compare(tx.Text, ty.Text)
End If
' Descending
If (Me._sortType = SortType.Descending) Then
Case SortOrder.Descending
Return String.Compare(ty.Text, tx.Text)
End If
End If
Return 0
Case Else
Return 0
End Select
End Function
Public Enum SortType
Ascending = 0
Descending = 1
End Enum
End Class
End Class
End Namespace

View File

@@ -117,21 +117,21 @@ Namespace Tools
_ConnectionInfo = ConnectionInfo
Dim p As New Process()
Dim pI As New ProcessStartInfo()
Dim process As New Process()
With process.StartInfo
.UseShellExecute = False
.FileName = ParseText(_FileName)
pI.FileName = ParseText(_FileName)
pI.Arguments = ParseText(_Arguments)
.Arguments = CommandLineArguments.EscapeBackslashes(ParseText(_Arguments))
End With
p.StartInfo = pI
p.Start()
process.Start()
If _WaitForExit Then
p.WaitForExit()
process.WaitForExit()
End If
Return p
Return process
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't start external application." & vbNewLine & ex.Message)
Return Nothing

View File

@@ -5,10 +5,12 @@ Imports System.DirectoryServices
Namespace Tree
Public Class Node
Public Enum Type
Root = 0
Container = 1
Connection = 2
NONE = 66
None = 0
Root = 1
Container = 2
Connection = 3
PuttyRoot = 4
PuttySession = 5
End Enum
Private Shared _TreeView As TreeView
@@ -92,10 +94,14 @@ Namespace Tree
Return Type.NONE
End If
If TypeOf treeNode.Tag Is Root.Info Then
If TypeOf treeNode.Tag Is Root.PuttySessions.Info Then
Return Type.PuttyRoot
ElseIf TypeOf treeNode.Tag Is Root.Info Then
Return Type.Root
ElseIf TypeOf treeNode.Tag Is Container.Info Then
Return Type.Container
ElseIf TypeOf treeNode.Tag Is Connection.PuttySession.Info Then
Return Type.PuttySession
ElseIf TypeOf treeNode.Tag Is Connection.Info Then
Return Type.Connection
End If
@@ -184,7 +190,7 @@ Namespace Tree
Dim nNode As New TreeNode
Select Case NodeType
Case Type.Connection
Case Type.Connection Or Type.PuttySession
nNode.Text = My.Language.strNewConnection
nNode.ImageIndex = Images.Enums.TreeImage.ConnectionClosed
nNode.SelectedImageIndex = Images.Enums.TreeImage.ConnectionClosed
@@ -319,6 +325,10 @@ Namespace Tree
oldTreeNode.Parent.Nodes.Insert(oldTreeNode.Index + 1, newTreeNode)
TreeView.SelectedNode = newTreeNode
Else
Dim parentContainerInfo As Container.Info = TryCast(parentNode.Tag, Container.Info)
If parentContainerInfo IsNot Nothing Then
newConnectionInfo.Parent = parentContainerInfo
End If
parentNode.Nodes.Add(newTreeNode)
End If
ElseIf GetNodeType(oldTreeNode) = Type.Container Then
@@ -497,27 +507,52 @@ Namespace Tree
TreeView.EndUpdate()
End Sub
Public Shared Sub Sort(ByVal treeNode As TreeNode, ByVal sortType As Tools.Controls.TreeNodeSorter.SortType)
Try
TreeView.BeginUpdate()
If treeNode Is Nothing Then
Public Shared Sub Sort(ByVal treeNode As TreeNode, ByVal sorting As System.Windows.Forms.SortOrder)
If TreeView Is Nothing Then Return
TreeView.BeginUpdate()
If treeNode Is Nothing Then
If TreeView.Nodes.Count > 0 Then
treeNode = TreeView.Nodes.Item(0)
ElseIf Tree.Node.GetNodeType(treeNode) = Type.Connection Then
treeNode = treeNode.Parent
Else
Return
End If
ElseIf GetNodeType(treeNode) = Type.Connection Then
treeNode = treeNode.Parent
If treeNode Is Nothing Then Return
End If
Dim ns As New Tools.Controls.TreeNodeSorter(treeNode, sortType)
Sort(treeNode, New Tools.Controls.TreeNodeSorter(sorting))
TreeView.TreeViewNodeSorter = ns
TreeView.Sort()
TreeView.EndUpdate()
End Sub
For Each childNode As TreeNode In treeNode.Nodes
If GetNodeType(childNode) = Type.Container Then Sort(childNode, sortType)
' Adapted from http://www.codeproject.com/Tips/252234/ASP-NET-TreeView-Sort
Private Shared Sub Sort(ByVal treeNode As TreeNode, ByVal nodeSorter As Tools.Controls.TreeNodeSorter)
For Each childNode As TreeNode In treeNode.Nodes
Sort(childNode, nodeSorter)
Next
Try
Dim sortedNodes As New List(Of TreeNode)
Dim currentNode As TreeNode = Nothing
While (treeNode.Nodes.Count > 0)
For Each childNode As TreeNode In treeNode.Nodes
If (currentNode Is Nothing OrElse nodeSorter.Compare(childNode, currentNode) < 0) Then
currentNode = childNode
End If
Next
treeNode.Nodes.Remove(currentNode)
sortedNodes.Add(currentNode)
currentNode = Nothing
End While
For Each childNode As TreeNode In sortedNodes
treeNode.Nodes.Add(childNode)
Next
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Sort nodes failed" & vbNewLine & ex.Message, True)
Finally
TreeView.EndUpdate()
End Try
End Sub

View File

@@ -16,7 +16,6 @@ Namespace UI
'
'wBrowser
'
Me.wBrowser.AllowWebBrowserDrop = False
Me.wBrowser.Dock = System.Windows.Forms.DockStyle.Fill
Me.wBrowser.Location = New System.Drawing.Point(0, 0)
Me.wBrowser.MinimumSize = New System.Drawing.Size(20, 20)
@@ -55,6 +54,11 @@ Namespace UI
Private Sub ApplyLanguage()
End Sub
Private Sub Announcement_Shown(sender As Object, e As EventArgs) Handles Me.Shown
' This can only be set once the WebBrowser control is shown, it will throw a COM exception otherwise.
wBrowser.AllowWebBrowserDrop = False
End Sub
#End Region
Private aN As App.Announcement

View File

@@ -117,6 +117,9 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="propertyGridContextMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>131, 14</value>
</metadata>
<metadata name="cMenIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>21, 14</value>
</metadata>

View File

@@ -18,6 +18,8 @@ Namespace UI
Friend WithEvents btnHostStatus As System.Windows.Forms.ToolStripButton
Friend WithEvents cMenIcons As System.Windows.Forms.ContextMenuStrip
Private components As System.ComponentModel.IContainer
Friend WithEvents propertyGridContextMenu As System.Windows.Forms.ContextMenuStrip
Friend WithEvents propertyGridContextMenuShowHelpText As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents pGrid As Azuria.Common.Controls.FilteredPropertyGrid
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
@@ -29,6 +31,9 @@ Namespace UI
Me.btnIcon = New System.Windows.Forms.ToolStripButton()
Me.btnHostStatus = New System.Windows.Forms.ToolStripButton()
Me.cMenIcons = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.propertyGridContextMenu = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.propertyGridContextMenuShowHelpText = New System.Windows.Forms.ToolStripMenuItem()
Me.propertyGridContextMenu.SuspendLayout()
Me.SuspendLayout()
'
'pGrid
@@ -37,6 +42,7 @@ Namespace UI
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.pGrid.BrowsableProperties = Nothing
Me.pGrid.ContextMenuStrip = Me.propertyGridContextMenu
Me.pGrid.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.pGrid.HiddenAttributes = Nothing
Me.pGrid.HiddenProperties = Nothing
@@ -110,6 +116,18 @@ Namespace UI
Me.cMenIcons.Name = "cMenIcons"
Me.cMenIcons.Size = New System.Drawing.Size(61, 4)
'
'propertyGridContextMenu
'
Me.propertyGridContextMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.propertyGridContextMenuShowHelpText})
Me.propertyGridContextMenu.Name = "propertyGridContextMenu"
Me.propertyGridContextMenu.Size = New System.Drawing.Size(157, 26)
'
'propertyGridContextMenuShowHelpText
'
Me.propertyGridContextMenuShowHelpText.Name = "ContextMenuShowHelpText"
Me.propertyGridContextMenuShowHelpText.Size = New System.Drawing.Size(156, 22)
Me.propertyGridContextMenuShowHelpText.Text = "&Show Help Text"
'
'Config
'
Me.ClientSize = New System.Drawing.Size(226, 530)
@@ -120,6 +138,7 @@ Namespace UI
Me.Name = "Config"
Me.TabText = "Config"
Me.Text = "Config"
Me.propertyGridContextMenu.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
@@ -358,7 +377,7 @@ Namespace UI
End If
Me.btnShowDefaultProperties.Enabled = False
Me.btnShowDefaultInheritance.Enabled = False
Me.btnIcon.Enabled = True
btnIcon.Enabled = True
Me.btnHostStatus.Enabled = True
ElseIf Me.DefaultPropertiesVisible Then 'Defaults selected
Me.pGrid.SelectedObject = Obj
@@ -390,6 +409,8 @@ Namespace UI
Me.btnIcon.Enabled = True
Me.btnHostStatus.Enabled = True
ElseIf Me.DefaultInheritanceVisible Then 'Default Inhertiance selected
pGrid.SelectedObject = Obj
Me.btnShowProperties.Enabled = True
Me.btnShowInheritance.Enabled = True
Me.btnShowDefaultProperties.Enabled = False
@@ -420,17 +441,31 @@ Namespace UI
If conIcon IsNot Nothing Then
Me.btnIcon.Image = conIcon.ToBitmap
End If
ElseIf TypeOf Obj Is mRemoteNG.Root.Info Then 'ROOT
Me.PropertiesVisible = True
Me.DefaultPropertiesVisible = False
Me.btnShowProperties.Enabled = True
Me.btnShowInheritance.Enabled = False
Me.btnShowDefaultProperties.Enabled = True
Me.btnShowDefaultInheritance.Enabled = True
Me.btnIcon.Enabled = False
Me.btnHostStatus.Enabled = False
Me.pGrid.SelectedObject = Obj
ElseIf TypeOf Obj Is Root.Info Then 'ROOT
Dim rootInfo As Root.Info = CType(Obj, Root.Info)
Select Case rootInfo.Type
Case Root.Info.RootType.Connection
PropertiesVisible = True
DefaultPropertiesVisible = False
btnShowProperties.Enabled = True
btnShowInheritance.Enabled = False
btnShowDefaultProperties.Enabled = True
btnShowDefaultInheritance.Enabled = True
btnIcon.Enabled = False
btnHostStatus.Enabled = False
Case Root.Info.RootType.Credential
Throw New NotImplementedException
Case Root.Info.RootType.PuttySessions
PropertiesVisible = True
DefaultPropertiesVisible = False
btnShowProperties.Enabled = True
btnShowInheritance.Enabled = False
btnShowDefaultProperties.Enabled = False
btnShowDefaultInheritance.Enabled = False
btnIcon.Enabled = False
btnHostStatus.Enabled = False
End Select
pGrid.SelectedObject = Obj
ElseIf TypeOf Obj Is mRemoteNG.Connection.Info.Inheritance Then 'INHERITANCE
Me.pGrid.SelectedObject = Obj
@@ -484,6 +519,20 @@ Namespace UI
btnHostStatus.Text = My.Language.strStatus
Text = My.Language.strMenuConfig
TabText = My.Language.strMenuConfig
propertyGridContextMenuShowHelpText.Text = Language.strMenuShowHelpText
End Sub
Private Sub ApplyTheme()
With Themes.ThemeManager.ActiveTheme
pGrid.BackColor = .ToolbarBackgroundColor
pGrid.ForeColor = .ToolbarTextColor
pGrid.ViewBackColor = .ConfigPanelBackgroundColor
pGrid.ViewForeColor = .ConfigPanelTextColor
pGrid.LineColor = .ConfigPanelGridLineColor
pGrid.HelpBackColor = .ConfigPanelHelpBackgroundColor
pGrid.HelpForeColor = .ConfigPanelHelpTextColor
pGrid.CategoryForeColor = .ConfigPanelCategoryTextColor
End With
End Sub
Private _originalPropertyGridToolStripItemCountValid As Boolean
@@ -538,7 +587,13 @@ Namespace UI
Private Sub Config_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ApplyLanguage()
AddHandler Themes.ThemeManager.ThemeChanged, AddressOf ApplyTheme
ApplyTheme()
AddToolStripItems()
pGrid.HelpVisible = Settings.ShowConfigHelpText
End Sub
Private Sub Config_SystemColorsChanged(sender As System.Object, e As System.EventArgs) Handles MyBase.SystemColorsChanged
@@ -564,8 +619,6 @@ Namespace UI
If conIcon IsNot Nothing Then
Me.btnIcon.Image = conIcon.ToBitmap
End If
Case My.Language.strPropertyNamePuttySession
mRemoteNG.Connection.PuttySession.PuttySessions = mRemoteNG.Connection.Protocol.PuttyBase.GetSessions()
Case My.Language.strPropertyNameAddress
Me.SetHostStatus(Me.pGrid.SelectedObject)
End Select
@@ -575,7 +628,16 @@ Namespace UI
End If
End If
If TypeOf Me.pGrid.SelectedObject Is mRemoteNG.Root.Info Then
If TypeOf pGrid.SelectedObject Is Root.PuttySessions.Info Then
Dim puttyRootInfo As Root.PuttySessions.Info = pGrid.SelectedObject
Select Case e.ChangedItem.PropertyDescriptor.Name
Case "Name"
puttyRootInfo.TreeNode.Text = puttyRootInfo.Name
Settings.PuttySavedSessionsName = puttyRootInfo.Name
Case "Panel"
Settings.PuttySavedSessionsPanel = puttyRootInfo.Panel
End Select
ElseIf TypeOf Me.pGrid.SelectedObject Is mRemoteNG.Root.Info Then
Dim rInfo As mRemoteNG.Root.Info = Me.pGrid.SelectedObject
Select Case e.ChangedItem.Label
@@ -607,6 +669,12 @@ Namespace UI
End Try
End Sub
Private Sub pGrid_PropertySortChanged(ByVal sender As Object, ByVal e As EventArgs) Handles pGrid.PropertySortChanged
If pGrid.PropertySort = PropertySort.CategorizedAlphabetical Then
pGrid.PropertySort = PropertySort.Categorized
End If
End Sub
Private Sub ShowHideGridItems()
Try
Dim strHide As New List(Of String)
@@ -670,7 +738,8 @@ Namespace UI
strHide.Add("UseConsoleSession")
strHide.Add("UseCredSsp")
If conI.VNCAuthMode = mRemoteNG.Connection.Protocol.VNC.AuthMode.AuthVNC Then
strHide.Add("Username;Domain")
strHide.Add("Username")
strHide.Add("Domain")
End If
If conI.VNCProxyType = mRemoteNG.Connection.Protocol.VNC.ProxyType.ProxyNone Then
strHide.Add("VNCProxyIP")
@@ -1234,8 +1303,11 @@ Namespace UI
strHide.Add("Hostname")
strHide.Add("Name")
End If
ElseIf TypeOf Me.pGrid.SelectedObject Is mRemoteNG.Root.Info Then
strHide.Add("TreeNode")
ElseIf TypeOf pGrid.SelectedObject Is Root.Info Then
Dim rootInfo As Root.Info = CType(pGrid.SelectedObject, Root.Info)
If rootInfo.Type = Root.Info.RootType.PuttySessions Then
strHide.Add("Password")
End If
End If
Me.pGrid.HiddenProperties = strHide.ToArray
@@ -1308,7 +1380,8 @@ Namespace UI
Private Sub btnIcon_Click(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles btnIcon.MouseUp
Try
If TypeOf Me.pGrid.SelectedObject Is mRemoteNG.Connection.Info Then
If TypeOf pGrid.SelectedObject Is mRemoteNG.Connection.Info And _
Not TypeOf pGrid.SelectedObject Is mRemoteNG.Connection.PuttySession.Info Then
Me.cMenIcons.Items.Clear()
For Each iStr As String In mRemoteNG.Connection.Icon.Icons
@@ -1328,19 +1401,28 @@ Namespace UI
End Try
End Sub
Private Sub IconMenu_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Private Sub IconMenu_Click(ByVal sender As Object, ByVal e As EventArgs)
Try
If TypeOf Me.pGrid.SelectedObject Is mRemoteNG.Connection.Info Then
TryCast(Me.pGrid.SelectedObject, mRemoteNG.Connection.Info).Icon = TryCast(sender, ToolStripMenuItem).Text
Dim conIcon As Icon = mRemoteNG.Connection.Icon.FromString(TryCast(Me.pGrid.SelectedObject, mRemoteNG.Connection.Info).Icon)
If conIcon IsNot Nothing Then
Me.btnIcon.Image = conIcon.ToBitmap
End If
Dim connectionInfo As mRemoteNG.Connection.Info = TryCast(pGrid.SelectedObject, mRemoteNG.Connection.Info)
If connectionInfo Is Nothing Then Return
App.Runtime.SaveConnectionsBG()
End If
Dim selectedMenuItem As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
If selectedMenuItem Is Nothing Then Return
Dim iconName As String = selectedMenuItem.Text
If String.IsNullOrEmpty(iconName) Then Return
Dim connectionIcon As Icon = mRemoteNG.Connection.Icon.FromString(iconName)
If connectionIcon Is Nothing Then Return
btnIcon.Image = connectionIcon.ToBitmap()
connectionInfo.Icon = iconName
pGrid.Refresh()
SaveConnectionsBG()
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strConfigPropertyGridMenuClickFailed & vbNewLine & ex.Message, True)
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, Language.strConfigPropertyGridMenuClickFailed & vbNewLine & ex.Message, True)
End Try
End Sub
#End Region
@@ -1405,6 +1487,19 @@ Namespace UI
End Try
End Sub
#End Region
Private Sub propertyGridContextMenu_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles propertyGridContextMenu.Opening
propertyGridContextMenuShowHelpText.Checked = Settings.ShowConfigHelpText
End Sub
Private Sub propertyGridContextMenu_Click(sender As Object, e As EventArgs) Handles propertyGridContextMenuShowHelpText.Click
propertyGridContextMenuShowHelpText.Checked = Not propertyGridContextMenuShowHelpText.Checked
End Sub
Private Sub propertyGridContextMenu_CheckedChanged(sender As Object, e As EventArgs) Handles propertyGridContextMenuShowHelpText.CheckedChanged
Settings.ShowConfigHelpText = propertyGridContextMenuShowHelpText.Checked
pGrid.HelpVisible = propertyGridContextMenuShowHelpText.Checked
End Sub
End Class
End Namespace
End Namespace

View File

@@ -6,6 +6,7 @@ Imports Crownwood
Imports WeifenLuo.WinFormsUI.Docking
Imports PSTaskDialog
Imports mRemoteNG.App.Runtime
Imports mRemoteNG.Config
Namespace UI
Namespace Window
@@ -292,6 +293,30 @@ Namespace UI
ApplyLanguage()
End Sub
Private _documentHandlersAdded As Boolean = False
Private _floatHandlersAdded As Boolean = False
Private Sub Connection_DockStateChanged(ByVal sender As System.Object, ByVal e As EventArgs) Handles Me.DockStateChanged
If DockState = DockState.Float Then
If _documentHandlersAdded Then
RemoveHandler frmMain.ResizeBegin, AddressOf Connection_ResizeBegin
RemoveHandler frmMain.ResizeEnd, AddressOf Connection_ResizeEnd
_documentHandlersAdded = False
End If
AddHandler DockHandler.FloatPane.FloatWindow.ResizeBegin, AddressOf Connection_ResizeBegin
AddHandler DockHandler.FloatPane.FloatWindow.ResizeEnd, AddressOf Connection_ResizeEnd
_floatHandlersAdded = True
ElseIf DockState = DockState.Document Then
If _floatHandlersAdded Then
RemoveHandler DockHandler.FloatPane.FloatWindow.ResizeBegin, AddressOf Connection_ResizeBegin
RemoveHandler DockHandler.FloatPane.FloatWindow.ResizeEnd, AddressOf Connection_ResizeEnd
_floatHandlersAdded = False
End If
AddHandler frmMain.ResizeBegin, AddressOf Connection_ResizeBegin
AddHandler frmMain.ResizeEnd, AddressOf Connection_ResizeEnd
_documentHandlersAdded = True
End If
End Sub
Private Sub ApplyLanguage()
cmenTabFullscreen.Text = My.Language.strMenuFullScreenRDP
cmenTabSmartSize.Text = My.Language.strMenuSmartSize
@@ -311,13 +336,15 @@ Namespace UI
cmenTabPuttySettings.Text = My.Language.strPuttySettings
End Sub
Private Sub Connection_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If Not frmMain.IsClosing And My.Settings.ConfirmCloseConnection And TabController.TabPages.Count > 0 Then
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Language.strConfirmCloseConnectionPanelMainInstruction, Me.Text), "", "", "", My.Language.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
Private Sub Connection_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing
If Not frmMain.IsClosing And ( _
(My.Settings.ConfirmCloseConnection = ConfirmClose.All And TabController.TabPages.Count > 0) Or _
(My.Settings.ConfirmCloseConnection = ConfirmClose.Multiple And TabController.TabPages.Count > 1)) Then
Dim result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Language.strConfirmCloseConnectionPanelMainInstruction, Me.Text), "", "", "", My.Language.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
If cTaskDialog.VerificationChecked Then
My.Settings.ConfirmCloseConnection = False
My.Settings.ConfirmCloseConnection = My.Settings.ConfirmCloseConnection - 1
End If
If Result = DialogResult.No Then
If result = DialogResult.No Then
e.Cancel = True
Exit Sub
End If
@@ -326,28 +353,23 @@ Namespace UI
Try
For Each tabP As Magic.Controls.TabPage In Me.TabController.TabPages
If tabP.Tag IsNot Nothing Then
Dim IC As mRemoteNG.Connection.InterfaceControl = tabP.Tag
IC.Protocol.Close()
Dim interfaceControl As mRemoteNG.Connection.InterfaceControl = tabP.Tag
interfaceControl.Protocol.Close()
End If
Next
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Connection_FormClosing (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "UI.Window.Connection.Connection_FormClosing() failed" & vbNewLine & ex.Message, True)
End Try
End Sub
Private Sub Connection_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize
Try
For Each tabP As Magic.Controls.TabPage In Me.TabController.TabPages
If tabP.Tag IsNot Nothing Then
If TypeOf tabP.Tag Is mRemoteNG.Connection.InterfaceControl Then
Dim IC As mRemoteNG.Connection.InterfaceControl = tabP.Tag
IC.Protocol.Resize()
End If
End If
Next
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Connection_Resize (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
End Try
Public Shadows Event ResizeBegin As EventHandler
Private Sub Connection_ResizeBegin(ByVal sender As System.Object, ByVal e As EventArgs)
RaiseEvent ResizeBegin(Me, e)
End Sub
Public Shadows Event ResizeEnd As EventHandler
Public Sub Connection_ResizeEnd(ByVal sender As System.Object, ByVal e As EventArgs)
RaiseEvent ResizeEnd(sender, e)
End Sub
#End Region
@@ -361,31 +383,31 @@ Namespace UI
End Sub
Private Sub CloseConnectionTab()
Dim SelectedTab As Crownwood.Magic.Controls.TabPage = Me.TabController.SelectedTab
If My.Settings.ConfirmCloseConnection Then
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Language.strConfirmCloseConnectionMainInstruction, SelectedTab.Title), "", "", "", My.Language.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
Dim selectedTab As Magic.Controls.TabPage = TabController.SelectedTab
If My.Settings.ConfirmCloseConnection = ConfirmClose.All Then
Dim result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Language.strConfirmCloseConnectionMainInstruction, selectedTab.Title), "", "", "", My.Language.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
If cTaskDialog.VerificationChecked Then
My.Settings.ConfirmCloseConnection = False
My.Settings.ConfirmCloseConnection = My.Settings.ConfirmCloseConnection - 1
End If
If Result = DialogResult.No Then
If result = DialogResult.No Then
Exit Sub
End If
End If
Try
If SelectedTab.Tag IsNot Nothing Then
Dim IC As mRemoteNG.Connection.InterfaceControl = SelectedTab.Tag
IC.Protocol.Close()
If selectedTab.Tag IsNot Nothing Then
Dim interfaceControl As mRemoteNG.Connection.InterfaceControl = selectedTab.Tag
interfaceControl.Protocol.Close()
Else
Me.CloseTab(SelectedTab)
CloseTab(selectedTab)
End If
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "CloseConnectionTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "UI.Window.Connection.CloseConnectionTab() failed" & vbNewLine & ex.Message, True)
End Try
End Sub
Private Sub TabController_DoubleClickTab(ByVal sender As Crownwood.Magic.Controls.TabControl, ByVal page As Crownwood.Magic.Controls.TabPage) Handles TabController.DoubleClickTab
_lastMouseUp = 0
_firstClickTicks = 0
If My.Settings.DoubleClickOnTabClosesIt Then
Me.CloseConnectionTab()
End If
@@ -424,15 +446,16 @@ Namespace UI
End If
If IC.Info.Protocol = mRemoteNG.Connection.Protocol.Protocols.RDP Then
Me.cmenTabFullscreen.Enabled = True
Me.cmenTabSmartSize.Enabled = True
Dim rdp As mRemoteNG.Connection.Protocol.RDP = IC.Protocol
Me.cmenTabSmartSize.Checked = rdp.SmartSize
Me.cmenTabFullscreen.Checked = rdp.Fullscreen
cmenTabFullscreen.Enabled = True
cmenTabFullscreen.Checked = rdp.Fullscreen
cmenTabSmartSize.Enabled = True
cmenTabSmartSize.Checked = rdp.SmartSize
Else
Me.cmenTabFullscreen.Enabled = False
Me.cmenTabSmartSize.Enabled = False
cmenTabFullscreen.Enabled = False
cmenTabSmartSize.Enabled = False
End If
If IC.Info.Protocol = mRemoteNG.Connection.Protocol.Protocols.VNC Then
@@ -845,10 +868,9 @@ Namespace UI
RefreshIC()
End Sub
Private _lastMouseUp As Integer = 0
Private _firstClickTicks As Integer = 0
Private _doubleClickRectangle As Rectangle
Private Sub TabController_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs) Handles TabController.MouseUp
Debug.Print("TabController_MouseUp()")
Debug.Print("_ignoreChangeSelectedTabClick = {0}", _ignoreChangeSelectedTabClick)
Try
If Not Native.GetForegroundWindow() = frmMain.Handle And Not _ignoreChangeSelectedTabClick Then
Dim clickedTab As Magic.Controls.TabPage = TabController.TabPageFromPoint(e.Location)
@@ -862,9 +884,10 @@ Namespace UI
Select Case e.Button
Case MouseButtons.Left
Dim currentTicks As Integer = Environment.TickCount
Dim elapsedTicks As Integer = currentTicks - _lastMouseUp
If elapsedTicks > SystemInformation.DoubleClickTime Then
_lastMouseUp = currentTicks
Dim elapsedTicks As Integer = currentTicks - _firstClickTicks
If elapsedTicks > SystemInformation.DoubleClickTime Or Not _doubleClickRectangle.Contains(MousePosition) Then
_firstClickTicks = currentTicks
_doubleClickRectangle = New Rectangle(MousePosition.X - (SystemInformation.DoubleClickSize.Width / 2), MousePosition.Y - (SystemInformation.DoubleClickSize.Height / 2), SystemInformation.DoubleClickSize.Width, SystemInformation.DoubleClickSize.Height)
FocusIC()
Else
TabController.OnDoubleClickTab(TabController.SelectedTab)
@@ -915,7 +938,6 @@ Namespace UI
Protected Overloads Overrides Sub WndProc(ByRef WndMsg As Message)
Try
If WndMsg.Msg = Native.WM_MOUSEACTIVATE Then
Dim curTab As Magic.Controls.TabPage = Me.TabController.SelectedTab
Dim curRect As Rectangle = curTab.RectangleToScreen(curTab.ClientRectangle)
@@ -938,15 +960,14 @@ Namespace UI
#End Region
#Region "Tab drag and drop"
Public Property InTabDrag As Boolean = False
Private Sub TabController_PageDragStart(ByVal sender As Object, ByVal e As MouseEventArgs) Handles TabController.PageDragEnd, TabController.PageDragStart
Cursor = Cursors.SizeWE
End Sub
Private Sub TabController_PageDragEnd(ByVal sender As Object, ByVal e As MouseEventArgs) Handles TabController.PageDragEnd, TabController.PageDragQuit
Cursor = Cursors.Default
End Sub
Private Sub TabController_PageDragMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles TabController.PageDragMove
InTabDrag = True ' For some reason PageDragStart gets raised again after PageDragEnd so set this here instead
Dim sourceTab As Magic.Controls.TabPage = TabController.SelectedTab
Dim destinationTab As Magic.Controls.TabPage = TabController.TabPageFromPoint(e.Location)
@@ -960,6 +981,13 @@ Namespace UI
TabController.SelectedTab = sourceTab
TabController.TabPages.ResumeEvents()
End Sub
Private Sub TabController_PageDragEnd(ByVal sender As Object, ByVal e As MouseEventArgs) Handles TabController.PageDragEnd, TabController.PageDragQuit
Cursor = Cursors.Default
InTabDrag = False
Dim interfaceControl As mRemoteNG.Connection.InterfaceControl = TryCast(TabController.SelectedTab.Tag, mRemoteNG.Connection.InterfaceControl)
If interfaceControl IsNot Nothing Then interfaceControl.Protocol.Focus()
End Sub
#End Region
End Class
End Namespace

View File

@@ -1,3 +1,4 @@
Imports System.Text
Imports WeifenLuo.WinFormsUI.Docking
Imports mRemoteNG.App.Runtime
@@ -19,16 +20,16 @@ Namespace UI
Friend WithEvents cMenMCDelete As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents pnlErrorMsg As System.Windows.Forms.Panel
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container
Me.pnlErrorMsg = New System.Windows.Forms.Panel
Me.txtMsgText = New System.Windows.Forms.TextBox
Me.lblMsgDate = New System.Windows.Forms.Label
Me.pbError = New System.Windows.Forms.PictureBox
Me.lvErrorCollector = New System.Windows.Forms.ListView
Me.clmMessage = New System.Windows.Forms.ColumnHeader
Me.components = New System.ComponentModel.Container()
Me.pnlErrorMsg = New System.Windows.Forms.Panel()
Me.txtMsgText = New System.Windows.Forms.TextBox()
Me.lblMsgDate = New System.Windows.Forms.Label()
Me.pbError = New System.Windows.Forms.PictureBox()
Me.lvErrorCollector = New System.Windows.Forms.ListView()
Me.clmMessage = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.cMenMC = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.cMenMCCopy = New System.Windows.Forms.ToolStripMenuItem
Me.cMenMCDelete = New System.Windows.Forms.ToolStripMenuItem
Me.cMenMCCopy = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenMCDelete = New System.Windows.Forms.ToolStripMenuItem()
Me.imgListMC = New System.Windows.Forms.ImageList(Me.components)
Me.pnlErrorMsg.SuspendLayout()
CType(Me.pbError, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -38,7 +39,7 @@ Namespace UI
'pnlErrorMsg
'
Me.pnlErrorMsg.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.pnlErrorMsg.BackColor = System.Drawing.SystemColors.Control
Me.pnlErrorMsg.Controls.Add(Me.txtMsgText)
Me.pnlErrorMsg.Controls.Add(Me.lblMsgDate)
@@ -51,8 +52,8 @@ Namespace UI
'txtMsgText
'
Me.txtMsgText.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.txtMsgText.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.txtMsgText.Location = New System.Drawing.Point(40, 20)
Me.txtMsgText.Multiline = True
@@ -65,7 +66,7 @@ Namespace UI
'lblMsgDate
'
Me.lblMsgDate.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.lblMsgDate.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblMsgDate.Location = New System.Drawing.Point(40, 5)
Me.lblMsgDate.Name = "lblMsgDate"
@@ -84,8 +85,8 @@ Namespace UI
'lvErrorCollector
'
Me.lvErrorCollector.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.lvErrorCollector.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.lvErrorCollector.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.clmMessage})
Me.lvErrorCollector.ContextMenuStrip = Me.cMenMC
@@ -103,7 +104,7 @@ Namespace UI
'
'clmMessage
'
Me.clmMessage.Text = My.Language.strColumnMessage
Me.clmMessage.Text = Global.mRemoteNG.My.Language.strColumnMessage
Me.clmMessage.Width = 184
'
'cMenMC
@@ -112,23 +113,23 @@ Namespace UI
Me.cMenMC.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenMCCopy, Me.cMenMCDelete})
Me.cMenMC.Name = "cMenMC"
Me.cMenMC.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
Me.cMenMC.Size = New System.Drawing.Size(137, 48)
Me.cMenMC.Size = New System.Drawing.Size(153, 70)
'
'cMenMCCopy
'
Me.cMenMCCopy.Image = Global.mRemoteNG.My.Resources.Resources.Copy
Me.cMenMCCopy.Name = "cMenMCCopy"
Me.cMenMCCopy.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.C), System.Windows.Forms.Keys)
Me.cMenMCCopy.Size = New System.Drawing.Size(136, 22)
Me.cMenMCCopy.Text = My.Language.strMenuCopy
Me.cMenMCCopy.Size = New System.Drawing.Size(152, 22)
Me.cMenMCCopy.Text = Global.mRemoteNG.My.Language.strMenuCopy
'
'cMenMCDelete
'
Me.cMenMCDelete.Image = Global.mRemoteNG.My.Resources.Resources.Delete
Me.cMenMCDelete.Name = "cMenMCDelete"
Me.cMenMCDelete.ShortcutKeys = System.Windows.Forms.Keys.Delete
Me.cMenMCDelete.Size = New System.Drawing.Size(136, 22)
Me.cMenMCDelete.Text = My.Language.strMenuDelete
Me.cMenMCDelete.Size = New System.Drawing.Size(152, 22)
Me.cMenMCDelete.Text = Global.mRemoteNG.My.Language.strMenuDelete
'
'imgListMC
'
@@ -141,11 +142,12 @@ Namespace UI
Me.ClientSize = New System.Drawing.Size(617, 233)
Me.Controls.Add(Me.lvErrorCollector)
Me.Controls.Add(Me.pnlErrorMsg)
Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.HideOnClose = True
Me.Icon = Global.mRemoteNG.My.Resources.Resources.Info_Icon
Me.Name = "ErrorsAndInfos"
Me.TabText = My.Language.strMenuNotifications
Me.Text = My.Language.strMenuNotifications
Me.TabText = Global.mRemoteNG.My.Language.strMenuNotifications
Me.Text = "Notifications"
Me.pnlErrorMsg.ResumeLayout(False)
Me.pnlErrorMsg.PerformLayout()
CType(Me.pbError, System.ComponentModel.ISupportInitialize).EndInit()
@@ -174,8 +176,8 @@ Namespace UI
Private Sub ApplyLanguage()
clmMessage.Text = My.Language.strColumnMessage
cMenMCCopy.Text = My.Language.strMenuCopy
cMenMCDelete.Text = My.Language.strMenuDelete
cMenMCCopy.Text = My.Language.strMenuNotificationsCopyAll
cMenMCDelete.Text = My.Language.strMenuNotificationsDeleteAll
TabText = My.Language.strMenuNotifications
Text = My.Language.strMenuNotifications
End Sub
@@ -311,43 +313,80 @@ Namespace UI
End Try
End Sub
Private Sub cMenMCCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenMCCopy.Click
Me.CopyMessageToClipboard()
Private Sub cMenMC_Opening(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles cMenMC.Opening
If lvErrorCollector.Items.Count Then
cMenMCCopy.Enabled = True
cMenMCDelete.Enabled = True
Else
cMenMCCopy.Enabled = False
cMenMCDelete.Enabled = False
End If
If lvErrorCollector.SelectedItems.Count Then
cMenMCCopy.Text = My.Language.strMenuCopy
cMenMCDelete.Text = My.Language.strMenuNotificationsDelete
Else
cMenMCCopy.Text = My.Language.strMenuNotificationsCopyAll
cMenMCDelete.Text = My.Language.strMenuNotificationsDeleteAll
End If
End Sub
Private Sub CopyMessageToClipboard()
Private Sub cMenMCCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenMCCopy.Click
CopyMessagesToClipboard()
End Sub
Private Sub CopyMessagesToClipboard()
Try
If Me.lvErrorCollector.SelectedItems.Count > 0 Then
Dim strCopyText As String
strCopyText = "----------" & vbNewLine
For Each lvItem As ListViewItem In Me.lvErrorCollector.SelectedItems
strCopyText &= TryCast(lvItem.Tag, Messages.Message).MsgClass.ToString & vbNewLine
strCopyText &= TryCast(lvItem.Tag, Messages.Message).MsgDate & vbNewLine
strCopyText &= TryCast(lvItem.Tag, Messages.Message).MsgText & vbNewLine
strCopyText &= "----------" & vbNewLine
Next
Clipboard.SetText(strCopyText)
Dim items As IEnumerable
If lvErrorCollector.SelectedItems.Count Then
items = lvErrorCollector.SelectedItems
Else
items = lvErrorCollector.Items
End If
Dim stringBuilder As New StringBuilder
stringBuilder.AppendLine("----------")
lvErrorCollector.BeginUpdate()
Dim message As Messages.Message
For Each item As ListViewItem In items
message = TryCast(item.Tag, Messages.Message)
If message Is Nothing Then Continue For
stringBuilder.AppendLine(message.MsgClass.ToString)
stringBuilder.AppendLine(message.MsgDate)
stringBuilder.AppendLine(message.MsgText)
stringBuilder.AppendLine("----------")
Next
Clipboard.SetText(stringBuilder.ToString)
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "CopyMessageToClipboard (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "UI.Window.ErrorsAndInfos.CopyMessagesToClipboard() failed." & vbNewLine & ex.Message, True)
Finally
lvErrorCollector.EndUpdate()
End Try
End Sub
Private Sub cMenMCDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenMCDelete.Click
Me.DeleteMessages()
DeleteMessages()
End Sub
Private Sub DeleteMessages()
Try
If Me.lvErrorCollector.SelectedItems.Count > 0 Then
For Each lvItem As ListViewItem In Me.lvErrorCollector.SelectedItems
lvItem.Remove()
lvErrorCollector.BeginUpdate()
If lvErrorCollector.SelectedItems.Count Then
For Each item As ListViewItem In lvErrorCollector.SelectedItems
item.Remove()
Next
Else
lvErrorCollector.Items.Clear()
End If
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "DeleteMessages (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "UI.Window.ErrorsAndInfos.DeleteMessages() failed" & vbNewLine & ex.Message, True)
Finally
lvErrorCollector.EndUpdate()
End Try
End Sub
#End Region

View File

@@ -52,7 +52,6 @@ Namespace UI
'
'wbHelp
'
Me.wbHelp.AllowWebBrowserDrop = False
Me.wbHelp.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
@@ -224,6 +223,11 @@ Namespace UI
Me.tvIndex.SelectedNode = Me.tvIndex.Nodes(0).Nodes(0)
End Sub
Private Sub Help_Shown(sender As Object, e As EventArgs) Handles Me.Shown
' This can only be set once the WebBrowser control is shown, it will throw a COM exception otherwise.
wbHelp.AllowWebBrowserDrop = False
End Sub
Private Sub tvIndex_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles tvIndex.NodeMouseClick
Me.tvIndex.SelectedNode = e.Node
End Sub

View File

@@ -1,4 +1,5 @@
Imports mRemoteNG.Connection
Imports mRemoteNG
Imports mRemoteNG.My
Imports WeifenLuo.WinFormsUI.Docking
Imports mRemoteNG.App.Runtime
@@ -53,51 +54,51 @@ Namespace UI
Friend WithEvents mMenAddFolder As System.Windows.Forms.ToolStripMenuItem
Public WithEvents tvConnections As System.Windows.Forms.TreeView
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container
Me.components = New System.ComponentModel.Container()
Dim TreeNode1 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Connections")
Me.tvConnections = New System.Windows.Forms.TreeView
Me.tvConnections = New System.Windows.Forms.TreeView()
Me.cMenTree = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.cMenTreeAddConnection = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeAddFolder = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeSep1 = New System.Windows.Forms.ToolStripSeparator
Me.cMenTreeConnect = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeConnectWithOptions = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeConnectWithOptionsConnectToConsoleSession = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeConnectWithOptionsDontConnectToConsoleSession = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeConnectWithOptionsConnectInFullscreen = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeConnectWithOptionsChoosePanelBeforeConnecting = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeDisconnect = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeSep2 = New System.Windows.Forms.ToolStripSeparator
Me.cMenTreeToolsTransferFile = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsImportExport = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsImportExportExportmRemoteXML = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsImportExportImportmRemoteXML = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsImportExportSep1 = New System.Windows.Forms.ToolStripSeparator
Me.cMenTreeToolsImportExportImportFromAD = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsImportExportImportFromRDPFiles = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsImportExportImportFromPortScan = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsSort = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsSortAscending = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsSortDescending = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsExternalApps = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeSep3 = New System.Windows.Forms.ToolStripSeparator
Me.cMenTreeDuplicate = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeRename = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeDelete = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeSep4 = New System.Windows.Forms.ToolStripSeparator
Me.cMenTreeMoveUp = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeMoveDown = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeAddConnection = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeAddFolder = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeSep1 = New System.Windows.Forms.ToolStripSeparator()
Me.cMenTreeConnect = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeConnectWithOptions = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeConnectWithOptionsConnectToConsoleSession = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeConnectWithOptionsDontConnectToConsoleSession = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeConnectWithOptionsConnectInFullscreen = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeConnectWithOptionsChoosePanelBeforeConnecting = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeDisconnect = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeSep2 = New System.Windows.Forms.ToolStripSeparator()
Me.cMenTreeToolsTransferFile = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeToolsImportExport = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeToolsImportExportExportmRemoteXML = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeToolsImportExportImportmRemoteXML = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeToolsImportExportSep1 = New System.Windows.Forms.ToolStripSeparator()
Me.cMenTreeToolsImportExportImportFromAD = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeToolsImportExportImportFromRDPFiles = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeToolsImportExportImportFromPortScan = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeToolsSort = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeToolsSortAscending = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeToolsSortDescending = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeToolsExternalApps = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeSep3 = New System.Windows.Forms.ToolStripSeparator()
Me.cMenTreeDuplicate = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeRename = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeDelete = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeSep4 = New System.Windows.Forms.ToolStripSeparator()
Me.cMenTreeMoveUp = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTreeMoveDown = New System.Windows.Forms.ToolStripMenuItem()
Me.imgListTree = New System.Windows.Forms.ImageList(Me.components)
Me.pnlConnections = New System.Windows.Forms.Panel
Me.PictureBox1 = New System.Windows.Forms.PictureBox
Me.txtSearch = New System.Windows.Forms.TextBox
Me.msMain = New System.Windows.Forms.MenuStrip
Me.mMenAddConnection = New System.Windows.Forms.ToolStripMenuItem
Me.mMenAddFolder = New System.Windows.Forms.ToolStripMenuItem
Me.mMenView = New System.Windows.Forms.ToolStripMenuItem
Me.mMenViewExpandAllFolders = New System.Windows.Forms.ToolStripMenuItem
Me.mMenViewCollapseAllFolders = New System.Windows.Forms.ToolStripMenuItem
Me.mMenSortAscending = New System.Windows.Forms.ToolStripMenuItem
Me.pnlConnections = New System.Windows.Forms.Panel()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
Me.txtSearch = New System.Windows.Forms.TextBox()
Me.msMain = New System.Windows.Forms.MenuStrip()
Me.mMenAddConnection = New System.Windows.Forms.ToolStripMenuItem()
Me.mMenAddFolder = New System.Windows.Forms.ToolStripMenuItem()
Me.mMenView = New System.Windows.Forms.ToolStripMenuItem()
Me.mMenViewExpandAllFolders = New System.Windows.Forms.ToolStripMenuItem()
Me.mMenViewCollapseAllFolders = New System.Windows.Forms.ToolStripMenuItem()
Me.mMenSortAscending = New System.Windows.Forms.ToolStripMenuItem()
Me.cMenTree.SuspendLayout()
Me.pnlConnections.SuspendLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -108,8 +109,8 @@ Namespace UI
'
Me.tvConnections.AllowDrop = True
Me.tvConnections.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.tvConnections.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.tvConnections.ContextMenuStrip = Me.cMenTree
Me.tvConnections.HideSelection = False
@@ -122,7 +123,7 @@ Namespace UI
TreeNode1.Text = "Connections"
Me.tvConnections.Nodes.AddRange(New System.Windows.Forms.TreeNode() {TreeNode1})
Me.tvConnections.SelectedImageIndex = 0
Me.tvConnections.Size = New System.Drawing.Size(192, 407)
Me.tvConnections.Size = New System.Drawing.Size(192, 410)
Me.tvConnections.TabIndex = 20
'
'cMenTree
@@ -157,7 +158,7 @@ Namespace UI
Me.cMenTreeConnect.Image = Global.mRemoteNG.My.Resources.Resources.Play
Me.cMenTreeConnect.Name = "cMenTreeConnect"
Me.cMenTreeConnect.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Shift) _
Or System.Windows.Forms.Keys.C), System.Windows.Forms.Keys)
Or System.Windows.Forms.Keys.C), System.Windows.Forms.Keys)
Me.cMenTreeConnect.Size = New System.Drawing.Size(186, 22)
Me.cMenTreeConnect.Text = "Connect"
'
@@ -348,8 +349,8 @@ Namespace UI
'pnlConnections
'
Me.pnlConnections.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.pnlConnections.Controls.Add(Me.PictureBox1)
Me.pnlConnections.Controls.Add(Me.txtSearch)
Me.pnlConnections.Controls.Add(Me.tvConnections)
@@ -362,7 +363,7 @@ Namespace UI
'
Me.PictureBox1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.PictureBox1.Image = Global.mRemoteNG.My.Resources.Resources.Search
Me.PictureBox1.Location = New System.Drawing.Point(0, 411)
Me.PictureBox1.Location = New System.Drawing.Point(2, 412)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(16, 16)
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize
@@ -372,13 +373,15 @@ Namespace UI
'txtSearch
'
Me.txtSearch.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.txtSearch.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.txtSearch.Location = New System.Drawing.Point(21, 412)
Me.txtSearch.ForeColor = System.Drawing.SystemColors.GrayText
Me.txtSearch.Location = New System.Drawing.Point(19, 413)
Me.txtSearch.Name = "txtSearch"
Me.txtSearch.Size = New System.Drawing.Size(169, 13)
Me.txtSearch.Size = New System.Drawing.Size(171, 13)
Me.txtSearch.TabIndex = 30
Me.txtSearch.TabStop = False
Me.txtSearch.Text = "Search"
'
'msMain
'
@@ -462,6 +465,14 @@ Namespace UI
#Region "Form Stuff"
Private Sub Tree_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ApplyLanguage()
AddHandler Themes.ThemeManager.ThemeChanged, AddressOf ApplyTheme
ApplyTheme()
txtSearch.Multiline = True
txtSearch.MinimumSize = New Size(0, 14)
txtSearch.Size = New Size(txtSearch.Size.Width, 14)
txtSearch.Multiline = False
End Sub
Private Sub ApplyLanguage()
@@ -495,9 +506,23 @@ Namespace UI
mMenViewExpandAllFolders.Text = My.Language.strExpandAllFolders
mMenViewCollapseAllFolders.Text = My.Language.strCollapseAllFolders
mMenSortAscending.ToolTipText = My.Language.strSortAsc
txtSearch.Text = Language.strSearchPrompt
TabText = My.Language.strConnections
Text = My.Language.strConnections
End Sub
Public Sub ApplyTheme()
With Themes.ThemeManager.ActiveTheme
msMain.BackColor = .ToolbarBackgroundColor
msMain.ForeColor = .ToolbarTextColor
tvConnections.BackColor = .ConnectionsPanelBackgroundColor
tvConnections.ForeColor = .ConnectionsPanelTextColor
tvConnections.LineColor = .ConnectionsPanelTreeLineColor
BackColor = .ToolbarBackgroundColor
txtSearch.BackColor = .SearchBoxBackgroundColor
txtSearch.ForeColor = .SearchBoxTextPromptColor
End With
End Sub
#End Region
#Region "Public Methods"
@@ -532,10 +557,11 @@ Namespace UI
#Region "Private Methods"
Private Sub FillImageList()
Try
Me.imgListTree.Images.Add(My.Resources.Root)
Me.imgListTree.Images.Add(My.Resources.Folder)
Me.imgListTree.Images.Add(My.Resources.Play)
Me.imgListTree.Images.Add(My.Resources.Pause)
imgListTree.Images.Add(Resources.Root)
imgListTree.Images.Add(Resources.Folder)
imgListTree.Images.Add(Resources.Play)
imgListTree.Images.Add(Resources.Pause)
imgListTree.Images.Add(Resources.PuttySessions)
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "FillImageList (UI.Window.Tree) failed" & vbNewLine & ex.Message, True)
End Try
@@ -561,22 +587,22 @@ Namespace UI
Private Sub tvConnections_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles tvConnections.AfterSelect
Try
Select Case mRemoteNG.Tree.Node.GetNodeType(e.Node)
Case mRemoteNG.Tree.Node.Type.Connection
Case mRemoteNG.Tree.Node.Type.Connection, mRemoteNG.Tree.Node.Type.PuttySession
Windows.configForm.SetPropertyGridObject(e.Node.Tag)
Windows.sessionsForm.CurrentHost = TryCast(e.Node.Tag, mRemoteNG.Connection.Info).Hostname
Case mRemoteNG.Tree.Node.Type.Container
Windows.configForm.SetPropertyGridObject(TryCast(e.Node.Tag, mRemoteNG.Container.Info).ConnectionInfo)
Case mRemoteNG.Tree.Node.Type.Root
Windows.configForm.SetPropertyGridObject(TryCast(e.Node.Tag, Container.Info).ConnectionInfo)
Case mRemoteNG.Tree.Node.Type.Root, mRemoteNG.Tree.Node.Type.PuttyRoot
Windows.configForm.SetPropertyGridObject(e.Node.Tag)
Case Else
Exit Sub
End Select
Windows.configForm.pGrid_SelectedObjectChanged()
Me.ShowHideTreeContextMenuItems(e.Node)
ShowHideTreeContextMenuItems(e.Node)
Windows.sessionsForm.GetSessionsAuto()
App.Runtime.LastSelected = mRemoteNG.Tree.Node.GetConstantID(e.Node)
LastSelected = mRemoteNG.Tree.Node.GetConstantID(e.Node)
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "tvConnections_AfterSelect (UI.Window.Tree) failed" & vbNewLine & ex.Message, True)
End Try
@@ -588,8 +614,10 @@ Namespace UI
Me.tvConnections.SelectedNode = e.Node
If e.Button = System.Windows.Forms.MouseButtons.Left Then
If My.Settings.SingleClickOnConnectionOpensIt And mRemoteNG.Tree.Node.GetNodeType(e.Node) = mRemoteNG.Tree.Node.Type.Connection Then
App.Runtime.OpenConnection()
If Settings.SingleClickOnConnectionOpensIt And _
(mRemoteNG.Tree.Node.GetNodeType(e.Node) = mRemoteNG.Tree.Node.Type.Connection Or _
mRemoteNG.Tree.Node.GetNodeType(e.Node) = mRemoteNG.Tree.Node.Type.PuttySession) Then
OpenConnection()
End If
If My.Settings.SingleClickSwitchesToOpenConnection And mRemoteNG.Tree.Node.GetNodeType(e.Node) = mRemoteNG.Tree.Node.Type.Connection Then
@@ -602,8 +630,9 @@ Namespace UI
End Sub
Private Sub tvConnections_NodeMouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles tvConnections.NodeMouseDoubleClick
If mRemoteNG.Tree.Node.GetNodeType(mRemoteNG.Tree.Node.SelectedNode) = mRemoteNG.Tree.Node.Type.Connection Then
App.Runtime.OpenConnection()
If mRemoteNG.Tree.Node.GetNodeType(mRemoteNG.Tree.Node.SelectedNode) = mRemoteNG.Tree.Node.Type.Connection Or _
mRemoteNG.Tree.Node.GetNodeType(mRemoteNG.Tree.Node.SelectedNode) = mRemoteNG.Tree.Node.Type.PuttySession Then
OpenConnection()
End If
End Sub
@@ -631,111 +660,119 @@ Namespace UI
Return False
End Function
Private Sub ShowHideTreeContextMenuItems(ByVal tNode As TreeNode)
Try
Me.cMenTree.Enabled = True
If tNode Is Nothing Then
Exit Sub
Private Sub EnableMenuItemsRecursive(ByVal items As ToolStripItemCollection, Optional ByVal enable As Boolean = True)
Dim menuItem As ToolStripMenuItem
For Each item As ToolStripItem In items
menuItem = TryCast(item, ToolStripMenuItem)
If menuItem Is Nothing Then Continue For
menuItem.Enabled = enable
If menuItem.HasDropDownItems Then
EnableMenuItemsRecursive(menuItem.DropDownItems, enable)
End If
Next
End Sub
Select Case mRemoteNG.Tree.Node.GetNodeType(tNode)
Private Sub ShowHideTreeContextMenuItems(ByVal selectedNode As TreeNode)
If selectedNode Is Nothing Then Return
Try
cMenTree.Enabled = True
EnableMenuItemsRecursive(cMenTree.Items)
Select Case mRemoteNG.Tree.Node.GetNodeType(selectedNode)
Case mRemoteNG.Tree.Node.Type.Connection
Dim conI As mRemoteNG.Connection.Info = tNode.Tag
Dim connectionInfo As mRemoteNG.Connection.Info = selectedNode.Tag
Me.cMenTreeConnect.Enabled = True
Me.cMenTreeConnectWithOptions.Enabled = True
If TryCast(tNode.Tag, mRemoteNG.Connection.Info).OpenConnections.Count > 0 Then
Me.cMenTreeDisconnect.Enabled = True
Else
Me.cMenTreeDisconnect.Enabled = False
If connectionInfo.OpenConnections.Count = 0 Then
cMenTreeDisconnect.Enabled = False
End If
If conI.Protocol = mRemoteNG.Connection.Protocol.Protocols.SSH1 Or conI.Protocol = mRemoteNG.Connection.Protocol.Protocols.SSH2 Then
Me.cMenTreeToolsTransferFile.Enabled = True
Else
Me.cMenTreeToolsTransferFile.Enabled = False
If Not (connectionInfo.Protocol = mRemoteNG.Connection.Protocol.Protocols.SSH1 Or _
connectionInfo.Protocol = mRemoteNG.Connection.Protocol.Protocols.SSH2) Then
cMenTreeToolsTransferFile.Enabled = False
End If
If conI.Protocol = mRemoteNG.Connection.Protocol.Protocols.RDP Then
Me.cMenTreeConnectWithOptionsConnectInFullscreen.Enabled = True
Me.cMenTreeConnectWithOptionsConnectToConsoleSession.Enabled = True
ElseIf conI.Protocol = mRemoteNG.Connection.Protocol.Protocols.ICA Then
Me.cMenTreeConnectWithOptionsConnectInFullscreen.Enabled = True
Me.cMenTreeConnectWithOptionsConnectToConsoleSession.Enabled = False
Else
Me.cMenTreeConnectWithOptionsConnectInFullscreen.Enabled = False
Me.cMenTreeConnectWithOptionsConnectToConsoleSession.Enabled = False
If Not (connectionInfo.Protocol = mRemoteNG.Connection.Protocol.Protocols.RDP Or _
connectionInfo.Protocol = mRemoteNG.Connection.Protocol.Protocols.ICA) Then
cMenTreeConnectWithOptionsConnectInFullscreen.Enabled = False
cMenTreeConnectWithOptionsConnectToConsoleSession.Enabled = False
End If
Me.cMenTreeConnectWithOptionsChoosePanelBeforeConnecting.Enabled = True
cMenTreeToolsImportExport.Enabled = False
Case mRemoteNG.Tree.Node.Type.PuttySession
Dim puttySessionInfo As mRemoteNG.Connection.PuttySession.Info = selectedNode.Tag
Me.cMenTreeToolsImportExport.Enabled = False
cMenTreeAddConnection.Enabled = False
cMenTreeAddFolder.Enabled = False
Me.cMenTreeToolsExternalApps.Enabled = True
If puttySessionInfo.OpenConnections.Count = 0 Then
cMenTreeDisconnect.Enabled = False
End If
Me.cMenTreeDuplicate.Enabled = True
Me.cMenTreeDelete.Enabled = True
If Not (puttySessionInfo.Protocol = mRemoteNG.Connection.Protocol.Protocols.SSH1 Or _
puttySessionInfo.Protocol = mRemoteNG.Connection.Protocol.Protocols.SSH2) Then
cMenTreeToolsTransferFile.Enabled = False
End If
Me.cMenTreeMoveUp.Enabled = True
Me.cMenTreeMoveDown.Enabled = True
cMenTreeConnectWithOptionsConnectInFullscreen.Enabled = False
cMenTreeConnectWithOptionsConnectToConsoleSession.Enabled = False
cMenTreeToolsImportExport.Enabled = False
cMenTreeToolsSort.Enabled = False
cMenTreeDuplicate.Enabled = False
cMenTreeRename.Enabled = False
cMenTreeDelete.Enabled = False
cMenTreeMoveUp.Enabled = False
cMenTreeMoveDown.Enabled = False
Case mRemoteNG.Tree.Node.Type.Container
Me.cMenTreeConnect.Enabled = True
Me.cMenTreeConnectWithOptions.Enabled = True
Me.cMenTreeConnectWithOptionsConnectInFullscreen.Enabled = False
Me.cMenTreeConnectWithOptionsConnectToConsoleSession.Enabled = False
Me.cMenTreeConnectWithOptionsChoosePanelBeforeConnecting.Enabled = True
Me.cMenTreeDisconnect.Enabled = False
cMenTreeConnectWithOptionsConnectInFullscreen.Enabled = False
cMenTreeConnectWithOptionsConnectToConsoleSession.Enabled = False
cMenTreeDisconnect.Enabled = False
For Each n As TreeNode In tNode.Nodes
If TypeOf n.Tag Is mRemoteNG.Connection.Info Then
Dim cI As mRemoteNG.Connection.Info = n.Tag
If cI.OpenConnections.Count > 0 Then
Me.cMenTreeDisconnect.Enabled = True
Exit For
End If
Dim openConnections As Integer = 0
Dim connectionInfo As mRemoteNG.Connection.Info
For Each node As TreeNode In selectedNode.Nodes
If TypeOf node.Tag Is mRemoteNG.Connection.Info Then
connectionInfo = node.Tag
openConnections = openConnections + connectionInfo.OpenConnections.Count
End If
Next
If openConnections = 0 Then
cMenTreeDisconnect.Enabled = False
End If
Me.cMenTreeToolsTransferFile.Enabled = False
Me.cMenTreeToolsImportExport.Enabled = True
Me.cMenTreeToolsImportExportExportmRemoteXML.Enabled = True
Me.cMenTreeToolsImportExportImportFromAD.Enabled = True
Me.cMenTreeToolsImportExportImportmRemoteXML.Enabled = True
Me.cMenTreeToolsExternalApps.Enabled = False
Me.cMenTreeDuplicate.Enabled = True
Me.cMenTreeDelete.Enabled = True
Me.cMenTreeMoveUp.Enabled = True
Me.cMenTreeMoveDown.Enabled = True
cMenTreeToolsTransferFile.Enabled = False
cMenTreeToolsExternalApps.Enabled = False
Case mRemoteNG.Tree.Node.Type.Root
Me.cMenTreeConnect.Enabled = False
Me.cMenTreeConnectWithOptions.Enabled = False
Me.cMenTreeConnectWithOptionsConnectInFullscreen.Enabled = False
Me.cMenTreeConnectWithOptionsConnectToConsoleSession.Enabled = False
Me.cMenTreeConnectWithOptionsChoosePanelBeforeConnecting.Enabled = False
Me.cMenTreeDisconnect.Enabled = False
Me.cMenTreeToolsTransferFile.Enabled = False
Me.cMenTreeToolsImportExport.Enabled = True
Me.cMenTreeToolsImportExportExportmRemoteXML.Enabled = True
Me.cMenTreeToolsImportExportImportFromAD.Enabled = True
Me.cMenTreeToolsImportExportImportmRemoteXML.Enabled = True
Me.cMenTreeToolsExternalApps.Enabled = False
Me.cMenTreeDuplicate.Enabled = False
Me.cMenTreeDelete.Enabled = False
Me.cMenTreeMoveUp.Enabled = False
Me.cMenTreeMoveDown.Enabled = False
cMenTreeConnect.Enabled = False
cMenTreeConnectWithOptions.Enabled = False
cMenTreeConnectWithOptionsConnectInFullscreen.Enabled = False
cMenTreeConnectWithOptionsConnectToConsoleSession.Enabled = False
cMenTreeConnectWithOptionsChoosePanelBeforeConnecting.Enabled = False
cMenTreeDisconnect.Enabled = False
cMenTreeToolsTransferFile.Enabled = False
cMenTreeToolsExternalApps.Enabled = False
cMenTreeDuplicate.Enabled = False
cMenTreeDelete.Enabled = False
cMenTreeMoveUp.Enabled = False
cMenTreeMoveDown.Enabled = False
Case mRemoteNG.Tree.Node.Type.PuttyRoot
cMenTreeAddConnection.Enabled = False
cMenTreeAddFolder.Enabled = False
cMenTreeConnect.Enabled = False
cMenTreeConnectWithOptions.Enabled = False
cMenTreeDisconnect.Enabled = False
cMenTreeToolsTransferFile.Enabled = False
cMenTreeConnectWithOptions.Enabled = False
cMenTreeToolsImportExport.Enabled = False
cMenTreeToolsSort.Enabled = False
cMenTreeToolsExternalApps.Enabled = False
cMenTreeDuplicate.Enabled = False
cMenTreeRename.Enabled = False
cMenTreeDelete.Enabled = False
cMenTreeMoveUp.Enabled = False
cMenTreeMoveDown.Enabled = False
Case Else
Me.cMenTree.Enabled = False
cMenTree.Enabled = False
End Select
Catch ex As Exception
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "ShowHideTreeContextMenuItems (UI.Window.Tree) failed" & vbNewLine & ex.Message, True)
@@ -836,26 +873,23 @@ Namespace UI
Dim pt As Point = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y))
Dim targetNode As TreeNode = selectedTreeview.GetNodeAt(pt)
'See if the targetNode is currently selected,
'if so no need to validate again
If Not (selectedTreeview.SelectedNode Is targetNode) Then
'Select the node currently under the cursor
selectedTreeview.SelectedNode = targetNode
'Select the node currently under the cursor
selectedTreeview.SelectedNode = targetNode
'Check that the selected node is not the dropNode and
'also that it is not a child of the dropNode and
'therefore an invalid target
Dim dropNode As TreeNode = CType(e.Data.GetData("System.Windows.Forms.TreeNode"), TreeNode)
'Check that the selected node is not the dropNode and
'also that it is not a child of the dropNode and
'therefore an invalid target
Dim dropNode As TreeNode = CType(e.Data.GetData("System.Windows.Forms.TreeNode"), TreeNode)
Do Until targetNode Is Nothing
If targetNode Is dropNode Then
e.Effect = DragDropEffects.None
Exit Sub
End If
targetNode = targetNode.Parent
Loop
End If
Dim puttyRootInfo As Root.PuttySessions.Info
Do Until targetNode Is Nothing
puttyRootInfo = TryCast(targetNode.Tag, Root.PuttySessions.Info)
If puttyRootInfo IsNot Nothing Or targetNode Is dropNode Then
e.Effect = DragDropEffects.None
Return
End If
targetNode = targetNode.Parent
Loop
'Currently selected node is a suitable target
e.Effect = DragDropEffects.Move
@@ -866,6 +900,17 @@ Namespace UI
Private Sub tvConnections_ItemDrag(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles tvConnections.ItemDrag
Try
Dim dragTreeNode As TreeNode = TryCast(e.Item, TreeNode)
If dragTreeNode Is Nothing Then Return
If dragTreeNode.Tag Is Nothing Then Return
If TypeOf dragTreeNode.Tag Is mRemoteNG.Connection.PuttySession.Info Or _
Not (TypeOf dragTreeNode.Tag Is mRemoteNG.Connection.Info Or _
TypeOf dragTreeNode.Tag Is Container.Info) Then
tvConnections.SelectedNode = dragTreeNode
Return
End If
'Set the drag node and initiate the DragDrop
DoDragDrop(e.Item, DragDropEffects.Move)
Catch ex As Exception
@@ -933,24 +978,24 @@ Namespace UI
Me.ImportFromPortScan()
End Sub
Private Sub mMenSortAscending_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenSortAscending.Click
Me.tvConnections.BeginUpdate()
mRemoteNG.Tree.Node.Sort(Me.tvConnections.Nodes.Item(0), Tools.Controls.TreeNodeSorter.SortType.Ascending)
Me.tvConnections.EndUpdate()
Private Sub mMenSortAscending_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles mMenSortAscending.Click
tvConnections.BeginUpdate()
mRemoteNG.Tree.Node.Sort(tvConnections.Nodes.Item(0), System.Windows.Forms.SortOrder.Ascending)
tvConnections.EndUpdate()
SaveConnectionsBG()
End Sub
Private Sub cMenTreeToolsSortAscending_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeToolsSortAscending.Click
Me.tvConnections.BeginUpdate()
mRemoteNG.Tree.Node.Sort(Me.tvConnections.SelectedNode, Tools.Controls.TreeNodeSorter.SortType.Ascending)
Me.tvConnections.EndUpdate()
Private Sub cMenTreeToolsSortAscending_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles cMenTreeToolsSortAscending.Click
tvConnections.BeginUpdate()
mRemoteNG.Tree.Node.Sort(tvConnections.SelectedNode, System.Windows.Forms.SortOrder.Ascending)
tvConnections.EndUpdate()
SaveConnectionsBG()
End Sub
Private Sub cMenTreeToolsSortDescending_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeToolsSortDescending.Click
Me.tvConnections.BeginUpdate()
mRemoteNG.Tree.Node.Sort(Me.tvConnections.SelectedNode, Tools.Controls.TreeNodeSorter.SortType.Descending)
Me.tvConnections.EndUpdate()
Private Sub cMenTreeToolsSortDescending_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles cMenTreeToolsSortDescending.Click
tvConnections.BeginUpdate()
mRemoteNG.Tree.Node.Sort(tvConnections.SelectedNode, System.Windows.Forms.SortOrder.Descending)
tvConnections.EndUpdate()
SaveConnectionsBG()
End Sub
@@ -1004,7 +1049,7 @@ Namespace UI
containerNode = containerNode.Parent
End If
Dim newConnectionInfo As New Info()
Dim newConnectionInfo As New mRemoteNG.Connection.Info()
If mRemoteNG.Tree.Node.GetNodeType(containerNode) = mRemoteNG.Tree.Node.Type.Root Then
newConnectionInfo.Inherit.TurnOffInheritanceCompletely()
Else
@@ -1043,7 +1088,7 @@ Namespace UI
End If
End If
newContainerInfo.ConnectionInfo = New Info(newContainerInfo)
newContainerInfo.ConnectionInfo = New mRemoteNG.Connection.Info(newContainerInfo)
' We can only inherit from a container node, not the root node or connection nodes
If mRemoteNG.Tree.Node.GetNodeType(parentNode) = mRemoteNG.Tree.Node.Type.Container Then
@@ -1178,7 +1223,8 @@ Namespace UI
Private Sub StartExternalApp(ByVal ExtA As Tools.ExternalTool)
Try
If mRemoteNG.Tree.Node.GetNodeType(mRemoteNG.Tree.Node.SelectedNode) = mRemoteNG.Tree.Node.Type.Connection Then
If mRemoteNG.Tree.Node.GetNodeType(mRemoteNG.Tree.Node.SelectedNode) = mRemoteNG.Tree.Node.Type.Connection Or _
mRemoteNG.Tree.Node.GetNodeType(mRemoteNG.Tree.Node.SelectedNode) = mRemoteNG.Tree.Node.Type.PuttySession Then
ExtA.Start(mRemoteNG.Tree.Node.SelectedNode.Tag)
End If
Catch ex As Exception
@@ -1201,6 +1247,20 @@ Namespace UI
#End Region
#Region "Search"
Private Sub txtSearch_GotFocus(ByVal sender As Object, ByVal e As EventArgs) Handles txtSearch.GotFocus
txtSearch.ForeColor = Themes.ThemeManager.ActiveTheme.SearchBoxTextColor
If txtSearch.Text = Language.strSearchPrompt Then
txtSearch.Text = ""
End If
End Sub
Private Sub txtSearch_LostFocus(ByVal sender As Object, ByVal e As EventArgs) Handles txtSearch.LostFocus
If txtSearch.Text = "" Then
txtSearch.ForeColor = Themes.ThemeManager.ActiveTheme.SearchBoxTextPromptColor
txtSearch.Text = Language.strSearchPrompt
End If
End Sub
Private Sub txtSearch_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtSearch.KeyDown
Try
If e.KeyCode = Keys.Escape Then

View File

@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0"/>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="mRemoteNG.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
</sectionGroup>
@@ -10,7 +10,7 @@
</sectionGroup>
</configSections>
<log4net>
<logger name="mRemoteNG.Log">
<logger name="Logger">
<level value="INFO"/>
</logger>
@@ -80,7 +80,7 @@
<value>True</value>
</setting>
<setting name="AutomaticallyGetSessionInfo" serializeAs="String">
<value>True</value>
<value>False</value>
</setting>
<setting name="LoadConsFromCustomLocation" serializeAs="String">
<value>False</value>
@@ -91,9 +91,6 @@
<setting name="SaveConsOnExit" serializeAs="String">
<value>True</value>
</setting>
<setting name="ConfirmExit" serializeAs="String">
<value>True</value>
</setting>
<setting name="CheckForUpdatesOnStartup" serializeAs="String">
<value>True</value>
</setting>
@@ -545,7 +542,7 @@
<value>False</value>
</setting>
<setting name="ConfirmCloseConnection" serializeAs="String">
<value>True</value>
<value>4</value>
</setting>
<setting name="SQLDatabaseName" serializeAs="String">
<value>mRemoteNG</value>
@@ -565,6 +562,21 @@
<setting name="AlwaysShowPanelTabs" serializeAs="String">
<value>False</value>
</setting>
<setting name="IdentifyQuickConnectTabs" serializeAs="String">
<value>False</value>
</setting>
<setting name="ThemeName" serializeAs="String">
<value />
</setting>
<setting name="ShowConfigHelpText" serializeAs="String">
<value>True</value>
</setting>
<setting name="PuttySavedSessionsName" serializeAs="String">
<value />
</setting>
<setting name="PuttySavedSessionsPanel" serializeAs="String">
<value />
</setting>
</mRemoteNG.My.MySettings>
</userSettings>
<applicationSettings>
@@ -572,6 +584,9 @@
<setting name="SupportedUICultures" serializeAs="String">
<value>de,en,en-US,es-AR,es,fr,it,nl,pt,pl,ru,uk,zh-CN</value>
</setting>
<setting name="UpdateChannel" serializeAs="String">
<value>release</value>
</setting>
</mRemoteNG.My.MySettings>
</applicationSettings>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>

View File

@@ -161,6 +161,7 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>References\WeifenLuo.WinFormsUI.Docking.dll</HintPath>
</Reference>
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
@@ -185,6 +186,12 @@
<Compile Include="Config\Config.Settings.Load.vb" />
<Compile Include="Config\Config.Settings.Providers.vb" />
<Compile Include="Config\Config.Settings.Save.vb" />
<Compile Include="Config\ConfirmClose.vb" />
<Compile Include="Config\PuttySessions.vb" />
<Compile Include="Connection\PuttySession.Info.vb" />
<Compile Include="Root\PuttySessions.Info.vb" />
<Compile Include="Themes\ThemeManager.vb" />
<Compile Include="Themes\ThemeSerializer.vb" />
<Compile Include="Connection\Connection.Icon.vb" />
<Compile Include="Connection\Connection.Info.vb" />
<Compile Include="Connection\Connection.InterfaceControl.Designer.vb">
@@ -211,8 +218,9 @@
<Compile Include="Connection\Connection.Protocol.SSH2.vb" />
<Compile Include="Connection\Connection.Protocol.Telnet.vb" />
<Compile Include="Connection\Connection.Protocol.VNC.vb" />
<Compile Include="Connection\Connection.PuttySession.vb" />
<Compile Include="Connection\Connection.QuickConnect.vb" />
<Compile Include="Themes\ThemeInfo.vb" />
<Compile Include="Tools\CommandLineArguments.vb" />
<Compile Include="Container\Container.Info.vb" />
<Compile Include="Container\Container.List.vb" />
<Compile Include="Credential\Credential.Info.vb" />
@@ -646,6 +654,7 @@
<Content Include="Help\Update.htm">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="Resources\Images\PuttySessions.png" />
<None Include="Notes\Help.txt" />
<None Include="Notes\ICA.txt" />
<None Include="Notes\Misc.txt" />
@@ -804,6 +813,9 @@
<Content Include="Icons\mRemoteNG.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\PuTTY.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Remote Desktop.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>