Compare commits

..

19 Commits

Author SHA1 Message Date
Riley McArdle
cfbdd94ed3 Moved the items under Tools in the Connections panel context menu up to the top level. 2011-05-17 17:22:47 -05:00
Riley McArdle
eab49ef3bd Added a task dialog to ask the user about automatic updates on first run instead of just showing the update options page without any explanation. 2011-05-17 16:58:30 -05:00
Riley McArdle
5027f534e3 Fixed bug 33 - IPv6 doesn't work in quick Connect box. 2011-05-17 15:52:00 -05:00
Riley McArdle
85e1402cc0 Fixed log4net logging and disabled Debug.Print of message IDs in WndProc. 2011-05-17 12:31:25 -05:00
Riley McArdle
f048b2d04d Fixed ignored NullReferenceException in SetHostStatus. 2011-05-17 12:18:48 -05:00
Riley McArdle
19218f20bb Fixed RD Gateway default properties and RDP reconnection count setting not being saved. 2011-05-17 11:37:54 -05:00
Riley McArdle
3f2ffea1f4 Added a language selection option so users can override the language if they don't want it automatically detected. 2011-05-17 03:27:39 -05:00
Riley McArdle
6fa8923f90 Add support for build number and revision to version numbers. 2011-05-13 00:55:22 -05:00
Riley McArdle
9a63b8c316 Updated installer logos to mRemoteNG. Added install and uninstall icons from the Visual Studio 2008 image library. 2011-05-12 22:40:25 -05:00
Riley McArdle
d3311497f2 Added configuration file migration fix to CHANGELOG.TXT. 2011-05-12 21:38:10 -05:00
Riley McArdle
79bdc4f734 Bug Fix: Disable ICA Hotkeys for Citrix connections. Fixes issue with international users. 2011-05-12 21:21:35 -05:00
Riley McArdle
b5b9388d58 Reorganized languages.nsi so everything for each language is in the same place. Added native language names. Sorted alphabetically by native name. 2011-05-12 20:47:31 -05:00
Riley McArdle
d168516859 Added Thai installer translation. Compiling the installer now requires NSIS Unicode (unsis). 2011-05-12 20:36:23 -05:00
Riley McArdle
c219d34fa3 Revert Ctrl+Tab and Ctrl+Shift+Tab related commits. 2011-05-12 20:17:23 -05:00
Riley McArdle
99f3638fbf Do not migrate files from Local to Roaming folder in portable version. 2011-05-12 19:15:59 -05:00
Riley McArdle
944906a594 Safely migrate panel layout file from Local to Roaming folder. 2011-05-12 17:50:45 -05:00
Riley McArdle
4f9e6ebbd4 Safely migrate external tools configuration file from Local to Roaming folder. 2011-05-12 17:45:35 -05:00
Riley McArdle
fae284ca86 Safer migration of connections file from Local to Roaming folder. 2011-05-12 17:31:55 -05:00
Riley McArdle
4a1ac9eded Revert "Autmatically move to Roaming profile"
This reverts commit 3592fbc418.
2011-05-12 17:17:26 -05:00
33 changed files with 2942 additions and 2663 deletions

View File

@@ -1,11 +1,11 @@
@echo off
SET VERSIONTAG=RC1
SET VCVARSALL="%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
SET DEVENV="devenv.exe"
SET MAKENSIS="%ProgramFiles(x86)%\NSIS\makensis.exe"
SET MAKENSIS="%ProgramFiles(x86)%\NSIS\Unicode\makensis.exe"
SET RAR="%ProgramFiles%\WinRAR\WinRAR.exe"
SET BINARYZIP="%~dp0\Release\mRemoteNG-1.66.zip"
SET PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-1.66.zip"
call %VCVARSALL% x86 > NUL 2>&1
@@ -20,8 +20,23 @@ echo Building portable version...
mkdir "%~dp0\Release"
echo Getting product version...
%MAKENSIS% "%~dp0\Installer\GetVersion.nsi"
"%~dp0\Release\GetVersion.exe"
call "%~dp0\Release\Version.cmd"
echo Creating installer package...
%MAKENSIS% "%~dp0\Installer\mRemote.nsi"
if defined VERSIONTAG (
%MAKENSIS% /DPRODUCT_VERSION_TAG=%VERSIONTAG% "%~dp0\Installer\mRemote.nsi"
set BINARYZIP="%~dp0\Release\mRemoteNG-%PRODUCT_VERSION_SHORT%-%VERSIONTAG%.zip"
set PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-%PRODUCT_VERSION_SHORT%-%VERSIONTAG%.zip"
) else (
%MAKENSIS% "%~dp0\Installer\mRemote.nsi"
set BINARYZIP="%~dp0\Release\mRemoteNG-%PRODUCT_VERSION_SHORT%.zip"
set PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-%PRODUCT_VERSION_SHORT%.zip"
)
echo Creating release ZIP file...
del /f /q %BINARYZIP% > NUL 2>&1

View File

@@ -4,6 +4,7 @@ Contributors
Felix Deimel
Tom Hiller
Riley McArdle
Apisitt Rattana
Andreas Rehm
David Vidmar

30
Installer/GetVersion.nsi Normal file
View File

@@ -0,0 +1,30 @@
!define AppFile "$EXEDIR\..\mRemoteV1\bin\Release\mRemoteNG.exe"
!define VersionCmdFile "$EXEDIR\Version.cmd"
!define VersionNshFile "$EXEDIR\Version.nsh"
OutFile "..\Release\GetVersion.exe"
SilentInstall silent
RequestExecutionLevel user
Section
## Get file version
GetDllVersion "${AppFile}" $R0 $R1
IntOp $R3 $R0 / 0x00010000
IntOp $R4 $R0 & 0x0000FFFF
IntOp $R5 $R1 / 0x00010000
IntOp $R6 $R1 & 0x0000FFFF
StrCpy $R1 "$R3.$R4.$R5.$R6"
StrCpy $R2 "$R3.$R4"
FileOpen $R0 "${VersionCmdFile}" w
FileWrite $R0 '@echo off$\r$\n'
FileWrite $R0 'SET PRODUCT_VERSION_SHORT=$R2$\r$\n'
FileClose $R0
FileOpen $R0 "${VersionNshFile}" w
FileWrite $R0 '!define PRODUCT_VERSION "$R1"$\r$\n'
FileWrite $R0 '!define PRODUCT_VERSION_SHORT "$R2"$\r$\n'
FileWrite $R0 '!define PRODUCT_VERSION_MAJOR "$R3"$\r$\n'
FileWrite $R0 '!define PRODUCT_VERSION_MINOR "$R4"$\r$\n'
FileClose $R0
SectionEnd

View File

@@ -1,29 +1,31 @@
; Language names
!define LanguageNameEnglish "English"
!define LanguageNameGerman "Deutsch"
!define LanguageNameDutch "Dutch"
!define LanguageNameFrench "French"
!define LanguageNamePolish "Polish"
!define LanguageNameSpanish "Spanish"
!define LanguageNameCzech "Czech"
!define LanguageNameEnglish "English"
!insertmacro MUI_LANGUAGE "English"
!include "Language\english.nsi"
!define LanguageNameCzech "Čeština"
!insertmacro MUI_LANGUAGE "Czech"
!include "Language\czech.nsi"
!define LanguageNameGerman "Deutsch"
!insertmacro MUI_LANGUAGE "German"
!include "Language\german.nsi"
!insertmacro MUI_LANGUAGE "Dutch"
!include "Language\dutch.nsi"
!insertmacro MUI_LANGUAGE "French"
!include "Language\french.nsi"
!insertmacro MUI_LANGUAGE "Polish"
!include "Language\polish.nsi"
!define LanguageNameSpanish "Español"
!insertmacro MUI_LANGUAGE "Spanish"
!include "Language\spanish.nsi"
!insertmacro MUI_LANGUAGE "Czech"
!include "Language\czech.nsi"
!define LanguageNameFrench "Français"
!insertmacro MUI_LANGUAGE "French"
!include "Language\french.nsi"
!define LanguageNameDutch "Nederlands"
!insertmacro MUI_LANGUAGE "Dutch"
!include "Language\dutch.nsi"
!define LanguageNamePolish "Polski"
!insertmacro MUI_LANGUAGE "Polish"
!include "Language\polish.nsi"
!define LanguageNameThai "ภาษาไทย"
!insertmacro MUI_LANGUAGE "Thai"
!include "Language\thai.nsi"

View File

@@ -0,0 +1,17 @@
; Thai installer translation
; Contributed by Apisitt Rattana
; Start mRemoteNG after installation
LangString LaunchMremoteNow ${LANG_THAI} "ขณะนี้กำลังติดตั้ง mRemoteNG"
; Installer Language
LangString InstallerLanguage ${LANG_THAI} "ภาษาสำหรับการติดตั้ง"
; Select installer Language
LangString SelectInstallerLanguage ${LANG_THAI} "กรุณาเลือกภาษาสำหรับการติดตั้ง"
; Requires .NET Framework
LangString RequiresNetFramework ${LANG_THAI} "mRemoteNG มีความต้องการ Microsoft .NET Framework 2.0. เป็นพื้นฐาน"
; User needs to be Admin
LangString RequiresAdminUser ${LANG_THAI} "คุณต้องเป็นสมาชิกในกลุ่มของ 'Power Users' หรือ 'Administrators' เพื่อการติดตั้ง mRemoteNG"

BIN
Installer/RecycleBin.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
Installer/Setup_Install.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

@@ -1,33 +1,40 @@
!include "MUI.nsh"
!include "MUI.nsh"
!include "WordFunc.nsh"
!insertmacro VersionCompare
!DEFINE PRODUCT_VERSION_MAJOR 1
!DEFINE PRODUCT_VERSION_MINOR 66
!include "..\Release\Version.nsh"
!DEFINE PRODUCT_VERSION "${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}"
!DEFINE PRODUCT_VERSION_LONG "${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}.0.0"
; This will be passed in using the /D switch by BUILD.CMD
!ifdef PRODUCT_VERSION_TAG
!define PRODUCT_VERSION_FRIENDLY "${PRODUCT_VERSION_SHORT} ${PRODUCT_VERSION_TAG}"
!define PRODUCT_VERSION_TAGGED "${PRODUCT_VERSION_SHORT}-${PRODUCT_VERSION_TAG}"
!else
!define PRODUCT_VERSION_FRIENDLY "${PRODUCT_VERSION_SHORT}"
!define PRODUCT_VERSION_TAGGED "${PRODUCT_VERSION_SHORT}"
!endif
; Global Variables
Var InstallDotNET
; Basic Config
Name "mRemoteNG ${PRODUCT_VERSION}"
OutFile "..\Release\mRemoteNG-Installer-${PRODUCT_VERSION}.exe"
Name "mRemoteNG ${PRODUCT_VERSION_FRIENDLY}"
OutFile "..\Release\mRemoteNG-Installer-${PRODUCT_VERSION_TAGGED}.exe"
SetCompressor /SOLID lzma
InstallDir "$PROGRAMFILES\mRemoteNG"
InstallDirRegKey HKLM "Software\mRemoteNG" "InstallPath"
RequestExecutionLevel admin
; Version Information
VIProductVersion ${PRODUCT_VERSION_LONG}
VIProductVersion ${PRODUCT_VERSION}
VIAddVersionKey "ProductName" "mRemoteNG"
VIAddVersionKey "ProductVersion" ${PRODUCT_VERSION_LONG}
VIAddVersionKey "LegalCopyright" "Copyright <EFBFBD> 2007-2009 Felix Deimel, 2010-2011 Riley McArdle"
VIAddVersionKey "FileDescription" "mRemoteNG ${PRODUCT_VERSION} Installer"
VIAddVersionKey "FileVersion" ${PRODUCT_VERSION_LONG}
VIAddVersionKey "ProductVersion" ${PRODUCT_VERSION}
VIAddVersionKey "LegalCopyright" "Copyright © 2007-2009 Felix Deimel, 2010-2011 Riley McArdle"
VIAddVersionKey "FileDescription" "mRemoteNG ${PRODUCT_VERSION_FRIENDLY} Installer"
VIAddVersionKey "FileVersion" ${PRODUCT_VERSION}
; Design
!define MUI_ICON "Setup_Install.ico"
!define MUI_UNICON "RecycleBin.ico"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "header.bmp" ; optional
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
@@ -113,6 +120,8 @@ Function SelectLanguage
Push ${LanguageNameSpanish}
Push ${LANG_CZECH}
Push ${LanguageNameCzech}
Push ${LANG_THAI}
Push ${LanguageNameThai}
Push A ; A means auto count languages
; for the auto count to work the first empty push (Push "") must remain
LangDLL::LangDialog "$(InstallerLanguage)" "$(SelectInstallerLanguage)"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -98,22 +98,6 @@ Namespace App
<DllImport("user32")> _
Public Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Long
End Function
<DllImport("user32")> _
Public Shared Function RegisterHotKey(ByVal Handle As IntPtr, ByVal ID As Integer, ByVal Modifier As Integer, ByVal Key As Integer) As Integer
End Function
<DllImport("user32")> _
Public Shared Function UnregisterHotKey(ByVal Handle As IntPtr, ByVal ID As Integer) As Integer
End Function
<DllImport("kernel32")> _
Public Shared Function GlobalAddAtom(ByVal lpString As String) As Integer
End Function
<DllImport("kernel32")> _
Public Shared Function GlobalDeleteAtom(ByVal nAtom As Integer) As Integer
End Function
#End Region
#Region "Constants"

View File

@@ -3,12 +3,10 @@ Imports System.IO
Imports Crownwood
Imports System.Threading
Imports System.Xml
Imports mRemoteNG.App.Native
Imports System.Environment
Namespace App
Public Class Runtime
#Region "Public Declarations"
Public Shared sL As Config.Settings.Load
Public Shared sS As Config.Settings.Save
@@ -41,43 +39,8 @@ Namespace App
Public Shared DefaultInheritance As mRemoteNG.Connection.Info.Inheritance
Public Shared ExtApps As New ArrayList()
'HotKeys
Public Shared HotKey_CtrlTab As clsHotKeyRegister
Public Shared HotKey_ShiftTab As clsHotKeyRegister
#End Region
Public NotInheritable Class clsHotKeyRegister : Inherits NativeWindow
Private atomID As Integer
Event Pressed(ByVal ID As Integer)
Sub New(ByVal Modifier As ModifierKey, ByVal Key As Keys)
CreateHandle(New CreateParams)
atomID = GlobalAddAtom(GetHashCode())
RegisterHotKey(Handle, atomID, Modifier, Key)
End Sub
Sub Unregister()
UnregisterHotKey(Handle, atomID)
End Sub
Protected Overrides Sub WndProc(ByRef M As Message)
If M.Msg = 786 Then 'W_HOTKEY
If ForegroundWindowRealtedToAppInstance() Then
RaiseEvent Pressed(M.WParam.ToInt32)
End If
End If
MyBase.WndProc(M)
End Sub
Public Enum ModifierKey
'None = 0 'Not a good idea to use, commenting out
Alt = 1
Ctrl = 2
Shift = 4
End Enum
End Class
Public Class Windows
Public Shared treeForm As UI.Window.Tree
Public Shared treePanel As New DockContent
@@ -288,15 +251,6 @@ Namespace App
log = log4net.LogManager.GetLogger("mRemoteNG.Log")
End Sub
Public Shared Sub RegisterHotKeys()
' This causes Ctrl-Tab and Ctrl-Shift-Tab to not work in any other applications. Not good. Disabled for now.
' 'Register HotKey
' 'Ctrl-Tab | Advance one tab
' HotKey_CtrlTab = New clsHotKeyRegister(clsHotKeyRegister.ModifierKey.Ctrl, Keys.Tab)
' 'Shift-Tab | Reverse one tab
' HotKey_ShiftTab = New clsHotKeyRegister(clsHotKeyRegister.ModifierKey.Ctrl + clsHotKeyRegister.ModifierKey.Shift, Keys.Tab)
End Sub
Public Shared Sub UpdateCheck()
If My.Settings.CheckForUpdatesAsked And My.Settings.CheckForUpdatesOnStartup Then
If My.Settings.UpdatePending Or My.Settings.CheckForUpdatesLastCheck < Date.Now.Subtract(TimeSpan.FromDays(My.Settings.CheckForUpdatesFrequencyDays)) Then
@@ -460,11 +414,7 @@ Namespace App
' ToDo: Change Report.log location
File.Delete(My.Application.Info.DirectoryPath & "\Report.log")
End If
End If
' 'Unregister Hotkeys
' HotKey_CtrlTab.Unregister()
' HotKey_ShiftTab.Unregister()
sS.Save()
Catch ex As Exception
@@ -521,6 +471,12 @@ Namespace App
My.Settings.ConDefaultVNCSmartSizeMode = .VNCSmartSizeMode.ToString
My.Settings.ConDefaultVNCViewOnly = .VNCViewOnly
My.Settings.ConDefaultExtApp = .ExtApp
My.Settings.ConDefaultRDGatewayUsageMethod = .RDGatewayUsageMethod.ToString
My.Settings.ConDefaultRDGatewayHostname = .RDGatewayHostname
My.Settings.ConDefaultRDGatewayUsername = .RDGatewayUsername
My.Settings.ConDefaultRDGatewayPassword = .RDGatewayPassword
My.Settings.ConDefaultRDGatewayDomain = .RDGatewayDomain
My.Settings.ConDefaultRDGatewayUseConnectionCredentials = .RDGatewayUseConnectionCredentials.ToString
End With
End Sub
#End Region
@@ -784,28 +740,20 @@ Namespace App
End If
Else
If My.Settings.LoadConsFromCustomLocation = False Then
conL.ConnectionFileName = App.Info.Connections.DefaultConnectionsPath & "\" & App.Info.Connections.DefaultConnectionsFile
Dim oldPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName & "\" & App.Info.Connections.DefaultConnectionsFile
Dim newPath As String = App.Info.Connections.DefaultConnectionsPath & "\" & App.Info.Connections.DefaultConnectionsFile
If File.Exists(newPath) Then
conL.ConnectionFileName = newPath
#If Not PORTABLE Then
Else If File.Exists(oldPath) Then
conL.ConnectionFileName = oldPath
#End If
End If
Else
conL.ConnectionFileName = My.Settings.CustomConsPath
End If
End If
' LocalApplicationData to ApplicationData move if needed
Dim oldPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName
Dim newPath As String = App.Info.Connections.DefaultConnectionsPath
Dim dirinfonew As IO.DirectoryInfo
dirinfonew = New IO.DirectoryInfo(newPath)
If (Not dirinfonew.Exists) Then
Dim dirinfoold As IO.DirectoryInfo
dirinfoold = New IO.DirectoryInfo(oldPath)
If (dirinfoold.Exists) Then
MkDir(dirinfonew.FullName)
For Each fileInfo As FileInfo In dirinfoold.GetFiles
File.Move(fileInfo.FullName, Path.Combine(newPath, fileInfo.Name))
Next
End If
End If
If File.Exists(conL.ConnectionFileName) = False Then
If WithDialog Then
mC.AddMessage(Messages.MessageClass.WarningMsg, String.Format(My.Resources.strConnectionsFileCouldNotBeLoaded, conL.ConnectionFileName))
@@ -1228,54 +1176,28 @@ Namespace App
Public Shared Function CreateQuicky(ByVal ConString As String, Optional ByVal Protocol As Connection.Protocol.Protocols = Connection.Protocol.Protocols.NONE) As Connection.Info
Try
nCi = New Connection.Info
Dim Uri As System.Uri = New System.Uri("dummyscheme" + System.Uri.SchemeDelimiter + ConString)
If Protocol <> Connection.Protocol.Protocols.NONE Then
If Not String.IsNullOrEmpty(Uri.Host) Then
nCi = New Connection.Info
nCi.Name = String.Format(My.Resources.strQuick, Uri.Host)
nCi.Protocol = Protocol
End If
Dim qConS() As String = Split(ConString, ":")
Dim qHost As String = ""
Dim qPort As Integer = 0
For i As Integer = 0 To qConS.Length - 1
If i = 0 Then
qHost = qConS(i)
nCi.Hostname = Uri.Host
If Uri.Port = -1 Then
nCi.Port = Nothing
Else
nCi.Port = Uri.Port
End If
If i = 1 Then
Try
qPort = Int(qConS(i))
Catch ex As Exception
qHost += ":" & qConS(i)
End Try
End If
If i = 2 Then
Try
qPort = Int(qConS(i))
Catch ex As Exception
End Try
End If
Next
If qHost <> "" Then
nCi.Name = String.Format(My.Resources.strQuick, qHost)
nCi.Hostname = qHost
nCi.Port = qPort
nCi.IsQuicky = True
Windows.quickyForm.ConnectionInfo = nCi
If Protocol = Connection.Protocol.Protocols.NONE Then
Windows.quickyPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Else
End If
Return nCi
Else
'--------
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strQuickConnectFailed & vbNewLine & ex.Message)
@@ -1723,45 +1645,6 @@ Namespace App
End If
Next
End Sub
'Determine if the Foreground window is current instance of mRemoteNG, Contained Putty instance or Contained External App instance
Public Shared Function ForegroundWindowRealtedToAppInstance() As Boolean
If GetForegroundWindow() = frmMain.Handle Then
Return True
End If
For Each conns As Connection.Info In cL
For Each openCon As Connection.Protocol.Base In conns.OpenConnections
Select Case openCon.InterfaceControl.Info.Protocol
Case Connection.Protocol.Protocols.SSH1
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.PuttyBase).PuttyHandle = GetForegroundWindow() Then
Return True
End If
Case Connection.Protocol.Protocols.SSH2
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.PuttyBase).PuttyHandle = GetForegroundWindow() Then
Return True
End If
Case Connection.Protocol.Protocols.RAW
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.PuttyBase).PuttyHandle = GetForegroundWindow() Then
Return True
End If
Case Connection.Protocol.Protocols.Rlogin
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.PuttyBase).PuttyHandle = GetForegroundWindow() Then
Return True
End If
Case Connection.Protocol.Protocols.Telnet
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.PuttyBase).PuttyHandle = GetForegroundWindow() Then
Return True
End If
Case Connection.Protocol.Protocols.IntApp
If TryCast(openCon.InterfaceControl.Protocol, Connection.Protocol.IntApp).IntAppHandle = GetForegroundWindow() Then
Return True
End If
End Select
Next
Next
Return False
End Function
#End Region
#Region "SQL Watcher"

View File

@@ -0,0 +1,66 @@
Namespace App
Public Class SupportedCultures
Inherits Dictionary(Of String, String)
Private Sub New()
Dim CultureInfo As Globalization.CultureInfo
For Each CultureName As String In My.Settings.SupportedUICultures.Split(",")
Try
CultureInfo = New Globalization.CultureInfo(CultureName.Trim)
Add(CultureInfo.Name, CultureInfo.NativeName)
Catch ex As Exception
Debug.Print(String.Format("An exception occurred while adding the culture '{0}' to the list of supported cultures. {1}", CultureName, ex.ToString))
End Try
Next
End Sub
Private Shared _Instance As SupportedCultures = Nothing
Public Shared Sub InstantiateSingleton()
If _Instance Is Nothing Then
_Instance = New SupportedCultures
End If
End Sub
Public Shared Function IsNameSupported(ByVal CultureName As String) As Boolean
Return _Instance.ContainsKey(CultureName)
End Function
Public Shared Function IsNativeNameSupported(ByVal CultureNativeName As String) As Boolean
Return _Instance.ContainsValue(CultureNativeName)
End Function
Public Shared ReadOnly Property CultureName(ByVal CultureNativeName As String) As String
Get
Dim Names(_Instance.Count) As String
Dim NativeNames(_Instance.Count) As String
_Instance.Keys.CopyTo(Names, 0)
_Instance.Values.CopyTo(NativeNames, 0)
For Index As Integer = 0 To _Instance.Count
If NativeNames(Index) = CultureNativeName Then
Return Names(Index)
End If
Next
Throw New System.Collections.Generic.KeyNotFoundException()
End Get
End Property
Public Shared ReadOnly Property CultureNativeName(ByVal CultureName As String) As String
Get
Return _Instance.Item(CultureName)
End Get
End Property
Public Shared ReadOnly Property CultureNativeNames() As List(Of String)
Get
Dim ValueList As List(Of String) = New List(Of String)
For Each Value As String In _Instance.Values
ValueList.Add(Value)
Next
Return ValueList
End Get
End Property
End Class
End Namespace

View File

@@ -1,3 +1,11 @@
1.67 (2011-XX-XX):
Fixed migration of external tools configuration and panel layout from Local to Roaming folder.
Disable ICA Hotkeys for Citrix connections. Fixes issue with international users.
Added a language selection option so users can override the language if they don't want it automatically detected.
Fixed RD Gateway default properties and RDP reconnection count setting not being saved.
Fixed bug 33 - IPv6 doesn't work in quick Connect box.
Moved the items under Tools in the Connections panel context menu up to the top level.
1.66 (2011-05-02):
Fixed connections not working
@@ -531,7 +539,7 @@ V0.0.3.2:
V0.0.3.0:
Added Options Tab
Load connections file from different location
Save/Dont Save connections file on exit
Save/Don't Save connections file on exit
Show current tab name in window title
Added drag and drop functionality to the connections tree
Added feature to hide top bar
@@ -541,7 +549,7 @@ V0.0.3.0:
V0.0.2.7:
Added feature to save connection settings to all connections in the selected container
Icon choosing bug fixed
Taskbar button had no text when in fullscreen fixed
Taskbar button had no text when in fullscreen - fixed
Fixed bug in Quick Connect GUI
Disabled "Display Wallpaper" and "Display Themes" checkboxes as these features are not implemented

View File

@@ -2,6 +2,7 @@ Imports System.IO
Imports WeifenLuo.WinFormsUI.Docking
Imports mRemoteNG.App.Runtime
Imports System.Xml
Imports System.Environment
Namespace Config
Namespace Settings
@@ -159,8 +160,15 @@ Namespace Config
Loop
Startup.CreatePanels()
If File.Exists(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName) And My.Settings.ResetPanels = False Then
.pnlDock.LoadFromXml(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName, AddressOf GetContentFromPersistString)
Dim oldPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName & "\" & App.Info.Settings.LayoutFileName
Dim newPath As String = App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName
If File.Exists(newPath) Then
.pnlDock.LoadFromXml(newPath, AddressOf GetContentFromPersistString)
#If Not PORTABLE Then
ElseIf File.Exists(oldPath) Then
.pnlDock.LoadFromXml(oldPath, AddressOf GetContentFromPersistString)
#End If
Else
Startup.SetDefaultLayout()
End If
@@ -172,13 +180,19 @@ Namespace Config
End Sub
Public Sub LoadExternalAppsFromXML()
If File.Exists(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName) = False Then
Dim oldPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName & "\" & App.Info.Settings.ExtAppsFilesName
Dim newPath As String = App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName
Dim xDom As New XmlDocument()
If File.Exists(newPath) Then
xDom.Load(newPath)
#If Not PORTABLE Then
ElseIf File.Exists(oldPath) Then
xDom.Load(oldPath)
#End If
Else
Exit Sub
End If
Dim xDom As New XmlDocument()
xDom.Load(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName)
For Each xEl As XmlElement In xDom.DocumentElement.ChildNodes
Dim extA As New Tools.ExternalApp
extA.DisplayName = xEl.Attributes("DisplayName").Value

View File

@@ -439,7 +439,7 @@ Namespace Connection
End Set
End Property
Private _RDGatewayHostname As String
Private _RDGatewayHostname As String = My.Settings.ConDefaultRDGatewayHostname
<LocalizedCategory("strCategoryGateway", 4), _
Browsable(True), _
LocalizedDisplayName("strPropertyNameRDGatewayHostname"), _
@@ -492,7 +492,7 @@ Namespace Connection
End Set
End Property
Private _RDGatewayUsername As String
Private _RDGatewayUsername As String = My.Settings.ConDefaultRDGatewayUsername
<LocalizedCategory("strCategoryGateway", 4), _
Browsable(True), _
LocalizedDisplayName("strPropertyNameRDGatewayUsername"), _
@@ -518,7 +518,7 @@ Namespace Connection
End Set
End Property
Private _RDGatewayPassword As String
Private _RDGatewayPassword As String = My.Settings.ConDefaultRDGatewayPassword
<LocalizedCategory("strCategoryGateway", 4), _
Browsable(True), _
LocalizedDisplayName("strPropertyNameRDGatewayPassword"), _
@@ -545,7 +545,7 @@ Namespace Connection
End Set
End Property
Private _RDGatewayDomain As String
Private _RDGatewayDomain As String = My.Settings.ConDefaultRDGatewayDomain
<LocalizedCategory("strCategoryGateway", 4), _
Browsable(True), _
LocalizedDisplayName("strPropertyNameRDGatewayDomain"), _

View File

@@ -46,6 +46,30 @@ Namespace Connection
Me.SetSecurity()
'Disable hotkeys for international users
ICA.Hotkey1Shift = Nothing
ICA.Hotkey1Char = Nothing
ICA.Hotkey2Shift = Nothing
ICA.Hotkey2Char = Nothing
ICA.Hotkey3Shift = Nothing
ICA.Hotkey3Char = Nothing
ICA.Hotkey4Shift = Nothing
ICA.Hotkey4Char = Nothing
ICA.Hotkey5Shift = Nothing
ICA.Hotkey5Char = Nothing
ICA.Hotkey6Shift = Nothing
ICA.Hotkey6Char = Nothing
ICA.Hotkey7Shift = Nothing
ICA.Hotkey7Char = Nothing
ICA.Hotkey8Shift = Nothing
ICA.Hotkey8Char = Nothing
ICA.Hotkey9Shift = Nothing
ICA.Hotkey9Char = Nothing
ICA.Hotkey10Shift = Nothing
ICA.Hotkey10Char = Nothing
ICA.Hotkey11Shift = Nothing
ICA.Hotkey11Char = Nothing
ICA.PersistentCacheEnabled = Info.CacheBitmaps
ICA.Title = Info.Name

View File

@@ -15,6 +15,11 @@ Public Class frmMain
'insert enable edition code here
App.Editions.Spanlink.Enabled = False
App.SupportedCultures.InstantiateSingleton()
If Not My.Settings.OverrideUICulture = "" And App.SupportedCultures.IsNameSupported(My.Settings.OverrideUICulture) Then
Threading.Thread.CurrentThread.CurrentUICulture = New Globalization.CultureInfo(My.Settings.OverrideUICulture)
End If
ApplyLanguage()
Debug.Print("---------------------------" & vbNewLine & "[START] - " & Now)
@@ -28,8 +33,6 @@ Public Class frmMain
Startup.CreateLogger()
Startup.RegisterHotKeys()
' Load GUI Configuration
sL.Load()
@@ -58,9 +61,15 @@ Public Class frmMain
End If
If Not My.Settings.CheckForUpdatesAsked Then
Windows.Show(UI.Window.Type.Options)
Windows.optionsForm.ShowUpdatesTab()
My.Settings.CheckForUpdatesAsked = True
Dim CommandButtons() As String = {My.Resources.strAskUpdatesCommandRecommended, My.Resources.strAskUpdatesCommandCustom, My.Resources.strAskUpdatesCommandAskLater}
Dim Result As DialogResult = cTaskDialog.ShowTaskDialogBox(Me, My.Application.Info.ProductName, My.Resources.strAskUpdatesMainInstruction, String.Format(My.Resources.strAskUpdatesContent, My.Application.Info.ProductName), "", "", "", "", String.Join("|", CommandButtons), eTaskDialogButtons.None, eSysIcons.Question, eSysIcons.Question)
If cTaskDialog.CommandButtonResult = 0 Or cTaskDialog.CommandButtonResult = 1 Then
My.Settings.CheckForUpdatesAsked = True
End If
If cTaskDialog.CommandButtonResult = 1 Then
Windows.Show(UI.Window.Type.Options)
Windows.optionsForm.ShowUpdatesTab()
End If
End If
Startup.UpdateCheck()
@@ -138,7 +147,7 @@ Public Class frmMain
Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If My.Settings.ConfirmExit And wL.Count > 0 Then
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.AssemblyName, My.Resources.strConfirmExitMainInstruction, "", "", "", My.Resources.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, My.Resources.strConfirmExitMainInstruction, "", "", "", My.Resources.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
If cTaskDialog.VerificationChecked Then
My.Settings.ConfirmExit = False
End If
@@ -688,7 +697,7 @@ Public Class frmMain
Protected Overloads Overrides Sub WndProc(ByRef m As Message)
Try
#If Config = "Debug" Then
Debug.Print(m.Msg)
'Debug.Print(m.Msg)
#End If
Select Case m.Msg

File diff suppressed because it is too large Load Diff

View File

@@ -31,5 +31,4 @@ Imports System.Runtime.InteropServices
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.66")>
<Assembly: AssemblyFileVersion("1.66")>
<Assembly: AssemblyVersion("1.67.*")>

File diff suppressed because it is too large Load Diff

View File

@@ -1614,9 +1614,6 @@ If you are still not able to pass this check or use the (RDP) Sessions feature i
<data name="strChoosePanelBeforeConnecting" xml:space="preserve">
<value>Choose panel before connecting</value>
</data>
<data name="strTools" xml:space="preserve">
<value>Tools</value>
</data>
<data name="strImportExport" xml:space="preserve">
<value>Import/Export</value>
</data>
@@ -2283,4 +2280,28 @@ Error Description: {1}</value>
<data name="strGeneral" xml:space="preserve">
<value>General</value>
</data>
<data name="strLanguage" xml:space="preserve">
<value>Language</value>
</data>
<data name="strLanguageDefault" xml:space="preserve">
<value>(Automatically Detect)</value>
</data>
<data name="strLanguageRestartRequired" xml:space="preserve">
<value>{0} must be restarted before changes to the language will take effect.</value>
</data>
<data name="strAskUpdatesCommandAskLater" xml:space="preserve">
<value>Ask me again later</value>
</data>
<data name="strAskUpdatesCommandCustom" xml:space="preserve">
<value>Customize the settings now</value>
</data>
<data name="strAskUpdatesCommandRecommended" xml:space="preserve">
<value>Use the recommended settings</value>
</data>
<data name="strAskUpdatesContent" xml:space="preserve">
<value>{0} can automatically check for updates that may provide new features and bug fixes. It is recommended that you allow {0} to check for updates weekly.</value>
</data>
<data name="strAskUpdatesMainInstruction" xml:space="preserve">
<value>Automatic update settings</value>
</data>
</root>

View File

@@ -1,10 +1,10 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:2.0.50727.5444
' This code was generated by a tool.
' Runtime Version:2.0.50727.4959
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
@@ -22,7 +22,7 @@ Namespace My
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings),MySettings)
#Region "Funktion zum automatischen Speichern von My.Settings"
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
@@ -1951,6 +1951,7 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("Never")> _
Public Property ConDefaultRDGatewayUsageMethod() As String
@@ -1963,6 +1964,7 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("Yes")> _
Public Property ConDefaultRDGatewayUseConnectionCredentials() As String
@@ -1988,6 +1990,7 @@ Namespace My
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")> _
Public Property InhDefaultRDGatewayUsageMethod() As Boolean
@@ -2000,6 +2003,7 @@ Namespace My
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")> _
Public Property InhDefaultRDGatewayHostname() As Boolean
@@ -2012,6 +2016,7 @@ Namespace My
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")> _
Public Property InhDefaultRDGatewayUsername() As Boolean
@@ -2024,6 +2029,7 @@ Namespace My
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")> _
Public Property InhDefaultRDGatewayPassword() As Boolean
@@ -2036,6 +2042,7 @@ Namespace My
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")> _
Public Property InhDefaultRDGatewayDomain() As Boolean
@@ -2048,6 +2055,7 @@ Namespace My
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")> _
Public Property InhDefaultRDGatewayUseConnectionCredentials() As Boolean
@@ -2060,6 +2068,7 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("5")> _
Public Property RdpReconnectionCount() As Integer
@@ -2070,6 +2079,80 @@ Namespace My
Me("RdpReconnectionCount") = 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 OverrideUICulture() As String
Get
Return CType(Me("OverrideUICulture"),String)
End Get
Set
Me("OverrideUICulture") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("de,en,en-US")> _
Public ReadOnly Property SupportedUICultures() As String
Get
Return CType(Me("SupportedUICultures"),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 ConDefaultRDGatewayHostname() As String
Get
Return CType(Me("ConDefaultRDGatewayHostname"),String)
End Get
Set
Me("ConDefaultRDGatewayHostname") = 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 ConDefaultRDGatewayUsername() As String
Get
Return CType(Me("ConDefaultRDGatewayUsername"),String)
End Get
Set
Me("ConDefaultRDGatewayUsername") = 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 ConDefaultRDGatewayPassword() As String
Get
Return CType(Me("ConDefaultRDGatewayPassword"),String)
End Get
Set
Me("ConDefaultRDGatewayPassword") = 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 ConDefaultRDGatewayDomain() As String
Get
Return CType(Me("ConDefaultRDGatewayDomain"),String)
End Get
Set
Me("ConDefaultRDGatewayDomain") = value
End Set
End Property
End Class
End Namespace

View File

@@ -440,35 +440,53 @@
<Setting Name="UpdatePending" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ConDefaultRDGatewayUsageMethod" Type="System.String" Scope="User">
<Setting Name="ConDefaultRDGatewayUsageMethod" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">Never</Value>
</Setting>
<Setting Name="ConDefaultRDGatewayUseConnectionCredentials" Type="System.String" Scope="User">
<Setting Name="ConDefaultRDGatewayUseConnectionCredentials" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">Yes</Value>
</Setting>
<Setting Name="ConDefaultIcon" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">mRemoteNG</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayUsageMethod" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayUsageMethod" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayHostname" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayHostname" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayUsername" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayUsername" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayPassword" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayPassword" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayDomain" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayDomain" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="InhDefaultRDGatewayUseConnectionCredentials" Type="System.Boolean" Scope="User">
<Setting Name="InhDefaultRDGatewayUseConnectionCredentials" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="RdpReconnectionCount" Type="System.Int32" Scope="User">
<Setting Name="RdpReconnectionCount" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Int32" Scope="User">
<Value Profile="(Default)">5</Value>
</Setting>
<Setting Name="OverrideUICulture" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="SupportedUICultures" Type="System.String" Scope="Application">
<Value Profile="(Default)">de,en,en-US</Value>
</Setting>
<Setting Name="ConDefaultRDGatewayHostname" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="ConDefaultRDGatewayUsername" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="ConDefaultRDGatewayPassword" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="ConDefaultRDGatewayDomain" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
</Settings>
</SettingsFile>

View File

@@ -298,7 +298,7 @@ Namespace UI
Try
lblCopyright.Text = My.Application.Info.Copyright
Me.lblVersion.Text = "Version " & My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor
Me.lblVersion.Text = "Version " & My.Application.Info.Version.ToString
FillLinkLabel(llblFAMFAMFAM, My.Resources.strFAMFAMFAMAttribution, My.Resources.strFAMFAMFAMAttributionURL)
FillLinkLabel(llblMagicLibrary, My.Resources.strMagicLibraryAttribution, My.Resources.strMagicLibraryAttributionURL)

View File

@@ -1238,21 +1238,15 @@ Namespace UI
Public Sub SetHostStatus(ByVal ConnectionInfo As Object)
Try
If TypeOf ConnectionInfo Is mRemoteNG.Connection.Info Then
'continue
ElseIf TypeOf ConnectionInfo Is mRemoteNG.Connection.Info.Inheritance Then
ConnectionInfo = TryCast(ConnectionInfo, mRemoteNG.Connection.Info.Inheritance).Parent
Else
Me.btnHostStatus.Image = My.Resources.HostStatus_Check
Exit Sub
End If
If TryCast(ConnectionInfo, mRemoteNG.Connection.Info).IsContainer Then
Me.btnHostStatus.Image = My.Resources.HostStatus_Check
Exit Sub
End If
Me.btnHostStatus.Image = My.Resources.HostStatus_Check
' To check status, ConnectionInfo must be an mRemoteNG.Connection.Info that is not a container
If TypeOf ConnectionInfo Is mRemoteNG.Connection.Info Then
If TryCast(ConnectionInfo, mRemoteNG.Connection.Info).IsContainer Then Return
Else
Return
End If
Me.btnHostStatus.Tag = "checking"
HostName = TryCast(ConnectionInfo, mRemoteNG.Connection.Info).Hostname
pThread = New Threading.Thread(AddressOf CheckHostAlive)

View File

@@ -226,37 +226,8 @@ Namespace UI
Me.InitializeComponent()
Me.Text = FormText
Me.TabText = FormText
'AddHandler mRemoteNG.App.Runtime.HotKey_CtrlTab.Pressed, AddressOf CtrlTabHK_Press
'AddHandler mRemoteNG.App.Runtime.HotKey_ShiftTab.Pressed, AddressOf ShiftTabHK_Press
End Sub
Protected Sub CtrlTabHK_Press(ByVal sender As Integer)
With Me.TabController
If .TabPages.Count > 1 And Me.Visible Then
If .TabPages.Count = .SelectedIndex + 1 Then
.SelectedIndex = 0
Else
.SelectedIndex = .SelectedIndex + 1
End If
FocusIC()
RefreshIC()
End If
End With
End Sub
Protected Sub ShiftTabHK_Press(ByVal sender As Integer)
With Me.TabController
If .TabPages.Count > 1 And Me.Visible Then
If .SelectedIndex = 0 Then
.SelectedIndex = .TabPages.Count - 1
Else
.SelectedIndex = .SelectedIndex - 1
End If
FocusIC()
RefreshIC()
End If
End With
End Sub
Public Function AddConnectionTab(ByVal conI As mRemoteNG.Connection.Info) As Magic.Controls.TabPage
Try
Dim nTab As New Magic.Controls.TabPage

View File

@@ -117,4 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="TabController.DrawGrid" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>

View File

@@ -106,10 +106,41 @@ Namespace UI
Friend WithEvents Panel1 As System.Windows.Forms.Panel
Friend WithEvents lblRdpReconnectCount As System.Windows.Forms.Label
Friend WithEvents numRdpReconnectionCount As System.Windows.Forms.NumericUpDown
Friend WithEvents lblLanguageRestartRequired As System.Windows.Forms.Label
Friend WithEvents cboLanguage As System.Windows.Forms.ComboBox
Friend WithEvents lblLanguage As System.Windows.Forms.Label
Friend WithEvents TabController As Crownwood.Magic.Controls.TabControl
Private Sub InitializeComponent()
Me.TabController = New Crownwood.Magic.Controls.TabControl
Me.tabAppearance = New Crownwood.Magic.Controls.TabPage
Me.pnlAppearance = New System.Windows.Forms.Panel
Me.lblLanguageRestartRequired = New System.Windows.Forms.Label
Me.cboLanguage = New System.Windows.Forms.ComboBox
Me.lblLanguage = New System.Windows.Forms.Label
Me.chkShowDescriptionTooltipsInTree = New System.Windows.Forms.CheckBox
Me.chkMinimizeToSystemTray = New System.Windows.Forms.CheckBox
Me.chkShowSystemTrayIcon = New System.Windows.Forms.CheckBox
Me.chkShowFullConnectionsFilePathInTitle = New System.Windows.Forms.CheckBox
Me.tabStartupExit = New Crownwood.Magic.Controls.TabPage
Me.pnlStartup = New System.Windows.Forms.Panel
Me.chkSaveConsOnExit = New System.Windows.Forms.CheckBox
Me.chkProperInstallationOfComponentsAtStartup = New System.Windows.Forms.CheckBox
Me.chkConfirmExit = New System.Windows.Forms.CheckBox
Me.chkSingleInstance = New System.Windows.Forms.CheckBox
Me.chkReconnectOnStart = New System.Windows.Forms.CheckBox
Me.tabTabs = New Crownwood.Magic.Controls.TabPage
Me.pnlTabsAndPanels = New System.Windows.Forms.Panel
Me.chkUseOnlyErrorsAndInfosPanel = New System.Windows.Forms.CheckBox
Me.lblSwitchToErrorsAndInfos = New System.Windows.Forms.Label
Me.chkMCInformation = New System.Windows.Forms.CheckBox
Me.chkMCErrors = New System.Windows.Forms.CheckBox
Me.chkMCWarnings = New System.Windows.Forms.CheckBox
Me.chkOpenNewTabRightOfSelected = New System.Windows.Forms.CheckBox
Me.chkShowProtocolOnTabs = New System.Windows.Forms.CheckBox
Me.chkDoubleClickClosesTab = New System.Windows.Forms.CheckBox
Me.chkShowLogonInfoOnTabs = New System.Windows.Forms.CheckBox
Me.chkAlwaysShowPanelSelectionDlg = New System.Windows.Forms.CheckBox
Me.tabConnections = New Crownwood.Magic.Controls.TabPage
Me.pnlConnections = New System.Windows.Forms.Panel
Me.Panel1 = New System.Windows.Forms.Panel
@@ -142,31 +173,6 @@ Namespace UI
Me.lblSQLPassword = New System.Windows.Forms.Label
Me.txtSQLServer = New System.Windows.Forms.TextBox
Me.chkHostnameLikeDisplayName = New System.Windows.Forms.CheckBox
Me.tabStartupExit = New Crownwood.Magic.Controls.TabPage
Me.pnlStartup = New System.Windows.Forms.Panel
Me.chkSaveConsOnExit = New System.Windows.Forms.CheckBox
Me.chkProperInstallationOfComponentsAtStartup = New System.Windows.Forms.CheckBox
Me.chkConfirmExit = New System.Windows.Forms.CheckBox
Me.chkSingleInstance = New System.Windows.Forms.CheckBox
Me.chkReconnectOnStart = New System.Windows.Forms.CheckBox
Me.tabAppearance = New Crownwood.Magic.Controls.TabPage
Me.pnlAppearance = New System.Windows.Forms.Panel
Me.chkShowDescriptionTooltipsInTree = New System.Windows.Forms.CheckBox
Me.chkMinimizeToSystemTray = New System.Windows.Forms.CheckBox
Me.chkShowSystemTrayIcon = New System.Windows.Forms.CheckBox
Me.chkShowFullConnectionsFilePathInTitle = New System.Windows.Forms.CheckBox
Me.tabTabs = New Crownwood.Magic.Controls.TabPage
Me.pnlTabsAndPanels = New System.Windows.Forms.Panel
Me.chkUseOnlyErrorsAndInfosPanel = New System.Windows.Forms.CheckBox
Me.lblSwitchToErrorsAndInfos = New System.Windows.Forms.Label
Me.chkMCInformation = New System.Windows.Forms.CheckBox
Me.chkMCErrors = New System.Windows.Forms.CheckBox
Me.chkMCWarnings = New System.Windows.Forms.CheckBox
Me.chkOpenNewTabRightOfSelected = New System.Windows.Forms.CheckBox
Me.chkShowProtocolOnTabs = New System.Windows.Forms.CheckBox
Me.chkDoubleClickClosesTab = New System.Windows.Forms.CheckBox
Me.chkShowLogonInfoOnTabs = New System.Windows.Forms.CheckBox
Me.chkAlwaysShowPanelSelectionDlg = New System.Windows.Forms.CheckBox
Me.tabUpdates = New Crownwood.Magic.Controls.TabPage
Me.pnlUpdates = New System.Windows.Forms.Panel
Me.lblUpdatesExplanation = New System.Windows.Forms.Label
@@ -210,6 +216,12 @@ Namespace UI
Me.btnOK = New System.Windows.Forms.Button
Me.btnCancel = New System.Windows.Forms.Button
Me.TabController.SuspendLayout()
Me.tabAppearance.SuspendLayout()
Me.pnlAppearance.SuspendLayout()
Me.tabStartupExit.SuspendLayout()
Me.pnlStartup.SuspendLayout()
Me.tabTabs.SuspendLayout()
Me.pnlTabsAndPanels.SuspendLayout()
Me.tabConnections.SuspendLayout()
Me.pnlConnections.SuspendLayout()
Me.Panel1.SuspendLayout()
@@ -218,12 +230,6 @@ Namespace UI
Me.pnlAutoSave.SuspendLayout()
CType(Me.numAutoSave, System.ComponentModel.ISupportInitialize).BeginInit()
Me.grpExperimental.SuspendLayout()
Me.tabStartupExit.SuspendLayout()
Me.pnlStartup.SuspendLayout()
Me.tabAppearance.SuspendLayout()
Me.pnlAppearance.SuspendLayout()
Me.tabTabs.SuspendLayout()
Me.pnlTabsAndPanels.SuspendLayout()
Me.tabUpdates.SuspendLayout()
Me.pnlUpdates.SuspendLayout()
Me.pnlUpdateCheck.SuspendLayout()
@@ -246,18 +252,344 @@ Namespace UI
Me.TabController.IDEPixelArea = True
Me.TabController.Location = New System.Drawing.Point(0, 0)
Me.TabController.Name = "TabController"
Me.TabController.SelectedIndex = 3
Me.TabController.SelectedTab = Me.tabConnections
Me.TabController.SelectedIndex = 1
Me.TabController.SelectedTab = Me.tabAppearance
Me.TabController.Size = New System.Drawing.Size(573, 522)
Me.TabController.TabIndex = 10
Me.TabController.TabPages.AddRange(New Crownwood.Magic.Controls.TabPage() {Me.tabStartupExit, Me.tabAppearance, Me.tabTabs, Me.tabConnections, Me.tabUpdates, Me.tabAdvanced})
'
'tabAppearance
'
Me.tabAppearance.Controls.Add(Me.pnlAppearance)
Me.tabAppearance.Icon = Global.mRemoteNG.My.Resources.Resources.Appearance_Icon
Me.tabAppearance.Location = New System.Drawing.Point(0, 0)
Me.tabAppearance.Name = "tabAppearance"
Me.tabAppearance.Size = New System.Drawing.Size(573, 492)
Me.tabAppearance.TabIndex = 2000
Me.tabAppearance.Title = "Appearance"
'
'pnlAppearance
'
Me.pnlAppearance.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.pnlAppearance.AutoScroll = True
Me.pnlAppearance.Controls.Add(Me.lblLanguageRestartRequired)
Me.pnlAppearance.Controls.Add(Me.cboLanguage)
Me.pnlAppearance.Controls.Add(Me.lblLanguage)
Me.pnlAppearance.Controls.Add(Me.chkShowDescriptionTooltipsInTree)
Me.pnlAppearance.Controls.Add(Me.chkMinimizeToSystemTray)
Me.pnlAppearance.Controls.Add(Me.chkShowSystemTrayIcon)
Me.pnlAppearance.Controls.Add(Me.chkShowFullConnectionsFilePathInTitle)
Me.pnlAppearance.Location = New System.Drawing.Point(3, 3)
Me.pnlAppearance.Name = "pnlAppearance"
Me.pnlAppearance.Size = New System.Drawing.Size(567, 486)
Me.pnlAppearance.TabIndex = 41
'
'lblLanguageRestartRequired
'
Me.lblLanguageRestartRequired.AutoSize = True
Me.lblLanguageRestartRequired.Location = New System.Drawing.Point(16, 72)
Me.lblLanguageRestartRequired.Name = "lblLanguageRestartRequired"
Me.lblLanguageRestartRequired.Size = New System.Drawing.Size(423, 15)
Me.lblLanguageRestartRequired.TabIndex = 43
Me.lblLanguageRestartRequired.Text = "mRemoteNG must be restarted before changes to the language will take effect."
'
'cboLanguage
'
Me.cboLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cboLanguage.FormattingEnabled = True
Me.cboLanguage.Location = New System.Drawing.Point(16, 40)
Me.cboLanguage.Name = "cboLanguage"
Me.cboLanguage.Size = New System.Drawing.Size(304, 23)
Me.cboLanguage.Sorted = True
Me.cboLanguage.TabIndex = 42
'
'lblLanguage
'
Me.lblLanguage.AutoSize = True
Me.lblLanguage.Location = New System.Drawing.Point(16, 16)
Me.lblLanguage.Name = "lblLanguage"
Me.lblLanguage.Size = New System.Drawing.Size(59, 15)
Me.lblLanguage.TabIndex = 41
Me.lblLanguage.Text = "Language"
'
'chkShowDescriptionTooltipsInTree
'
Me.chkShowDescriptionTooltipsInTree.AutoSize = True
Me.chkShowDescriptionTooltipsInTree.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkShowDescriptionTooltipsInTree.Location = New System.Drawing.Point(16, 120)
Me.chkShowDescriptionTooltipsInTree.Name = "chkShowDescriptionTooltipsInTree"
Me.chkShowDescriptionTooltipsInTree.Size = New System.Drawing.Size(256, 19)
Me.chkShowDescriptionTooltipsInTree.TabIndex = 10
Me.chkShowDescriptionTooltipsInTree.Text = "Show description tooltips in connection tree"
Me.chkShowDescriptionTooltipsInTree.UseVisualStyleBackColor = True
'
'chkMinimizeToSystemTray
'
Me.chkMinimizeToSystemTray.AutoSize = True
Me.chkMinimizeToSystemTray.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkMinimizeToSystemTray.Location = New System.Drawing.Point(16, 216)
Me.chkMinimizeToSystemTray.Name = "chkMinimizeToSystemTray"
Me.chkMinimizeToSystemTray.Size = New System.Drawing.Size(153, 19)
Me.chkMinimizeToSystemTray.TabIndex = 40
Me.chkMinimizeToSystemTray.Text = "Minimize to System Tray"
Me.chkMinimizeToSystemTray.UseVisualStyleBackColor = True
'
'chkShowSystemTrayIcon
'
Me.chkShowSystemTrayIcon.AutoSize = True
Me.chkShowSystemTrayIcon.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkShowSystemTrayIcon.Location = New System.Drawing.Point(16, 192)
Me.chkShowSystemTrayIcon.Name = "chkShowSystemTrayIcon"
Me.chkShowSystemTrayIcon.Size = New System.Drawing.Size(184, 19)
Me.chkShowSystemTrayIcon.TabIndex = 30
Me.chkShowSystemTrayIcon.Text = "Always show System Tray Icon"
Me.chkShowSystemTrayIcon.UseVisualStyleBackColor = True
'
'chkShowFullConnectionsFilePathInTitle
'
Me.chkShowFullConnectionsFilePathInTitle.AutoSize = True
Me.chkShowFullConnectionsFilePathInTitle.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkShowFullConnectionsFilePathInTitle.Location = New System.Drawing.Point(16, 144)
Me.chkShowFullConnectionsFilePathInTitle.Name = "chkShowFullConnectionsFilePathInTitle"
Me.chkShowFullConnectionsFilePathInTitle.Size = New System.Drawing.Size(267, 19)
Me.chkShowFullConnectionsFilePathInTitle.TabIndex = 20
Me.chkShowFullConnectionsFilePathInTitle.Text = "Show full connections file path in window title"
Me.chkShowFullConnectionsFilePathInTitle.UseVisualStyleBackColor = True
'
'tabStartupExit
'
Me.tabStartupExit.Controls.Add(Me.pnlStartup)
Me.tabStartupExit.Icon = Global.mRemoteNG.My.Resources.Resources.StartupExit_Icon
Me.tabStartupExit.Location = New System.Drawing.Point(0, 0)
Me.tabStartupExit.Name = "tabStartupExit"
Me.tabStartupExit.Selected = False
Me.tabStartupExit.Size = New System.Drawing.Size(573, 492)
Me.tabStartupExit.TabIndex = 1000
Me.tabStartupExit.Title = "Startup/Exit"
'
'pnlStartup
'
Me.pnlStartup.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.pnlStartup.AutoScroll = True
Me.pnlStartup.Controls.Add(Me.chkSaveConsOnExit)
Me.pnlStartup.Controls.Add(Me.chkProperInstallationOfComponentsAtStartup)
Me.pnlStartup.Controls.Add(Me.chkConfirmExit)
Me.pnlStartup.Controls.Add(Me.chkSingleInstance)
Me.pnlStartup.Controls.Add(Me.chkReconnectOnStart)
Me.pnlStartup.Location = New System.Drawing.Point(3, 3)
Me.pnlStartup.Name = "pnlStartup"
Me.pnlStartup.Size = New System.Drawing.Size(567, 486)
Me.pnlStartup.TabIndex = 51
'
'chkSaveConsOnExit
'
Me.chkSaveConsOnExit.AutoSize = True
Me.chkSaveConsOnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkSaveConsOnExit.Location = New System.Drawing.Point(16, 16)
Me.chkSaveConsOnExit.Name = "chkSaveConsOnExit"
Me.chkSaveConsOnExit.Size = New System.Drawing.Size(153, 19)
Me.chkSaveConsOnExit.TabIndex = 10
Me.chkSaveConsOnExit.Text = "Save connections on exit"
Me.chkSaveConsOnExit.UseVisualStyleBackColor = True
'
'chkProperInstallationOfComponentsAtStartup
'
Me.chkProperInstallationOfComponentsAtStartup.AutoSize = True
Me.chkProperInstallationOfComponentsAtStartup.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkProperInstallationOfComponentsAtStartup.Location = New System.Drawing.Point(16, 112)
Me.chkProperInstallationOfComponentsAtStartup.Name = "chkProperInstallationOfComponentsAtStartup"
Me.chkProperInstallationOfComponentsAtStartup.Size = New System.Drawing.Size(292, 19)
Me.chkProperInstallationOfComponentsAtStartup.TabIndex = 50
Me.chkProperInstallationOfComponentsAtStartup.Text = "Check proper installation of components at startup"
Me.chkProperInstallationOfComponentsAtStartup.UseVisualStyleBackColor = True
'
'chkConfirmExit
'
Me.chkConfirmExit.AutoSize = True
Me.chkConfirmExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkConfirmExit.Location = New System.Drawing.Point(16, 40)
Me.chkConfirmExit.Name = "chkConfirmExit"
Me.chkConfirmExit.Size = New System.Drawing.Size(245, 19)
Me.chkConfirmExit.TabIndex = 20
Me.chkConfirmExit.Text = "Confirm exit if there are open connections"
Me.chkConfirmExit.UseVisualStyleBackColor = True
'
'chkSingleInstance
'
Me.chkSingleInstance.AutoSize = True
Me.chkSingleInstance.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkSingleInstance.Location = New System.Drawing.Point(16, 88)
Me.chkSingleInstance.Name = "chkSingleInstance"
Me.chkSingleInstance.Size = New System.Drawing.Size(411, 19)
Me.chkSingleInstance.TabIndex = 50
Me.chkSingleInstance.Text = "Allow only a single instance of the application (mRemote restart required)"
Me.chkSingleInstance.UseVisualStyleBackColor = True
'
'chkReconnectOnStart
'
Me.chkReconnectOnStart.AutoSize = True
Me.chkReconnectOnStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkReconnectOnStart.Location = New System.Drawing.Point(16, 64)
Me.chkReconnectOnStart.Name = "chkReconnectOnStart"
Me.chkReconnectOnStart.Size = New System.Drawing.Size(296, 19)
Me.chkReconnectOnStart.TabIndex = 40
Me.chkReconnectOnStart.Text = "Reconnect to previously opened sessions on startup"
Me.chkReconnectOnStart.UseVisualStyleBackColor = True
'
'tabTabs
'
Me.tabTabs.Controls.Add(Me.pnlTabsAndPanels)
Me.tabTabs.Icon = Global.mRemoteNG.My.Resources.Resources.Tab_Icon
Me.tabTabs.Location = New System.Drawing.Point(0, 0)
Me.tabTabs.Name = "tabTabs"
Me.tabTabs.Selected = False
Me.tabTabs.Size = New System.Drawing.Size(573, 492)
Me.tabTabs.TabIndex = 3000
Me.tabTabs.Title = "Tabs && Panels"
'
'pnlTabsAndPanels
'
Me.pnlTabsAndPanels.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.pnlTabsAndPanels.AutoScroll = True
Me.pnlTabsAndPanels.Controls.Add(Me.chkUseOnlyErrorsAndInfosPanel)
Me.pnlTabsAndPanels.Controls.Add(Me.lblSwitchToErrorsAndInfos)
Me.pnlTabsAndPanels.Controls.Add(Me.chkMCInformation)
Me.pnlTabsAndPanels.Controls.Add(Me.chkMCErrors)
Me.pnlTabsAndPanels.Controls.Add(Me.chkMCWarnings)
Me.pnlTabsAndPanels.Controls.Add(Me.chkOpenNewTabRightOfSelected)
Me.pnlTabsAndPanels.Controls.Add(Me.chkShowProtocolOnTabs)
Me.pnlTabsAndPanels.Controls.Add(Me.chkDoubleClickClosesTab)
Me.pnlTabsAndPanels.Controls.Add(Me.chkShowLogonInfoOnTabs)
Me.pnlTabsAndPanels.Controls.Add(Me.chkAlwaysShowPanelSelectionDlg)
Me.pnlTabsAndPanels.Location = New System.Drawing.Point(3, 3)
Me.pnlTabsAndPanels.Name = "pnlTabsAndPanels"
Me.pnlTabsAndPanels.Size = New System.Drawing.Size(567, 486)
Me.pnlTabsAndPanels.TabIndex = 51
'
'chkUseOnlyErrorsAndInfosPanel
'
Me.chkUseOnlyErrorsAndInfosPanel.AutoSize = True
Me.chkUseOnlyErrorsAndInfosPanel.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkUseOnlyErrorsAndInfosPanel.Location = New System.Drawing.Point(9, 146)
Me.chkUseOnlyErrorsAndInfosPanel.Name = "chkUseOnlyErrorsAndInfosPanel"
Me.chkUseOnlyErrorsAndInfosPanel.Size = New System.Drawing.Size(307, 19)
Me.chkUseOnlyErrorsAndInfosPanel.TabIndex = 51
Me.chkUseOnlyErrorsAndInfosPanel.Text = "Use only Notifications panel (no messagebox popups)"
Me.chkUseOnlyErrorsAndInfosPanel.UseVisualStyleBackColor = True
'
'lblSwitchToErrorsAndInfos
'
Me.lblSwitchToErrorsAndInfos.AutoSize = True
Me.lblSwitchToErrorsAndInfos.Location = New System.Drawing.Point(9, 171)
Me.lblSwitchToErrorsAndInfos.Name = "lblSwitchToErrorsAndInfos"
Me.lblSwitchToErrorsAndInfos.Size = New System.Drawing.Size(179, 15)
Me.lblSwitchToErrorsAndInfos.TabIndex = 52
Me.lblSwitchToErrorsAndInfos.Text = "Switch to Notifications panel on:"
'
'chkMCInformation
'
Me.chkMCInformation.AutoSize = True
Me.chkMCInformation.Enabled = False
Me.chkMCInformation.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkMCInformation.Location = New System.Drawing.Point(25, 191)
Me.chkMCInformation.Name = "chkMCInformation"
Me.chkMCInformation.Size = New System.Drawing.Size(91, 19)
Me.chkMCInformation.TabIndex = 53
Me.chkMCInformation.Text = "Informations"
Me.chkMCInformation.UseVisualStyleBackColor = True
'
'chkMCErrors
'
Me.chkMCErrors.AutoSize = True
Me.chkMCErrors.Enabled = False
Me.chkMCErrors.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkMCErrors.Location = New System.Drawing.Point(223, 191)
Me.chkMCErrors.Name = "chkMCErrors"
Me.chkMCErrors.Size = New System.Drawing.Size(53, 19)
Me.chkMCErrors.TabIndex = 55
Me.chkMCErrors.Text = "Errors"
Me.chkMCErrors.UseVisualStyleBackColor = True
'
'chkMCWarnings
'
Me.chkMCWarnings.AutoSize = True
Me.chkMCWarnings.Enabled = False
Me.chkMCWarnings.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkMCWarnings.Location = New System.Drawing.Point(132, 191)
Me.chkMCWarnings.Name = "chkMCWarnings"
Me.chkMCWarnings.Size = New System.Drawing.Size(73, 19)
Me.chkMCWarnings.TabIndex = 54
Me.chkMCWarnings.Text = "Warnings"
Me.chkMCWarnings.UseVisualStyleBackColor = True
'
'chkOpenNewTabRightOfSelected
'
Me.chkOpenNewTabRightOfSelected.AutoSize = True
Me.chkOpenNewTabRightOfSelected.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkOpenNewTabRightOfSelected.Location = New System.Drawing.Point(9, 3)
Me.chkOpenNewTabRightOfSelected.Name = "chkOpenNewTabRightOfSelected"
Me.chkOpenNewTabRightOfSelected.Size = New System.Drawing.Size(309, 19)
Me.chkOpenNewTabRightOfSelected.TabIndex = 10
Me.chkOpenNewTabRightOfSelected.Text = "Open new tab to the right of the currently selected tab"
Me.chkOpenNewTabRightOfSelected.UseVisualStyleBackColor = True
'
'chkShowProtocolOnTabs
'
Me.chkShowProtocolOnTabs.AutoSize = True
Me.chkShowProtocolOnTabs.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkShowProtocolOnTabs.Location = New System.Drawing.Point(9, 49)
Me.chkShowProtocolOnTabs.Name = "chkShowProtocolOnTabs"
Me.chkShowProtocolOnTabs.Size = New System.Drawing.Size(180, 19)
Me.chkShowProtocolOnTabs.TabIndex = 30
Me.chkShowProtocolOnTabs.Text = "Show protocols on tab names"
Me.chkShowProtocolOnTabs.UseVisualStyleBackColor = True
'
'chkDoubleClickClosesTab
'
Me.chkDoubleClickClosesTab.AutoSize = True
Me.chkDoubleClickClosesTab.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkDoubleClickClosesTab.Location = New System.Drawing.Point(9, 72)
Me.chkDoubleClickClosesTab.Name = "chkDoubleClickClosesTab"
Me.chkDoubleClickClosesTab.Size = New System.Drawing.Size(170, 19)
Me.chkDoubleClickClosesTab.TabIndex = 40
Me.chkDoubleClickClosesTab.Text = "Double click on tab closes it"
Me.chkDoubleClickClosesTab.UseVisualStyleBackColor = True
'
'chkShowLogonInfoOnTabs
'
Me.chkShowLogonInfoOnTabs.AutoSize = True
Me.chkShowLogonInfoOnTabs.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkShowLogonInfoOnTabs.Location = New System.Drawing.Point(9, 26)
Me.chkShowLogonInfoOnTabs.Name = "chkShowLogonInfoOnTabs"
Me.chkShowLogonInfoOnTabs.Size = New System.Drawing.Size(227, 19)
Me.chkShowLogonInfoOnTabs.TabIndex = 20
Me.chkShowLogonInfoOnTabs.Text = "Show logon information on tab names"
Me.chkShowLogonInfoOnTabs.UseVisualStyleBackColor = True
'
'chkAlwaysShowPanelSelectionDlg
'
Me.chkAlwaysShowPanelSelectionDlg.AutoSize = True
Me.chkAlwaysShowPanelSelectionDlg.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkAlwaysShowPanelSelectionDlg.Location = New System.Drawing.Point(9, 95)
Me.chkAlwaysShowPanelSelectionDlg.Name = "chkAlwaysShowPanelSelectionDlg"
Me.chkAlwaysShowPanelSelectionDlg.Size = New System.Drawing.Size(349, 19)
Me.chkAlwaysShowPanelSelectionDlg.TabIndex = 50
Me.chkAlwaysShowPanelSelectionDlg.Text = "Always show panel selection dialog when opening connectins"
Me.chkAlwaysShowPanelSelectionDlg.UseVisualStyleBackColor = True
'
'tabConnections
'
Me.tabConnections.Controls.Add(Me.pnlConnections)
Me.tabConnections.Icon = Global.mRemoteNG.My.Resources.Resources.Root_Icon
Me.tabConnections.Location = New System.Drawing.Point(0, 0)
Me.tabConnections.Name = "tabConnections"
Me.tabConnections.Selected = False
Me.tabConnections.Size = New System.Drawing.Size(573, 492)
Me.tabConnections.TabIndex = 4000
Me.tabConnections.Title = "Connections"
@@ -600,301 +932,6 @@ Namespace UI
Me.chkHostnameLikeDisplayName.Text = "Set hostname like display name when creating new connections"
Me.chkHostnameLikeDisplayName.UseVisualStyleBackColor = True
'
'tabStartupExit
'
Me.tabStartupExit.Controls.Add(Me.pnlStartup)
Me.tabStartupExit.Icon = Global.mRemoteNG.My.Resources.Resources.StartupExit_Icon
Me.tabStartupExit.Location = New System.Drawing.Point(0, 0)
Me.tabStartupExit.Name = "tabStartupExit"
Me.tabStartupExit.Selected = False
Me.tabStartupExit.Size = New System.Drawing.Size(573, 492)
Me.tabStartupExit.TabIndex = 1000
Me.tabStartupExit.Title = "Startup/Exit"
'
'pnlStartup
'
Me.pnlStartup.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.pnlStartup.AutoScroll = True
Me.pnlStartup.Controls.Add(Me.chkSaveConsOnExit)
Me.pnlStartup.Controls.Add(Me.chkProperInstallationOfComponentsAtStartup)
Me.pnlStartup.Controls.Add(Me.chkConfirmExit)
Me.pnlStartup.Controls.Add(Me.chkSingleInstance)
Me.pnlStartup.Controls.Add(Me.chkReconnectOnStart)
Me.pnlStartup.Location = New System.Drawing.Point(3, 3)
Me.pnlStartup.Name = "pnlStartup"
Me.pnlStartup.Size = New System.Drawing.Size(567, 486)
Me.pnlStartup.TabIndex = 51
'
'chkSaveConsOnExit
'
Me.chkSaveConsOnExit.AutoSize = True
Me.chkSaveConsOnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkSaveConsOnExit.Location = New System.Drawing.Point(9, 3)
Me.chkSaveConsOnExit.Name = "chkSaveConsOnExit"
Me.chkSaveConsOnExit.Size = New System.Drawing.Size(153, 19)
Me.chkSaveConsOnExit.TabIndex = 10
Me.chkSaveConsOnExit.Text = "Save connections on exit"
Me.chkSaveConsOnExit.UseVisualStyleBackColor = True
'
'chkProperInstallationOfComponentsAtStartup
'
Me.chkProperInstallationOfComponentsAtStartup.AutoSize = True
Me.chkProperInstallationOfComponentsAtStartup.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkProperInstallationOfComponentsAtStartup.Location = New System.Drawing.Point(9, 97)
Me.chkProperInstallationOfComponentsAtStartup.Name = "chkProperInstallationOfComponentsAtStartup"
Me.chkProperInstallationOfComponentsAtStartup.Size = New System.Drawing.Size(292, 19)
Me.chkProperInstallationOfComponentsAtStartup.TabIndex = 50
Me.chkProperInstallationOfComponentsAtStartup.Text = "Check proper installation of components at startup"
Me.chkProperInstallationOfComponentsAtStartup.UseVisualStyleBackColor = True
'
'chkConfirmExit
'
Me.chkConfirmExit.AutoSize = True
Me.chkConfirmExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkConfirmExit.Location = New System.Drawing.Point(9, 26)
Me.chkConfirmExit.Name = "chkConfirmExit"
Me.chkConfirmExit.Size = New System.Drawing.Size(245, 19)
Me.chkConfirmExit.TabIndex = 20
Me.chkConfirmExit.Text = "Confirm exit if there are open connections"
Me.chkConfirmExit.UseVisualStyleBackColor = True
'
'chkSingleInstance
'
Me.chkSingleInstance.AutoSize = True
Me.chkSingleInstance.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkSingleInstance.Location = New System.Drawing.Point(9, 74)
Me.chkSingleInstance.Name = "chkSingleInstance"
Me.chkSingleInstance.Size = New System.Drawing.Size(411, 19)
Me.chkSingleInstance.TabIndex = 50
Me.chkSingleInstance.Text = "Allow only a single instance of the application (mRemote restart required)"
Me.chkSingleInstance.UseVisualStyleBackColor = True
'
'chkReconnectOnStart
'
Me.chkReconnectOnStart.AutoSize = True
Me.chkReconnectOnStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkReconnectOnStart.Location = New System.Drawing.Point(9, 51)
Me.chkReconnectOnStart.Name = "chkReconnectOnStart"
Me.chkReconnectOnStart.Size = New System.Drawing.Size(296, 19)
Me.chkReconnectOnStart.TabIndex = 40
Me.chkReconnectOnStart.Text = "Reconnect to previously opened sessions on startup"
Me.chkReconnectOnStart.UseVisualStyleBackColor = True
'
'tabAppearance
'
Me.tabAppearance.Controls.Add(Me.pnlAppearance)
Me.tabAppearance.Icon = Global.mRemoteNG.My.Resources.Resources.Appearance_Icon
Me.tabAppearance.Location = New System.Drawing.Point(0, 0)
Me.tabAppearance.Name = "tabAppearance"
Me.tabAppearance.Selected = False
Me.tabAppearance.Size = New System.Drawing.Size(573, 492)
Me.tabAppearance.TabIndex = 2000
Me.tabAppearance.Title = "Appearance"
'
'pnlAppearance
'
Me.pnlAppearance.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.pnlAppearance.AutoScroll = True
Me.pnlAppearance.Controls.Add(Me.chkShowDescriptionTooltipsInTree)
Me.pnlAppearance.Controls.Add(Me.chkMinimizeToSystemTray)
Me.pnlAppearance.Controls.Add(Me.chkShowSystemTrayIcon)
Me.pnlAppearance.Controls.Add(Me.chkShowFullConnectionsFilePathInTitle)
Me.pnlAppearance.Location = New System.Drawing.Point(3, 3)
Me.pnlAppearance.Name = "pnlAppearance"
Me.pnlAppearance.Size = New System.Drawing.Size(567, 486)
Me.pnlAppearance.TabIndex = 41
'
'chkShowDescriptionTooltipsInTree
'
Me.chkShowDescriptionTooltipsInTree.AutoSize = True
Me.chkShowDescriptionTooltipsInTree.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkShowDescriptionTooltipsInTree.Location = New System.Drawing.Point(9, 3)
Me.chkShowDescriptionTooltipsInTree.Name = "chkShowDescriptionTooltipsInTree"
Me.chkShowDescriptionTooltipsInTree.Size = New System.Drawing.Size(256, 19)
Me.chkShowDescriptionTooltipsInTree.TabIndex = 10
Me.chkShowDescriptionTooltipsInTree.Text = "Show description tooltips in connection tree"
Me.chkShowDescriptionTooltipsInTree.UseVisualStyleBackColor = True
'
'chkMinimizeToSystemTray
'
Me.chkMinimizeToSystemTray.AutoSize = True
Me.chkMinimizeToSystemTray.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkMinimizeToSystemTray.Location = New System.Drawing.Point(9, 82)
Me.chkMinimizeToSystemTray.Name = "chkMinimizeToSystemTray"
Me.chkMinimizeToSystemTray.Size = New System.Drawing.Size(153, 19)
Me.chkMinimizeToSystemTray.TabIndex = 40
Me.chkMinimizeToSystemTray.Text = "Minimize to System Tray"
Me.chkMinimizeToSystemTray.UseVisualStyleBackColor = True
'
'chkShowSystemTrayIcon
'
Me.chkShowSystemTrayIcon.AutoSize = True
Me.chkShowSystemTrayIcon.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkShowSystemTrayIcon.Location = New System.Drawing.Point(9, 59)
Me.chkShowSystemTrayIcon.Name = "chkShowSystemTrayIcon"
Me.chkShowSystemTrayIcon.Size = New System.Drawing.Size(184, 19)
Me.chkShowSystemTrayIcon.TabIndex = 30
Me.chkShowSystemTrayIcon.Text = "Always show System Tray Icon"
Me.chkShowSystemTrayIcon.UseVisualStyleBackColor = True
'
'chkShowFullConnectionsFilePathInTitle
'
Me.chkShowFullConnectionsFilePathInTitle.AutoSize = True
Me.chkShowFullConnectionsFilePathInTitle.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkShowFullConnectionsFilePathInTitle.Location = New System.Drawing.Point(9, 26)
Me.chkShowFullConnectionsFilePathInTitle.Name = "chkShowFullConnectionsFilePathInTitle"
Me.chkShowFullConnectionsFilePathInTitle.Size = New System.Drawing.Size(267, 19)
Me.chkShowFullConnectionsFilePathInTitle.TabIndex = 20
Me.chkShowFullConnectionsFilePathInTitle.Text = "Show full connections file path in window title"
Me.chkShowFullConnectionsFilePathInTitle.UseVisualStyleBackColor = True
'
'tabTabs
'
Me.tabTabs.Controls.Add(Me.pnlTabsAndPanels)
Me.tabTabs.Icon = Global.mRemoteNG.My.Resources.Resources.Tab_Icon
Me.tabTabs.Location = New System.Drawing.Point(0, 0)
Me.tabTabs.Name = "tabTabs"
Me.tabTabs.Selected = False
Me.tabTabs.Size = New System.Drawing.Size(573, 492)
Me.tabTabs.TabIndex = 3000
Me.tabTabs.Title = "Tabs && Panels"
'
'pnlTabsAndPanels
'
Me.pnlTabsAndPanels.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.pnlTabsAndPanels.AutoScroll = True
Me.pnlTabsAndPanels.Controls.Add(Me.chkUseOnlyErrorsAndInfosPanel)
Me.pnlTabsAndPanels.Controls.Add(Me.lblSwitchToErrorsAndInfos)
Me.pnlTabsAndPanels.Controls.Add(Me.chkMCInformation)
Me.pnlTabsAndPanels.Controls.Add(Me.chkMCErrors)
Me.pnlTabsAndPanels.Controls.Add(Me.chkMCWarnings)
Me.pnlTabsAndPanels.Controls.Add(Me.chkOpenNewTabRightOfSelected)
Me.pnlTabsAndPanels.Controls.Add(Me.chkShowProtocolOnTabs)
Me.pnlTabsAndPanels.Controls.Add(Me.chkDoubleClickClosesTab)
Me.pnlTabsAndPanels.Controls.Add(Me.chkShowLogonInfoOnTabs)
Me.pnlTabsAndPanels.Controls.Add(Me.chkAlwaysShowPanelSelectionDlg)
Me.pnlTabsAndPanels.Location = New System.Drawing.Point(3, 3)
Me.pnlTabsAndPanels.Name = "pnlTabsAndPanels"
Me.pnlTabsAndPanels.Size = New System.Drawing.Size(567, 486)
Me.pnlTabsAndPanels.TabIndex = 51
'
'chkUseOnlyErrorsAndInfosPanel
'
Me.chkUseOnlyErrorsAndInfosPanel.AutoSize = True
Me.chkUseOnlyErrorsAndInfosPanel.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkUseOnlyErrorsAndInfosPanel.Location = New System.Drawing.Point(9, 146)
Me.chkUseOnlyErrorsAndInfosPanel.Name = "chkUseOnlyErrorsAndInfosPanel"
Me.chkUseOnlyErrorsAndInfosPanel.Size = New System.Drawing.Size(307, 19)
Me.chkUseOnlyErrorsAndInfosPanel.TabIndex = 51
Me.chkUseOnlyErrorsAndInfosPanel.Text = "Use only Notifications panel (no messagebox popups)"
Me.chkUseOnlyErrorsAndInfosPanel.UseVisualStyleBackColor = True
'
'lblSwitchToErrorsAndInfos
'
Me.lblSwitchToErrorsAndInfos.AutoSize = True
Me.lblSwitchToErrorsAndInfos.Location = New System.Drawing.Point(9, 171)
Me.lblSwitchToErrorsAndInfos.Name = "lblSwitchToErrorsAndInfos"
Me.lblSwitchToErrorsAndInfos.Size = New System.Drawing.Size(179, 15)
Me.lblSwitchToErrorsAndInfos.TabIndex = 52
Me.lblSwitchToErrorsAndInfos.Text = "Switch to Notifications panel on:"
'
'chkMCInformation
'
Me.chkMCInformation.AutoSize = True
Me.chkMCInformation.Enabled = False
Me.chkMCInformation.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkMCInformation.Location = New System.Drawing.Point(25, 191)
Me.chkMCInformation.Name = "chkMCInformation"
Me.chkMCInformation.Size = New System.Drawing.Size(91, 19)
Me.chkMCInformation.TabIndex = 53
Me.chkMCInformation.Text = "Informations"
Me.chkMCInformation.UseVisualStyleBackColor = True
'
'chkMCErrors
'
Me.chkMCErrors.AutoSize = True
Me.chkMCErrors.Enabled = False
Me.chkMCErrors.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkMCErrors.Location = New System.Drawing.Point(223, 191)
Me.chkMCErrors.Name = "chkMCErrors"
Me.chkMCErrors.Size = New System.Drawing.Size(53, 19)
Me.chkMCErrors.TabIndex = 55
Me.chkMCErrors.Text = "Errors"
Me.chkMCErrors.UseVisualStyleBackColor = True
'
'chkMCWarnings
'
Me.chkMCWarnings.AutoSize = True
Me.chkMCWarnings.Enabled = False
Me.chkMCWarnings.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkMCWarnings.Location = New System.Drawing.Point(132, 191)
Me.chkMCWarnings.Name = "chkMCWarnings"
Me.chkMCWarnings.Size = New System.Drawing.Size(73, 19)
Me.chkMCWarnings.TabIndex = 54
Me.chkMCWarnings.Text = "Warnings"
Me.chkMCWarnings.UseVisualStyleBackColor = True
'
'chkOpenNewTabRightOfSelected
'
Me.chkOpenNewTabRightOfSelected.AutoSize = True
Me.chkOpenNewTabRightOfSelected.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkOpenNewTabRightOfSelected.Location = New System.Drawing.Point(9, 3)
Me.chkOpenNewTabRightOfSelected.Name = "chkOpenNewTabRightOfSelected"
Me.chkOpenNewTabRightOfSelected.Size = New System.Drawing.Size(309, 19)
Me.chkOpenNewTabRightOfSelected.TabIndex = 10
Me.chkOpenNewTabRightOfSelected.Text = "Open new tab to the right of the currently selected tab"
Me.chkOpenNewTabRightOfSelected.UseVisualStyleBackColor = True
'
'chkShowProtocolOnTabs
'
Me.chkShowProtocolOnTabs.AutoSize = True
Me.chkShowProtocolOnTabs.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkShowProtocolOnTabs.Location = New System.Drawing.Point(9, 49)
Me.chkShowProtocolOnTabs.Name = "chkShowProtocolOnTabs"
Me.chkShowProtocolOnTabs.Size = New System.Drawing.Size(180, 19)
Me.chkShowProtocolOnTabs.TabIndex = 30
Me.chkShowProtocolOnTabs.Text = "Show protocols on tab names"
Me.chkShowProtocolOnTabs.UseVisualStyleBackColor = True
'
'chkDoubleClickClosesTab
'
Me.chkDoubleClickClosesTab.AutoSize = True
Me.chkDoubleClickClosesTab.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkDoubleClickClosesTab.Location = New System.Drawing.Point(9, 72)
Me.chkDoubleClickClosesTab.Name = "chkDoubleClickClosesTab"
Me.chkDoubleClickClosesTab.Size = New System.Drawing.Size(170, 19)
Me.chkDoubleClickClosesTab.TabIndex = 40
Me.chkDoubleClickClosesTab.Text = "Double click on tab closes it"
Me.chkDoubleClickClosesTab.UseVisualStyleBackColor = True
'
'chkShowLogonInfoOnTabs
'
Me.chkShowLogonInfoOnTabs.AutoSize = True
Me.chkShowLogonInfoOnTabs.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkShowLogonInfoOnTabs.Location = New System.Drawing.Point(9, 26)
Me.chkShowLogonInfoOnTabs.Name = "chkShowLogonInfoOnTabs"
Me.chkShowLogonInfoOnTabs.Size = New System.Drawing.Size(227, 19)
Me.chkShowLogonInfoOnTabs.TabIndex = 20
Me.chkShowLogonInfoOnTabs.Text = "Show logon information on tab names"
Me.chkShowLogonInfoOnTabs.UseVisualStyleBackColor = True
'
'chkAlwaysShowPanelSelectionDlg
'
Me.chkAlwaysShowPanelSelectionDlg.AutoSize = True
Me.chkAlwaysShowPanelSelectionDlg.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkAlwaysShowPanelSelectionDlg.Location = New System.Drawing.Point(9, 95)
Me.chkAlwaysShowPanelSelectionDlg.Name = "chkAlwaysShowPanelSelectionDlg"
Me.chkAlwaysShowPanelSelectionDlg.Size = New System.Drawing.Size(349, 19)
Me.chkAlwaysShowPanelSelectionDlg.TabIndex = 50
Me.chkAlwaysShowPanelSelectionDlg.Text = "Always show panel selection dialog when opening connectins"
Me.chkAlwaysShowPanelSelectionDlg.UseVisualStyleBackColor = True
'
'tabUpdates
'
Me.tabUpdates.Controls.Add(Me.pnlUpdates)
@@ -1357,6 +1394,15 @@ Namespace UI
Me.TabText = "Options"
Me.Text = "Options"
Me.TabController.ResumeLayout(False)
Me.tabAppearance.ResumeLayout(False)
Me.pnlAppearance.ResumeLayout(False)
Me.pnlAppearance.PerformLayout()
Me.tabStartupExit.ResumeLayout(False)
Me.pnlStartup.ResumeLayout(False)
Me.pnlStartup.PerformLayout()
Me.tabTabs.ResumeLayout(False)
Me.pnlTabsAndPanels.ResumeLayout(False)
Me.pnlTabsAndPanels.PerformLayout()
Me.tabConnections.ResumeLayout(False)
Me.pnlConnections.ResumeLayout(False)
Me.pnlConnections.PerformLayout()
@@ -1370,15 +1416,6 @@ Namespace UI
CType(Me.numAutoSave, System.ComponentModel.ISupportInitialize).EndInit()
Me.grpExperimental.ResumeLayout(False)
Me.grpExperimental.PerformLayout()
Me.tabStartupExit.ResumeLayout(False)
Me.pnlStartup.ResumeLayout(False)
Me.pnlStartup.PerformLayout()
Me.tabAppearance.ResumeLayout(False)
Me.pnlAppearance.ResumeLayout(False)
Me.pnlAppearance.PerformLayout()
Me.tabTabs.ResumeLayout(False)
Me.pnlTabsAndPanels.ResumeLayout(False)
Me.pnlTabsAndPanels.PerformLayout()
Me.tabUpdates.ResumeLayout(False)
Me.pnlUpdates.ResumeLayout(False)
Me.pnlUpdateCheck.ResumeLayout(False)
@@ -1408,6 +1445,19 @@ Namespace UI
Me.chkReconnectOnStart.Checked = My.Settings.OpenConsFromLastSession
Me.chkProperInstallationOfComponentsAtStartup.Checked = My.Settings.StartupComponentsCheck
Me.cboLanguage.Items.Clear()
Me.cboLanguage.Items.Add(My.Resources.strLanguageDefault)
For Each CultureNativeName As String In App.SupportedCultures.CultureNativeNames
Me.cboLanguage.Items.Add(CultureNativeName)
Next
If Not My.Settings.OverrideUICulture = "" And App.SupportedCultures.IsNameSupported(My.Settings.OverrideUICulture) Then
Me.cboLanguage.SelectedItem = App.SupportedCultures.CultureNativeName(My.Settings.OverrideUICulture)
End If
If Me.cboLanguage.SelectedIndex = -1 Then
Me.cboLanguage.SelectedIndex = 0
End If
Me.chkShowDescriptionTooltipsInTree.Checked = My.Settings.ShowDescriptionTooltipsInTree
Me.chkShowSystemTrayIcon.Checked = My.Settings.ShowSystemTrayIcon
Me.chkMinimizeToSystemTray.Checked = My.Settings.MinimizeToTray
@@ -1506,6 +1556,12 @@ Namespace UI
My.Settings.OpenConsFromLastSession = Me.chkReconnectOnStart.Checked
My.Settings.StartupComponentsCheck = Me.chkProperInstallationOfComponentsAtStartup.Checked
If Me.cboLanguage.SelectedIndex > 0 And App.SupportedCultures.IsNativeNameSupported(Me.cboLanguage.SelectedItem) Then
My.Settings.OverrideUICulture = App.SupportedCultures.CultureName(Me.cboLanguage.SelectedItem)
Else
My.Settings.OverrideUICulture = ""
End If
My.Settings.ShowDescriptionTooltipsInTree = Me.chkShowDescriptionTooltipsInTree.Checked
My.Settings.ShowSystemTrayIcon = Me.chkShowSystemTrayIcon.Checked
My.Settings.MinimizeToTray = Me.chkMinimizeToSystemTray.Checked
@@ -1778,6 +1834,8 @@ Namespace UI
lblXulRunnerPath.Text = My.Resources.strXULrunnerPath & ":"
btnBrowseXulRunnerPath.Text = My.Resources.strButtonBrowse
chkEncryptCompleteFile.Text = My.Resources.strEncryptCompleteConnectionFile
lblLanguage.Text = My.Resources.strLanguage
lblLanguageRestartRequired.Text = String.Format(My.Resources.strLanguageRestartRequired, My.Application.Info.ProductName)
End Sub
Public Shadows Sub Show(ByVal DockPanel As DockPanel)
@@ -1869,10 +1927,6 @@ Namespace UI
Me.Close()
End Sub
#End Region
Private Sub TabController_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabController.SelectionChanged
End Sub
End Class
End Namespace
End Namespace

View File

@@ -25,7 +25,6 @@ Namespace UI
Friend WithEvents cMenTreeConnectWithOptionsConnectInFullscreen As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeDisconnect As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeSep2 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents cMenTreeTools As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeToolsTransferFile As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeToolsImportExport As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cMenTreeToolsImportExportExportmRemoteXML As System.Windows.Forms.ToolStripMenuItem
@@ -65,7 +64,6 @@ Namespace UI
Me.cMenTreeConnectWithOptionsChoosePanelBeforeConnecting = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeDisconnect = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeSep2 = New System.Windows.Forms.ToolStripSeparator
Me.cMenTreeTools = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsTransferFile = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsImportExport = New System.Windows.Forms.ToolStripMenuItem
Me.cMenTreeToolsImportExportExportmRemoteXML = New System.Windows.Forms.ToolStripMenuItem
@@ -123,10 +121,10 @@ Namespace UI
'cMenTree
'
Me.cMenTree.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cMenTree.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenTreeAddConnection, Me.cMenTreeAddFolder, Me.cMenTreeSep1, Me.cMenTreeConnect, Me.cMenTreeConnectWithOptions, Me.cMenTreeDisconnect, Me.cMenTreeSep2, Me.cMenTreeTools, Me.cMenTreeSep3, Me.cMenTreeDuplicate, Me.cMenTreeRename, Me.cMenTreeDelete, Me.cMenTreeSep4, Me.cMenTreeMoveUp, Me.cMenTreeMoveDown})
Me.cMenTree.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenTreeAddConnection, Me.cMenTreeAddFolder, Me.cMenTreeSep1, Me.cMenTreeConnect, Me.cMenTreeConnectWithOptions, Me.cMenTreeDisconnect, Me.cMenTreeSep2, Me.cMenTreeToolsTransferFile, Me.cMenTreeToolsImportExport, Me.cMenTreeToolsSort, Me.cMenTreeToolsExternalApps, Me.cMenTreeSep3, Me.cMenTreeDuplicate, Me.cMenTreeRename, Me.cMenTreeDelete, Me.cMenTreeSep4, Me.cMenTreeMoveUp, Me.cMenTreeMoveDown})
Me.cMenTree.Name = "cMenTree"
Me.cMenTree.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
Me.cMenTree.Size = New System.Drawing.Size(187, 292)
Me.cMenTree.Size = New System.Drawing.Size(187, 358)
'
'cMenTreeAddConnection
'
@@ -202,26 +200,18 @@ Namespace UI
Me.cMenTreeSep2.Name = "cMenTreeSep2"
Me.cMenTreeSep2.Size = New System.Drawing.Size(183, 6)
'
'cMenTreeTools
'
Me.cMenTreeTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenTreeToolsTransferFile, Me.cMenTreeToolsImportExport, Me.cMenTreeToolsSort, Me.cMenTreeToolsExternalApps})
Me.cMenTreeTools.Image = Global.mRemoteNG.My.Resources.Resources.Tools
Me.cMenTreeTools.Name = "cMenTreeTools"
Me.cMenTreeTools.Size = New System.Drawing.Size(186, 22)
Me.cMenTreeTools.Text = "Tools"
'
'cMenTreeToolsTransferFile
'
Me.cMenTreeToolsTransferFile.Image = Global.mRemoteNG.My.Resources.Resources.SSHTransfer
Me.cMenTreeToolsTransferFile.Name = "cMenTreeToolsTransferFile"
Me.cMenTreeToolsTransferFile.Size = New System.Drawing.Size(172, 22)
Me.cMenTreeToolsTransferFile.Size = New System.Drawing.Size(186, 22)
Me.cMenTreeToolsTransferFile.Text = "Transfer File (SSH)"
'
'cMenTreeToolsImportExport
'
Me.cMenTreeToolsImportExport.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenTreeToolsImportExportExportmRemoteXML, Me.cMenTreeToolsImportExportImportmRemoteXML, Me.cMenTreeToolsImportExportSep1, Me.cMenTreeToolsImportExportImportFromAD, Me.cMenTreeToolsImportExportImportFromRDPFiles, Me.cMenTreeToolsImportExportImportFromPortScan})
Me.cMenTreeToolsImportExport.Name = "cMenTreeToolsImportExport"
Me.cMenTreeToolsImportExport.Size = New System.Drawing.Size(172, 22)
Me.cMenTreeToolsImportExport.Size = New System.Drawing.Size(186, 22)
Me.cMenTreeToolsImportExport.Text = "Import/Export"
'
'cMenTreeToolsImportExportExportmRemoteXML
@@ -268,7 +258,7 @@ Namespace UI
'
Me.cMenTreeToolsSort.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenTreeToolsSortAscending, Me.cMenTreeToolsSortDescending})
Me.cMenTreeToolsSort.Name = "cMenTreeToolsSort"
Me.cMenTreeToolsSort.Size = New System.Drawing.Size(172, 22)
Me.cMenTreeToolsSort.Size = New System.Drawing.Size(186, 22)
Me.cMenTreeToolsSort.Text = "Sort"
'
'cMenTreeToolsSortAscending
@@ -289,7 +279,7 @@ Namespace UI
'
Me.cMenTreeToolsExternalApps.Image = Global.mRemoteNG.My.Resources.Resources.ExtApp
Me.cMenTreeToolsExternalApps.Name = "cMenTreeToolsExternalApps"
Me.cMenTreeToolsExternalApps.Size = New System.Drawing.Size(172, 22)
Me.cMenTreeToolsExternalApps.Size = New System.Drawing.Size(186, 22)
Me.cMenTreeToolsExternalApps.Text = "External Applications"
'
'cMenTreeSep3
@@ -486,7 +476,6 @@ Namespace UI
cMenTreeConnectWithOptionsConnectInFullscreen.Text = My.Resources.strConnectInFullscreen
cMenTreeConnectWithOptionsChoosePanelBeforeConnecting.Text = My.Resources.strChoosePanelBeforeConnecting
cMenTreeDisconnect.Text = My.Resources.strMenuDisconnect
cMenTreeTools.Text = My.Resources.strTools
cMenTreeToolsTransferFile.Text = My.Resources.strMenuTransferFile
cMenTreeToolsImportExport.Text = My.Resources.strImportExport
cMenTreeToolsImportExportExportmRemoteXML.Text = My.Resources.strExportmRemoteXML
@@ -978,7 +967,7 @@ Namespace UI
SaveConnectionsBG()
End Sub
Private Sub cMenTreeTools_DropDownOpening(ByVal sender As Object, ByVal e As System.EventArgs) Handles cMenTreeTools.DropDownOpening
Private Sub cMenTree_DropDownOpening(ByVal sender As Object, ByVal e As System.EventArgs) Handles cMenTree.Opening
AddExternalApps()
End Sub

View File

@@ -1,4 +1,4 @@
Imports WeifenLuo.WinFormsUI.Docking
Imports WeifenLuo.WinFormsUI.Docking
Imports System.Threading
Imports System.IO
Imports mRemoteNG.App.Runtime
@@ -60,7 +60,7 @@ Namespace UI
Me.pnlUp.Controls.Add(Me.txtChangeLog)
Me.pnlUp.Location = New System.Drawing.Point(16, 152)
Me.pnlUp.Name = "pnlUp"
Me.pnlUp.Size = New System.Drawing.Size(672, 248)
Me.pnlUp.Size = New System.Drawing.Size(718, 248)
Me.pnlUp.TabIndex = 6
Me.pnlUp.Visible = False
'
@@ -91,7 +91,7 @@ Namespace UI
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.prgbDownload.Location = New System.Drawing.Point(160, 224)
Me.prgbDownload.Name = "prgbDownload"
Me.prgbDownload.Size = New System.Drawing.Size(496, 23)
Me.prgbDownload.Size = New System.Drawing.Size(542, 23)
Me.prgbDownload.TabIndex = 3
'
'txtChangeLog
@@ -106,7 +106,7 @@ Namespace UI
Me.txtChangeLog.Name = "txtChangeLog"
Me.txtChangeLog.ReadOnly = True
Me.txtChangeLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.txtChangeLog.Size = New System.Drawing.Size(653, 181)
Me.txtChangeLog.Size = New System.Drawing.Size(699, 181)
Me.txtChangeLog.TabIndex = 1
Me.txtChangeLog.TabStop = False
'
@@ -145,7 +145,7 @@ Namespace UI
'
Me.lblAvailableVersion.Location = New System.Drawing.Point(136, 72)
Me.lblAvailableVersion.Name = "lblAvailableVersion"
Me.lblAvailableVersion.Size = New System.Drawing.Size(64, 16)
Me.lblAvailableVersion.Size = New System.Drawing.Size(104, 16)
Me.lblAvailableVersion.TabIndex = 4
Me.lblAvailableVersion.Text = "Version"
Me.lblAvailableVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -154,7 +154,7 @@ Namespace UI
'
Me.lblCurrentVersion.Location = New System.Drawing.Point(136, 48)
Me.lblCurrentVersion.Name = "lblCurrentVersion"
Me.lblCurrentVersion.Size = New System.Drawing.Size(64, 16)
Me.lblCurrentVersion.Size = New System.Drawing.Size(104, 16)
Me.lblCurrentVersion.TabIndex = 2
Me.lblCurrentVersion.Text = "Version"
Me.lblCurrentVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -164,7 +164,7 @@ Namespace UI
Me.pbUpdateImage.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.pbUpdateImage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.pbUpdateImage.Cursor = System.Windows.Forms.Cursors.Hand
Me.pbUpdateImage.Location = New System.Drawing.Point(200, 48)
Me.pbUpdateImage.Location = New System.Drawing.Point(246, 48)
Me.pbUpdateImage.Name = "pbUpdateImage"
Me.pbUpdateImage.Size = New System.Drawing.Size(468, 60)
Me.pbUpdateImage.TabIndex = 45
@@ -173,7 +173,7 @@ Namespace UI
'
'Update
'
Me.ClientSize = New System.Drawing.Size(688, 418)
Me.ClientSize = New System.Drawing.Size(734, 418)
Me.Controls.Add(Me.pbUpdateImage)
Me.Controls.Add(Me.lblCurrentVersionLabel)
Me.Controls.Add(Me.lblInstalledVersionLabel)
@@ -250,6 +250,7 @@ Namespace UI
Private Sub UpdateCheckComplete(ByVal UpdateAvailable As Boolean)
Try
My.Settings.CheckForUpdatesLastCheck = Date.Now
SetCurrentVersionText(My.Application.Info.Version.ToString)
If UpdateAvailable = True Then
My.Settings.UpdatePending = True
@@ -258,7 +259,6 @@ Namespace UI
SetVisible(pnlUp, True)
Dim uI As App.Update.Info = uD.GetUpdateInfo()
SetCurrentVersionText(My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor)
SetAvailableVersionText(uI.Version.ToString)
SetChangeLogText(uI.ChangeLog)
@@ -282,7 +282,6 @@ Namespace UI
SetVisible(pnlUp, False)
Dim uI As App.Update.Info = uD.GetUpdateInfo()
SetCurrentVersionText(My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor)
SetAvailableVersionText(uI.Version.ToString)
End If
Catch ex As Exception

View File

@@ -5,6 +5,9 @@
<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>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, 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" requirePermission="false" />
</sectionGroup>
</configSections>
<log4net>
<logger name="mRemoteNG.Log">
@@ -17,7 +20,7 @@
</root>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file value="${USERPROFILE)\AppData\Local\mRemoteNG\mRemoteNG.log" />
<file value="${USERPROFILE}\AppData\Local\mRemoteNG\mRemoteNG.log" />
<!-- Example using environment variables in params -->
<!-- <file value="${TMP}\log-file.txt" /> -->
<appendToFile value="true" />
@@ -524,6 +527,28 @@
<setting name="RdpReconnectionCount" serializeAs="String">
<value>5</value>
</setting>
<setting name="OverrideUICulture" serializeAs="String">
<value />
</setting>
<setting name="ConDefaultRDGatewayHostname" serializeAs="String">
<value />
</setting>
<setting name="ConDefaultRDGatewayUsername" serializeAs="String">
<value />
</setting>
<setting name="ConDefaultRDGatewayPassword" serializeAs="String">
<value />
</setting>
<setting name="ConDefaultRDGatewayDomain" serializeAs="String">
<value />
</setting>
</mRemoteNG.My.MySettings>
</userSettings>
<applicationSettings>
<mRemoteNG.My.MySettings>
<setting name="SupportedUICultures" serializeAs="String">
<value>de,en,en-US</value>
</setting>
</mRemoteNG.My.MySettings>
</applicationSettings>
</configuration>

View File

@@ -3,7 +3,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{4934A491-40BC-4E5B-9166-EA1169A220F6}</ProjectGuid>
<OutputType>WinExe</OutputType>
@@ -171,6 +171,7 @@
<Compile Include="App\App.Info.vb" />
<Compile Include="App\App.Native.vb" />
<Compile Include="App\App.Runtime.vb" />
<Compile Include="App\App.SupportedCultures.vb" />
<Compile Include="App\App.Update.vb" />
<Compile Include="Config\Config.Connections.Load.vb" />
<Compile Include="Config\Config.Connections.Save.vb" />