Compare commits
83 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fb826c7fac | ||
|
|
d5822094c1 | ||
|
|
87f7fbdf45 | ||
|
|
0bed923a4d | ||
|
|
69ab11eb5f | ||
|
|
217a03b191 | ||
|
|
cab2163d01 | ||
|
|
2346aaa1c3 | ||
|
|
7e45928297 | ||
|
|
76543a440b | ||
|
|
5cb98e0543 | ||
|
|
114db6c90d | ||
|
|
53c5da7e0e | ||
|
|
888e55aaee | ||
|
|
2234770dac | ||
|
|
17a5853041 | ||
|
|
d80f3d757e | ||
|
|
85a5d027dc | ||
|
|
006c76b11d | ||
|
|
61a76908ea | ||
|
|
b729cab9c9 | ||
|
|
654e3cae1f | ||
|
|
bcc681f623 | ||
|
|
77716fc058 | ||
|
|
103c34853e | ||
|
|
3ec52987eb | ||
|
|
d3130f91d1 | ||
|
|
aae96c112a | ||
|
|
635ae405bd | ||
|
|
66c315f629 | ||
|
|
89c7baf7fa | ||
|
|
90eedc689e | ||
|
|
b262f00491 | ||
|
|
d0d81e382d | ||
|
|
5615dc18a6 | ||
|
|
ce08728652 | ||
|
|
fbc613efe5 | ||
|
|
d3560eb893 | ||
|
|
e53be11383 | ||
|
|
17c25d6481 | ||
|
|
e07fbe913f | ||
|
|
c91f406346 | ||
|
|
46afd47ba0 | ||
|
|
5f1e9ae0b7 | ||
|
|
62c9d6f474 | ||
|
|
935df3d4fa | ||
|
|
ec850f6c15 | ||
|
|
2b1732d061 | ||
|
|
cec787fd63 | ||
|
|
97e43d9238 | ||
|
|
1ec28e0bfd | ||
|
|
22e9c36365 | ||
|
|
757dd4c8ca | ||
|
|
3de4153c1a | ||
|
|
cfbdd94ed3 | ||
|
|
eab49ef3bd | ||
|
|
5027f534e3 | ||
|
|
85e1402cc0 | ||
|
|
f048b2d04d | ||
|
|
19218f20bb | ||
|
|
3f2ffea1f4 | ||
|
|
6fa8923f90 | ||
|
|
9a63b8c316 | ||
|
|
d3311497f2 | ||
|
|
79bdc4f734 | ||
|
|
b5b9388d58 | ||
|
|
d168516859 | ||
|
|
c219d34fa3 | ||
|
|
99f3638fbf | ||
|
|
944906a594 | ||
|
|
4f9e6ebbd4 | ||
|
|
fae284ca86 | ||
|
|
4a1ac9eded | ||
|
|
58757ff85f | ||
|
|
31b9b21f61 | ||
|
|
49273a95bc | ||
|
|
50489ddcf1 | ||
|
|
e0a46b7882 | ||
|
|
b7eac745fa | ||
|
|
9cff221acb | ||
|
|
3592fbc418 | ||
|
|
605cb4048b | ||
|
|
9cb33c4fde |
23
BUILD.CMD
@@ -1,11 +1,11 @@
|
||||
@echo off
|
||||
|
||||
SET VERSIONTAG=RC5
|
||||
|
||||
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.64.zip"
|
||||
SET PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-1.64.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
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
Contributors
|
||||
============
|
||||
|
||||
Lionel Caignec
|
||||
Felix Deimel
|
||||
Holger Henke
|
||||
Tom Hiller
|
||||
Riley McArdle
|
||||
Apisitt Rattana
|
||||
Andreas Rehm
|
||||
David Vidmar
|
||||
|
||||
|
||||
30
Installer/GetVersion.nsi
Normal 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
|
||||
@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_CZECH} "Installer Language"
|
||||
LangString SelectInstallerLanguage ${LANG_CZECH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_CZECH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
LangString RequiresNetFramework ${LANG_CZECH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_CZECH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_DUTCH} "Installer Language"
|
||||
LangString SelectInstallerLanguage ${LANG_DUTCH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_DUTCH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
LangString RequiresNetFramework ${LANG_DUTCH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_DUTCH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_ENGLISH} "Installer Language"
|
||||
LangString SelectInstallerLanguage ${LANG_ENGLISH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_ENGLISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
LangString RequiresNetFramework ${LANG_ENGLISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_ENGLISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_FRENCH} "Installer Language"
|
||||
LangString SelectInstallerLanguage ${LANG_FRENCH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_FRENCH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
LangString RequiresNetFramework ${LANG_FRENCH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_FRENCH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_GERMAN} "Installationsprogamm Sprache"
|
||||
LangString SelectInstallerLanguage ${LANG_GERMAN} "Bitte w<>hlen Sie die Sprache f<>r das Installationsprogramm"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_GERMAN} "mRemoteNG ben<65>tigt das Microsoft .NET Framework 2.0."
|
||||
LangString RequiresNetFramework ${LANG_GERMAN} "mRemoteNG ben<65>tigt das Microsoft .NET Framework 2.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_GERMAN} "Sie m<>ssen Mitglied der Grupper 'Power Users' or 'Administratoren' sein, damit Sie mRemoteNG installieren k<>nnen."
|
||||
@@ -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"
|
||||
|
||||
@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_POLISH} "Installer Language"
|
||||
LangString SelectInstallerLanguage ${LANG_POLISH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_POLISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
LangString RequiresNetFramework ${LANG_POLISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_POLISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
@@ -10,4 +10,7 @@ LangString InstallerLanguage ${LANG_SPANISH} "Installer Language"
|
||||
LangString SelectInstallerLanguage ${LANG_SPANISH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_SPANISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
LangString RequiresNetFramework ${LANG_SPANISH} "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_SPANISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
17
Installer/Language/thai.nsi
Normal 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
|
After Width: | Height: | Size: 78 KiB |
BIN
Installer/Setup_Install.ico
Normal file
|
After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
@@ -1,33 +1,40 @@
|
||||
!include "MUI.nsh"
|
||||
!include "MUI.nsh"
|
||||
!include "WordFunc.nsh"
|
||||
!insertmacro VersionCompare
|
||||
|
||||
!DEFINE PRODUCT_VERSION_MAJOR 1
|
||||
!DEFINE PRODUCT_VERSION_MINOR 64
|
||||
!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}"
|
||||
!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 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
|
||||
@@ -61,6 +68,42 @@ VIAddVersionKey "FileVersion" ${PRODUCT_VERSION_LONG}
|
||||
!define MUI_FINISHPAGE_RUN_Text "$(LaunchMremoteNow)"
|
||||
|
||||
Function .onInit
|
||||
ClearErrors
|
||||
UserInfo::GetName
|
||||
IfErrors Win9x
|
||||
Pop $0
|
||||
UserInfo::GetAccountType
|
||||
Pop $1
|
||||
# GetOriginalAccountType will check the tokens of the original user of the
|
||||
# current thread/process. If the user tokens were elevated or limited for
|
||||
# this process, GetOriginalAccountType will return the non-restricted
|
||||
# account type.
|
||||
# On Vista with UAC, for example, this is not the same value when running
|
||||
# with `RequestExecutionLevel user`. GetOriginalAccountType will return
|
||||
# "admin" while GetAccountType will return "user".
|
||||
StrCmp $1 "Admin" 0 +3
|
||||
Goto doit
|
||||
StrCmp $1 "Power" 0 +3
|
||||
Goto doit
|
||||
StrCmp $1 "User" 0 +3
|
||||
Goto noop
|
||||
StrCmp $1 "Guest" 0 +3
|
||||
Goto noop
|
||||
MessageBox MB_OK "Unknown error"
|
||||
Goto doit
|
||||
|
||||
Win9x:
|
||||
doit:
|
||||
# We can install
|
||||
Call SelectLanguage
|
||||
Goto end
|
||||
noop:
|
||||
MessageBox MB_OK "$(RequiresAdminUser)"
|
||||
Quit
|
||||
end:
|
||||
FunctionEnd
|
||||
|
||||
Function SelectLanguage
|
||||
;Language selection dialog
|
||||
Push ""
|
||||
Push ${LANG_ENGLISH}
|
||||
@@ -77,6 +120,8 @@ Function .onInit
|
||||
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)"
|
||||
@@ -109,7 +154,8 @@ FunctionEnd
|
||||
|
||||
Section "" ; Install
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
SetShellVarContext all
|
||||
|
||||
; AddFiles
|
||||
File /r /x "mRemoteNG.vshost.*" "..\mRemoteV1\bin\Release\*.*"
|
||||
File /r "Dependencies\*.*"
|
||||
@@ -150,6 +196,11 @@ Section "un.Uninstall"
|
||||
RMDIR /r $INSTDIR
|
||||
|
||||
; Start Menu
|
||||
SetShellVarContext all
|
||||
Delete "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk"
|
||||
Delete "$SMPROGRAMS\mRemoteNG\Uninstall.lnk"
|
||||
RMDir "$SMPROGRAMS\mRemoteNG"
|
||||
SetShellVarContext current
|
||||
Delete "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk"
|
||||
Delete "$SMPROGRAMS\mRemoteNG\Uninstall.lnk"
|
||||
RMDir "$SMPROGRAMS\mRemoteNG"
|
||||
|
||||
|
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
@@ -15,7 +15,7 @@ Namespace App
|
||||
|
||||
Public Class Settings
|
||||
#If Not PORTABLE Then
|
||||
Public Shared ReadOnly SettingsPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName
|
||||
Public Shared ReadOnly SettingsPath As String = GetFolderPath(SpecialFolder.ApplicationData) & "\" & My.Application.Info.ProductName
|
||||
#Else
|
||||
Public Shared ReadOnly SettingsPath As String = My.Application.Info.DirectoryPath
|
||||
#End If
|
||||
@@ -36,7 +36,7 @@ Namespace App
|
||||
Public Shared ReadOnly DefaultConnectionsPath As String = App.Info.Settings.SettingsPath
|
||||
Public Shared ReadOnly DefaultConnectionsFile As String = "confCons.xml"
|
||||
Public Shared ReadOnly DefaultConnectionsFileNew As String = "confConsNew.xml"
|
||||
Public Shared ReadOnly ConnectionFileVersion As Double = 2.2
|
||||
Public Shared ReadOnly ConnectionFileVersion As Double = 2.3
|
||||
End Class
|
||||
|
||||
Public Class Credentials
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -3,11 +3,11 @@ Imports System.IO
|
||||
Imports Crownwood
|
||||
Imports System.Threading
|
||||
Imports System.Xml
|
||||
Imports mRemoteNG.App.Native
|
||||
Imports System.Environment
|
||||
Imports System.Management
|
||||
|
||||
Namespace App
|
||||
Public Class Runtime
|
||||
|
||||
#Region "Public Declarations"
|
||||
Public Shared sL As Config.Settings.Load
|
||||
Public Shared sS As Config.Settings.Save
|
||||
@@ -40,43 +40,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
|
||||
@@ -90,7 +55,7 @@ Namespace App
|
||||
Public Shared screenshotPanel As New DockContent
|
||||
Public Shared quickyForm As UI.Window.QuickConnect
|
||||
Public Shared quickyPanel As New DockContent
|
||||
Public Shared optionsForm As UI.Window.Options
|
||||
Public Shared optionsForm As frmOptions
|
||||
Public Shared optionsPanel As New DockContent
|
||||
Public Shared saveasForm As UI.Window.SaveAs
|
||||
Public Shared saveasPanel As New DockContent
|
||||
@@ -129,9 +94,7 @@ Namespace App
|
||||
|
||||
Windows.adimportPanel.Show(frmMain.pnlDock)
|
||||
Case UI.Window.Type.Options
|
||||
Windows.optionsForm = New UI.Window.Options(Windows.optionsPanel)
|
||||
Windows.optionsPanel = Windows.optionsForm
|
||||
|
||||
Windows.optionsForm = New frmOptions(Windows.optionsPanel)
|
||||
Windows.optionsForm.Show(frmMain.pnlDock)
|
||||
Case UI.Window.Type.SaveAs
|
||||
Windows.saveasForm = New UI.Window.SaveAs(Windows.saveasPanel)
|
||||
@@ -183,6 +146,11 @@ Namespace App
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Show (App.Runtime.Windows) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Shared Sub ShowUpdatesTab()
|
||||
Windows.optionsForm = New frmOptions(Windows.optionsPanel)
|
||||
Windows.optionsForm.Show(frmMain.pnlDock, 5)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Public Class Screens
|
||||
@@ -239,24 +207,21 @@ Namespace App
|
||||
Public Shared Sub SetDefaultLayout()
|
||||
frmMain.pnlDock.Visible = False
|
||||
|
||||
Windows.configPanel.Show(frmMain.pnlDock, DockState.DockLeft)
|
||||
frmMain.pnlDock.DockLeftPortion = 0.25
|
||||
frmMain.pnlDock.DockRightPortion = 0.25
|
||||
frmMain.pnlDock.DockTopPortion = 0.25
|
||||
frmMain.pnlDock.DockBottomPortion = 0.25
|
||||
|
||||
Windows.treePanel.Show(frmMain.pnlDock, DockState.DockLeft)
|
||||
For Each pane As DockPane In frmMain.pnlDock.Panes
|
||||
If pane.DockState = DockState.DockLeft Then
|
||||
Windows.treePanel.DockTo(pane, DockStyle.Top, 0)
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
Windows.errorsPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
|
||||
|
||||
Windows.sessionsPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
|
||||
|
||||
Windows.screenshotPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
|
||||
Windows.screenshotForm.Hide()
|
||||
Windows.configPanel.Show(frmMain.pnlDock)
|
||||
Windows.configPanel.DockTo(Windows.treePanel.Pane, DockStyle.Bottom, -1)
|
||||
|
||||
Windows.quickyPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
|
||||
Windows.screenshotPanel.Show(Windows.quickyPanel.Pane, Windows.quickyPanel)
|
||||
Windows.sessionsPanel.Show(Windows.quickyPanel.Pane, Windows.screenshotPanel)
|
||||
Windows.errorsPanel.Show(Windows.quickyPanel.Pane, Windows.sessionsPanel)
|
||||
|
||||
Windows.screenshotForm.Hide()
|
||||
Windows.quickyForm.Hide()
|
||||
|
||||
frmMain.pnlDock.Visible = True
|
||||
@@ -283,16 +248,29 @@ Namespace App
|
||||
|
||||
Public Shared Sub CreateLogger()
|
||||
log4net.Config.XmlConfigurator.Configure(New FileInfo("mRemoteNG.exe.config"))
|
||||
|
||||
log = log4net.LogManager.GetLogger("mRemoteNG.Log")
|
||||
End Sub
|
||||
|
||||
Public Shared Sub RegisterHotKeys()
|
||||
'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)
|
||||
log.InfoFormat("{0} started.", My.Application.Info.ProductName)
|
||||
log.InfoFormat("Command Line: {0}", Environment.GetCommandLineArgs)
|
||||
Try
|
||||
Dim servicePack As Integer
|
||||
For Each managementObject As ManagementObject In New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem").Get()
|
||||
servicePack = managementObject.GetPropertyValue("ServicePackMajorVersion")
|
||||
If servicePack = 0 Then
|
||||
log.InfoFormat("{0} {1}", managementObject.GetPropertyValue("Caption").Trim, managementObject.GetPropertyValue("OSArchitecture"))
|
||||
Else
|
||||
log.InfoFormat("{0} Service Pack {1} {2}", managementObject.GetPropertyValue("Caption").Trim, servicePack.ToString, managementObject.GetPropertyValue("OSArchitecture"))
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
log.WarnFormat("Error retrieving operating system information from WMI. {0}", ex.Message)
|
||||
End Try
|
||||
log.InfoFormat("Microsoft .NET Framework {0}", System.Environment.Version.ToString)
|
||||
#If Not PORTABLE Then
|
||||
log.InfoFormat("{0} {1}", My.Application.Info.ProductName.ToString, My.Application.Info.Version.ToString)
|
||||
#Else
|
||||
log.InfoFormat("{0} {1} {2}", My.Application.Info.ProductName.ToString, My.Application.Info.Version.ToString, My.Resources.strLabelPortableEdition)
|
||||
#End If
|
||||
log.InfoFormat("System Culture: {0}/{1}", Threading.Thread.CurrentThread.CurrentUICulture.Name, Threading.Thread.CurrentThread.CurrentUICulture.NativeName)
|
||||
End Sub
|
||||
|
||||
Public Shared Sub UpdateCheck()
|
||||
@@ -429,8 +407,10 @@ Namespace App
|
||||
Try
|
||||
LastSQLUpdate = Nothing
|
||||
RemoveHandler Tools.Misc.SQLUpdateCheckFinished, AddressOf SQLUpdateCheckFinished
|
||||
tmrSqlWatcher.Stop()
|
||||
tmrSqlWatcher.Close()
|
||||
If tmrSqlWatcher IsNot Nothing Then
|
||||
tmrSqlWatcher.Stop()
|
||||
tmrSqlWatcher.Close()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End Sub
|
||||
@@ -458,11 +438,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
|
||||
@@ -497,6 +473,8 @@ Namespace App
|
||||
My.Settings.ConDefaultCacheBitmaps = .CacheBitmaps
|
||||
My.Settings.ConDefaultDisplayWallpaper = .DisplayWallpaper
|
||||
My.Settings.ConDefaultDisplayThemes = .DisplayThemes
|
||||
My.Settings.ConDefaultEnableFontSmoothing = .EnableFontSmoothing
|
||||
My.Settings.ConDefaultEnableDesktopComposition = .EnableDesktopComposition
|
||||
My.Settings.ConDefaultRedirectKeys = .RedirectKeys
|
||||
My.Settings.ConDefaultRedirectDiskDrives = .RedirectDiskDrives
|
||||
My.Settings.ConDefaultRedirectPrinters = .RedirectPrinters
|
||||
@@ -519,6 +497,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
|
||||
@@ -551,6 +535,8 @@ Namespace App
|
||||
My.Settings.InhDefaultCacheBitmaps = .CacheBitmaps
|
||||
My.Settings.InhDefaultDisplayWallpaper = .DisplayWallpaper
|
||||
My.Settings.InhDefaultDisplayThemes = .DisplayThemes
|
||||
My.Settings.InhDefaultEnableFontSmoothing = .EnableFontSmoothing
|
||||
My.Settings.InhDefaultEnableDesktopComposition = .EnableDesktopComposition
|
||||
My.Settings.InhDefaultRedirectKeys = .RedirectKeys
|
||||
My.Settings.InhDefaultRedirectDiskDrives = .RedirectDiskDrives
|
||||
My.Settings.InhDefaultRedirectPrinters = .RedirectPrinters
|
||||
@@ -622,11 +608,9 @@ Namespace App
|
||||
|
||||
pnlcForm.Show(frmMain.pnlDock, DockState.Document)
|
||||
|
||||
If NoTabber = True Then
|
||||
If NoTabber Then
|
||||
TryCast(cForm, UI.Window.Connection).TabController.Dispose()
|
||||
End If
|
||||
|
||||
If NoTabber = False Then
|
||||
Else
|
||||
wL.Add(cForm)
|
||||
End If
|
||||
|
||||
@@ -782,7 +766,15 @@ 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
|
||||
@@ -828,6 +820,7 @@ Namespace App
|
||||
|
||||
conL.UseSQL = My.Settings.UseSQLServer
|
||||
conL.SQLHost = My.Settings.SQLHost
|
||||
conL.SQLDatabaseName = My.Settings.SQLDatabaseName
|
||||
conL.SQLUsername = My.Settings.SQLUser
|
||||
conL.SQLPassword = Security.Crypt.Decrypt(My.Settings.SQLPass, App.Info.General.EncryptionKey)
|
||||
conL.SQLUpdate = Update
|
||||
@@ -920,6 +913,8 @@ Namespace App
|
||||
Select Case pValue
|
||||
Case 8
|
||||
nConI.Colors = Connection.Protocol.RDP.RDPColors.Colors256
|
||||
Case 15
|
||||
nConI.Colors = Connection.Protocol.RDP.RDPColors.Colors15Bit
|
||||
Case 16
|
||||
nConI.Colors = Connection.Protocol.RDP.RDPColors.Colors16Bit
|
||||
Case 24
|
||||
@@ -955,6 +950,18 @@ Namespace App
|
||||
Else
|
||||
nConI.DisplayThemes = False
|
||||
End If
|
||||
Case "allow font smoothing"
|
||||
If pValue = 1 Then
|
||||
nConI.EnableFontSmoothing = True
|
||||
Else
|
||||
nConI.EnableFontSmoothing = False
|
||||
End If
|
||||
Case "allow desktop composition"
|
||||
If pValue = 1 Then
|
||||
nConI.EnableDesktopComposition = True
|
||||
Else
|
||||
nConI.EnableDesktopComposition = False
|
||||
End If
|
||||
Case "redirectsmartcards"
|
||||
If pValue = 1 Then
|
||||
nConI.RedirectSmartCards = True
|
||||
@@ -1128,6 +1135,7 @@ Namespace App
|
||||
If My.Settings.UseSQLServer = True Then
|
||||
conS.SaveFormat = Config.Connections.Save.Format.SQL
|
||||
conS.SQLHost = My.Settings.SQLHost
|
||||
conS.SQLDatabaseName = My.Settings.SQLDatabaseName
|
||||
conS.SQLUsername = My.Settings.SQLUser
|
||||
conS.SQLPassword = Security.Crypt.Decrypt(My.Settings.SQLPass, App.Info.General.EncryptionKey)
|
||||
End If
|
||||
@@ -1210,54 +1218,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)
|
||||
@@ -1640,7 +1622,7 @@ Namespace App
|
||||
|
||||
Public Shared Sub SetMainFormText(Optional ByVal ConnectionFileName As String = "")
|
||||
Try
|
||||
Dim txt As String = "mRemoteNG"
|
||||
Dim txt As String = My.Application.Info.ProductName
|
||||
|
||||
If App.Editions.Spanlink.Enabled Then
|
||||
txt &= " | Spanlink Communications"
|
||||
@@ -1705,45 +1687,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"
|
||||
|
||||
66
mRemoteV1/App/App.SupportedCultures.vb
Normal 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.TextInfo.ToTitleCase(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
|
||||
@@ -1,4 +1,45 @@
|
||||
1.64 (2011-04-27):
|
||||
1.67 (2011-06-05):
|
||||
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.
|
||||
Added partial French translation to the application.
|
||||
Addded Thai translation to the installer.
|
||||
Updated graphics in the installer to mRemoteNG logo.
|
||||
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.
|
||||
Added buttons for Add Connection, Add Folder, and Sort Ascending (A-Z) to the Connections panel toolbar.
|
||||
Fixed rename edit control staying open when collapsing all folders.
|
||||
Changed sorting to sort all subfolders below the selected folder.
|
||||
Allow sorting of connections if a connection entry is selected.
|
||||
Fixed adding a connection entry if nothing is selected in the tree.
|
||||
Added 15-bit Color RDP setting.
|
||||
Fixed loading of RDP Colors setting from SQL.
|
||||
Added Font Smoothing and Desktop Composition RDP settings.
|
||||
Improved error handling when loading XML connection files.
|
||||
Added the mRemoteNG icon to the list of selectable icons for connection entries.
|
||||
Added confirmation before closing connection tabs.
|
||||
Fixed bug 42 - Maximized location not remembered with multiple monitors.
|
||||
Improved loading and saving of window location.
|
||||
Removed flickering on start up.
|
||||
Changed the Options page into a normal dialog.
|
||||
Improved Reset Layout function.
|
||||
Changed to use full four part version numbers with major, minor, build, and revision.
|
||||
Changed hard coded SQL database name into a user configurable setting.
|
||||
Fixed tab order of controls in Options dialog.
|
||||
Fixed bug 45 - Changing some settings in the config file may not save.
|
||||
|
||||
1.66 (2011-05-02):
|
||||
Fixed connections not working
|
||||
|
||||
1.65 (2011-05-02):
|
||||
Fixed Ctrl-Tab and Ctrl-Shift-Tab not working in any other applications while mRemoteNG is running
|
||||
Ctrl-Tab and Ctrl-Shift-Tab no longer work to switch tabs within mRemoteNG
|
||||
Fixed bug 36 - Install creates shortcuts only for the installing user
|
||||
Fixed bug 38 - Application uses the wrong Application Data settings folder (in Local Settings)
|
||||
Added code to the installer to check that the user is in the 'Power Users' or 'Administrators' group
|
||||
|
||||
1.64 (2011-04-27):
|
||||
Fixed bug 6 - VNC CTRL+key & keyboard combo mappings are broken
|
||||
Fixed bug 12 - Tab switch is not working in config panel
|
||||
Fixed bug 14 - RDP Connection authentication problem
|
||||
@@ -521,7 +562,7 @@ V0.0.3.2:
|
||||
V0.0.3.0:
|
||||
Added Options Tab
|
||||
Load connections file from different location
|
||||
Save/Don’t 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
|
||||
@@ -531,7 +572,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
|
||||
|
||||
|
||||
@@ -18,8 +18,6 @@ Namespace Config
|
||||
Private sqlQuery As SqlCommand
|
||||
Private sqlRd As SqlDataReader
|
||||
|
||||
Private sqlDB As String = "mRemoteNG"
|
||||
|
||||
Private selNode As TreeNode
|
||||
#End Region
|
||||
|
||||
@@ -44,6 +42,16 @@ Namespace Config
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _SQLDatabaseName As String
|
||||
Public Property SQLDatabaseName() As String
|
||||
Get
|
||||
Return _SQLDatabaseName
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_SQLDatabaseName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _SQLUsername As String
|
||||
Public Property SQLUsername() As String
|
||||
Get
|
||||
@@ -177,9 +185,9 @@ Namespace Config
|
||||
App.Runtime.ConnectionsFileLoaded = False
|
||||
|
||||
If _SQLUsername <> "" Then
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & sqlDB & ";User Id=" & _SQLUsername & ";Password=" & _SQLPassword)
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & _SQLDatabaseName & ";User Id=" & _SQLUsername & ";Password=" & _SQLPassword)
|
||||
Else
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & sqlDB & ";Integrated Security=True")
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & _SQLDatabaseName & ";Integrated Security=True")
|
||||
End If
|
||||
|
||||
sqlCon.Open()
|
||||
@@ -440,7 +448,7 @@ Namespace Config
|
||||
conI.Port = .Item("Port")
|
||||
conI.PuttySession = .Item("PuttySession")
|
||||
|
||||
conI.Colors = .Item("Colors")
|
||||
conI.Colors = Tools.Misc.StringToEnum(GetType(Connection.Protocol.RDP.RDPColors), .Item("Colors"))
|
||||
conI.Resolution = Tools.Misc.StringToEnum(GetType(Connection.Protocol.RDP.RDPResolutions), .Item("Resolution"))
|
||||
|
||||
conI.Inherit = New Connection.Info.Inheritance(conI)
|
||||
@@ -545,6 +553,13 @@ Namespace Config
|
||||
conI.Inherit.RDGatewayDomain = .Item("InheritRDGatewayDomain")
|
||||
End If
|
||||
|
||||
If Me.confVersion >= 2.3 Then
|
||||
conI.EnableFontSmoothing = .Item("EnableFontSmoothing")
|
||||
conI.EnableDesktopComposition = .Item("EnableDesktopComposition")
|
||||
conI.Inherit.EnableFontSmoothing = .Item("InheritEnableFontSmoothing")
|
||||
conI.Inherit.EnableDesktopComposition = .Item("InheritEnableDesktopComposition")
|
||||
End If
|
||||
|
||||
If SQLUpdate = True Then
|
||||
conI.PleaseConnect = .Item("Connected")
|
||||
End If
|
||||
@@ -781,9 +796,9 @@ Namespace Config
|
||||
End Sub
|
||||
|
||||
Private Function GetConnectionInfoFromXml(ByVal xxNode As XmlNode) As Connection.Info
|
||||
Try
|
||||
Dim conI As New Connection.Info
|
||||
Dim conI As New Connection.Info
|
||||
|
||||
Try
|
||||
With xxNode
|
||||
If Me.confVersion > 0.1 Then '0.2
|
||||
conI.Name = .Attributes("Name").Value
|
||||
@@ -879,6 +894,8 @@ Namespace Config
|
||||
conI.Colors = Connection.Protocol.RDP.RDPColors.Colors24Bit
|
||||
Case 3
|
||||
conI.Colors = Connection.Protocol.RDP.RDPColors.Colors32Bit
|
||||
Case 4
|
||||
conI.Colors = Connection.Protocol.RDP.RDPColors.Colors15Bit
|
||||
End Select
|
||||
|
||||
conI.RedirectSound = .Attributes("RedirectSound").Value
|
||||
@@ -998,13 +1015,21 @@ Namespace Config
|
||||
conI.Inherit.RDGatewayPassword = .Attributes("InheritRDGatewayPassword").Value
|
||||
conI.Inherit.RDGatewayDomain = .Attributes("InheritRDGatewayDomain").Value
|
||||
End If
|
||||
End With
|
||||
|
||||
Return conI
|
||||
If Me.confVersion > 2.2 Then '2.3
|
||||
' Get settings
|
||||
conI.EnableFontSmoothing = .Attributes("EnableFontSmoothing").Value
|
||||
conI.EnableDesktopComposition = .Attributes("EnableDesktopComposition").Value
|
||||
|
||||
' Get inheritance settings
|
||||
conI.Inherit.EnableFontSmoothing = .Attributes("InheritEnableFontSmoothing").Value
|
||||
conI.Inherit.EnableDesktopComposition = .Attributes("InheritEnableDesktopComposition").Value
|
||||
End If
|
||||
End With
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strGetConnectionInfoFromXmlFailed & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, String.Format(My.Resources.strGetConnectionInfoFromXmlFailed, conI.Name, Me.ConnectionFileName, ex.Message), False)
|
||||
End Try
|
||||
Return conI
|
||||
End Function
|
||||
|
||||
Private Function Authenticate(ByVal Value As String, ByVal CompareToOriginalValue As Boolean, Optional ByVal RootInfo As mRemoteNG.Root.Info = Nothing) As Boolean
|
||||
|
||||
@@ -5,6 +5,7 @@ Imports System.Globalization
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Data.SqlClient
|
||||
Imports mRemoteNG.Tools.Misc
|
||||
Imports mRemoteNG.My.Resources
|
||||
|
||||
Namespace Config
|
||||
Namespace Connections
|
||||
@@ -24,8 +25,6 @@ Namespace Config
|
||||
Private xW As XmlTextWriter
|
||||
Private pW As String = App.Info.General.EncryptionKey
|
||||
|
||||
Private sqlDB As String = "mRemote"
|
||||
|
||||
Private sqlCon As SqlConnection
|
||||
Private sqlQuery As SqlCommand
|
||||
Private sqlWr As Integer
|
||||
@@ -45,6 +44,16 @@ Namespace Config
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _SQLDatabaseName As String
|
||||
Public Property SQLDatabaseName() As String
|
||||
Get
|
||||
Return _SQLDatabaseName
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_SQLDatabaseName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _SQLUsername As String
|
||||
Public Property SQLUsername() As String
|
||||
Get
|
||||
@@ -165,15 +174,58 @@ Namespace Config
|
||||
#End Region
|
||||
|
||||
#Region "SQL"
|
||||
Private Function VerifyDatabaseVersion(ByVal sqlConnection As SqlConnection) As Boolean
|
||||
Dim isVerified As Boolean = False
|
||||
Dim sqlDataReader As SqlDataReader = Nothing
|
||||
Dim databaseVersion As System.Version = Nothing
|
||||
Try
|
||||
Dim sqlCommand As New SqlCommand("SELECT * FROM tblRoot", sqlConnection)
|
||||
sqlDataReader = sqlCommand.ExecuteReader()
|
||||
sqlDataReader.Read()
|
||||
|
||||
Dim enCulture As CultureInfo = New CultureInfo("en-US")
|
||||
databaseVersion = New System.Version(Convert.ToDouble(sqlDataReader.Item("confVersion"), enCulture))
|
||||
|
||||
sqlDataReader.Close()
|
||||
|
||||
If databaseVersion.CompareTo(New System.Version(2, 2)) = 0 Then ' 2.2
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format("Upgrading database from version {0} to version {1}.", databaseVersion.ToString, "2.3"))
|
||||
sqlCommand = New SqlCommand("ALTER TABLE tblCons ADD EnableFontSmoothing bit NOT NULL DEFAULT 0, EnableDesktopComposition bit NOT NULL DEFAULT 0, InheritEnableFontSmoothing bit NOT NULL DEFAULT 0, InheritEnableDesktopComposition bit NOT NULL DEFAULT 0;", sqlConnection)
|
||||
sqlCommand.ExecuteNonQuery()
|
||||
databaseVersion = New System.Version(2, 3)
|
||||
End If
|
||||
|
||||
If databaseVersion.CompareTo(New System.Version(2, 3)) = 0 Then ' 2.3
|
||||
isVerified = True
|
||||
End If
|
||||
|
||||
If isVerified = False Then
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, String.Format(strErrorBadDatabaseVersion, databaseVersion.ToString, My.Application.Info.ProductName))
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, String.Format(strErrorVerifyDatabaseVersionFailed, ex.Message))
|
||||
Finally
|
||||
If sqlDataReader IsNot Nothing Then
|
||||
If Not sqlDataReader.IsClosed Then sqlDataReader.Close()
|
||||
End If
|
||||
End Try
|
||||
Return isVerified
|
||||
End Function
|
||||
|
||||
Private Sub SaveToSQL()
|
||||
If _SQLUsername <> "" Then
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & sqlDB & ";User Id=" & _SQLUsername & ";Password=" & _SQLPassword)
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & _SQLDatabaseName & ";User Id=" & _SQLUsername & ";Password=" & _SQLPassword)
|
||||
Else
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & sqlDB & ";Integrated Security=True")
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & _SQLDatabaseName & ";Integrated Security=True")
|
||||
End If
|
||||
|
||||
sqlCon.Open()
|
||||
|
||||
If Not VerifyDatabaseVersion(sqlCon) Then
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, strErrorConnectionListSaveFailed)
|
||||
Return
|
||||
End If
|
||||
|
||||
Dim tN As TreeNode
|
||||
tN = RootTreeNode.Clone
|
||||
|
||||
@@ -220,14 +272,14 @@ Namespace Config
|
||||
sqlQuery = New SqlCommand("INSERT INTO tblCons (Name, Type, Expanded, Description, Icon, Panel, Username, " & _
|
||||
"DomainName, Password, Hostname, Protocol, PuttySession, " & _
|
||||
"Port, ConnectToConsole, RenderingEngine, ICAEncryptionStrength, RDPAuthenticationLevel, Colors, Resolution, DisplayWallpaper, " & _
|
||||
"DisplayThemes, CacheBitmaps, RedirectDiskDrives, RedirectPorts, " & _
|
||||
"DisplayThemes, EnableFontSmoothing, EnableDesktopComposition, CacheBitmaps, RedirectDiskDrives, RedirectPorts, " & _
|
||||
"RedirectPrinters, RedirectSmartCards, RedirectSound, RedirectKeys, " & _
|
||||
"Connected, PreExtApp, PostExtApp, MacAddress, UserField, ExtApp, VNCCompression, VNCEncoding, VNCAuthMode, " & _
|
||||
"VNCProxyType, VNCProxyIP, VNCProxyPort, VNCProxyUsername, VNCProxyPassword, " & _
|
||||
"VNCColors, VNCSmartSizeMode, VNCViewOnly, " & _
|
||||
"RDGatewayUsageMethod, RDGatewayHostname, RDGatewayUseConnectionCredentials, RDGatewayUsername, RDGatewayPassword, RDGatewayDomain, " & _
|
||||
"InheritCacheBitmaps, InheritColors, " & _
|
||||
"InheritDescription, InheritDisplayThemes, InheritDisplayWallpaper, InheritDomain, " & _
|
||||
"InheritDescription, InheritDisplayThemes, InheritDisplayWallpaper, InheritEnableFontSmoothing, InheritEnableDesktopComposition, InheritDomain, " & _
|
||||
"InheritIcon, InheritPanel, InheritPassword, InheritPort, " & _
|
||||
"InheritProtocol, InheritPuttySession, InheritRedirectDiskDrives, " & _
|
||||
"InheritRedirectKeys, InheritRedirectPorts, InheritRedirectPrinters, " & _
|
||||
@@ -308,6 +360,8 @@ Namespace Config
|
||||
sqlQuery.CommandText &= "'" & .Resolution.ToString & "',"
|
||||
sqlQuery.CommandText &= "'" & .DisplayWallpaper & "',"
|
||||
sqlQuery.CommandText &= "'" & .DisplayThemes & "',"
|
||||
sqlQuery.CommandText &= "'" & .EnableFontSmoothing & "',"
|
||||
sqlQuery.CommandText &= "'" & .EnableDesktopComposition & "',"
|
||||
sqlQuery.CommandText &= "'" & .CacheBitmaps & "',"
|
||||
sqlQuery.CommandText &= "'" & .RedirectDiskDrives & "',"
|
||||
sqlQuery.CommandText &= "'" & .RedirectPorts & "',"
|
||||
@@ -369,6 +423,8 @@ Namespace Config
|
||||
sqlQuery.CommandText &= "'" & .Description & "',"
|
||||
sqlQuery.CommandText &= "'" & .DisplayThemes & "',"
|
||||
sqlQuery.CommandText &= "'" & .DisplayWallpaper & "',"
|
||||
sqlQuery.CommandText &= "'" & .EnableFontSmoothing & "',"
|
||||
sqlQuery.CommandText &= "'" & .EnableDesktopComposition & "',"
|
||||
sqlQuery.CommandText &= "'" & .Domain & "',"
|
||||
sqlQuery.CommandText &= "'" & .Icon & "',"
|
||||
sqlQuery.CommandText &= "'" & .Panel & "',"
|
||||
@@ -634,6 +690,10 @@ Namespace Config
|
||||
|
||||
xW.WriteAttributeString("DisplayThemes", "", curConI.DisplayThemes)
|
||||
|
||||
xW.WriteAttributeString("EnableFontSmoothing", "", curConI.EnableFontSmoothing)
|
||||
|
||||
xW.WriteAttributeString("EnableDesktopComposition", "", curConI.EnableDesktopComposition)
|
||||
|
||||
xW.WriteAttributeString("CacheBitmaps", "", curConI.CacheBitmaps)
|
||||
|
||||
xW.WriteAttributeString("RedirectDiskDrives", "", curConI.RedirectDiskDrives)
|
||||
@@ -701,6 +761,8 @@ Namespace Config
|
||||
xW.WriteAttributeString("InheritDescription", "", curConI.Inherit.Description)
|
||||
xW.WriteAttributeString("InheritDisplayThemes", "", curConI.Inherit.DisplayThemes)
|
||||
xW.WriteAttributeString("InheritDisplayWallpaper", "", curConI.Inherit.DisplayWallpaper)
|
||||
xW.WriteAttributeString("InheritEnableFontSmoothing", "", curConI.Inherit.EnableFontSmoothing)
|
||||
xW.WriteAttributeString("InheritEnableDesktopComposition", "", curConI.Inherit.EnableDesktopComposition)
|
||||
xW.WriteAttributeString("InheritDomain", "", curConI.Inherit.Domain)
|
||||
xW.WriteAttributeString("InheritIcon", "", curConI.Inherit.Icon)
|
||||
xW.WriteAttributeString("InheritPanel", "", curConI.Inherit.Panel)
|
||||
@@ -748,6 +810,8 @@ Namespace Config
|
||||
xW.WriteAttributeString("InheritDescription", "", False)
|
||||
xW.WriteAttributeString("InheritDisplayThemes", "", False)
|
||||
xW.WriteAttributeString("InheritDisplayWallpaper", "", False)
|
||||
xW.WriteAttributeString("InheritEnableFontSmoothing", "", False)
|
||||
xW.WriteAttributeString("InheritEnableDesktopComposition", "", False)
|
||||
xW.WriteAttributeString("InheritDomain", "", False)
|
||||
xW.WriteAttributeString("InheritIcon", "", False)
|
||||
xW.WriteAttributeString("InheritPanel", "", False)
|
||||
@@ -828,10 +892,10 @@ Namespace Config
|
||||
csvLn += "Domain;"
|
||||
End If
|
||||
|
||||
csvLn += "Hostname;Protocol;PuttySession;Port;ConnectToConsole;RenderingEngine;ICAEncryptionStrength;RDPAuthenticationLevel;Colors;Resolution;DisplayWallpaper;DisplayThemes;CacheBitmaps;RedirectDiskDrives;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;RedirectKeys;PreExtApp;PostExtApp;MacAddress;UserField;ExtApp;VNCCompression;VNCEncoding;VNCAuthMode;VNCProxyType;VNCProxyIP;VNCProxyPort;VNCProxyUsername;VNCProxyPassword;VNCColors;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
|
||||
csvLn += "Hostname;Protocol;PuttySession;Port;ConnectToConsole;RenderingEngine;ICAEncryptionStrength;RDPAuthenticationLevel;Colors;Resolution;DisplayWallpaper;DisplayThemes;EnableFontSmoothing;EnableDesktopComposition;CacheBitmaps;RedirectDiskDrives;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;RedirectKeys;PreExtApp;PostExtApp;MacAddress;UserField;ExtApp;VNCCompression;VNCEncoding;VNCAuthMode;VNCProxyType;VNCProxyIP;VNCProxyPort;VNCProxyUsername;VNCProxyPassword;VNCColors;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
|
||||
|
||||
If SaveSecurity.Inheritance Then
|
||||
csvLn += "InheritCacheBitmaps;InheritColors;InheritDescription;InheritDisplayThemes;InheritDisplayWallpaper;InheritDomain;InheritIcon;InheritPanel;InheritPassword;InheritPort;InheritProtocol;InheritPuttySession;InheritRedirectDiskDrives;InheritRedirectKeys;InheritRedirectPorts;InheritRedirectPrinters;InheritRedirectSmartCards;InheritRedirectSound;InheritResolution;InheritUseConsoleSession;InheritRenderingEngine;InheritUsername;InheritICAEncryptionStrength;InheritRDPAuthenticationLevel;InheritPreExtApp;InheritPostExtApp;InheritMacAddress;InheritUserField;InheritExtApp;InheritVNCCompression;InheritVNCEncoding;InheritVNCAuthMode;InheritVNCProxyType;InheritVNCProxyIP;InheritVNCProxyPort;InheritVNCProxyUsername;InheritVNCProxyPassword;InheritVNCColors;InheritVNCSmartSizeMode;InheritVNCViewOnly;InheritRDGatewayUsageMethod;InheritRDGatewayHostname;InheritRDGatewayUseConnectionCredentials;InheritRDGatewayUsername;InheritRDGatewayPassword;InheritRDGatewayDomain"
|
||||
csvLn += "InheritCacheBitmaps;InheritColors;InheritDescription;InheritDisplayThemes;InheritDisplayWallpaper;InheritEnableFontSmoothing;InheritEnableDesktopComposition;InheritDomain;InheritIcon;InheritPanel;InheritPassword;InheritPort;InheritProtocol;InheritPuttySession;InheritRedirectDiskDrives;InheritRedirectKeys;InheritRedirectPorts;InheritRedirectPrinters;InheritRedirectSmartCards;InheritRedirectSound;InheritResolution;InheritUseConsoleSession;InheritRenderingEngine;InheritUsername;InheritICAEncryptionStrength;InheritRDPAuthenticationLevel;InheritPreExtApp;InheritPostExtApp;InheritMacAddress;InheritUserField;InheritExtApp;InheritVNCCompression;InheritVNCEncoding;InheritVNCAuthMode;InheritVNCProxyType;InheritVNCProxyIP;InheritVNCProxyPort;InheritVNCProxyUsername;InheritVNCProxyPassword;InheritVNCColors;InheritVNCSmartSizeMode;InheritVNCViewOnly;InheritRDGatewayUsageMethod;InheritRDGatewayHostname;InheritRDGatewayUseConnectionCredentials;InheritRDGatewayUsername;InheritRDGatewayPassword;InheritRDGatewayDomain"
|
||||
End If
|
||||
|
||||
csvWr.WriteLine(csvLn)
|
||||
@@ -882,10 +946,10 @@ Namespace Config
|
||||
csvLn += con.Domain & ";"
|
||||
End If
|
||||
|
||||
csvLn += con.Hostname & ";" & con.Protocol.ToString & ";" & con.PuttySession & ";" & con.Port & ";" & con.UseConsoleSession & ";" & con.RenderingEngine.ToString & ";" & con.ICAEncryption.ToString & ";" & con.RDPAuthenticationLevel.ToString & ";" & con.Colors.ToString & ";" & con.Resolution.ToString & ";" & con.DisplayWallpaper & ";" & con.DisplayThemes & ";" & con.CacheBitmaps & ";" & con.RedirectDiskDrives & ";" & con.RedirectPorts & ";" & con.RedirectPrinters & ";" & con.RedirectSmartCards & ";" & con.RedirectSound.ToString & ";" & con.RedirectKeys & ";" & con.PreExtApp & ";" & con.PostExtApp & ";" & con.MacAddress & ";" & con.UserField & ";" & con.ExtApp & ";" & con.VNCCompression.ToString & ";" & con.VNCEncoding.ToString & ";" & con.VNCAuthMode.ToString & ";" & con.VNCProxyType.ToString & ";" & con.VNCProxyIP & ";" & con.VNCProxyPort & ";" & con.VNCProxyUsername & ";" & con.VNCProxyPassword & ";" & con.VNCColors.ToString & ";" & con.VNCSmartSizeMode.ToString & ";" & con.VNCViewOnly & ";"
|
||||
csvLn += con.Hostname & ";" & con.Protocol.ToString & ";" & con.PuttySession & ";" & con.Port & ";" & con.UseConsoleSession & ";" & con.RenderingEngine.ToString & ";" & con.ICAEncryption.ToString & ";" & con.RDPAuthenticationLevel.ToString & ";" & con.Colors.ToString & ";" & con.Resolution.ToString & ";" & con.DisplayWallpaper & ";" & con.DisplayThemes & ";" & con.EnableFontSmoothing & ";" & con.EnableDesktopComposition & ";" & con.CacheBitmaps & ";" & con.RedirectDiskDrives & ";" & con.RedirectPorts & ";" & con.RedirectPrinters & ";" & con.RedirectSmartCards & ";" & con.RedirectSound.ToString & ";" & con.RedirectKeys & ";" & con.PreExtApp & ";" & con.PostExtApp & ";" & con.MacAddress & ";" & con.UserField & ";" & con.ExtApp & ";" & con.VNCCompression.ToString & ";" & con.VNCEncoding.ToString & ";" & con.VNCAuthMode.ToString & ";" & con.VNCProxyType.ToString & ";" & con.VNCProxyIP & ";" & con.VNCProxyPort & ";" & con.VNCProxyUsername & ";" & con.VNCProxyPassword & ";" & con.VNCColors.ToString & ";" & con.VNCSmartSizeMode.ToString & ";" & con.VNCViewOnly & ";"
|
||||
|
||||
If SaveSecurity.Inheritance Then
|
||||
csvLn += con.Inherit.CacheBitmaps & ";" & con.Inherit.Colors & ";" & con.Inherit.Description & ";" & con.Inherit.DisplayThemes & ";" & con.Inherit.DisplayWallpaper & ";" & con.Inherit.Domain & ";" & con.Inherit.Icon & ";" & con.Inherit.Panel & ";" & con.Inherit.Password & ";" & con.Inherit.Port & ";" & con.Inherit.Protocol & ";" & con.Inherit.PuttySession & ";" & con.Inherit.RedirectDiskDrives & ";" & con.Inherit.RedirectKeys & ";" & con.Inherit.RedirectPorts & ";" & con.Inherit.RedirectPrinters & ";" & con.Inherit.RedirectSmartCards & ";" & con.Inherit.RedirectSound & ";" & con.Inherit.Resolution & ";" & con.Inherit.UseConsoleSession & ";" & con.Inherit.RenderingEngine & ";" & con.Inherit.Username & ";" & con.Inherit.ICAEncryption & ";" & con.Inherit.RDPAuthenticationLevel & ";" & con.Inherit.PreExtApp & ";" & con.Inherit.PostExtApp & ";" & con.Inherit.MacAddress & ";" & con.Inherit.UserField & ";" & con.Inherit.ExtApp & ";" & con.Inherit.VNCCompression & ";" & con.Inherit.VNCEncoding & ";" & con.Inherit.VNCAuthMode & ";" & con.Inherit.VNCProxyType & ";" & con.Inherit.VNCProxyIP & ";" & con.Inherit.VNCProxyPort & ";" & con.Inherit.VNCProxyUsername & ";" & con.Inherit.VNCProxyPassword & ";" & con.Inherit.VNCColors & ";" & con.Inherit.VNCSmartSizeMode & ";" & con.Inherit.VNCViewOnly
|
||||
csvLn += con.Inherit.CacheBitmaps & ";" & con.Inherit.Colors & ";" & con.Inherit.Description & ";" & con.Inherit.DisplayThemes & ";" & con.Inherit.DisplayWallpaper & ";" & con.Inherit.EnableFontSmoothing & ";" & con.Inherit.EnableDesktopComposition & ";" & con.Inherit.Domain & ";" & con.Inherit.Icon & ";" & con.Inherit.Panel & ";" & con.Inherit.Password & ";" & con.Inherit.Port & ";" & con.Inherit.Protocol & ";" & con.Inherit.PuttySession & ";" & con.Inherit.RedirectDiskDrives & ";" & con.Inherit.RedirectKeys & ";" & con.Inherit.RedirectPorts & ";" & con.Inherit.RedirectPrinters & ";" & con.Inherit.RedirectSmartCards & ";" & con.Inherit.RedirectSound & ";" & con.Inherit.Resolution & ";" & con.Inherit.UseConsoleSession & ";" & con.Inherit.RenderingEngine & ";" & con.Inherit.Username & ";" & con.Inherit.ICAEncryption & ";" & con.Inherit.RDPAuthenticationLevel & ";" & con.Inherit.PreExtApp & ";" & con.Inherit.PostExtApp & ";" & con.Inherit.MacAddress & ";" & con.Inherit.UserField & ";" & con.Inherit.ExtApp & ";" & con.Inherit.VNCCompression & ";" & con.Inherit.VNCEncoding & ";" & con.Inherit.VNCAuthMode & ";" & con.Inherit.VNCProxyType & ";" & con.Inherit.VNCProxyIP & ";" & con.Inherit.VNCProxyPort & ";" & con.Inherit.VNCProxyUsername & ";" & con.Inherit.VNCProxyPassword & ";" & con.Inherit.VNCColors & ";" & con.Inherit.VNCSmartSizeMode & ";" & con.Inherit.VNCViewOnly
|
||||
End If
|
||||
|
||||
csvWr.WriteLine(csvLn)
|
||||
|
||||
@@ -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
|
||||
@@ -37,28 +38,44 @@ Namespace Config
|
||||
My.Settings.UpdatePending = False
|
||||
End If
|
||||
|
||||
If My.Settings.MainFormLocation <> New Point(999, 999) Then
|
||||
.Location = My.Settings.MainFormLocation
|
||||
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)
|
||||
log.InfoFormat("Override Culture: {0}/{1}", Threading.Thread.CurrentThread.CurrentUICulture.Name, Threading.Thread.CurrentThread.CurrentUICulture.NativeName)
|
||||
End If
|
||||
|
||||
If My.Settings.MainFormSize <> Nothing Then
|
||||
.Size = My.Settings.MainFormSize
|
||||
End If
|
||||
|
||||
'check if form is visible
|
||||
Dim curScreen As Screen = Screen.FromHandle(.Handle)
|
||||
|
||||
If .Right < curScreen.Bounds.Left Or .Left > curScreen.Bounds.Right _
|
||||
Or .Top * -1 > curScreen.Bounds.Top * -1 Or .Bottom > curScreen.Bounds.Bottom Then
|
||||
.Location = curScreen.Bounds.Location
|
||||
End If
|
||||
|
||||
|
||||
If My.Settings.MainFormState = Nothing Or My.Settings.MainFormState = FormWindowState.Minimized Then
|
||||
.WindowState = FormWindowState.Normal
|
||||
.WindowState = FormWindowState.Normal
|
||||
If My.Settings.MainFormState = FormWindowState.Normal Then
|
||||
If Not My.Settings.MainFormLocation.IsEmpty Then .Location = My.Settings.MainFormLocation
|
||||
If Not My.Settings.MainFormSize.IsEmpty Then .Size = My.Settings.MainFormSize
|
||||
Else
|
||||
.WindowState = My.Settings.MainFormState
|
||||
If Not My.Settings.MainFormRestoreLocation.IsEmpty Then .Location = My.Settings.MainFormRestoreLocation
|
||||
If Not My.Settings.MainFormRestoreSize.IsEmpty Then .Size = My.Settings.MainFormRestoreSize
|
||||
End If
|
||||
If My.Settings.MainFormState = FormWindowState.Maximized Then
|
||||
.WindowState = FormWindowState.Maximized
|
||||
End If
|
||||
|
||||
' Make sure the form is visible on the screen
|
||||
Const minHorizontal As Integer = 300
|
||||
Const minVertical As Integer = 150
|
||||
Dim screenBounds As Drawing.Rectangle = Screen.FromHandle(.Handle).Bounds
|
||||
Dim newBounds As Drawing.Rectangle = .Bounds
|
||||
|
||||
If newBounds.Right < screenBounds.Left + minHorizontal Then
|
||||
newBounds.X = screenBounds.Left + minHorizontal - newBounds.Width
|
||||
End If
|
||||
If newBounds.Left > screenBounds.Right - minHorizontal Then
|
||||
newBounds.X = screenBounds.Right - minHorizontal
|
||||
End If
|
||||
If newBounds.Bottom < screenBounds.Top + minVertical Then
|
||||
newBounds.Y = screenBounds.Top + minVertical - newBounds.Height
|
||||
End If
|
||||
If newBounds.Top > screenBounds.Bottom - minVertical Then
|
||||
newBounds.Y = screenBounds.Bottom - minVertical
|
||||
End If
|
||||
|
||||
.Location = newBounds.Location
|
||||
|
||||
If My.Settings.MainFormKiosk = True Then
|
||||
Tools.Misc.Fullscreen.EnterFullscreen()
|
||||
@@ -159,8 +176,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 +196,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
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Xml
|
||||
Imports System.IO
|
||||
Imports mRemoteNG.Tools.WindowPlacement
|
||||
|
||||
Namespace Config
|
||||
Namespace Settings
|
||||
@@ -25,12 +26,18 @@ Namespace Config
|
||||
Public Sub Save()
|
||||
Try
|
||||
With Me._MainForm
|
||||
If .WindowState = FormWindowState.Normal Then
|
||||
My.Settings.MainFormLocation = .Location
|
||||
My.Settings.MainFormSize = .Size
|
||||
Else
|
||||
My.Settings.MainFormLocation = .RestoreBounds.Location
|
||||
My.Settings.MainFormSize = .RestoreBounds.Size
|
||||
Dim windowPlacement As New Tools.WindowPlacement(_MainForm)
|
||||
If .WindowState = FormWindowState.Minimized And windowPlacement.RestoreToMaximized Then
|
||||
.Opacity = 0
|
||||
.WindowState = FormWindowState.Maximized
|
||||
End If
|
||||
|
||||
My.Settings.MainFormLocation = .Location
|
||||
My.Settings.MainFormSize = .Size
|
||||
|
||||
If Not .WindowState = FormWindowState.Normal Then
|
||||
My.Settings.MainFormRestoreLocation = .RestoreBounds.Location
|
||||
My.Settings.MainFormRestoreSize = .RestoreBounds.Size
|
||||
End If
|
||||
|
||||
My.Settings.MainFormState = .WindowState
|
||||
|
||||
@@ -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"), _
|
||||
@@ -706,6 +706,60 @@ Namespace Connection
|
||||
Me._DisplayThemes = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _EnableFontSmoothing As Boolean = My.Settings.ConDefaultEnableFontSmoothing
|
||||
<LocalizedCategory("strCategoryAppearance", 5), _
|
||||
Browsable(True), _
|
||||
LocalizedDisplayName("strPropertyNameEnableFontSmoothing"), _
|
||||
LocalizedDescription("strPropertyDescriptionEnableFontSmoothing"), _
|
||||
TypeConverter(GetType(mRemoteNG.Tools.Misc.YesNoTypeConverter))> _
|
||||
Public Property EnableFontSmoothing() As Boolean
|
||||
Get
|
||||
If Me._Inherit.EnableFontSmoothing And Me._Parent IsNot Nothing Then
|
||||
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
|
||||
|
||||
If Me._IsContainer = True Then
|
||||
Dim curCont As Container.Info = Me._Parent
|
||||
Dim parCont As Container.Info = curCont.Parent
|
||||
parCon = parCont.ConnectionInfo
|
||||
End If
|
||||
|
||||
Return parCon.EnableFontSmoothing
|
||||
Else
|
||||
Return Me._EnableFontSmoothing
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me._EnableFontSmoothing = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _EnableDesktopComposition As Boolean = My.Settings.ConDefaultEnableDesktopComposition
|
||||
<LocalizedCategory("strCategoryAppearance", 5), _
|
||||
Browsable(True), _
|
||||
LocalizedDisplayName("strPropertyNameEnableDesktopComposition"), _
|
||||
LocalizedDescription("strPropertyDescriptionEnableDesktopComposition"), _
|
||||
TypeConverter(GetType(mRemoteNG.Tools.Misc.YesNoTypeConverter))> _
|
||||
Public Property EnableDesktopComposition() As Boolean
|
||||
Get
|
||||
If Me._Inherit.EnableDesktopComposition And Me._Parent IsNot Nothing Then
|
||||
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
|
||||
|
||||
If Me._IsContainer = True Then
|
||||
Dim curCont As Container.Info = Me._Parent
|
||||
Dim parCont As Container.Info = curCont.Parent
|
||||
parCon = parCont.ConnectionInfo
|
||||
End If
|
||||
|
||||
Return parCon.EnableDesktopComposition
|
||||
Else
|
||||
Return Me._EnableDesktopComposition
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me._EnableDesktopComposition = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
#Region "6 Redirect"
|
||||
Private _RedirectKeys As Boolean = My.Settings.ConDefaultRedirectKeys
|
||||
@@ -1478,6 +1532,8 @@ Namespace Connection
|
||||
Me._Description = val
|
||||
Me._DisplayThemes = val
|
||||
Me._DisplayWallpaper = val
|
||||
Me._EnableFontSmoothing = val
|
||||
Me._EnableDesktopComposition = val
|
||||
Me._Domain = val
|
||||
Me._Icon = val
|
||||
Me._Password = val
|
||||
@@ -1558,6 +1614,7 @@ Namespace Connection
|
||||
'LocalizedDisplayName("strPropertyNameInheritAll"), _
|
||||
Get
|
||||
If Me._CacheBitmaps And Me._Colors And Me._Description And Me._DisplayThemes And Me._DisplayWallpaper _
|
||||
And Me._EnableFontSmoothing And Me._EnableDesktopComposition _
|
||||
And Me._Domain And Me._Icon And Me._Password And Me._Port And Me._Protocol And Me._PuttySession _
|
||||
And Me._RedirectDiskDrives And Me._RedirectKeys And Me._RedirectPorts And Me._RedirectPrinters _
|
||||
And Me._RedirectSmartCards And Me._RedirectSound And Me._Resolution And Me._UseConsoleSession _
|
||||
@@ -1957,6 +2014,36 @@ Namespace Connection
|
||||
Me._DisplayThemes = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _EnableFontSmoothing As Boolean = My.Settings.InhDefaultEnableFontSmoothing
|
||||
<LocalizedCategory("strCategoryAppearance", 6), _
|
||||
Browsable(True), _
|
||||
LocalizedDisplayNameInheritAttribute("strPropertyNameEnableFontSmoothing"), _
|
||||
LocalizedDescriptionInheritAttribute("strPropertyDescriptionEnableFontSmoothing"), _
|
||||
TypeConverter(GetType(mRemoteNG.Tools.Misc.YesNoTypeConverter))> _
|
||||
Public Property EnableFontSmoothing() As Boolean
|
||||
Get
|
||||
Return Me._EnableFontSmoothing
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me._EnableFontSmoothing = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _EnableDesktopComposition As Boolean = My.Settings.InhDefaultEnableDesktopComposition
|
||||
<LocalizedCategory("strCategoryAppearance", 6), _
|
||||
Browsable(True), _
|
||||
LocalizedDisplayNameInheritAttribute("strPropertyNameEnableDesktopComposition"), _
|
||||
LocalizedDescriptionInheritAttribute("strPropertyDescriptionEnableEnableDesktopComposition"), _
|
||||
TypeConverter(GetType(mRemoteNG.Tools.Misc.YesNoTypeConverter))> _
|
||||
Public Property EnableDesktopComposition() As Boolean
|
||||
Get
|
||||
Return Me._EnableDesktopComposition
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me._EnableDesktopComposition = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
#Region "7 Redirect"
|
||||
Private _RedirectKeys As Boolean = My.Settings.InhDefaultRedirectKeys
|
||||
|
||||
@@ -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
|
||||
@@ -144,6 +168,8 @@ Namespace Connection
|
||||
Select Case Info.Colors
|
||||
Case RDP.RDPColors.Colors256
|
||||
ICA.SetProp("DesiredColor", 2)
|
||||
Case RDP.RDPColors.Colors15Bit
|
||||
ICA.SetProp("DesiredColor", 4)
|
||||
Case RDP.RDPColors.Colors16Bit
|
||||
ICA.SetProp("DesiredColor", 4)
|
||||
Case Else
|
||||
|
||||
@@ -334,7 +334,15 @@ Namespace Connection
|
||||
pFlags += Int(Connection.Protocol.RDP.RDPPerformanceFlags.DisableWallpaper)
|
||||
End If
|
||||
|
||||
RDP.AdvancedSettings2.PerformanceFlags = pFlags
|
||||
If Me.Info.EnableFontSmoothing Then
|
||||
pFlags += Int(Connection.Protocol.RDP.RDPPerformanceFlags.EnableFontSmoothing)
|
||||
End If
|
||||
|
||||
If Me.Info.EnableDesktopComposition Then
|
||||
pFlags += Int(Connection.Protocol.RDP.RDPPerformanceFlags.EnableDesktopComposition)
|
||||
End If
|
||||
|
||||
RDP.AdvancedSettings.PerformanceFlags = pFlags
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetPerformanceFlagsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
@@ -410,6 +418,8 @@ Namespace Connection
|
||||
Public Enum RDPColors
|
||||
<LocalizedDescription("strRDP256Colors")> _
|
||||
Colors256 = 8
|
||||
<LocalizedDescription("strRDP32768Colors")> _
|
||||
Colors15Bit = 15
|
||||
<LocalizedDescription("strRDP65536Colors")> _
|
||||
Colors16Bit = 16
|
||||
<LocalizedDescription("strRDP16777216Colors")> _
|
||||
@@ -429,17 +439,21 @@ Namespace Connection
|
||||
|
||||
Private Enum RDPPerformanceFlags
|
||||
<Description("strRDPDisableWallpaper")> _
|
||||
DisableWallpaper = 1
|
||||
DisableWallpaper = &H1
|
||||
<Description("strRDPDisableFullWindowdrag")> _
|
||||
DisableFullWindowDrag = 2
|
||||
DisableFullWindowDrag = &H2
|
||||
<Description("strRDPDisableMenuAnimations")> _
|
||||
DisableMenuAnimations = 4
|
||||
DisableMenuAnimations = &H4
|
||||
<Description("strRDPDisableThemes")> _
|
||||
DisableThemes = 8
|
||||
DisableThemes = &H8
|
||||
<Description("strRDPDisableCursorShadow")> _
|
||||
DisableCursorShadow = 20
|
||||
DisableCursorShadow = &H20
|
||||
<Description("strRDPDisableCursorblinking")> _
|
||||
DisableCursorBlinking = 40
|
||||
DisableCursorBlinking = &H40
|
||||
<Description("strRDPEnableFontSmoothing")> _
|
||||
EnableFontSmoothing = &H80
|
||||
<Description("strRDPEnableDesktopComposition")> _
|
||||
EnableDesktopComposition = &H100
|
||||
End Enum
|
||||
|
||||
Public Enum RDPResolutions
|
||||
|
||||
5
mRemoteV1/Forms/frmMain.Designer.vb
generated
@@ -274,6 +274,7 @@ Partial Class frmMain
|
||||
Me.mMenFileImportExport.Name = "mMenFileImportExport"
|
||||
Me.mMenFileImportExport.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileImportExport.Text = "Import/Export Folder"
|
||||
Me.mMenFileImportExport.Visible = False
|
||||
'
|
||||
'ImportFromXMLFileToolStripMenuItem
|
||||
'
|
||||
@@ -314,6 +315,7 @@ Partial Class frmMain
|
||||
'
|
||||
Me.mMenFileSep3.Name = "mMenFileSep3"
|
||||
Me.mMenFileSep3.Size = New System.Drawing.Size(331, 6)
|
||||
Me.mMenFileSep3.Visible = False
|
||||
'
|
||||
'mMenFileDelete
|
||||
'
|
||||
@@ -740,7 +742,7 @@ Partial Class frmMain
|
||||
Me.ToolStrip1.Name = "ToolStrip1"
|
||||
Me.ToolStrip1.Size = New System.Drawing.Size(264, 25)
|
||||
Me.ToolStrip1.TabIndex = 19
|
||||
Me.ToolStrip1.Visible = False
|
||||
Me.ToolStrip1.Visible = False
|
||||
'
|
||||
'ToolStripButton1
|
||||
'
|
||||
@@ -806,6 +808,7 @@ Partial Class frmMain
|
||||
Me.Icon = Global.mRemoteNG.My.Resources.Resources.mRemote_Icon
|
||||
Me.MainMenuStrip = Me.msMain
|
||||
Me.Name = "frmMain"
|
||||
Me.Opacity = 0
|
||||
Me.Text = "mRemoteNG"
|
||||
Me.msMain.ResumeLayout(False)
|
||||
Me.msMain.PerformLayout()
|
||||
|
||||
@@ -10,29 +10,37 @@ Public Class frmMain
|
||||
Public Shared Event clipboardchange()
|
||||
Private fpChainedWindowHandle As IntPtr
|
||||
|
||||
#Region "Properties"
|
||||
Private _IsClosing As Boolean = False
|
||||
Public ReadOnly Property IsClosing() As Boolean
|
||||
Get
|
||||
Return _IsClosing
|
||||
End Get
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
#Region "Startup & Shutdown"
|
||||
Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
'insert enable edition code here
|
||||
App.Editions.Spanlink.Enabled = False
|
||||
|
||||
ApplyLanguage()
|
||||
|
||||
Debug.Print("---------------------------" & vbNewLine & "[START] - " & Now)
|
||||
|
||||
Startup.ParseCommandLineArgs()
|
||||
fpChainedWindowHandle = SetClipboardViewer(Me.Handle)
|
||||
Startup.CreateLogger()
|
||||
|
||||
' Create gui config load and save objects
|
||||
sL = New Config.Settings.Load(Me)
|
||||
sS = New Config.Settings.Save(Me)
|
||||
|
||||
Startup.CreateLogger()
|
||||
|
||||
Startup.RegisterHotKeys()
|
||||
|
||||
' Load GUI Configuration
|
||||
sL.Load()
|
||||
|
||||
Debug.Print("---------------------------" & vbNewLine & "[START] - " & Now)
|
||||
|
||||
Startup.ParseCommandLineArgs()
|
||||
|
||||
ApplyLanguage()
|
||||
|
||||
fpChainedWindowHandle = SetClipboardViewer(Me.Handle)
|
||||
|
||||
mC = New Messages.Collector(Windows.errorsForm)
|
||||
|
||||
Connection.Protocol.RDP.Resolutions.AddResolutions()
|
||||
@@ -58,9 +66,14 @@ 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.ShowUpdatesTab()
|
||||
End If
|
||||
End If
|
||||
|
||||
Startup.UpdateCheck()
|
||||
@@ -69,6 +82,8 @@ Public Class frmMain
|
||||
|
||||
AddSysMenuItems()
|
||||
AddHandler Microsoft.Win32.SystemEvents.DisplaySettingsChanged, AddressOf DisplayChanged
|
||||
|
||||
Me.Opacity = 1
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
@@ -138,7 +153,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
|
||||
@@ -148,6 +163,8 @@ Public Class frmMain
|
||||
End If
|
||||
End If
|
||||
|
||||
_IsClosing = True
|
||||
|
||||
For Each Window As UI.Window.Base In wL
|
||||
Window.Close()
|
||||
Next
|
||||
@@ -688,7 +705,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
|
||||
|
||||
277
mRemoteV1/Forms/frmOptions.resx
Normal file
@@ -0,0 +1,277 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="imgListPages.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="imgListPages.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABu
|
||||
IgAAAk1TRnQBSQFMAgEBBwEAAdABAAHQAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABIAMAAQEBAAEgBgABIB4AAeIB7wH0Af8BqAHJAdcB/wF3AaQBtgH/AVoBhgGcAf8BRQFsAYoB/wFA
|
||||
AWcBhwH/AUABcQGVAf8BUwGOAasB/wGPAbcBzQH/Ad0B6gHxAf8MAANXAbcDnwH/A5oB/wOWAf8DkQH/
|
||||
A40B/wOJAf8DhAH/A4AB/wNiAf8DXgH/A1oB/wNXAf8DUwH/A1AB/wNXAbcYAAMNARIDVgG2A1YBtgMN
|
||||
ARFgAAGtAc8B3wH/AVIBkQGtAf8BVwGjAb8B/wFzAcAB1AH/AZUB2QHmAf8BgQHbAfAB/wFLAcYB7AH/
|
||||
AR8BqgHdAf8BEQGSAccB/wEdAYABrAH/ATQBbAGSAf8BnQG/AdEB/wgAA6gB/wPpAf8D0wH/A9IB/wPR
|
||||
Af8D0AH/A84B/wPNAf8DzQH/A8sB/wPLAf8DygH/A8kB/wPIAf8D4gH/A1AB/xgAA14B2QPkAf8D4wH/
|
||||
A1gBwWAAAVUBhAGbAf8BPwG9AecB/wFiAdMB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUsBygHw
|
||||
Af8BGQG2Ae0B/wEAAacB6AH/AQABoQHhAf8BBAGWAdIB/wE4AVkBdQH/CAADrQH/A9YB/wO6Af8DuAH/
|
||||
A7UB/wOzAf8DsQH/A7AB/wOtAf8DqwH/A6oB/wOoAf8DpwH/A6YB/wPIAf8DVAH/CAADCwEPA1QBrQM6
|
||||
AWEDPwFuA3sB+AHiAeEB3wH/AeEB4AHfAf8DawHzAzwBZwM8AWYDUwGtAwsBD1AAAVgBhwGeAf8BPgHE
|
||||
AfAB/wFkAdQB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUsBygHwAf8BGQG2Ae0B/wEAAagB6AH/
|
||||
AQABoQHhAf8BAAGcAdoB/wE5AVoBdwH/CAADsQH/A9kB/wO9Af8DugH/A7gB/wO2Af8DtQH/A7MB/wOw
|
||||
Af8DrwH/A60B/wOrAf8DqQH/A6gB/wPKAf8DWAH/CAADWgHFBP8CtAGzAf4CswGyAf4C5wHmAf8B1gHV
|
||||
AdMB/wHXAdYB1AH/AeMB4gHgAf8BqAGnAaUB/gKxAbAB/QHpAegB5gH/A1gBwVAAAVoBiQGgAf8BPgHE
|
||||
Ae8B/wFjAdQB8QH/AY0B4wH0Af8BogHrAfYB/wGCAd8B8wH/AUwBygHwAf8BGQG2Ae0B/wEAAagB6AH/
|
||||
AQABoQHhAf8BAAGcAdoB/wE7AV0BeQH/CAADtgH/A90B/wPBAf8DvQH/A7wB/wO6Af8DuAH/A7UB/wO0
|
||||
Af8DsgH/A7AB/wOtAf8DrAH/A6wB/wPPAf8DXAH/CAADZAHnAvkB9wH/Au8B7gH/AtsB2gH/AcoCyQH/
|
||||
AckByAHGAf8ByQHIAccB/wHJAcgBxwH/AssByQH/AeYB5QHkAf8B5QHkAeIB/wNlAeVQAAFcAYwBogH/
|
||||
AUABxgHwAf8BZQHUAfEB/wGMAeMB9AH/AaIB6wH2Af8BggHfAfQB/wFMAcoB8AH/ARkBtgHtAf8BAAGo
|
||||
AegB/wEAAaIB4gH/AQABmwHbAf8BPQFgAYAB/wgAA1oBvQPaAf8DyAH/A8AB/wO/Af8DvQH/A7oB/wO4
|
||||
Af8DtwH/A7UB/wOzAf8DsAH/A68B/wOzAf8DwgH/A1oBvQgAA04BlQH2AfUB9AH/AeYB5QHkAf8BvwG+
|
||||
Ab0B/wLrAeoB/wHUAdMB0gH/AdYB1QHUAf8B4gLhAf8CtAGzAf8B1wHWAdQB/wHiAeEB3wH/A0oBjVAA
|
||||
AV8BjwGlAf8BQQHGAfAB/wFlAdQB8gH/AY0B4wH0Af8BogHrAfYB/wGDAd8B9AH/AUsBygHwAf8BGQG2
|
||||
Ae0B/wEAAacB6AH/AQABoQHiAf8BAAGcAdsB/wE/AWMBgwH/CAADWgG9A+MB/wPnAf8D4QH/A+AB/wPg
|
||||
Af8D3wH/A98B/wPeAf8D3QH/A90B/wPcAf8D2wH/A+AB/wPQAf8DWgG9AwsBDwNVAbUDZAHnAeQB4wHi
|
||||
Af8B0QHQAc8B/wLwAe8B/wOuAf8DZAHxA2cB8gKsAasB/wLoAecB/wLLAcoB/wHgAd8B3QH/A2EB5ANV
|
||||
AbUDCwEPSAABYAGSAagB/wFBAcUB8AH/AWYB1AHyAf8BjQHjAfQB/wGiAesB9gH/AYIB3wH0Af8BSwHK
|
||||
AfAB/wEZAbYB7QH/AQABpwHoAf8BAAGhAeEB/wEAAZwB2wH/AUEBZgGGAf8IAAMpAT8DzgH/A+wB/wPe
|
||||
Af8D2AH/A9IB/wPMAf8DyAH/A8cB/wPIAf8DywH/A9AB/wPdAf8D6AH/A6QB/wMrAUIDPwFtAuQB4wH/
|
||||
AdgB1gHVAf8B0gHRAdAB/wHFAcQBwwH/Ae0B7AHrAf8DVwG6CAADXAHNAegB5wHmAf8BtgG1AbQB/wHW
|
||||
AdUB0wH/AeIB4QHgAf8C4AHfAf8DPAFmSAABYwGVAasB/wFBAcUB8AH/AWYB1AHyAf8BjQHjAfQB/wGi
|
||||
AesB9gH/AYMB3wH0Af8BTAHLAfAB/wEZAbUB7QH/AQABpwHoAf8BAAGhAeIB/wEAAZwB2gH/AUQBaQGI
|
||||
Af8MAANaAb0D4wH/A9sB/wPiAf8BtwHQAbgB/wFKAa0BTgH/AVwBqgFKAf8BVgGvAU4B/wE8AaUBSAH/
|
||||
AawBxQGsAf8DwgH/A9EB/wPTAf8DWgG9BAADQgF2AewB6wHoAf8B2gHZAdcB/wHUAdMB0QH/AcYBxQHE
|
||||
Af8B3gLcAf8DRgF+CAADUAGaAd0B3AHbAf8ByAHGAcUB/wLiAeEB/wLhAd8B/wHuAe0B7AH/Az8Bb0gA
|
||||
AWUBmAGuAf8BQQHFAfAB/wFmAdQB8QH/AY0B4wH0Af8BogHrAfYB/wGDAd8B9AH/AUwBygHwAf8BGQG2
|
||||
Ae0B/wEAAagB6QH/AQABoQHhAf8BAAGcAdoB/wFGAWsBigH/DAADKQE/A9EB/wPzAf8BxwHeAcoB/wFK
|
||||
AckBhQH/AbMB3AGkAf8B5wHHAWIB/wHcAb8BWQH/AVwBzAGPAf8BNQGtAU4B/wG4AdABuAH/A/EB/wOv
|
||||
Af8DKwFCBAADLwFKA2AB6wONAfwB3gHdAdwB/wHLAsoB/wHmAuUB/wNhAeEDMgFQAzgBXANgAesC7gHs
|
||||
Af8BzALLAf8B5wHmAeUB/wKOAY0B/ANgAesDLAFDSAABaAGbAbAB/wFAAcYB8AH/AWYB1AHyAf8BjQHj
|
||||
AfQB/wGiAesB9gH/AYMB3wH0Af8BTAHKAfAB/wEZAbYB7QH/AQABqAHoAf8BAAGhAeEB/wEAAZwB2gH/
|
||||
AUkBbwGOAf8QAANaAb0DxAH/AVwBzgGLAf8BmQHkAasB/wGwAcUBQwH/AeoBtQEuAf8B4QGiAR8B/wGl
|
||||
AZ0BJgH/AYIBxQGPAf8BLwGaATwB/wOgAf8DWgG9EAADXgHOAeEB4AHeAf8B2QHXAdYB/wG4ArcB/wHh
|
||||
AeAB3wH/A6wB/QOxAf0C9gH1Af8CwAG/Af8B6gHpAegB/wLzAfIB/wNcAclQAAFrAZ8BswH/AUABxgHw
|
||||
Af8BZAHUAfEB/wGMAeMB9AH/AaIB6wH2Af8BgwHfAfQB/wFMAcoB8AH/ARkBtgHtAf8BAAGnAegB/wEA
|
||||
AaEB4QH/AQABmwHaAf8BSwFyAZAB/xgAAWgBlQFzAfwBogHpAZUB/wHWAc8BTwH/AeIBswEtAf8B0QG7
|
||||
ATUB/wHCAa4BKAH/AYIBvQFSAf8BMQF5AV4B/BgAA0wBkQHjAeIB4AH/At4B3AH/AeEB4AHfAf8BzALL
|
||||
Af8BxAHDAcIB/wLPAc4B/wLeAd0B/wLwAe8B/wLwAe8B/wL2AfUB/wNIAYdQAAFsAaEBtQH/AWYB1QH0
|
||||
Af8BmgHoAfcB/wG1AfMB+gH/AcIB+AH8Af8BwwH4Af0B/wHBAfcB/QH/Aa8B8AH7Af8BjwHiAfcB/wFl
|
||||
AdAB8AH/ATkBuAHlAf8BTgF1AZMB/xgAAWoBlQF0AfwBogHwAZ8B/wHYAe0BrwH/Ad4BxQFOAf8BtAHi
|
||||
AUsB/wFGAecBHwH/AVEB1wFRAf8BQAF7AWUB/BQAAwEBAgNfAeMB5QHkAeEB/wLuAe0B/wLuAe0B/wLr
|
||||
AeoB/wHjAeIB4QH/AugB5wH/AuoB6QH/AvMB8gH/AvUB9AH/AfoB+QH4Af8DXAHfUAABbwGjAbgB/wHF
|
||||
AfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9
|
||||
Af8BxQH5Af0B/wHFAfkB/QH/AVABeAGVAf8YAANhAdwByAH3AdQB/wHYAfYBygH/AecB4wGpAf8B2wHP
|
||||
AVIB/wGvAdwBTgH/AZ0B6gGrAf8DXwHgGAADQAFvA38B/gNkAecDXwHzAegB5wHmAf8B5wHmAeUB/wLt
|
||||
AewB/wL7AfoB/wNnAfIDZAHnA4QB/gM9AWhQAAG3AdcB4QH/AYwBvQHMAf8BnQHPAdsB/wGtAd8B6AH/
|
||||
AbkB7AHzAf8BwgH1AfoB/wHCAfUB+gH/AbgB6wHxAf8BqQHaAeMB/wGUAcQB0QH/AXYBqAG4Af8BqQHF
|
||||
AdEB/xgAAy0BRQFrAYUBdwH6AdsB+AHpAf8B5wHyAdgB/wHtAeUBswH/Ad8B2QGmAf8BXwGPAV8B+wMy
|
||||
AVAgAAMPARQDCgEOA1MBqgHvAe4B7QH/AvQB8wH/A1IBpAMIAQsDEQEXWAAC/gL/AeMB8QH0Af8BuQHX
|
||||
AeEB/wGVAb4BzAH/AXYBqAG7Af8BaQGbAbAB/wFlAZgBrQH/AW4BoQGzAf8BjAGyAcIB/wGxAc0B1wH/
|
||||
Ad8B6wHvAf8D/gH/HAADLgFHA14B2QFuAZUBcgH8AW4BkQFuAfwDXgHdAzIBUCwAAy8BSgNdAfADYgHv
|
||||
AywBQ2QAAxEBFwNWAbMBUwFUAVMBrLQAAwQBBQMQARUDHwEtAykBPwMvAUkDLgFIAygBPQMeASsDDwEU
|
||||
AwMBBBAAA7cB/wGcAagBngH/AQABXQE4Af8BIgGSAVoB/wEAAWEBOAH/AQoBTgGgAf8BBwFMAZ4B/wED
|
||||
AUkBmwH/AQABRwGZAf8BAAFFAZcB/wEAAUIBlAH/AQABQQGTAf8DUgH/A1IB/xwAA0EBcgFMAl8B8wFZ
|
||||
AlwBzwFLAkwBkAMjATNcAAMFAQcDHwEsAj4BPQFqAlIBUAGjAVsCWQHEAV0CWgHTAV0CWgHTAVsCWQHD
|
||||
AVICUQGhAzwBZgMcASgDBAEGDAADFQEdA1EBogEnAZUBXgH/AYIBvgGqAf8BNgGlAYIB/wEXAZcBUAH/
|
||||
ARoBmQFVAf8BHgGZAVkB/wEiAZ0BXgH/AVwBqgHSAf8BWgGoAdEB/wEAAUMBlQH/IAADIQEwASsBRgFy
|
||||
AfwBhgGtAeEB/wFkAagB3AH/AUUBkgHJAf8BFgFYAasB/wFVAlYBsQMfAS1TAAEBAxIBGAM+AWsBXQJZ
|
||||
AdcBYAErASkB/AGsATMBCgH/AeEBUwEnAf8B5AFlATsB/wHTAVEBHwH/AaMBQAEwAf0BYQJeAdoCPgE9
|
||||
AWoDDwEUCAADGAEiAVABUgFQAaQDVgGzAVMBrAGfAf8BWgG3AZ4B/wFkAbsBrAH/AWQBuwGuAf8BZQG7
|
||||
AbAB/wGAAbwBswH/AR0BmgFhAf8BOgGVAccB/wFdAasB0wH/AQABRgGYAf8gAAFUAlYBqwFTAZ0B0QH/
|
||||
AZkBvAHrAf8BVwGgAeMB/wGWAbkB6gH/AZQBuAHqAf8BRgGTAcoB/wErATQBbgH8A0MBeFAAAxsBJgNZ
|
||||
AdIBIwENAQAB/wGKAUIBKgH/AcoBhgFMAf8B9gG8AZwB/wH5AcwBtwH/AeMBoAFeAf8BsQFdAUMB/wFf
|
||||
ATkBGgH/AV4CWAHdAxwBKAgAAVUBVgFVAbEDVgGzA1YBswFCAaQBkQH/AVUBtgGbAf8BTgGyAZsB/wFQ
|
||||
AbIBngH/AVIBswGhAf8BhQG/AbYB/wEkAZ4BggH/AT8BmQHJAf8BYQGtAdQB/wEEAUoBnAH/HAADHwEt
|
||||
ASsBWQF2AfwBnQG/AewB/wFPAZwB4gH/AUEBkwHfAf8BPgGRAd8B/wFFAZQB4AH/AZUBuAHqAf8BhgGt
|
||||
AeEB/wEvAYMBuwH/AUsCTAGQBAADnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/
|
||||
A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/CAABUwJPAaUBOgEfAQcB/wFfAUoBNQH/AY8BXAFHAf8BrAGI
|
||||
AVEB/wHCAaMBiAH/AcEBpQGOAf8BswGYAYEB/wGRAVwBRgH/AVoBQQEsAf8BSQEiAQAB/wFWAlUBsQgA
|
||||
AwgBCwNVAbIDVgGzAVwBsgGoAf8BYwG9AacB/wGHAcEBtQH/AYYBwQG2Af8BhwHBAbcB/wGIAcEBuQH/
|
||||
ASoBogGIAf8BRAGcAcsB/wFlAbAB1QH/AQkBTQGfAf8QAAMrAUIDSAGEAVUCVwG3AUwBXwFhAfMBXAGk
|
||||
AdcB/wGhAcIB7QH/AZ8BwAHtAf8BnQG/Ae0B/wFaAaMB5AH/AUABkgHfAf8BPgGQAd4B/wFhAacB5gH/
|
||||
AZIBtgHoAf8BKQFlAbcB/wM3AVoDnQH/AboCvQH/AeYC7AH/AeYC7QH/AecC7QH/AegC7gH/AekC7wH/
|
||||
AekC7wH/AeoC7wH/AeoC8AH/AesC8AH/AesC8QH/AewC8QH/AewC8QH/Ab0CvwH/A50B/wQAAzkBXwFb
|
||||
ATsBIAH/AcMBsQGiAf8BtgGcAYMB/wGmAV8BMgH/AagBXQEvAf8BwwGkAYcB/wHYAcYBsAH/Ab0BqQGL
|
||||
Af8BZQFFASUB/wFCASIBAwH/ATgBFAEAAf8BPwEYAQAB/wMzAVMIAAMGAQgDVQGyATUBoAGKAf8BkwHJ
|
||||
AboB/wFFAa8BlwH/ASoBogGDAf8BKwGjAYcB/wEtAaQBiwH/ASwBqgGSAf8BOgHCAe0B/wGBAbQB1wH/
|
||||
AQ4BUQGjAf8MAANMAZMBSgGXAc8B/wFhAagB2QH/AY0BtAHiAf8BowHEAe0B/wGnAccB7gH/AUoBlwHN
|
||||
Af8BGgFbAbIB/wFFAZMByQH/AZ8BwAHtAf8BXgGWAaMB/wGeAZYBLgH/AWIBlAGRAf8BjQGzAekB/wFf
|
||||
AaUB2AH/AVoCXgHYBAADXAHqAdsC4gH/Ac0CzwH/A8sB/wPMAf8DzgH/A88B/wPQAf8D0gH/A9MB/wPV
|
||||
Af8B1wLYAf8B5wLsAf8DbQH3BAADIgExAVYCVQGxAU0BIQEAAf8BqgGFAUUB/wGyAVgBFgH/Aa0BNQEA
|
||||
Af8BugFSAQoB/wHqAdUBvwH/Af0B/AH6Af8B1gG+AaYB/wGQAUUBEgH/AUgBFgEAAf8BSQEmAQUB/wFC
|
||||
ASIBBAH/A1cBxQMcAScIAAMEAQYBGwGUAV0B/wFUAbkBngH/AS8BpgGJAf8BXwGxAdUB/wFbAa0B1AH/
|
||||
AVcBqwHSAf8BRQG6AeQB/wEAAZkBTwH/AQ0BjgE+Af8BEAFWAZoB/wwAAUgCYgH2Aa4BzQHwAf8BsAHP
|
||||
AfAB/wGYAb8B7AH/AWQBrgHnAf8BqgHKAe8B/wEjAWEBuAH/BAABGwFcAbMB/wGiAcMB7QH/AagBlwEX
|
||||
Af8BxAG1AUAB/wGsAZcBDAH/AUEBkwHfAf8BmAG7AesB/wECAUoBnwH/BAADXAHqAdkC4QH/AcsCzAH/
|
||||
A8cB/wPIAf8DygH/A8sB/wPNAf8DzgH/A9AB/wPRAf8B0wLUAf8B5QLrAf8DbQH3BAADLgFHA1kB7AFI
|
||||
ARYBAAH/AZkBNQEAAf8BuAFNAQAB/wHCAUkBAAH/AckBWwEJAf8B5gG/AZQB/wHsAdQBtgH/Ac0BnAFI
|
||||
Af8BqAFSARIB/wGZAVMBJwH/AaMBjAFYAf8BZQFMATUB/wJRAT8B9wE1AjQBVQwAAT4BjgHEAf8BOAGs
|
||||
AYsB/wE1AaoBjwH/AWQBtQHYAf8BYAGyAdYB/wFdAa8B1QH/AVkBrAHTAf8BCgGQAUgB/wE/AagBhAH/
|
||||
AQABXgE5Af8DFAEbCAABWgJgAd4BqAHJAe0B/wGEAacB7QH/AT4BUAHtAf8BUAGOAekB/wGtAc0B8AH/
|
||||
AVMBnQHSAf8BJAFiAbkB/wFNAZkBzgH/AaUBxQHuAf8BlQGaAU8B/wGtAZcBDAH/AZ0BlwEzAf8BTAGb
|
||||
AeIB/wGYAbsB6gH/AUgCYgH2BAADXAHqAdcC3wH/AccCyQH/A8IB/wPEAf8DxQH/A8gB/wPJAf8DygH/
|
||||
A8wB/wPNAf8B0ALRAf8B4wLqAf8DbQH3BAADOQFfAkABHQH9AVoBIQEAAf8BrgE/AQAB/wHAAUcBAAH/
|
||||
AecBlgEsAf8B6AGyAWAB/wHkAbEBYAH/AdIBiQEfAf8BvQFMAQAB/wGoAToBAAH/AbgBjQFDAf8B1AHD
|
||||
AbIB/wGYAYQBVAH/AUEBIwEFAf8BPgI9AWoMAAFEAZEByQH/AaQBzAHkAf8BhwG7AdsB/wElAaEBYAH/
|
||||
AR8BnAFaAf8BGgGaAVYB/wEVAZYBUAH/ATEBowGBAf8BhAHAAasB/wEoAZYBXwH/A1EBogMVAR0EAANR
|
||||
AZwBkgG5AeUB/wFUAVoB9gH/AYEBhAH1Af8CJgHwAf8BkAG7AesB/wGuAc0B8AH/AawBzAHwAf8BqgHK
|
||||
AfAB/wGFAbIB6QH/AUQBqQHBAf8BKgGzAY0B/wE8AagBtgH/AVYBoQHkAf8BlwG6AegB/wNdAe0EAANc
|
||||
AeoB1gLfAf8BwwLFAf8DwAH/A8AB/wPCAf8DwwH/A8QB/wPFAf8DyAH/A8kB/wPNAf8B4ALoAf8DbQH3
|
||||
BAADNwFaAV0BTQEoAfoBgwEsAQAB/wHLAVYBAQH/AeUBiwEjAf8B/gG2AVgC/wHjAcIB/wH0AbwBhQH/
|
||||
AdYBXQEPAf8BxQFUAQAB/wG6AUkBAAH/Aa8BXQEfAf8BrgGIAUMB/wGUAVwBQwH/AUIBJAEIAf8DPAFm
|
||||
DAABSQGVAc0B/wGoAc8B5QH/AYwBvwHdAf8BKwGlAYEB/wGNAcUBuAH/AYkBwwG0Af8BhgHBAbEB/wGE
|
||||
Ab8BrwH/AV0BuQGfAf8BVAGtAaAB/wNWAbMBUAFSAVABpAMYASIDIwEzATABawGHAfwBkgGkAfUB/wE/
|
||||
AUAB9gH/ATcBhgH0Af8BIQGmAfsB/wFCAasB8gH/AWQBrwHnAf8BYQGtAecB/wFeAaoB5gH/ASUBtgGA
|
||||
Af8BRgHIAZcB/wEhAbcBYAH/AWMBrAHnAf8BjwG1AeMB/wFaAl4B1QQAA2AB1gHHAs0B/wHbAuQB/wHb
|
||||
AuQB/wHbAuUB/wHcAuUB/wHcAuUB/wHdAuYB/wHdAuYB/wHeAucB/wHfAugB/wHgAugB/wHNAtMB/wNf
|
||||
AeMEAAMmATkBYAJaAd4BjgE0AQAB/wHsAZ4BOQH/Af4BvwGFAv8BzAGhAv8B3wG7Af8B/gHCAWUB/wHi
|
||||
AY4BLwH/AdMBhAEgAf8BygFfARIB/wG1AVYBEAH/AZcBRwENAf8BgQFEAR8B/wNZAewDLgFIDAABTQGY
|
||||
AdAB/wGrAdEB5wH/AZABwgHfAf8BMgGpAYgB/wGRAckBuwH/AVwBugGlAf8BWAG4AaEB/wFUAbYBngH/
|
||||
AVgBuAGdAf8BQwGlAZIB/wNWAbMDVgGzAVUBVgFVAbEEAANJAYcBhgGvAeEB/wG5AdcB8wH/ARgBpgH+
|
||||
Af8BUgG/Av8BEQGjAv8BTAG+AfAB/wEgAc4B+wH/AUABvgHxAf8BOAGzAaAB/wEhAbcBXwH/AS0BswGQ
|
||||
Af8BpwHIAe4B/wFdAaUB1gH/AU8CUQGcBAADLAFDA1sByAOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOd
|
||||
Af8DnQH/A50B/wOdAf8DXgHdAzEBTgQAAwkBDANLAY4BwAFUARMC/wG8AWUB/wH6Ac4BpwH/AfgB2wG+
|
||||
Av8B4gHGAv8BvgGGAf8B9AGsAVsB/wHsAcIBmgH/AeIBtQGLAf8BuAFbARkB/wGdAUoBEgH/AYgBSgEm
|
||||
Af8DTwGlAxABFQwAAVEBmwHTAf8BrgHUAegB/wGrAdMB6AH/AT8BsQGQAf8BmwHOAcAB/wGZAc0BvQH/
|
||||
AZYBywG7Af8BlQHKAbkB/wGAAb8BqAH/AV0BswGpAf8DVgGzA1UBsgMIAQsEAAMEAQYDUQGfAYUBrgHh
|
||||
Af8BQAGyAfkB/wERAaMC/wEmAakB+wH/ARYB0wH+Af8BUgHiAv8BEQHVAv8BZQGwAegB/wFiAa0B5wH/
|
||||
AakBygHvAf8BpQHFAe0B/wErAV0BeAH8AyEBMEQAAxMBGgJkAVMB8QHYAZ4BWAH/AecB0wHAAf8B/AH1
|
||||
Ae4C/wH4AesC/wHlAcIB/wH2AbkBggH/AfIB0gG4Af8B7gHSAbYB/wHCAYYBNAH/AacBXAEtAf8CTQEp
|
||||
AfoDHQEpEAABVAGdAdUB/wFSAZsB0wH/AU8BmgHSAf8BLwGhAYwB/wEqAZ8BigH/AScBnQGFAf8BIwGZ
|
||||
AYAB/wE8AaUBkgH/AWUBuAGxAf8BNgGhAYsB/wNVAbIDBgEIEAADQgF1AV8CYgH2AY4BtgHjAf8BuQHX
|
||||
AfMB/wFDAdUB+wH/ARAB1QL/AScB0QH7Af8BswHSAfIB/wGxAdAB8QH/AZIBuAHiAf8BSAGVAcwB/wNK
|
||||
AYpMAAM1AVcBqQFIARoB/wHKAbgBqAb/Af4B/AL/AfYB4gH/AfsBxQGgAf8B5AG5AZUB/wHbAawBYwH/
|
||||
AcMBjgFCAf8BkwFKAR4B/wE+Aj0BajAAAVMCVAGsA1YBswNWAbMDBAEGGAADFgEeA1QBrgFcAaMB3AH/
|
||||
AZEBuAHkAf8BqAHKAewB/wGlAccB7AH/AY0BtQHiAf8BTgGaAdIB/wFaAl8B2wMxAU5UAAMyAVECZAFZ
|
||||
AewB0AGyAZUB/wHsAeAB2QH/AeYB1QHEAf8B0wGwAZQB/wHTAaYBXQH/AcsBjwE7Af8BZwFlAVkB8gE6
|
||||
AjkBYDQAAVMCVAGsA1YBswMEAQYkAAMrAUIDTAGQAVsCXQHSAVkCXAHPA04BmQMtAUVgAAMRARcDRAF6
|
||||
AloBVwHFAmUBXgHlAmEBWAHmAlwBWQHJAkgBRwGDAxUBHRAAAUIBTQE+BwABPgMAASgDAAFAAwABIAMA
|
||||
AQEBAAEBBgABARYAA/8BAAHgAQcCAAH8AT8CAAHAAQMCAAH8AT8CAAHAAQMCAAHAAQMCAAHAAQMCAAHA
|
||||
AQMCAAHAAQMCAAHAAQMCAAHAAQMCAAHAAQMCAAHAAQMGAAHAAQMCAAEBAYACAAHAAQMBgAIBAYACAAHA
|
||||
AQMBgAEBBAABwAEDAcABAwHAAQMCAAHAAQMB8AEPAcABAwIAAcABAwHwAQ8BgAEDAgABwAEDAfABDwHA
|
||||
AQMCAAHAAQMB8AEPAfABDwIAAcABAwH4AR8B/AE/AgAB4wX/AeABBwGAAQEB/AEfAv8BwAEDAYABBwH4
|
||||
AQcC/wGAAQMBAAEHAfgBAwL/AcABAwEAAQcB8AEBAgABwAEDAQABBwGAAwABgAEBAYABBwIAAYABAQIA
|
||||
AcABBwEBAQABgAEBAgAB4AEDAgABgAEBAgAB4AEBAgABgAEBAgAB4AMAAYABAQIAAeABAAGAAQABgAEB
|
||||
AgAB4AEAAYABAAL/AYABAQHgAQEB4AEBAv8BwAEDAf8BwwHwAQMC/wHgAQcB/wHHAfwBDwL/AfABDws=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
1916
mRemoteV1/Forms/frmOptions.vb
Normal file
@@ -37,6 +37,8 @@ CREATE TABLE [dbo].[tblCons] (
|
||||
[Resolution] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
|
||||
[DisplayWallpaper] [bit] NOT NULL ,
|
||||
[DisplayThemes] [bit] NOT NULL ,
|
||||
[EnableFontSmoothing] [bit] NOT NULL ,
|
||||
[EnableDesktopComposition] [bit] NOT NULL ,
|
||||
[CacheBitmaps] [bit] NOT NULL ,
|
||||
[RedirectDiskDrives] [bit] NOT NULL ,
|
||||
[RedirectPorts] [bit] NOT NULL ,
|
||||
@@ -72,6 +74,8 @@ CREATE TABLE [dbo].[tblCons] (
|
||||
[InheritDescription] [bit] NOT NULL ,
|
||||
[InheritDisplayThemes] [bit] NOT NULL ,
|
||||
[InheritDisplayWallpaper] [bit] NOT NULL ,
|
||||
[InheritEnableFontSmoothing] [bit] NOT NULL ,
|
||||
[InheritEnableDesktopComposition] [bit] NOT NULL ,
|
||||
[InheritDomain] [bit] NOT NULL ,
|
||||
[InheritIcon] [bit] NOT NULL ,
|
||||
[InheritPanel] [bit] NOT NULL ,
|
||||
|
||||
BIN
mRemoteV1/Icons/mRemoteNG.ico
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
@@ -59,80 +59,95 @@
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="strPropertyDescriptionColors" xml:space="preserve">
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="strPropertyDescriptionColors" xml:space="preserve">
|
||||
<value>Select the color quality to be used.</value>
|
||||
</data>
|
||||
<data name="strPropertyNameColors" xml:space="preserve">
|
||||
<data name="strPropertyNameColors" xml:space="preserve">
|
||||
<value>Colors</value>
|
||||
</data>
|
||||
<data name="strComponentsCheck" xml:space="preserve">
|
||||
<value>Components Check</value>
|
||||
</data>
|
||||
<data name="strCcAlwaysShowScreen" xml:space="preserve">
|
||||
<value>Always show this screen at startup</value>
|
||||
</data>
|
||||
<data name="strCcCheckAgain" xml:space="preserve">
|
||||
<value>Refresh</value>
|
||||
</data>
|
||||
<data name="strConnecting" xml:space="preserve">
|
||||
<value>Connecting...</value>
|
||||
</data>
|
||||
<data name="strComponentsCheck" xml:space="preserve">
|
||||
<value>Components Check</value>
|
||||
</data>
|
||||
<data name="strCcAlwaysShowScreen" xml:space="preserve">
|
||||
<value>Always show this screen at startup</value>
|
||||
</data>
|
||||
<data name="strCcCheckAgain" xml:space="preserve">
|
||||
<value>Refresh</value>
|
||||
</data>
|
||||
<data name="strConnecting" xml:space="preserve">
|
||||
<value>Connecting...</value>
|
||||
</data>
|
||||
<data name="strRDP16777216Colors" xml:space="preserve">
|
||||
<value>16777216 Colors (24-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP256Colors" xml:space="preserve">
|
||||
<value>256 Colors (8-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP4294967296Colors" xml:space="preserve">
|
||||
<value>16777216 Colors (32-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP65536Colors" xml:space="preserve">
|
||||
<value>65536 Colors (16-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP32768Colors" xml:space="preserve">
|
||||
<value>32768 Colors (15-bit)</value>
|
||||
</data>
|
||||
</root>
|
||||
1419
mRemoteV1/Language/Resources.fr.resx
Normal file
@@ -31,5 +31,4 @@ Imports System.Runtime.InteropServices
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.64")>
|
||||
<Assembly: AssemblyFileVersion("1.64")>
|
||||
<Assembly: AssemblyVersion("1.67.*")>
|
||||
|
||||
1469
mRemoteV1/My Project/Resources.Designer.vb
generated
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
@@ -1223,7 +1223,7 @@
|
||||
<value>Connecting...</value>
|
||||
</data>
|
||||
<data name="strRDP256Colors" xml:space="preserve">
|
||||
<value>256 Colors (8bit)</value>
|
||||
<value>256 Colours (8-bit)</value>
|
||||
</data>
|
||||
<data name="strRDPSoundBringToThisComputer" xml:space="preserve">
|
||||
<value>Bring to this computer</value>
|
||||
@@ -1540,13 +1540,13 @@ If you are still not able to pass this check or use the (RDP) Sessions feature i
|
||||
<value>Logoff</value>
|
||||
</data>
|
||||
<data name="strTheFollowing" xml:space="preserve">
|
||||
<value>the follwing</value>
|
||||
<value>The follwing</value>
|
||||
</data>
|
||||
<data name="strMyCurrentWindowsCreds" xml:space="preserve">
|
||||
<value>my current credentials (windows logon info)</value>
|
||||
<value>My current credentials (Windows logon information)</value>
|
||||
</data>
|
||||
<data name="strNoInformation" xml:space="preserve">
|
||||
<value>none</value>
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="strSingleClickOnOpenConnectionSwitchesToIt" xml:space="preserve">
|
||||
<value>Single click on opened connection switches to it</value>
|
||||
@@ -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>
|
||||
@@ -1706,13 +1703,13 @@ mRemoteNG will now quit and begin with the installation.</value>
|
||||
<value>CTRL-ESC</value>
|
||||
</data>
|
||||
<data name="strRDP65536Colors" xml:space="preserve">
|
||||
<value>65536 Colors (16bit)</value>
|
||||
<value>65536 Colours (16-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP16777216Colors" xml:space="preserve">
|
||||
<value>16777216 Colors (24bit)</value>
|
||||
<value>16777216 Colours (24-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP4294967296Colors" xml:space="preserve">
|
||||
<value>4294967296 Colors (32bit)</value>
|
||||
<value>16777216 Colours (32-bit)</value>
|
||||
</data>
|
||||
<data name="strRDPDisableWallpaper" xml:space="preserve">
|
||||
<value>Disable Wallpaper</value>
|
||||
@@ -1766,7 +1763,7 @@ mRemoteNG will now quit and begin with the installation.</value>
|
||||
<value>Transfer successful!</value>
|
||||
</data>
|
||||
<data name="strSSHTransferEndFailed" xml:space="preserve">
|
||||
<value>Ssh Transfee End (UI.Window.SSHTransfer) failed!</value>
|
||||
<value>SSH Transfer End (UI.Window.SSHTransfer) failed!</value>
|
||||
</data>
|
||||
<data name="strTransfer" xml:space="preserve">
|
||||
<value>Transfer</value>
|
||||
@@ -1786,7 +1783,7 @@ Please use File - Load Connections for normal connection files!</value>
|
||||
<value>AddNodeFromXML failed!</value>
|
||||
</data>
|
||||
<data name="strGetConnectionInfoFromXmlFailed" xml:space="preserve">
|
||||
<value>Get Connection Info From Xml failed</value>
|
||||
<value>An error occured while loading the connection entry for "{0}" from "{1}". {2}</value>
|
||||
</data>
|
||||
<data name="strCouldNotCreateNewConnectionsFile" xml:space="preserve">
|
||||
<value>Couldn't create new connections file!</value>
|
||||
@@ -2000,7 +1997,7 @@ Starting with new connections file.</value>
|
||||
<value>RDP SetEventHandlers failed!</value>
|
||||
</data>
|
||||
<data name="strRdpControlCreationFailed" xml:space="preserve">
|
||||
<value>Couldn't create RDP control, please check mRemote requirements.</value>
|
||||
<value>Couldn't create RDP control, please check mRemoteNG requirements.</value>
|
||||
</data>
|
||||
<data name="strRdpSetPropsFailed" xml:space="preserve">
|
||||
<value>RDP SetProps failed!</value>
|
||||
@@ -2063,16 +2060,16 @@ Starting with new connections file.</value>
|
||||
<value>Basic</value>
|
||||
</data>
|
||||
<data name="strEnc128BitLogonOnly" xml:space="preserve">
|
||||
<value>128Bit (logon only)</value>
|
||||
<value>128-bit (logon only)</value>
|
||||
</data>
|
||||
<data name="strEnc40Bit" xml:space="preserve">
|
||||
<value>40 Bit</value>
|
||||
<value>40-bit</value>
|
||||
</data>
|
||||
<data name="strEnc56Bit" xml:space="preserve">
|
||||
<value>56 Bit</value>
|
||||
<value>56-bit</value>
|
||||
</data>
|
||||
<data name="strEnc128Bit" xml:space="preserve">
|
||||
<value>128 Bit</value>
|
||||
<value>128-bit</value>
|
||||
</data>
|
||||
<data name="strIntAppConnectionFailed" xml:space="preserve">
|
||||
<value>Connection failed!</value>
|
||||
@@ -2283,4 +2280,70 @@ 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>
|
||||
<data name="strRDP32768Colors" xml:space="preserve">
|
||||
<value>32768 Colours (15-bit)</value>
|
||||
</data>
|
||||
<data name="strPropertyDescriptionEnableFontSmoothing" xml:space="preserve">
|
||||
<value>Select whether to use font smoothing or not.</value>
|
||||
</data>
|
||||
<data name="strPropertyNameEnableFontSmoothing" xml:space="preserve">
|
||||
<value>Font Smoothing</value>
|
||||
</data>
|
||||
<data name="strPropertyDescriptionEnableDesktopComposition" xml:space="preserve">
|
||||
<value>Select whether to use desktop composition or not.</value>
|
||||
</data>
|
||||
<data name="strPropertyNameEnableDesktopComposition" xml:space="preserve">
|
||||
<value>Desktop Composition</value>
|
||||
</data>
|
||||
<data name="strConfirmCloseConnection" xml:space="preserve">
|
||||
<value>Confirm closing connection tabs</value>
|
||||
</data>
|
||||
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
|
||||
<value>Do you want to close the connection, "{0}"?</value>
|
||||
</data>
|
||||
<data name="strConfirmCloseConnectionPanelMainInstruction" xml:space="preserve">
|
||||
<value>Are you sure you want to close the panel, "{0}"? Any connections that it contains will also be closed.</value>
|
||||
</data>
|
||||
<data name="strTabUpdates" xml:space="preserve">
|
||||
<value>Updates</value>
|
||||
</data>
|
||||
<data name="strLabelSQLDatabaseName" xml:space="preserve">
|
||||
<value>Database:</value>
|
||||
</data>
|
||||
<data name="strLabelSQLServerDatabaseName" xml:space="preserve">
|
||||
<value>Database:</value>
|
||||
</data>
|
||||
<data name="strErrorVerifyDatabaseVersionFailed">
|
||||
<value xml:space="preserve">VerifyDatabaseVersion (Config.Connections.Save) failed. {0}</value>
|
||||
</data>
|
||||
<data name="strErrorConnectionListSaveFailed">
|
||||
<value xml:space="preserve">The connection list could not be saved.</value>
|
||||
</data>
|
||||
<data name="strErrorBadDatabaseVersion">
|
||||
<value xml:space="preserve">The database version {0} is not compatible with this version of {1}.</value>
|
||||
</data>
|
||||
</root>
|
||||
215
mRemoteV1/My Project/Settings.Designer.vb
generated
@@ -1,10 +1,10 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' Dieser Code wurde von einem Tool generiert.
|
||||
' Laufzeitversion:2.0.50727.4952
|
||||
' 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
|
||||
|
||||
@@ -56,8 +56,7 @@ Namespace My
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("999, 999")> _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
|
||||
Public Property MainFormLocation() As Global.System.Drawing.Point
|
||||
Get
|
||||
Return CType(Me("MainFormLocation"),Global.System.Drawing.Point)
|
||||
@@ -69,8 +68,7 @@ Namespace My
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("900, 600")> _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
|
||||
Public Property MainFormSize() As Global.System.Drawing.Size
|
||||
Get
|
||||
Return CType(Me("MainFormSize"),Global.System.Drawing.Size)
|
||||
@@ -1950,22 +1948,30 @@ Namespace My
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("Never")> _
|
||||
Public ReadOnly Property ConDefaultRDGatewayUsageMethod() As String
|
||||
Public Property ConDefaultRDGatewayUsageMethod() As String
|
||||
Get
|
||||
Return CType(Me("ConDefaultRDGatewayUsageMethod"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("ConDefaultRDGatewayUsageMethod") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("Yes")> _
|
||||
Public ReadOnly Property ConDefaultRDGatewayUseConnectionCredentials() As String
|
||||
Public Property ConDefaultRDGatewayUseConnectionCredentials() As String
|
||||
Get
|
||||
Return CType(Me("ConDefaultRDGatewayUseConnectionCredentials"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("ConDefaultRDGatewayUseConnectionCredentials") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
@@ -1982,6 +1988,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
|
||||
@@ -1994,6 +2001,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
|
||||
@@ -2006,6 +2014,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
|
||||
@@ -2018,6 +2027,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
|
||||
@@ -2030,6 +2040,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
|
||||
@@ -2042,6 +2053,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
|
||||
@@ -2054,6 +2066,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
|
||||
@@ -2064,6 +2077,182 @@ 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,fr")> _
|
||||
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
|
||||
|
||||
<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 ConDefaultEnableFontSmoothing() As Boolean
|
||||
Get
|
||||
Return CType(Me("ConDefaultEnableFontSmoothing"),Boolean)
|
||||
End Get
|
||||
Set
|
||||
Me("ConDefaultEnableFontSmoothing") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
|
||||
Public Property InhDefaultEnableFontSmoothing() As Boolean
|
||||
Get
|
||||
Return CType(Me("InhDefaultEnableFontSmoothing"),Boolean)
|
||||
End Get
|
||||
Set
|
||||
Me("InhDefaultEnableFontSmoothing") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
|
||||
Public Property ConDefaultEnableDesktopComposition() As Boolean
|
||||
Get
|
||||
Return CType(Me("ConDefaultEnableDesktopComposition"),Boolean)
|
||||
End Get
|
||||
Set
|
||||
Me("ConDefaultEnableDesktopComposition") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
|
||||
Public Property InhDefaultEnableDesktopComposition() As Boolean
|
||||
Get
|
||||
Return CType(Me("InhDefaultEnableDesktopComposition"),Boolean)
|
||||
End Get
|
||||
Set
|
||||
Me("InhDefaultEnableDesktopComposition") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("True")> _
|
||||
Public Property ConfirmCloseConnection() As Boolean
|
||||
Get
|
||||
Return CType(Me("ConfirmCloseConnection"),Boolean)
|
||||
End Get
|
||||
Set
|
||||
Me("ConfirmCloseConnection") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
|
||||
Public Property MainFormRestoreSize() As Global.System.Drawing.Size
|
||||
Get
|
||||
Return CType(Me("MainFormRestoreSize"),Global.System.Drawing.Size)
|
||||
End Get
|
||||
Set
|
||||
Me("MainFormRestoreSize") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
|
||||
Public Property MainFormRestoreLocation() As Global.System.Drawing.Point
|
||||
Get
|
||||
Return CType(Me("MainFormRestoreLocation"),Global.System.Drawing.Point)
|
||||
End Get
|
||||
Set
|
||||
Me("MainFormRestoreLocation") = 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("mRemoteNG")> _
|
||||
Public Property SQLDatabaseName() As String
|
||||
Get
|
||||
Return CType(Me("SQLDatabaseName"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("SQLDatabaseName") = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="MainFormLocation" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Point" Scope="User">
|
||||
<Value Profile="(Default)">999, 999</Value>
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="MainFormSize" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Size" Scope="User">
|
||||
<Value Profile="(Default)">900, 600</Value>
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="MainFormState" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Windows.Forms.FormWindowState" Scope="User">
|
||||
<Value Profile="(Default)">Normal</Value>
|
||||
@@ -440,35 +440,77 @@
|
||||
<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="Application">
|
||||
<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="Application">
|
||||
<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,fr</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>
|
||||
<Setting Name="ConDefaultEnableFontSmoothing" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="InhDefaultEnableFontSmoothing" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="ConDefaultEnableDesktopComposition" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="InhDefaultEnableDesktopComposition" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="ConfirmCloseConnection" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">True</Value>
|
||||
</Setting>
|
||||
<Setting Name="MainFormRestoreSize" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Size" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="MainFormRestoreLocation" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Point" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="SQLDatabaseName" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">mRemoteNG</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
@@ -4,7 +4,7 @@ How to build the portable package:
|
||||
to Inherits PortableSettingsProvider
|
||||
In App.Info.Settings:
|
||||
change SettingsPath
|
||||
from GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.CompanyName.Replace(" ", "_") & "\" & My.Application.Info.ProductName
|
||||
from GetFolderPath(SpecialFolder.ApplicationData) & "\" & My.Application.Info.CompanyName.Replace(" ", "_") & "\" & My.Application.Info.ProductName
|
||||
to My.Application.Info.DirectoryPath
|
||||
|
||||
How to add a new language:
|
||||
|
||||
BIN
mRemoteV1/Resources/Images/database.bmp
Normal file
|
After Width: | Height: | Size: 824 B |
@@ -71,13 +71,12 @@ Namespace Tools
|
||||
Dim sqlQuery As SqlCommand
|
||||
Dim sqlRd As SqlDataReader
|
||||
|
||||
Dim sqlDB As String = "mRemote"
|
||||
Dim LastUpdateInDB As Date
|
||||
|
||||
If My.Settings.SQLUser <> "" Then
|
||||
sqlCon = New SqlConnection("Data Source=" & My.Settings.SQLHost & ";Initial Catalog=" & sqlDB & ";User Id=" & My.Settings.SQLUser & ";Password=" & Security.Crypt.Decrypt(My.Settings.SQLPass, App.Info.General.EncryptionKey))
|
||||
sqlCon = New SqlConnection("Data Source=" & My.Settings.SQLHost & ";Initial Catalog=" & My.Settings.SQLDatabaseName & ";User Id=" & My.Settings.SQLUser & ";Password=" & Security.Crypt.Decrypt(My.Settings.SQLPass, App.Info.General.EncryptionKey))
|
||||
Else
|
||||
sqlCon = New SqlConnection("Data Source=" & My.Settings.SQLHost & ";Initial Catalog=" & sqlDB & ";Integrated Security=True")
|
||||
sqlCon = New SqlConnection("Data Source=" & My.Settings.SQLHost & ";Initial Catalog=" & My.Settings.SQLDatabaseName & ";Integrated Security=True")
|
||||
End If
|
||||
|
||||
sqlCon.Open()
|
||||
|
||||
120
mRemoteV1/Tools/Tools.WindowPlacement.vb
Normal file
@@ -0,0 +1,120 @@
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
Namespace Tools
|
||||
Public Class WindowPlacement
|
||||
#Region "Windows API"
|
||||
#Region "Functions"
|
||||
Private Declare Function GetWindowPlacement Lib "user32" (ByVal hWnd As System.IntPtr, ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
|
||||
Private Declare Function SetWindowPlacement Lib "user32" (ByVal hWnd As System.IntPtr, ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
|
||||
#End Region
|
||||
|
||||
#Region "Structures"
|
||||
Private Structure WINDOWPLACEMENT
|
||||
Public length As UInteger
|
||||
Public flags As UInteger
|
||||
Public showCmd As UInteger
|
||||
Public ptMinPosition As POINT
|
||||
Public ptMaxPosition As POINT
|
||||
Public rcNormalPosition As RECT
|
||||
End Structure
|
||||
|
||||
Private Structure POINT
|
||||
Public x As Long
|
||||
Public y As Long
|
||||
End Structure
|
||||
|
||||
Private Structure RECT
|
||||
Public left As Long
|
||||
Public top As Long
|
||||
Public right As Long
|
||||
Public bottom As Long
|
||||
End Structure
|
||||
#End Region
|
||||
|
||||
#Region "Constants"
|
||||
' WINDOWPLACEMENT.flags values
|
||||
Private Const WPF_SETMINPOSITION As UInteger = &H1
|
||||
Private Const WPF_RESTORETOMAXIMIZED As UInteger = &H2
|
||||
Private Const WPF_ASYNCWINDOWPLACEMENT As UInteger = &H4
|
||||
|
||||
' WINDOWPLACEMENT.showCmd values
|
||||
Private Const SW_HIDE As UInteger = 0
|
||||
Private Const SW_SHOWNORMAL As UInteger = 1
|
||||
Private Const SW_SHOWMINIMIZED As UInteger = 2
|
||||
Private Const SW_SHOWMAXIMIZED As UInteger = 3
|
||||
Private Const SW_MAXIMIZE As UInteger = 3
|
||||
Private Const SW_SHOWNOACTIVATE As UInteger = 4
|
||||
Private Const SW_SHOW As UInteger = 5
|
||||
Private Const SW_MINIMIZE As UInteger = 6
|
||||
Private Const SW_SHOWMINNOACTIVE As UInteger = 7
|
||||
Private Const SW_SHOWNA As UInteger = 8
|
||||
Private Const SW_RESTORE As UInteger = 9
|
||||
#End Region
|
||||
#End Region
|
||||
|
||||
#Region "Private Variables"
|
||||
Private _form As Windows.Forms.Form
|
||||
#End Region
|
||||
|
||||
#Region "Constructors/Destructors"
|
||||
Public Sub New(ByRef form As Windows.Forms.Form)
|
||||
_form = form
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Public Properties"
|
||||
Public Property Form() As Windows.Forms.Form
|
||||
Get
|
||||
Return _form
|
||||
End Get
|
||||
Set(ByVal value As Windows.Forms.Form)
|
||||
_form = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property RestoreToMaximized() As Boolean
|
||||
Get
|
||||
Dim windowPlacement As WINDOWPLACEMENT = GetWindowPlacement()
|
||||
Return windowPlacement.flags And WPF_RESTORETOMAXIMIZED
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Dim windowPlacement As WINDOWPLACEMENT = GetWindowPlacement()
|
||||
If value Then
|
||||
windowPlacement.flags = windowPlacement.flags Or WPF_RESTORETOMAXIMIZED
|
||||
Else
|
||||
windowPlacement.flags = windowPlacement.flags And Not WPF_RESTORETOMAXIMIZED
|
||||
End If
|
||||
SetWindowPlacement(windowPlacement)
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
#Region "Private Functions"
|
||||
Private Function GetWindowPlacement() As WINDOWPLACEMENT
|
||||
If _form Is Nothing Then
|
||||
Throw New System.NullReferenceException("WindowPlacement.Form is not set.")
|
||||
End If
|
||||
Dim windowPlacement As WINDOWPLACEMENT
|
||||
windowPlacement.length = Marshal.SizeOf(windowPlacement)
|
||||
Try
|
||||
GetWindowPlacement(_form.Handle, windowPlacement)
|
||||
Return windowPlacement
|
||||
Catch ex As Exception
|
||||
Throw ex
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function SetWindowPlacement(ByVal windowPlacement As WINDOWPLACEMENT) As Boolean
|
||||
If _form Is Nothing Then
|
||||
Throw New System.NullReferenceException("WindowPlacement.Form is not set.")
|
||||
End If
|
||||
windowPlacement.length = Marshal.SizeOf(windowPlacement)
|
||||
Try
|
||||
Return SetWindowPlacement(_form.Handle, windowPlacement)
|
||||
Catch ex As Exception
|
||||
Throw ex
|
||||
End Try
|
||||
End Function
|
||||
#End Region
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -303,6 +303,7 @@ Namespace Tree
|
||||
|
||||
Dim nConI As Connection.Info = conI.Copy
|
||||
Dim nInh As Connection.Info.Inheritance = conI.Inherit.Copy()
|
||||
nInh.Parent = nConI
|
||||
nConI.Inherit = nInh
|
||||
|
||||
cL.Add(nConI)
|
||||
@@ -479,13 +480,20 @@ Namespace Tree
|
||||
|
||||
Public Shared Sub Sort(ByVal treeNode As TreeNode, ByVal sortType As Tools.Controls.TreeNodeSorter.SortType)
|
||||
Try
|
||||
If Tree.Node.GetNodeType(treeNode) <> Type.Connection Then
|
||||
Dim ns As New Tools.Controls.TreeNodeSorter(treeNode, sortType)
|
||||
|
||||
_TreeView.TreeViewNodeSorter = ns
|
||||
_TreeView.Sort()
|
||||
_TreeView.Sorted = False
|
||||
If treeNode Is Nothing Then
|
||||
treeNode = _TreeView.Nodes.Item(0)
|
||||
ElseIf Tree.Node.GetNodeType(treeNode) = Type.Connection Then
|
||||
treeNode = treeNode.Parent
|
||||
End If
|
||||
|
||||
Dim ns As New Tools.Controls.TreeNodeSorter(treeNode, sortType)
|
||||
|
||||
_TreeView.TreeViewNodeSorter = ns
|
||||
_TreeView.Sort()
|
||||
|
||||
For Each childNode As TreeNode In treeNode.Nodes
|
||||
If GetNodeType(childNode) = Type.Container Then Sort(childNode, sortType)
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Sort nodes failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -542,6 +542,8 @@ Namespace UI
|
||||
strHide.Add("Colors")
|
||||
strHide.Add("DisplayThemes")
|
||||
strHide.Add("DisplayWallpaper")
|
||||
strHide.Add("EnableFontSmoothing")
|
||||
strHide.Add("EnableDesktopComposition")
|
||||
strHide.Add("ExtApp")
|
||||
strHide.Add("ICAEncryption")
|
||||
strHide.Add("PuttySession")
|
||||
@@ -575,6 +577,8 @@ Namespace UI
|
||||
strHide.Add("Colors")
|
||||
strHide.Add("DisplayThemes")
|
||||
strHide.Add("DisplayWallpaper")
|
||||
strHide.Add("EnableFontSmoothing")
|
||||
strHide.Add("EnableDesktopComposition")
|
||||
strHide.Add("Domain")
|
||||
strHide.Add("ExtApp")
|
||||
strHide.Add("ICAEncryption")
|
||||
@@ -610,6 +614,8 @@ Namespace UI
|
||||
strHide.Add("Colors")
|
||||
strHide.Add("DisplayThemes")
|
||||
strHide.Add("DisplayWallpaper")
|
||||
strHide.Add("EnableFontSmoothing")
|
||||
strHide.Add("EnableDesktopComposition")
|
||||
strHide.Add("Domain")
|
||||
strHide.Add("ExtApp")
|
||||
strHide.Add("ICAEncryption")
|
||||
@@ -645,6 +651,8 @@ Namespace UI
|
||||
strHide.Add("Colors")
|
||||
strHide.Add("DisplayThemes")
|
||||
strHide.Add("DisplayWallpaper")
|
||||
strHide.Add("EnableFontSmoothing")
|
||||
strHide.Add("EnableDesktopComposition")
|
||||
strHide.Add("Domain")
|
||||
strHide.Add("ExtApp")
|
||||
strHide.Add("ICAEncryption")
|
||||
@@ -682,6 +690,8 @@ Namespace UI
|
||||
strHide.Add("Colors")
|
||||
strHide.Add("DisplayThemes")
|
||||
strHide.Add("DisplayWallpaper")
|
||||
strHide.Add("EnableFontSmoothing")
|
||||
strHide.Add("EnableDesktopComposition")
|
||||
strHide.Add("Domain")
|
||||
strHide.Add("ExtApp")
|
||||
strHide.Add("ICAEncryption")
|
||||
@@ -719,6 +729,8 @@ Namespace UI
|
||||
strHide.Add("Colors")
|
||||
strHide.Add("DisplayThemes")
|
||||
strHide.Add("DisplayWallpaper")
|
||||
strHide.Add("EnableFontSmoothing")
|
||||
strHide.Add("EnableDesktopComposition")
|
||||
strHide.Add("Domain")
|
||||
strHide.Add("ExtApp")
|
||||
strHide.Add("ICAEncryption")
|
||||
@@ -756,6 +768,8 @@ Namespace UI
|
||||
strHide.Add("Colors")
|
||||
strHide.Add("DisplayThemes")
|
||||
strHide.Add("DisplayWallpaper")
|
||||
strHide.Add("EnableFontSmoothing")
|
||||
strHide.Add("EnableDesktopComposition")
|
||||
strHide.Add("Domain")
|
||||
strHide.Add("ExtApp")
|
||||
strHide.Add("ICAEncryption")
|
||||
@@ -791,6 +805,8 @@ Namespace UI
|
||||
strHide.Add("Colors")
|
||||
strHide.Add("DisplayThemes")
|
||||
strHide.Add("DisplayWallpaper")
|
||||
strHide.Add("EnableFontSmoothing")
|
||||
strHide.Add("EnableDesktopComposition")
|
||||
strHide.Add("Domain")
|
||||
strHide.Add("ExtApp")
|
||||
strHide.Add("ICAEncryption")
|
||||
@@ -823,6 +839,8 @@ Namespace UI
|
||||
Case mRemoteNG.Connection.Protocol.Protocols.ICA
|
||||
strHide.Add("DisplayThemes")
|
||||
strHide.Add("DisplayWallpaper")
|
||||
strHide.Add("EnableFontSmoothing")
|
||||
strHide.Add("EnableDesktopComposition")
|
||||
strHide.Add("ExtApp")
|
||||
strHide.Add("Port")
|
||||
strHide.Add("PuttySession")
|
||||
@@ -857,6 +875,8 @@ Namespace UI
|
||||
strHide.Add("Colors")
|
||||
strHide.Add("DisplayThemes")
|
||||
strHide.Add("DisplayWallpaper")
|
||||
strHide.Add("EnableFontSmoothing")
|
||||
strHide.Add("EnableDesktopComposition")
|
||||
strHide.Add("Domain")
|
||||
strHide.Add("ICAEncryption")
|
||||
strHide.Add("PuttySession")
|
||||
@@ -911,6 +931,14 @@ Namespace UI
|
||||
strHide.Add("DisplayWallpaper")
|
||||
End If
|
||||
|
||||
If .EnableFontSmoothing Then
|
||||
strHide.Add("EnableFontSmoothing")
|
||||
End If
|
||||
|
||||
If .EnableDesktopComposition Then
|
||||
strHide.Add("EnableDesktopComposition")
|
||||
End If
|
||||
|
||||
If .Domain Then
|
||||
strHide.Add("Domain")
|
||||
End If
|
||||
@@ -1238,21 +1266,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)
|
||||
|
||||
@@ -3,6 +3,7 @@ Imports System.Windows
|
||||
Imports System.Windows.Forms
|
||||
Imports Crownwood
|
||||
Imports WeifenLuo.WinFormsUI.Docking
|
||||
Imports PSTaskDialog
|
||||
Imports mRemoteNG.App.Runtime
|
||||
|
||||
Namespace UI
|
||||
@@ -226,37 +227,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
|
||||
@@ -335,6 +307,17 @@ Namespace UI
|
||||
End Sub
|
||||
|
||||
Private Sub Connection_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
||||
If Not frmMain.IsClosing And My.Settings.ConfirmCloseConnection And TabController.TabPages.Count > 0 Then
|
||||
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Resources.strConfirmCloseConnectionPanelMainInstruction, Me.Text), "", "", "", My.Resources.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
|
||||
If cTaskDialog.VerificationChecked Then
|
||||
My.Settings.ConfirmCloseConnection = False
|
||||
End If
|
||||
If Result = DialogResult.No Then
|
||||
e.Cancel = True
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
Try
|
||||
For Each tabP As Magic.Controls.TabPage In Me.TabController.TabPages
|
||||
If tabP.Tag IsNot Nothing Then
|
||||
@@ -373,12 +356,23 @@ Namespace UI
|
||||
End Sub
|
||||
|
||||
Private Sub CloseConnectionTab()
|
||||
Dim SelectedTab As Crownwood.Magic.Controls.TabPage = Me.TabController.SelectedTab
|
||||
If My.Settings.ConfirmCloseConnection Then
|
||||
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Resources.strConfirmCloseConnectionMainInstruction, SelectedTab.Title), "", "", "", My.Resources.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
|
||||
If cTaskDialog.VerificationChecked Then
|
||||
My.Settings.ConfirmCloseConnection = False
|
||||
End If
|
||||
If Result = DialogResult.No Then
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
Try
|
||||
If Me.TabController.SelectedTab.Tag IsNot Nothing Then
|
||||
Dim IC As mRemoteNG.Connection.InterfaceControl = Me.TabController.SelectedTab.Tag
|
||||
If SelectedTab.Tag IsNot Nothing Then
|
||||
Dim IC As mRemoteNG.Connection.InterfaceControl = SelectedTab.Tag
|
||||
IC.Protocol.Close()
|
||||
Else
|
||||
Me.CloseTab(Me.TabController.SelectedTab)
|
||||
Me.CloseTab(SelectedTab)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CloseConnectionTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -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
|
||||
@@ -48,6 +47,9 @@ Namespace UI
|
||||
Friend WithEvents cMenTreeToolsImportExportImportFromPortScan As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents cMenTreeConnectWithOptionsChoosePanelBeforeConnecting As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents cMenTreeConnectWithOptionsDontConnectToConsoleSession As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenSortAscending As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenAddConnection As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenAddFolder As System.Windows.Forms.ToolStripMenuItem
|
||||
Public WithEvents tvConnections As System.Windows.Forms.TreeView
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container
|
||||
@@ -65,7 +67,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
|
||||
@@ -90,9 +91,12 @@ Namespace UI
|
||||
Me.PictureBox1 = New System.Windows.Forms.PictureBox
|
||||
Me.txtSearch = New System.Windows.Forms.TextBox
|
||||
Me.msMain = New System.Windows.Forms.MenuStrip
|
||||
Me.mMenAddConnection = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenAddFolder = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenView = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewExpandAllFolders = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewCollapseAllFolders = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenSortAscending = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.cMenTree.SuspendLayout()
|
||||
Me.pnlConnections.SuspendLayout()
|
||||
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
@@ -123,10 +127,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, 336)
|
||||
'
|
||||
'cMenTreeAddConnection
|
||||
'
|
||||
@@ -202,26 +206,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 +264,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 +285,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
|
||||
@@ -386,14 +382,29 @@ Namespace UI
|
||||
'msMain
|
||||
'
|
||||
Me.msMain.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.msMain.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenView})
|
||||
Me.msMain.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenAddConnection, Me.mMenAddFolder, Me.mMenView, Me.mMenSortAscending})
|
||||
Me.msMain.Location = New System.Drawing.Point(0, 0)
|
||||
Me.msMain.Name = "msMain"
|
||||
Me.msMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.msMain.ShowItemToolTips = True
|
||||
Me.msMain.Size = New System.Drawing.Size(192, 24)
|
||||
Me.msMain.TabIndex = 10
|
||||
Me.msMain.Text = "MenuStrip1"
|
||||
'
|
||||
'mMenAddConnection
|
||||
'
|
||||
Me.mMenAddConnection.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.mMenAddConnection.Image = Global.mRemoteNG.My.Resources.Resources.Connection_Add
|
||||
Me.mMenAddConnection.Name = "mMenAddConnection"
|
||||
Me.mMenAddConnection.Size = New System.Drawing.Size(28, 20)
|
||||
'
|
||||
'mMenAddFolder
|
||||
'
|
||||
Me.mMenAddFolder.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.mMenAddFolder.Image = Global.mRemoteNG.My.Resources.Resources.Folder_Add
|
||||
Me.mMenAddFolder.Name = "mMenAddFolder"
|
||||
Me.mMenAddFolder.Size = New System.Drawing.Size(28, 20)
|
||||
'
|
||||
'mMenView
|
||||
'
|
||||
Me.mMenView.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
@@ -417,6 +428,13 @@ Namespace UI
|
||||
Me.mMenViewCollapseAllFolders.Size = New System.Drawing.Size(161, 22)
|
||||
Me.mMenViewCollapseAllFolders.Text = "Collapse all folders"
|
||||
'
|
||||
'mMenSortAscending
|
||||
'
|
||||
Me.mMenSortAscending.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.mMenSortAscending.Image = Global.mRemoteNG.My.Resources.Resources.Sort_AZ
|
||||
Me.mMenSortAscending.Name = "mMenSortAscending"
|
||||
Me.mMenSortAscending.Size = New System.Drawing.Size(28, 20)
|
||||
'
|
||||
'Tree
|
||||
'
|
||||
Me.ClientSize = New System.Drawing.Size(192, 453)
|
||||
@@ -486,7 +504,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
|
||||
@@ -503,9 +520,12 @@ Namespace UI
|
||||
cMenTreeDelete.Text = My.Resources.strMenuDelete
|
||||
cMenTreeMoveUp.Text = My.Resources.strMoveUp
|
||||
cMenTreeMoveDown.Text = My.Resources.strMoveDown
|
||||
mMenView.Text = My.Resources.strMenuView
|
||||
mMenAddConnection.ToolTipText = My.Resources.strAddConnection
|
||||
mMenAddFolder.ToolTipText = My.Resources.strAddFolder
|
||||
mMenView.ToolTipText = My.Resources.strMenuView.Replace("&", "")
|
||||
mMenViewExpandAllFolders.Text = My.Resources.strExpandAllFolders
|
||||
mMenViewCollapseAllFolders.Text = My.Resources.strCollapseAllFolders
|
||||
mMenSortAscending.ToolTipText = My.Resources.strSortAsc
|
||||
TabText = My.Resources.strConnections
|
||||
Text = My.Resources.strConnections
|
||||
End Sub
|
||||
@@ -682,11 +702,8 @@ Namespace UI
|
||||
|
||||
Me.cMenTreeConnectWithOptionsChoosePanelBeforeConnecting.Enabled = True
|
||||
|
||||
|
||||
Me.cMenTreeToolsImportExport.Enabled = False
|
||||
|
||||
Me.cMenTreeToolsSort.Enabled = False
|
||||
|
||||
Me.cMenTreeToolsExternalApps.Enabled = True
|
||||
|
||||
Me.cMenTreeDuplicate.Enabled = True
|
||||
@@ -719,8 +736,6 @@ Namespace UI
|
||||
Me.cMenTreeToolsImportExportImportFromAD.Enabled = True
|
||||
Me.cMenTreeToolsImportExportImportmRemoteXML.Enabled = True
|
||||
|
||||
Me.cMenTreeToolsSort.Enabled = True
|
||||
|
||||
Me.cMenTreeToolsExternalApps.Enabled = False
|
||||
|
||||
Me.cMenTreeDuplicate.Enabled = True
|
||||
@@ -743,8 +758,6 @@ Namespace UI
|
||||
Me.cMenTreeToolsImportExportImportFromAD.Enabled = True
|
||||
Me.cMenTreeToolsImportExportImportmRemoteXML.Enabled = True
|
||||
|
||||
Me.cMenTreeToolsSort.Enabled = True
|
||||
|
||||
Me.cMenTreeToolsExternalApps.Enabled = False
|
||||
|
||||
Me.cMenTreeDuplicate.Enabled = False
|
||||
@@ -910,12 +923,12 @@ Namespace UI
|
||||
#End Region
|
||||
|
||||
#Region "Tree Context Menu"
|
||||
Private Sub cMenTreeAddConnection_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeAddConnection.Click
|
||||
Private Sub cMenTreeAddConnection_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeAddConnection.Click, mMenAddConnection.Click
|
||||
Me.AddConnection()
|
||||
SaveConnectionsBG()
|
||||
End Sub
|
||||
|
||||
Private Sub cMenTreeAddFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeAddFolder.Click
|
||||
Private Sub cMenTreeAddFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeAddFolder.Click, mMenAddFolder.Click
|
||||
Me.AddFolder()
|
||||
SaveConnectionsBG()
|
||||
End Sub
|
||||
@@ -968,17 +981,28 @@ Namespace UI
|
||||
Me.ImportFromPortScan()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenSortAscending_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenSortAscending.Click
|
||||
Me.tvConnections.BeginUpdate()
|
||||
mRemoteNG.Tree.Node.Sort(Me.tvConnections.Nodes.Item(0), Tools.Controls.TreeNodeSorter.SortType.Ascending)
|
||||
Me.tvConnections.EndUpdate()
|
||||
SaveConnectionsBG()
|
||||
End Sub
|
||||
|
||||
Private Sub cMenTreeToolsSortAscending_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeToolsSortAscending.Click
|
||||
Me.tvConnections.BeginUpdate()
|
||||
mRemoteNG.Tree.Node.Sort(Me.tvConnections.SelectedNode, Tools.Controls.TreeNodeSorter.SortType.Ascending)
|
||||
Me.tvConnections.EndUpdate()
|
||||
SaveConnectionsBG()
|
||||
End Sub
|
||||
|
||||
Private Sub cMenTreeToolsSortDescending_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenTreeToolsSortDescending.Click
|
||||
Me.tvConnections.BeginUpdate()
|
||||
mRemoteNG.Tree.Node.Sort(Me.tvConnections.SelectedNode, Tools.Controls.TreeNodeSorter.SortType.Descending)
|
||||
Me.tvConnections.EndUpdate()
|
||||
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
|
||||
|
||||
@@ -1019,6 +1043,7 @@ Namespace UI
|
||||
|
||||
If nNode IsNot Nothing Then
|
||||
Dim nConI As New mRemoteNG.Connection.Info()
|
||||
If Me.tvConnections.SelectedNode Is Nothing Then Me.tvConnections.SelectedNode = Me.tvConnections.Nodes.Item(0)
|
||||
If TypeOf Me.tvConnections.SelectedNode.Tag Is mRemoteNG.Container.Info Then
|
||||
nConI.Parent = Me.tvConnections.SelectedNode.Tag
|
||||
Else
|
||||
@@ -1211,6 +1236,7 @@ Namespace UI
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewCollapseAllFolders_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewCollapseAllFolders.Click
|
||||
If Me.tvConnections.SelectedNode.IsEditing Then Me.tvConnections.SelectedNode.EndEdit(False)
|
||||
mRemoteNG.Tree.Node.CollapseAllNodes()
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -1272,7 +1298,6 @@ Namespace UI
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
End Namespace
|
||||
@@ -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
|
||||
|
||||
@@ -20,15 +20,13 @@
|
||||
</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" />
|
||||
<!-- An alternate output encoding can be specified -->
|
||||
<!-- <encoding value="unicodeFFFE" /> -->
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<header value="[mRemoteNG Start]
" />
|
||||
<footer value="[mRemoteNG Exit]
" />
|
||||
<conversionPattern value="%date [%thread] %-5level- %message%newline" />
|
||||
</layout>
|
||||
<!-- Alternate layout using XML
|
||||
@@ -59,12 +57,6 @@
|
||||
</system.diagnostics>
|
||||
<userSettings>
|
||||
<mRemoteNG.My.MySettings>
|
||||
<setting name="MainFormLocation" serializeAs="String">
|
||||
<value>999, 999</value>
|
||||
</setting>
|
||||
<setting name="MainFormSize" serializeAs="String">
|
||||
<value>900, 600</value>
|
||||
</setting>
|
||||
<setting name="MainFormState" serializeAs="String">
|
||||
<value>Normal</value>
|
||||
</setting>
|
||||
@@ -497,6 +489,12 @@
|
||||
<setting name="UpdatePending" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="ConDefaultRDGatewayUsageMethod" serializeAs="String">
|
||||
<value>Never</value>
|
||||
</setting>
|
||||
<setting name="ConDefaultRDGatewayUseConnectionCredentials" serializeAs="String">
|
||||
<value>Yes</value>
|
||||
</setting>
|
||||
<setting name="ConDefaultIcon" serializeAs="String">
|
||||
<value>mRemoteNG</value>
|
||||
</setting>
|
||||
@@ -521,15 +519,45 @@
|
||||
<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>
|
||||
<setting name="ConDefaultEnableFontSmoothing" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="InhDefaultEnableFontSmoothing" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="ConDefaultEnableDesktopComposition" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="InhDefaultEnableDesktopComposition" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="ConfirmCloseConnection" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="SQLDatabaseName" serializeAs="String">
|
||||
<value>mRemoteNG</value>
|
||||
</setting>
|
||||
</mRemoteNG.My.MySettings>
|
||||
</userSettings>
|
||||
<applicationSettings>
|
||||
<mRemoteNG.My.MySettings>
|
||||
<setting name="ConDefaultRDGatewayUsageMethod" serializeAs="String">
|
||||
<value>Never</value>
|
||||
</setting>
|
||||
<setting name="ConDefaultRDGatewayUseConnectionCredentials" serializeAs="String">
|
||||
<value>Yes</value>
|
||||
<setting name="SupportedUICultures" serializeAs="String">
|
||||
<value>de,en,en-US,fr</value>
|
||||
</setting>
|
||||
</mRemoteNG.My.MySettings>
|
||||
</applicationSettings>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>None</DebugType>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<Optimize>true</Optimize>
|
||||
@@ -65,7 +65,7 @@
|
||||
<NoWarn>41999,42016,42017,42018,42019,42032,42036</NoWarn>
|
||||
<WarningsAsErrors>
|
||||
</WarningsAsErrors>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release Portable|AnyCPU' ">
|
||||
@@ -73,9 +73,10 @@
|
||||
<OutputPath>bin\Release Portable\</OutputPath>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42032,42036</NoWarn>
|
||||
<DebugType>None</DebugType>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DefineConstants>PORTABLE</DefineConstants>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug Portable|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
@@ -138,6 +139,7 @@
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.DirectoryServices" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Management" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
@@ -171,6 +173,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" />
|
||||
@@ -262,6 +265,7 @@
|
||||
<Compile Include="Tools\Tools.Misc.vb" />
|
||||
<Compile Include="Tools\Tools.PortScan.vb" />
|
||||
<Compile Include="Tools\Tools.SystemMenu.vb" />
|
||||
<Compile Include="Tools\Tools.WindowPlacement.vb" />
|
||||
<Compile Include="Tree\Tree.Node.vb" />
|
||||
<Compile Include="UI\UI.Window.About.vb">
|
||||
<SubType>Form</SubType>
|
||||
@@ -294,7 +298,7 @@
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UI\UI.Window.List.vb" />
|
||||
<Compile Include="UI\UI.Window.Options.vb">
|
||||
<Compile Include="Forms\frmOptions.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UI\UI.Window.PortScan.vb">
|
||||
@@ -345,6 +349,9 @@
|
||||
<EmbeddedResource Include="Language\Resources.en-US.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Language\Resources.fr.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||
@@ -391,8 +398,8 @@
|
||||
<DependentUpon>UI.Window.Help.vb</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\UI.Window.Options.resx">
|
||||
<DependentUpon>UI.Window.Options.vb</DependentUpon>
|
||||
<EmbeddedResource Include="Forms\frmOptions.resx">
|
||||
<DependentUpon>frmOptions.vb</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\UI.Window.PortScan.resx">
|
||||
@@ -764,6 +771,9 @@
|
||||
<Content Include="Icons\mRemote.ico">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Icons\mRemoteNG.ico">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Icons\Remote Desktop.ico">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
@@ -806,6 +816,7 @@
|
||||
<Content Include="Icons\Workstation.ico">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Resources\Images\database.bmp" />
|
||||
<None Include="Resources\Images\Copy.png" />
|
||||
<None Include="Resources\Icons\mRemote_Icon.ico" />
|
||||
<None Include="Resources\Icons\Sessions_Icon.ico" />
|
||||
|
||||