mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 22:11:48 +08:00
Compare commits
170 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1af6fde986 | ||
|
|
6d21c85d98 | ||
|
|
a61fb5c6d6 | ||
|
|
b0439adee4 | ||
|
|
b735e6d3e4 | ||
|
|
d2459de700 | ||
|
|
f9f265b409 | ||
|
|
fb68ed099e | ||
|
|
01133b3d9f | ||
|
|
52461b758b | ||
|
|
3bc5ceede4 | ||
|
|
7c3a349bd6 | ||
|
|
84d3f7d30b | ||
|
|
c29c5015d5 | ||
|
|
1f776fb9bf | ||
|
|
f90eb94484 | ||
|
|
a12978967a | ||
|
|
8cce811ce5 | ||
|
|
adb45cec98 | ||
|
|
c09ea26a3c | ||
|
|
d71bf494df | ||
|
|
e82a9c5228 | ||
|
|
a7d976a0a7 | ||
|
|
d09727a9cd | ||
|
|
30c3b0111d | ||
|
|
4ea588d897 | ||
|
|
f7dfe0ecd0 | ||
|
|
323b3fb6de | ||
|
|
e6f1c947be | ||
|
|
a01663d2ca | ||
|
|
936f2e6655 | ||
|
|
67a6d60c62 | ||
|
|
85e6797c4f | ||
|
|
22322bc3ba | ||
|
|
b4a3b14334 | ||
|
|
a3ac44af55 | ||
|
|
d773f78ff5 | ||
|
|
76ee48269b | ||
|
|
35f442bad6 | ||
|
|
43c001b4ba | ||
|
|
182b097902 | ||
|
|
f841f4b41c | ||
|
|
67d07e5f0f | ||
|
|
6d15e3649e | ||
|
|
4fab4d91d5 | ||
|
|
61b70047c6 | ||
|
|
8c3cdc39fb | ||
|
|
a871074845 | ||
|
|
155bc07466 | ||
|
|
d32699008c | ||
|
|
28a8a3debd | ||
|
|
da50517113 | ||
|
|
3079b45ab1 | ||
|
|
62edfd2c50 | ||
|
|
becf48f347 | ||
|
|
568170d525 | ||
|
|
d853303bc6 | ||
|
|
5462242c39 | ||
|
|
cfa935df11 | ||
|
|
818708dfb4 | ||
|
|
3d26a1a028 | ||
|
|
5dcfb272d9 | ||
|
|
c634b0ccbc | ||
|
|
c957be8774 | ||
|
|
513356506b | ||
|
|
f7754d2371 | ||
|
|
aa9a642ade | ||
|
|
7868b7e76b | ||
|
|
01d62c410d | ||
|
|
a1b4cadc1d | ||
|
|
9a283e5da7 | ||
|
|
7a7c6aebd9 | ||
|
|
4b03e542d6 | ||
|
|
66d3a83f1c | ||
|
|
cbda4f3b96 | ||
|
|
1e139fa5d9 | ||
|
|
816b5baefb | ||
|
|
ba3fb6cab2 | ||
|
|
a19a027d5a | ||
|
|
ab9f61dbd8 | ||
|
|
b76019f516 | ||
|
|
9d97c86704 | ||
|
|
8bbb717ac1 | ||
|
|
43f1c1fdce | ||
|
|
ec6cb2218f | ||
|
|
b382c8556f | ||
|
|
427464bca5 | ||
|
|
5629acba85 | ||
|
|
55caaefe88 | ||
|
|
1ce99d89b3 | ||
|
|
ad64e7f7f3 | ||
|
|
8d857867f2 | ||
|
|
8211a730d2 | ||
|
|
4d4fd79ce1 | ||
|
|
c155ac234e | ||
|
|
0d71be34f2 | ||
|
|
b5295dc98d | ||
|
|
864bfd912e | ||
|
|
a20606888e | ||
|
|
80791ff642 | ||
|
|
00db5c4dc7 | ||
|
|
701933cfb5 | ||
|
|
13a19fc9eb | ||
|
|
be8ed0f263 | ||
|
|
435e5eb9a8 | ||
|
|
b539c34cf6 | ||
|
|
2cd27114d6 | ||
|
|
eff877169d | ||
|
|
4474b84dac | ||
|
|
175d955ef8 | ||
|
|
d23fd3fc1f | ||
|
|
82d56f13fc | ||
|
|
68cee49830 | ||
|
|
5892c0cda8 | ||
|
|
59e09e3762 | ||
|
|
79dad7e319 | ||
|
|
4455f9c71d | ||
|
|
ed8e4e0303 | ||
|
|
56993c0785 | ||
|
|
ec830a3fc4 | ||
|
|
cb224a352a | ||
|
|
99b981b988 | ||
|
|
e88cf2be5e | ||
|
|
91262db838 | ||
|
|
e339fb1390 | ||
|
|
4644741849 | ||
|
|
f249505d84 | ||
|
|
6792737f25 | ||
|
|
87b0f317d1 | ||
|
|
2778f8d1c3 | ||
|
|
b67a68b100 | ||
|
|
72e2d9c2ab | ||
|
|
2af9e02029 | ||
|
|
7b6d01a965 | ||
|
|
d9cfda43b6 | ||
|
|
d15aa639f5 | ||
|
|
8a70a3e64b | ||
|
|
1a26a6a145 | ||
|
|
5f3449876e | ||
|
|
d757443e38 | ||
|
|
f8fe2c9760 | ||
|
|
a24728eebf | ||
|
|
06bdb264bc | ||
|
|
7a2c18804b | ||
|
|
ac797aaa8e | ||
|
|
c530ea300f | ||
|
|
245282bd06 | ||
|
|
ab1930e972 | ||
|
|
13ba0b2802 | ||
|
|
ee94b65fb0 | ||
|
|
cf16606348 | ||
|
|
5b57f46d99 | ||
|
|
0436a6490e | ||
|
|
b3ee2633a8 | ||
|
|
036b90370f | ||
|
|
04dbfb2bf4 | ||
|
|
bfb137c442 | ||
|
|
5c2059c16f | ||
|
|
52694a1c4c | ||
|
|
961eb0b92c | ||
|
|
cbf74e5432 | ||
|
|
760b9b5434 | ||
|
|
d344e5ad16 | ||
|
|
3247f9a487 | ||
|
|
33a140ed60 | ||
|
|
0bc3cdb111 | ||
|
|
127e7cce2e | ||
|
|
db428989b1 | ||
|
|
4c33adfee7 | ||
|
|
3876099d56 |
15
.gitignore
vendored
15
.gitignore
vendored
@@ -1,7 +1,7 @@
|
||||
Release
|
||||
mRemoteV1/bin
|
||||
mRemoteV1/obj
|
||||
mRemoteV1/publish
|
||||
Release/
|
||||
mRemoteV1/bin/
|
||||
mRemoteV1/obj/
|
||||
mRemoteV1/publish/
|
||||
*.pfx
|
||||
*.suo
|
||||
*.vbproj.user
|
||||
@@ -17,3 +17,10 @@ _Re[Ss]harper.*
|
||||
*.user*
|
||||
*.pidb
|
||||
*.gpState
|
||||
_UpgradeReport_Files/
|
||||
Backup/
|
||||
UpgradeLog.XML
|
||||
*.orig
|
||||
*.sdf
|
||||
*.opensdf
|
||||
*.ipch
|
||||
|
||||
59
BUILD.CMD
59
BUILD.CMD
@@ -1,16 +1,22 @@
|
||||
@echo off
|
||||
|
||||
SET VERSIONTAG=RC5
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
SET VCVARSALL="%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
|
||||
SET DEVENV="devenv.exe"
|
||||
SET MAKENSIS="%ProgramFiles(x86)%\NSIS\Unicode\makensis.exe"
|
||||
SET RAR="%ProgramFiles%\WinRAR\WinRAR.exe"
|
||||
set VERSIONTAG=
|
||||
|
||||
call %VCVARSALL% x86 > NUL 2>&1
|
||||
set VCVARSALL="%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
|
||||
set DEVENV="devenv.exe"
|
||||
set MAKENSIS="%ProgramFiles(x86)%\NSIS\Unicode\makensis.exe"
|
||||
set RAR="%ProgramFiles%\WinRAR\WinRAR.exe"
|
||||
set SIGNCMD=signtool.exe sign /n "Next Generation Software" /sha1 "c4ece717747eb7d0cac824f6c7431e5237138b02" /t http://timestamp.verisign.com/scripts/timstamp.dll
|
||||
|
||||
rmdir /s /q "%~dp0\mRemoteV1\bin" > NUL 2>&1
|
||||
rmdir /s /q "%~dp0\mRemoteV1\obj" > NUL 2>&1
|
||||
rem Windows Sysinternals Sigcheck from http://technet.microsoft.com/en-us/sysinternals/bb897441
|
||||
set SIGCHECK="%ProgramFiles(x86)%\Sigcheck\sigcheck.exe"
|
||||
|
||||
call %VCVARSALL% x86
|
||||
|
||||
rmdir /s /q "%~dp0\mRemoteV1\bin" > nul 2>&1
|
||||
rmdir /s /q "%~dp0\mRemoteV1\obj" > nul 2>&1
|
||||
|
||||
echo Building release version...
|
||||
%DEVENV% "%~dp0\mRemoteV1.sln" /build "Release"
|
||||
@@ -18,34 +24,59 @@ echo Building release version...
|
||||
echo Building portable version...
|
||||
%DEVENV% "%~dp0\mRemoteV1.sln" /build "Release Portable"
|
||||
|
||||
mkdir "%~dp0\Release"
|
||||
echo Signing binaries...
|
||||
%SIGNCMD% "%~dp0\mRemoteV1\bin\Release\de\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release\en-US\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release\fr\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release\AxInterop.WFICALib.dll" "%~dp0\mRemoteV1\bin\Release\AxInterop.MSTSCLib.dll" "%~dp0\mRemoteV1\bin\Release\Interop.WFICALib.dll" "%~dp0\mRemoteV1\bin\Release\Interop.ShDocVw.dll" "%~dp0\mRemoteV1\bin\Release\Interop.MSTSCLib.dll" "%~dp0\mRemoteV1\bin\Release\Interop.EOLWTSCOM.dll" "%~dp0\mRemoteV1\bin\Release\Interop.EOLWTSCOM.dll" "%~dp0\mRemoteV1\bin\Release\mRemoteNG.exe" "%~dp0\mRemoteV1\bin\Release Portable\de\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release Portable\en-US\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release Portable\fr\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release Portable\AxInterop.WFICALib.dll" "%~dp0\mRemoteV1\bin\Release Portable\AxInterop.MSTSCLib.dll" "%~dp0\mRemoteV1\bin\Release Portable\Interop.WFICALib.dll" "%~dp0\mRemoteV1\bin\Release Portable\Interop.ShDocVw.dll" "%~dp0\mRemoteV1\bin\Release Portable\Interop.MSTSCLib.dll" "%~dp0\mRemoteV1\bin\Release Portable\Interop.EOLWTSCOM.dll" "%~dp0\mRemoteV1\bin\Release Portable\Interop.EOLWTSCOM.dll" "%~dp0\mRemoteV1\bin\Release Portable\mRemoteNG.exe"
|
||||
|
||||
mkdir "%~dp0\Release" > nul 2>&1
|
||||
|
||||
echo Getting product version...
|
||||
%MAKENSIS% "%~dp0\Installer\GetVersion.nsi"
|
||||
"%~dp0\Release\GetVersion.exe"
|
||||
call "%~dp0\Release\Version.cmd"
|
||||
set VERSIONNSH="%~dp0\Release\Version.nsh"
|
||||
set SIGCHECK=!SIGCHECK:"=^"!
|
||||
set SIGCHECK=!SIGCHECK: =^^ !
|
||||
set SIGCHECK=!SIGCHECK:(=^^(!
|
||||
set SIGCHECK=!SIGCHECK:)=^^)!
|
||||
for /F "usebackq delims=. tokens=1-4" %%i in (`!SIGCHECK! /accepteula -q -n "%~dp0\mRemoteV1\bin\Release\mRemoteNG.exe"`) do (
|
||||
set PRODUCT_VERSION_SHORT=%%i.%%j
|
||||
echo ^^!define PRODUCT_VERSION "%%i.%%j.%%k.%%l" > %VERSIONNSH%
|
||||
echo ^^!define PRODUCT_VERSION_SHORT "%%i.%%j" >> %VERSIONNSH%
|
||||
echo ^^!define PRODUCT_VERSION_MAJOR "%%i" >> %VERSIONNSH%
|
||||
echo ^^!define PRODUCT_VERSION_MINOR "%%j" >> %VERSIONNSH%
|
||||
)
|
||||
echo Version is %PRODUCT_VERSION_SHORT%
|
||||
|
||||
echo Creating installer package...
|
||||
if defined VERSIONTAG (
|
||||
%MAKENSIS% /DPRODUCT_VERSION_TAG=%VERSIONTAG% "%~dp0\Installer\mRemote.nsi"
|
||||
|
||||
set INSTALLEREXE="%~dp0\Release\mRemoteNG-Installer-%PRODUCT_VERSION_SHORT%-%VERSIONTAG%.exe"
|
||||
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 INSTALLEREXE="%~dp0\Release\mRemoteNG-Installer-%PRODUCT_VERSION_SHORT%.exe"
|
||||
set BINARYZIP="%~dp0\Release\mRemoteNG-%PRODUCT_VERSION_SHORT%.zip"
|
||||
set PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-%PRODUCT_VERSION_SHORT%.zip"
|
||||
)
|
||||
|
||||
del %VERSIONNSH%
|
||||
|
||||
echo Signing installer package...
|
||||
%SIGNCMD% %INSTALLEREXE%
|
||||
|
||||
echo Creating release ZIP file...
|
||||
del /f /q %BINARYZIP% > NUL 2>&1
|
||||
del /f /q %BINARYZIP% > nul 2>&1
|
||||
%RAR% a -m5 -r -ep1 -afzip -inul %BINARYZIP% "%~dp0\mRemoteV1\bin\Release\*.*"
|
||||
%RAR% a -m5 -r -ep1 -afzip -inul %BINARYZIP% "%~dp0\Installer\Dependencies\*.*"
|
||||
%RAR% a -m5 -ep -afzip -inul %BINARYZIP% "%~dp0\*.TXT"
|
||||
|
||||
echo Creating portable ZIP file...
|
||||
del /f /q %PORTABLEZIP% > NUL 2>&1
|
||||
del /f /q %PORTABLEZIP% > nul 2>&1
|
||||
%RAR% a -m5 -r -ep1 -afzip -inul %PORTABLEZIP% "%~dp0\mRemoteV1\bin\Release Portable\*.*"
|
||||
%RAR% a -m5 -r -ep1 -afzip -inul %PORTABLEZIP% "%~dp0\Installer\Dependencies\*.*"
|
||||
%RAR% a -m5 -ep -afzip -inul %PORTABLEZIP% "%~dp0\*.TXT"
|
||||
|
||||
echo.
|
||||
echo Build process complete.
|
||||
echo.
|
||||
pause
|
||||
|
||||
@@ -1,3 +1,111 @@
|
||||
1.70 (2013-03-07):
|
||||
Fixed issue MR-339 - Connection group collapses with just one click
|
||||
Fixed issue MR-340 - Object reference not set to an instance of an object.
|
||||
Fixed issue MR-344 - Move "Always show panel tabs" option
|
||||
Fixed issue MR-350 - VerifyDatabaseVersion (Config.Connections.Save) failed. Version string portion was too short or too long.
|
||||
Fixed issue MR-355 - Moving sub folders to top level causes property loss
|
||||
Fixed tabs not closing on double-click when the active tab is a PuTTY connection.
|
||||
|
||||
1.70 Release Candidate 2 (2013-02-25):
|
||||
Fixed issue MR-332 - Can't select different tab with one click after disconnecting existing tab
|
||||
Fixed issue MR-338 - PuTTYNG crashing on fresh install of mRemoteNG
|
||||
Re-enabled PuTTYNG integration enhancements on Windows 8
|
||||
|
||||
1.70 Release Candidate 1 (2013-02-22):
|
||||
Fixed issue MR-183 - Error trying to save connections when using SQL - Invalid column name _parentConstantId
|
||||
Fixed issue MR-225 - Tabs do not open in a panel until multiple panels are displayed.
|
||||
Fixed issue MR-229 - Integrated PuTTY doesn't work in Windows 8 RP
|
||||
Fixed issue MR-264 - Windows 8 support
|
||||
Fixed issue MR-317 - Difficulty right-clicking on Tab
|
||||
Fixed issue MR-318 - Wrong tab gets selected when tab names overflow on the tab bar
|
||||
Fixed issue MR-321 - New connection panel doesn't get panel header if its the only one or is moved
|
||||
Fixed issue MR-322 - Connection Button not listing servers
|
||||
Added option to always show panel tabs.
|
||||
Fixed "Decryption failed. Padding is invalid and cannot be removed." notification.
|
||||
Fixed KiTTY opening in a separate window when using a saved session.
|
||||
|
||||
1.70 Beta 2 (2013-02-18):
|
||||
Fixed issue MR-47 - Silent Installation Prompts for Language
|
||||
Fixed issue MR-54 - Error When disconnecting from SSL channel RDP
|
||||
Fixed issue MR-58 - Bug when duplicating connection in connection view
|
||||
Fixed issue MR-68 - Config Window Loses Options
|
||||
Fixed issue MR-71 - Minimizing mRemoteNG causes temporary re-size of Putty sessions (windows)
|
||||
Fixed issue MR-80 - Reconnect previous sessions
|
||||
Fixed issue MR-81 - Problem Duplicating Folder w/ Sub-Folders
|
||||
Fixed issue MR-85 - Microsoft .NET Framework warning
|
||||
Fixed issue MR-86 - Citrix GDI+ Error when screen is locked
|
||||
Fixed issue MR-96 - When pressing SHIFT+F4 to create a new connection inside a folder, the new connections doesn't inherit any properties from its parent
|
||||
Fixed issue MR-101 - Collapse all folders causes a NullReferenceException
|
||||
Fixed issue MR-165 - Can't close About window if it is the last tab
|
||||
Fixed issue MR-166 - Inheritance button is disabled on some connections
|
||||
Fixed issue MR-167 - Name and description of properties not show in inheritance list
|
||||
Fixed issue MR-171 - Inherit configuration not showing friendly names for each inherit component
|
||||
Fixed issue MR-172 - RDGatewayPassword is unencrypted in confCons.xml file
|
||||
Fixed issue MR-174 - Trailing Space on a Hostname/IP will cause the connection not to happen.
|
||||
Fixed issue MR-175 - Problem with focus when 2 or more PuTTY sessions opened
|
||||
Fixed issue MR-176 - Del key while editing connection name triggers 'Delete Connection'
|
||||
Fixed issue MR-178 - 3 different panels crashes all connections
|
||||
Fixed issue MR-181 - Sessions on startup
|
||||
Fixed issue MR-190 - Can't click on tab/session
|
||||
Fixed issue MR-196 - Cannot export list without usernames and passwords
|
||||
Fixed issue MR-199 - when using screen inside putty, screen becomes dead when reduce mremoteNG
|
||||
Fixed issue MR-202 - The Connection "Tab" show Ampersands as underscores.
|
||||
Fixed issue MR-214 - Hostname/IP reset
|
||||
Fixed issue MR-224 - Session tabs become un-clickable after duplicating a tab or opening a new one in the same panel
|
||||
Fixed issue MR-233 - Backslash at end of password prevents success of putty invocation and corresponding auto-logon
|
||||
Fixed issue MR-235 - Config file gets corrupted when leaving the password entry box with ESC
|
||||
Fixed issue MR-264 - Windows 8 support
|
||||
Fixed issue MR-277 - Inheritance configuration button not appear in configuration tab
|
||||
Fixed issue MR-284 - SSH: Text not showing properly
|
||||
Fixed issue MR-299 - mRemoteNG crashes while using remotely (Windows XP remote desktop)
|
||||
Fixed issue MR-306 - Fatal .NET exception on program start
|
||||
Fixed issue MR-313 - PuTTY window not maximized when loading from saved session
|
||||
mRemoteNG now requires .NET Framework 3.0 instead of 2.0.
|
||||
Updated translations.
|
||||
Added translations for Spanish (Argentina), Italian, Polish, Portuguese, Chinese (Simplified).
|
||||
Improved the use of Tab and Shift-Tab to cycle through entries in the Config grid.
|
||||
Improved loading of XML files from older versions of mRemote/mRemoteNG.
|
||||
|
||||
1.70 Beta 1 (2012-02-27):
|
||||
Fixed issue MR-77 - VerifyDatabaseVersion (Config.Connections.Save) failed. Version string portion was too short or too long.
|
||||
Fixed issue MR-78 - Renaming Connections
|
||||
Fixed issue MR-79 - MoveUp/Down item doesn't work + Sort button broken
|
||||
Fixed issue MR-93 - Regional settings problem when using SQL connection in mRemoteNG
|
||||
Fixed issue MR-97 - Integrate Dutch translation
|
||||
Fixed issue MR-98 - Integrate Russian and Ukranian translations
|
||||
Fixed issue MR-99 - Integrate Spanish translation
|
||||
Fixed issue MR-131 - RD Gateway does not respect setting for use different credentials
|
||||
Added compatibility check for "Use FIPS compliant algorithms" security setting.
|
||||
Improved reporting of errors when encrypting and decrypting connection files.
|
||||
Added partial Polish translation.
|
||||
The panel tabs are now hidden if only one panel is open.
|
||||
Fix focus issue with RDP connections when changing tabs.
|
||||
Show changes live as connection tabs are being dragged around to change their order.
|
||||
Updated PuTTY to version 0.62.
|
||||
Improved error handling when loading connection files.
|
||||
Fixed bugs with creating a new connection file.
|
||||
A backup of the connection file is saved when it is loaded. The most recent ten backup copies are kept.
|
||||
Added the option to use a smart card for RD Gateway credentials.
|
||||
Made the use of CredSSP for RDP connections optional.
|
||||
Updated VncSharpNG to version 1.2.4440.36644.
|
||||
Added debugging symbols for VncSharpNG.
|
||||
|
||||
1.69 (2011-12-09):
|
||||
Fixed issue #66 - Fresh Install Fails to Create Config
|
||||
Fixed issue #69 - Connection file gets erased
|
||||
Fixed issue #72 - scrollbars added to RDP window after minimize/restore of mRemoteNG
|
||||
Disabled automatic updates in the portable edition
|
||||
Fixed file name in window title changing when exporting an XML file.
|
||||
Fixed Use only Notifications panel checkbox.
|
||||
Updated PuTTY to version 0.61
|
||||
Binaries are now digitally signed
|
||||
Added Credits, License, and Version History items to the Start Menu and made Start Menu item names localizable.
|
||||
|
||||
1.68 (2011-07-07):
|
||||
Fixed issue #48 - VerifyDatabaseVersion fails with new (empty) database tables.
|
||||
Fixed issue #60 - Can't save connections file
|
||||
Fixed issue #62 - Connection file error upon launch.
|
||||
|
||||
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.
|
||||
11
CREDITS.TXT
11
CREDITS.TXT
@@ -1,6 +1,8 @@
|
||||
Contributors
|
||||
============
|
||||
|
||||
Jason Barbier
|
||||
Wiktor Beryt
|
||||
Lionel Caignec
|
||||
Felix Deimel
|
||||
Holger Henke
|
||||
@@ -19,6 +21,11 @@ Copyright
|
||||
MIT License
|
||||
http://www.codeproject.com/KB/recipes/command_line.aspx
|
||||
|
||||
DotNetVer
|
||||
Copyright <20> 2010 David Grinberg
|
||||
Copyright <20> 2010-2011 Brandon Hansen
|
||||
http://nsis.sourceforge.net/DotNetVer
|
||||
|
||||
|
||||
Included Components
|
||||
===================
|
||||
@@ -79,8 +86,8 @@ MiniTabControl 1.0
|
||||
Copyright <20> 2008 Felix Deimel
|
||||
http://www.appjuice.org/
|
||||
|
||||
PuTTY 0.60
|
||||
Copyright <20> 1997-2007 Simon Tatham
|
||||
PuTTY 0.62
|
||||
Copyright <20> 1997-2011 Simon Tatham
|
||||
MIT License
|
||||
http://www.chiark.greenend.org.uk/~sgtatham/putty/
|
||||
|
||||
|
||||
BIN
Installer/Dependencies/PuTTYNG.exe
Normal file
BIN
Installer/Dependencies/PuTTYNG.exe
Normal file
Binary file not shown.
BIN
Installer/Dependencies/PuTTYNG.pdb
Normal file
BIN
Installer/Dependencies/PuTTYNG.pdb
Normal file
Binary file not shown.
Binary file not shown.
296
Installer/DotNetVer.nsh
Normal file
296
Installer/DotNetVer.nsh
Normal file
@@ -0,0 +1,296 @@
|
||||
; ---------------------
|
||||
; DotNetVer.nsh
|
||||
; Written by: David Grinberg
|
||||
; Homepage: http://ontheperiphery.veraida.com/
|
||||
; Updated By: Brandon Hansen (http://www.remotehams.com/)
|
||||
; ---------------------
|
||||
;
|
||||
; LogicLib extensions for checking Microsoft .NET Framework versions and service packs.
|
||||
;
|
||||
; Latests Updates by Brandon Hansen, KG6YPI (RemoteHams.com)
|
||||
; Dec 26, 2011 - .NET Framework 4.0 detection fixes - client profile not being found
|
||||
; Dec 07, 2010 - .NET Framework 4.0 detection added by Brandon Hansen (KG6YPI)
|
||||
;
|
||||
; Usage examples:
|
||||
;
|
||||
; ${If} ${HasDotNet4.0}
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 installed."
|
||||
; ${If} ${DOTNETVER_4_0} AtLeastDotNetServicePack 1
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 is at least SP1."
|
||||
; ${Else}
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 SP1 not installed."
|
||||
; ${EndIf}
|
||||
; ${If} ${DOTNETVER_4_0} HasDotNetClientProfile 1
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 (Client Profile) available."
|
||||
; ${EndIf}
|
||||
; ${If} ${DOTNETVER_4_0} HasDotNetFullProfile 1
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 (Full Profile) available."
|
||||
; ${EndIf}
|
||||
; ${If} ${DOTNETVER_4_0} HasDotNetFullProfile 0
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 (Full Profile) not available."
|
||||
; ${EndIf}
|
||||
; ${EndIf}
|
||||
|
||||
|
||||
!verbose push
|
||||
!verbose 3
|
||||
|
||||
!ifndef ___DOTNETVER__NSH___
|
||||
!define ___DOTNETVER__NSH___
|
||||
|
||||
!include LogicLib.nsh
|
||||
!include Util.nsh
|
||||
|
||||
# constants
|
||||
|
||||
!define DOTNETVER_1_0 "1.0"
|
||||
!define DOTNETVER_1_1 "1.1"
|
||||
!define DOTNETVER_2_0 "2.0"
|
||||
!define DOTNETVER_3_0 "3.0"
|
||||
!define DOTNETVER_3_5 "3.5"
|
||||
!define DOTNETVER_4_0 "4.0"
|
||||
|
||||
# variable declaration
|
||||
|
||||
Var /GLOBAL __DONTNET_FOUNDVER
|
||||
|
||||
!macro __DotNetVer_DeclareVars
|
||||
!ifndef __DOTNETVER_VARS_DECLARED
|
||||
!define __DOTNETVER_VARS_DECLARED
|
||||
Var /GLOBAL __DOTNET_1.0
|
||||
Var /GLOBAL __DOTNET_1.1
|
||||
Var /GLOBAL __DOTNET_2.0
|
||||
Var /GLOBAL __DOTNET_3.0
|
||||
Var /GLOBAL __DOTNET_3.5
|
||||
Var /GLOBAL __DOTNET_4.0
|
||||
|
||||
Var /GLOBAL __DOTNETVER_1.0_SP
|
||||
Var /GLOBAL __DOTNETVER_1.1_SP
|
||||
Var /GLOBAL __DOTNETVER_2.0_SP
|
||||
Var /GLOBAL __DOTNETVER_3.0_SP
|
||||
Var /GLOBAL __DOTNETVER_3.5_SP
|
||||
Var /GLOBAL __DOTNETVER_4.0_SP
|
||||
|
||||
Var /GLOBAL __DOTNET_1.0_CLIENT
|
||||
Var /GLOBAL __DOTNET_1.1_CLIENT
|
||||
Var /GLOBAL __DOTNET_2.0_CLIENT
|
||||
Var /GLOBAL __DOTNET_3.0_CLIENT
|
||||
Var /GLOBAL __DOTNET_3.5_CLIENT
|
||||
Var /GLOBAL __DOTNET_4.0_CLIENT
|
||||
|
||||
Var /GLOBAL __DOTNET_1.0_FULL
|
||||
Var /GLOBAL __DOTNET_1.1_FULL
|
||||
Var /GLOBAL __DOTNET_2.0_FULL
|
||||
Var /GLOBAL __DOTNET_3.0_FULL
|
||||
Var /GLOBAL __DOTNET_3.5_FULL
|
||||
Var /GLOBAL __DOTNET_4.0_FULL
|
||||
|
||||
StrCpy $__DOTNET_1.0 0
|
||||
StrCpy $__DOTNET_1.1 0
|
||||
StrCpy $__DOTNET_2.0 0
|
||||
StrCpy $__DOTNET_3.0 0
|
||||
StrCpy $__DOTNET_3.5 0
|
||||
StrCpy $__DOTNET_4.0 0
|
||||
|
||||
StrCpy $__DOTNETVER_1.0_SP 0
|
||||
StrCpy $__DOTNETVER_1.1_SP 0
|
||||
StrCpy $__DOTNETVER_2.0_SP 0
|
||||
StrCpy $__DOTNETVER_3.0_SP 0
|
||||
StrCpy $__DOTNETVER_3.5_SP 0
|
||||
StrCpy $__DOTNETVER_4.0_SP 0
|
||||
|
||||
StrCpy $__DOTNET_1.0_CLIENT 0
|
||||
StrCpy $__DOTNET_1.1_CLIENT 0
|
||||
StrCpy $__DOTNET_2.0_CLIENT 0
|
||||
StrCpy $__DOTNET_3.0_CLIENT 0
|
||||
StrCpy $__DOTNET_3.5_CLIENT 0
|
||||
StrCpy $__DOTNET_4.0_CLIENT 0
|
||||
|
||||
StrCpy $__DOTNET_1.0_FULL 0
|
||||
StrCpy $__DOTNET_1.1_FULL 0
|
||||
StrCpy $__DOTNET_2.0_FULL 0
|
||||
StrCpy $__DOTNET_3.0_FULL 0
|
||||
StrCpy $__DOTNET_3.5_FULL 0
|
||||
StrCpy $__DOTNET_4.0_FULL 0
|
||||
|
||||
!endif
|
||||
!macroend
|
||||
|
||||
|
||||
# lazy initialization macro
|
||||
|
||||
!macro __DotNetVer_InitVars
|
||||
# only calculate version once
|
||||
StrCmp $__DONTNET_FOUNDVER "" dotnetver.noveryet
|
||||
Return
|
||||
|
||||
dotnetver.noveryet:
|
||||
!insertmacro __DotNetVer_DeclareVars
|
||||
|
||||
Push $0 ;registry count
|
||||
Push $1 ;registry key
|
||||
Push $2 ;version number
|
||||
Push $3 ;installed
|
||||
Push $4 ;service pack number
|
||||
Push $8 ;strLen helper var
|
||||
|
||||
StrCpy $0 0
|
||||
|
||||
dotnetver.startenum:
|
||||
|
||||
EnumRegKey $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP" $0
|
||||
StrCmp $1 "" dotnetver.done
|
||||
|
||||
IntOp $0 $0 + 1
|
||||
|
||||
StrCpy $2 $1 1 0
|
||||
StrCmp $2 "v" +1 dotnetver.startenum
|
||||
StrCpy $2 $1 3 1
|
||||
|
||||
; Check for .NET 1.0 to 3.5
|
||||
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\$1" "Install"
|
||||
ReadRegDWORD $4 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\$1" "SP"
|
||||
IntCmp $3 1 dotnetcheck.skipalt
|
||||
; Alternate check for versions that don't set the Install key
|
||||
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\$1\Setup" "InstallSuccess"
|
||||
dotnetcheck.skipalt:
|
||||
; This is a sanity check that works on .NET 1.0 to 3.5
|
||||
; if it fails check for dotnet 4
|
||||
IntCmp $3 0 dotnetcheck.40
|
||||
StrCmp $2 ${DOTNETVER_1_0} dotnetver.10
|
||||
StrCmp $2 ${DOTNETVER_1_1} dotnetver.11
|
||||
StrCmp $2 ${DOTNETVER_2_0} dotnetver.20
|
||||
StrCmp $2 ${DOTNETVER_3_0} dotnetver.30
|
||||
StrCmp $2 ${DOTNETVER_3_5} dotnetver.35
|
||||
dotnetcheck.40:
|
||||
StrCmp $2 ${DOTNETVER_4_0} dotnetver.40
|
||||
StrCmp $2 "4" dotnetver.40
|
||||
|
||||
Goto dotnetver.startenum
|
||||
|
||||
dotnetver.10:
|
||||
StrCpy $__DOTNET_1.0 1
|
||||
StrCpy $__DOTNETVER_1.0_SP $4
|
||||
StrCpy $__DOTNET_1.0_FULL 1
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.11:
|
||||
StrCpy $__DOTNET_1.1 1
|
||||
StrCpy $__DOTNETVER_1.1_SP $4
|
||||
StrCpy $__DOTNET_1.1_FULL 1
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.20:
|
||||
StrCpy $__DOTNET_2.0 1
|
||||
StrCpy $__DOTNETVER_2.0_SP $4
|
||||
StrCpy $__DOTNET_2.0_FULL 1
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.30:
|
||||
StrCpy $__DOTNET_3.0 1
|
||||
StrCpy $__DOTNETVER_3.0_SP $4
|
||||
StrCpy $__DOTNET_3.0_FULL 1
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.35:
|
||||
StrCpy $__DOTNET_3.5 1
|
||||
StrCpy $__DOTNETVER_3.5_SP $4
|
||||
StrCpy $__DOTNET_3.5_FULL 1
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.40:
|
||||
; Check for .NET 4.0 (Full Profile)
|
||||
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Install"
|
||||
ReadRegDWORD $4 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "SP"
|
||||
StrLen $8 $3
|
||||
IntCmp $8 0 dotnetcheck.40c
|
||||
IntCmp $3 0 dotnetcheck.40c
|
||||
StrCmp $2 ${DOTNETVER_4_0} dotnetver.40_Full
|
||||
StrCmp $2 "4" dotnetver.40_Full
|
||||
dotnetcheck.40c:
|
||||
; Check for .NET 4.0 (Client Profile)
|
||||
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" "Install"
|
||||
ReadRegDWORD $4 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" "SP"
|
||||
StrLen $8 $3
|
||||
IntCmp $8 0 dotnetver.startenum
|
||||
IntCmp $3 0 dotnetver.startenum
|
||||
StrCmp $2 ${DOTNETVER_4_0} dotnetver.40_Client
|
||||
StrCmp $2 "4" dotnetver.40_Client
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.40_Full:
|
||||
StrCpy $__DOTNET_4.0 1
|
||||
StrCpy $__DOTNETVER_4.0_SP $4
|
||||
StrCpy $__DOTNET_4.0_FULL 1
|
||||
Goto dotnetcheck.40c ; continue looking for other profiles
|
||||
dotnetver.40_Client:
|
||||
StrCpy $__DOTNET_4.0 1
|
||||
StrCpy $__DOTNETVER_4.0_SP $4
|
||||
StrCpy $__DOTNET_4.0_CLIENT 1
|
||||
Goto dotnetver.startenum
|
||||
|
||||
dotnetver.done:
|
||||
|
||||
StrCpy $__DONTNET_FOUNDVER "1"
|
||||
|
||||
Pop $8
|
||||
Pop $4
|
||||
Pop $3
|
||||
Pop $2
|
||||
Pop $1
|
||||
Pop $0
|
||||
!macroend
|
||||
|
||||
!macro _HasDotNet _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _= `$__DOTNET_${_b}` `1` `${_t}` `${_f}`
|
||||
!macroend
|
||||
|
||||
!macro __DotNetVer_DefineTest Ver
|
||||
!define HasDotNet${Ver} `"" HasDotNet ${Ver}`
|
||||
!macroend
|
||||
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_1_0}
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_1_1}
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_2_0}
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_3_0}
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_3_5}
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_4_0}
|
||||
|
||||
!macro _AtLeastDotNetServicePack _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _>= `$__DOTNETVER_${_a}_SP` `${_b}` `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define AtLeastDotNetServicePack `AtLeastDotNetServicePack`
|
||||
|
||||
|
||||
!macro _AtMostDotNetServicePack _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _<= `$__DOTNETVER_${_a}_SP` `${_b}` `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define AtMostDotNetServicePack `AtMostDotNetServicePack`
|
||||
|
||||
|
||||
!macro _IsDotNetServicePack _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _= `$__DOTNETVER_${_a}_SP` `${_b}` `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define IsDotNetServicePack `IsDotNetServicePack`
|
||||
|
||||
!macro _HasDotNetClientProfile _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _= `$__DOTNET_${_a}_CLIENT` `${_b}` `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define HasDotNetClientProfile `HasDotNetClientProfile`
|
||||
|
||||
!macro _HasDotNetFullProfile _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _= `$__DOTNET_${_a}_FULL` `${_b}` `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define HasDotNetFullProfile `HasDotNetFullProfile`
|
||||
|
||||
# done
|
||||
|
||||
!endif # !___DOTNETVER__NSH___
|
||||
|
||||
!verbose pop
|
||||
@@ -1,30 +0,0 @@
|
||||
!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,7 +10,13 @@ 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 3.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."
|
||||
LangString RequiresAdminUser ${LANG_CZECH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_CZECH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_CZECH} "License"
|
||||
LangString UninstallLinkName ${LANG_CZECH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_CZECH} "Version History"
|
||||
|
||||
@@ -10,7 +10,13 @@ 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 3.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."
|
||||
LangString RequiresAdminUser ${LANG_DUTCH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_DUTCH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_DUTCH} "License"
|
||||
LangString UninstallLinkName ${LANG_DUTCH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_DUTCH} "Version History"
|
||||
|
||||
@@ -10,7 +10,13 @@ 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 3.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."
|
||||
LangString RequiresAdminUser ${LANG_ENGLISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_ENGLISH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_ENGLISH} "License"
|
||||
LangString UninstallLinkName ${LANG_ENGLISH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_ENGLISH} "Version History"
|
||||
|
||||
@@ -10,7 +10,13 @@ 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 3.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."
|
||||
LangString RequiresAdminUser ${LANG_FRENCH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_FRENCH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_FRENCH} "License"
|
||||
LangString UninstallLinkName ${LANG_FRENCH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_FRENCH} "Version History"
|
||||
|
||||
@@ -10,7 +10,13 @@ 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 3.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."
|
||||
LangString RequiresAdminUser ${LANG_GERMAN} "Sie m<>ssen Mitglied der Grupper 'Power Users' or 'Administratoren' sein, damit Sie mRemoteNG installieren k<>nnen."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_GERMAN} "Credits"
|
||||
LangString CopyingLinkName ${LANG_GERMAN} "License"
|
||||
LangString UninstallLinkName ${LANG_GERMAN} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_GERMAN} "Version History"
|
||||
|
||||
@@ -10,7 +10,13 @@ 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 3.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."
|
||||
LangString RequiresAdminUser ${LANG_POLISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_POLISH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_POLISH} "License"
|
||||
LangString UninstallLinkName ${LANG_POLISH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_POLISH} "Version History"
|
||||
|
||||
@@ -10,7 +10,13 @@ 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 3.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."
|
||||
LangString RequiresAdminUser ${LANG_SPANISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_SPANISH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_SPANISH} "License"
|
||||
LangString UninstallLinkName ${LANG_SPANISH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_SPANISH} "Version History"
|
||||
|
||||
@@ -11,7 +11,13 @@ LangString InstallerLanguage ${LANG_THAI} "ภาษาสำหรับกา
|
||||
LangString SelectInstallerLanguage ${LANG_THAI} "กรุณาเลือกภาษาสำหรับการติดตั้ง"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_THAI} "mRemoteNG มีความต้องการ Microsoft .NET Framework 2.0. เป็นพื้นฐาน"
|
||||
LangString RequiresNetFramework ${LANG_THAI} "mRemoteNG มีความต้องการ Microsoft .NET Framework 3.0. เป็นพื้นฐาน"
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_THAI} "คุณต้องเป็นสมาชิกในกลุ่มของ 'Power Users' หรือ 'Administrators' เพื่อการติดตั้ง mRemoteNG"
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_THAI} "Credits"
|
||||
LangString CopyingLinkName ${LANG_THAI} "License"
|
||||
LangString UninstallLinkName ${LANG_THAI} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_THAI} "Version History"
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
!include "MUI.nsh"
|
||||
!include "MUI.nsh"
|
||||
!include "WordFunc.nsh"
|
||||
!insertmacro VersionCompare
|
||||
|
||||
!include "DotNetVer.nsh"
|
||||
!include "..\Release\Version.nsh"
|
||||
|
||||
; This will be passed in using the /D switch by BUILD.CMD
|
||||
@@ -13,9 +14,6 @@
|
||||
!define PRODUCT_VERSION_TAGGED "${PRODUCT_VERSION_SHORT}"
|
||||
!endif
|
||||
|
||||
; Global Variables
|
||||
Var InstallDotNET
|
||||
|
||||
; Basic Config
|
||||
Name "mRemoteNG ${PRODUCT_VERSION_FRIENDLY}"
|
||||
OutFile "..\Release\mRemoteNG-Installer-${PRODUCT_VERSION_TAGGED}.exe"
|
||||
@@ -26,9 +24,10 @@ RequestExecutionLevel admin
|
||||
|
||||
; Version Information
|
||||
VIProductVersion ${PRODUCT_VERSION}
|
||||
VIAddVersionKey "CompanyName" "Next Generation Software"
|
||||
VIAddVersionKey "ProductName" "mRemoteNG"
|
||||
VIAddVersionKey "ProductVersion" ${PRODUCT_VERSION}
|
||||
VIAddVersionKey "LegalCopyright" "Copyright © 2007-2009 Felix Deimel, 2010-2011 Riley McArdle"
|
||||
VIAddVersionKey "LegalCopyright" "Copyright © 2007-2009 Felix Deimel, 2010-2013 Riley McArdle"
|
||||
VIAddVersionKey "FileDescription" "mRemoteNG ${PRODUCT_VERSION_FRIENDLY} Installer"
|
||||
VIAddVersionKey "FileVersion" ${PRODUCT_VERSION}
|
||||
|
||||
@@ -95,7 +94,8 @@ Function .onInit
|
||||
Win9x:
|
||||
doit:
|
||||
# We can install
|
||||
Call SelectLanguage
|
||||
IfSilent +2
|
||||
Call SelectLanguage
|
||||
Goto end
|
||||
noop:
|
||||
MessageBox MB_OK "$(RequiresAdminUser)"
|
||||
@@ -131,22 +131,7 @@ Function SelectLanguage
|
||||
Abort
|
||||
|
||||
; Check .NET version
|
||||
StrCpy $InstallDotNET "No"
|
||||
Call GetDotNETVersion
|
||||
Pop $0
|
||||
|
||||
${If} $0 == "not found"
|
||||
StrCpy $InstallDotNET "Yes"
|
||||
${EndIf}
|
||||
|
||||
StrCpy $0 $0 "" 1 # skip "v"
|
||||
|
||||
${VersionCompare} $0 "2.0" $1
|
||||
${If} $1 == 2
|
||||
StrCpy $InstallDotNET "Yes"
|
||||
${EndIf}
|
||||
|
||||
${If} $InstallDotNET == "Yes"
|
||||
${IfNot} ${HasDotNet3.0}
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "$(RequiresNetFramework)"
|
||||
Quit
|
||||
${EndIf}
|
||||
@@ -169,15 +154,18 @@ Section "" ; Install
|
||||
|
||||
; Start Menu
|
||||
CreateDirectory "$SMPROGRAMS\mRemoteNG"
|
||||
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(CreditsLinkName).lnk" "$INSTDIR\CREDITS.TXT"
|
||||
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(CopyingLinkName).lnk" "$INSTDIR\COPYING.TXT"
|
||||
CreateShortCut "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk" "$INSTDIR\mRemoteNG.exe"
|
||||
CreateShortCut "$SMPROGRAMS\mRemoteNG\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
||||
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(UninstallLinkName).lnk" "$INSTDIR\Uninstall.exe"
|
||||
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(ChangeLogLinkName).lnk" "$INSTDIR\CHANGELOG.TXT"
|
||||
|
||||
; Registry
|
||||
WriteRegStr HKLM "Software\mRemoteNG" "InstallPath" $INSTDIR
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayName" "mRemoteNG"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "Publisher" "mRemoteNG"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "Publisher" "Next Generation Software"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayIcon" "$INSTDIR\mRemoteNG.exe"
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "EstimatedSize" 6464
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "EstimatedSize" 7080
|
||||
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayVersion" ${PRODUCT_VERSION}
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "VersionMajor" ${PRODUCT_VERSION_MAJOR}
|
||||
@@ -197,13 +185,9 @@ Section "un.Uninstall"
|
||||
|
||||
; Start Menu
|
||||
SetShellVarContext all
|
||||
Delete "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk"
|
||||
Delete "$SMPROGRAMS\mRemoteNG\Uninstall.lnk"
|
||||
RMDir "$SMPROGRAMS\mRemoteNG"
|
||||
RMDir /r "$SMPROGRAMS\mRemoteNG"
|
||||
SetShellVarContext current
|
||||
Delete "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk"
|
||||
Delete "$SMPROGRAMS\mRemoteNG\Uninstall.lnk"
|
||||
RMDir "$SMPROGRAMS\mRemoteNG"
|
||||
RMDir /r "$SMPROGRAMS\mRemoteNG"
|
||||
|
||||
; Registry
|
||||
DeleteRegValue HKLM "Software\mRemoteNG" "InstallPath"
|
||||
@@ -211,15 +195,3 @@ Section "un.Uninstall"
|
||||
DeleteRegKey /ifempty HKCU "Software\mRemoteNG"
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG"
|
||||
SectionEnd
|
||||
|
||||
Function GetDotNETVersion
|
||||
Push $0
|
||||
Push $1
|
||||
|
||||
System::Call "mscoree::GetCORVersion(w .r0, i ${NSIS_MAX_STRLEN}, *i) i .r1"
|
||||
StrCmp $1 "error" 0 +2
|
||||
StrCpy $0 "not found"
|
||||
|
||||
Pop $1
|
||||
Exch $0
|
||||
FunctionEnd
|
||||
|
||||
BIN
Tools/SortRESX.exe
Normal file
BIN
Tools/SortRESX.exe
Normal file
Binary file not shown.
50
Update Languages.cmd
Normal file
50
Update Languages.cmd
Normal file
@@ -0,0 +1,50 @@
|
||||
@echo off
|
||||
|
||||
set ZIP_FILE="%~dp0\..\mremoteng.zip"
|
||||
set TEMP_FOLDER="%TEMP%\Translations.tmp"
|
||||
set SORTRESX="%~dp0\Tools\SortRESX.exe"
|
||||
set RAR="%ProgramFiles%\WinRAR\WinRAR.exe"
|
||||
|
||||
call :expand %ZIP_FILE%
|
||||
goto :skip
|
||||
:expand
|
||||
set ZIP_FILE="%~f1"
|
||||
exit /b
|
||||
:skip
|
||||
|
||||
echo.
|
||||
echo This script updates the language files with new translations from Crowdin
|
||||
echo.
|
||||
echo Download the latest translation file from Crowdin and place it here:
|
||||
echo.
|
||||
echo %ZIP_FILE%
|
||||
echo.
|
||||
|
||||
choice /m "Would you like to continue?"
|
||||
|
||||
echo.
|
||||
|
||||
mkdir %TEMP_FOLDER%
|
||||
%RAR% x -o+ %ZIP_FILE% *.* %TEMP_FOLDER%
|
||||
|
||||
%SORTRESX% %TEMP_FOLDER%\ar\Language.ar.resx "%~dp0\mRemoteV1\Language\Language.ar.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\de\Language.de.resx "%~dp0\mRemoteV1\Language\Language.de.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\en-US\Language.en.resx "%~dp0\mRemoteV1\Language\Language.en-US.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\es-AR\Language.es.resx "%~dp0\mRemoteV1\Language\Language.es-AR.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\es-ES\Language.es.resx "%~dp0\mRemoteV1\Language\Language.es.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\fr\Language.fr.resx "%~dp0\mRemoteV1\Language\Language.fr.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\hu\Language.hu.resx "%~dp0\mRemoteV1\Language\Language.hu.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\it\Language.it.resx "%~dp0\mRemoteV1\Language\Language.it.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\nl\Language.nl.resx "%~dp0\mRemoteV1\Language\Language.nl.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\pl\Language.pl.resx "%~dp0\mRemoteV1\Language\Language.pl.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\pt-BR\Language.pt.resx "%~dp0\mRemoteV1\Language\Language.pt-BR.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\pt-PT\Language.pt.resx "%~dp0\mRemoteV1\Language\Language.pt.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\ru\Language.ru.resx "%~dp0\mRemoteV1\Language\Language.ru.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\uk\Language.uk.resx "%~dp0\mRemoteV1\Language\Language.uk.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\zh-CN\Language.zh.resx "%~dp0\mRemoteV1\Language\Language.zh-CN.resx"
|
||||
|
||||
rmdir /s /q %TEMP_FOLDER%
|
||||
|
||||
echo Done.
|
||||
echo.
|
||||
pause
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "mRemoteV1", "mRemoteV1\mRemoteV1.vbproj", "{4934A491-40BC-4E5B-9166-EA1169A220F6}"
|
||||
EndProject
|
||||
Global
|
||||
|
||||
@@ -3,18 +3,23 @@ Imports mRemoteNG.App.Runtime
|
||||
|
||||
Namespace App
|
||||
Public Class Announcement
|
||||
#Region "Private Properties"
|
||||
Private wCl As WebClient
|
||||
Private wPr As WebProxy
|
||||
Implements IDisposable
|
||||
|
||||
#Region "Private Variables"
|
||||
Private webClient As WebClient
|
||||
Private webProxy As WebProxy
|
||||
#End Region
|
||||
|
||||
Private _curAI As Info
|
||||
Public ReadOnly Property curAI() As Info
|
||||
#Region "Public Properties"
|
||||
Private _currentAnnouncementInfo As Info
|
||||
Public ReadOnly Property CurrentAnnouncementInfo() As Info
|
||||
Get
|
||||
Return _curAI
|
||||
Return _currentAnnouncementInfo
|
||||
End Get
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
#Region "Public Methods"
|
||||
Public Function IsAnnouncementAvailable() As Boolean
|
||||
Try
|
||||
Dim aI As Info = GetAnnouncementInfo()
|
||||
@@ -29,7 +34,7 @@ Namespace App
|
||||
Return False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "IsAnnouncementAvailable failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "IsAnnouncementAvailable failed" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -57,7 +62,7 @@ Namespace App
|
||||
|
||||
strU = strAnnouncement.Substring(strAnnouncement.IndexOf("URL: ") + 5, strAnnouncement.IndexOf(vbNewLine) - 5)
|
||||
|
||||
aI.URL = strU
|
||||
aI.Url = strU
|
||||
Catch ex As Exception
|
||||
aI.InfoOk = False
|
||||
End Try
|
||||
@@ -65,10 +70,10 @@ Namespace App
|
||||
aI.InfoOk = False
|
||||
End If
|
||||
|
||||
_curAI = aI
|
||||
_currentAnnouncementInfo = aI
|
||||
Return aI
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Getting Announcement info failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Getting Announcement info failed" & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
@@ -80,37 +85,35 @@ Namespace App
|
||||
Dim strTemp As String
|
||||
|
||||
Try
|
||||
strTemp = wCl.DownloadString(App.Info.General.URLAnnouncement)
|
||||
strTemp = webClient.DownloadString(App.Info.General.URLAnnouncement)
|
||||
Catch ex As Exception
|
||||
strTemp = ""
|
||||
End Try
|
||||
|
||||
Return strTemp
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "GetAnnouncementFile failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "GetAnnouncementFile failed" & vbNewLine & ex.Message, True)
|
||||
Return ""
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Sub CreateWebClient()
|
||||
wCl = New WebClient()
|
||||
webClient = New WebClient()
|
||||
|
||||
If My.Settings.UpdateUseProxy Then
|
||||
wPr = New WebProxy(My.Settings.UpdateProxyAddress, My.Settings.UpdateProxyPort)
|
||||
webProxy = New WebProxy(My.Settings.UpdateProxyAddress, My.Settings.UpdateProxyPort)
|
||||
|
||||
If My.Settings.UpdateProxyUseAuthentication Then
|
||||
Dim cred As ICredentials
|
||||
cred = New NetworkCredential(My.Settings.UpdateProxyAuthUser, Security.Crypt.Decrypt(My.Settings.UpdateProxyAuthPass, App.Info.General.EncryptionKey))
|
||||
|
||||
wPr.Credentials = cred
|
||||
webProxy.Credentials = cred
|
||||
End If
|
||||
|
||||
wCl.Proxy = wPr
|
||||
webClient.Proxy = webProxy
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
Public Class Info
|
||||
Private _Name As String
|
||||
@@ -123,17 +126,16 @@ Namespace App
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _URL As String
|
||||
Public Property URL() As String
|
||||
Private _url As String
|
||||
Public Property Url() As String
|
||||
Get
|
||||
Return _URL
|
||||
Return _url
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_URL = value
|
||||
_url = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Private _InfoOk As Boolean
|
||||
Public Property InfoOk() As Boolean
|
||||
Get
|
||||
@@ -144,5 +146,36 @@ Namespace App
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
|
||||
#Region "IDisposable Support"
|
||||
Private disposedValue As Boolean ' To detect redundant calls
|
||||
|
||||
' IDisposable
|
||||
Protected Overridable Sub Dispose(disposing As Boolean)
|
||||
If Not Me.disposedValue Then
|
||||
If disposing Then
|
||||
If webClient IsNot Nothing Then webClient.Dispose()
|
||||
End If
|
||||
|
||||
' TODO: free unmanaged resources (unmanaged objects) and override Finalize() below.
|
||||
' TODO: set large fields to null.
|
||||
End If
|
||||
Me.disposedValue = True
|
||||
End Sub
|
||||
|
||||
' TODO: override Finalize() only if Dispose(ByVal disposing As Boolean) above has code to free unmanaged resources.
|
||||
'Protected Overrides Sub Finalize()
|
||||
' ' Do not change this code. Put cleanup code in Dispose(ByVal disposing As Boolean) above.
|
||||
' Dispose(False)
|
||||
' MyBase.Finalize()
|
||||
'End Sub
|
||||
|
||||
' This code added by Visual Basic to correctly implement the disposable pattern.
|
||||
Public Sub Dispose() Implements IDisposable.Dispose
|
||||
' Do not change this code. Put cleanup code in Dispose(ByVal disposing As Boolean) above.
|
||||
Dispose(True)
|
||||
GC.SuppressFinalize(Me)
|
||||
End Sub
|
||||
#End Region
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -1,8 +0,0 @@
|
||||
Namespace App
|
||||
Namespace Editions
|
||||
Public Class Spanlink
|
||||
Public Shared Enabled As Boolean = True
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
End Namespace
|
||||
@@ -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.3
|
||||
Public Shared ReadOnly ConnectionFileVersion As Double = 2.4
|
||||
End Class
|
||||
|
||||
Public Class Credentials
|
||||
|
||||
@@ -2,148 +2,198 @@
|
||||
|
||||
Namespace App
|
||||
Public Class Native
|
||||
#Region "Dll Imports"
|
||||
<DllImport("user32.dll", EntryPoint:="GetWindowThreadProcessId", SetLastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
|
||||
Public Shared Function GetWindowThreadProcessId(ByVal hWnd As Long, ByVal lpdwProcessId As Long) As Long
|
||||
End Function
|
||||
Private Sub New()
|
||||
' Fix Warning 292 CA1053 : Microsoft.Design : Because type 'Native' contains only 'static' ('Shared' in Visual Basic) members, add a default private constructor to prevent the compiler from adding a default public constructor.
|
||||
End Sub
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True)> _
|
||||
Public Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True)> _
|
||||
Public Shared Function SetParent(ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Long
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", EntryPoint:="GetWindowLongA", SetLastError:=True)> _
|
||||
Public Shared Function GetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer) As Long
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function SetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As Long) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True)> _
|
||||
Public Shared Function SetWindowPos(ByVal hWnd As IntPtr, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True)> _
|
||||
Public Shared Function MoveWindow(ByVal hWnd As IntPtr, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal repaint As Boolean) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", EntryPoint:="PostMessageA", SetLastError:=True)> _
|
||||
Public Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As Integer, ByVal lParam As Integer) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
Public Shared Function ShowWindow(ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function BringWindowToTop(ByVal hWnd As IntPtr) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function SetForegroundWindow(ByVal hWnd As IntPtr) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function GetForegroundWindow() As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", EntryPoint:="GetWindowTextLengthA")> _
|
||||
Public Shared Function GetWindowTextLength(ByVal hWnd As IntPtr) As Long
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function IsIconic(ByVal hWnd As IntPtr) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function GetSystemMenu(ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
#Region "Functions"
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function AppendMenu(ByVal hMenu As IntPtr, ByVal uFlags As Int32, ByVal uIDNewItem As IntPtr, ByVal lpNewItem As String) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
Public Shared Function InsertMenu(ByVal hMenu As IntPtr, ByVal uPosition As Integer, ByVal uFlags As Integer, ByVal uIDNewItem As IntPtr, ByVal lpNewItem As String) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
Public Shared Function SetMenuItemBitmaps(ByVal hMenu As IntPtr, ByVal uPosition As Integer, ByVal uFlags As Integer, ByVal hBitmapUnchecked As IntPtr, ByVal hBitmapChecked As IntPtr) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function CreatePopupMenu() As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function FindWindowEx(ByVal parentHandle As IntPtr, ByVal childAfter As IntPtr, ByVal lclassName As String, ByVal windowTitle As String) As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function GetForegroundWindow() As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function GetSystemMenu(ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function InsertMenu(ByVal hMenu As IntPtr, ByVal uPosition As Integer, ByVal uFlags As Integer, ByVal uIDNewItem As IntPtr, ByVal lpNewItem As String) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function IsIconic(ByVal hWnd As IntPtr) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function MoveWindow(ByVal hWnd As IntPtr, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal repaint As Boolean) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As Integer, ByVal lParam As Integer) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wparam As Integer, ByVal lparam As Integer) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
Public Shared Function MapVirtualKey(ByVal wCode As Integer, ByVal wMapType As Integer) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("User32")> _
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SetClipboardViewer(ByVal hWndNewViewer As IntPtr) As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("User32")> _
|
||||
Public Shared Function SendMessage(ByVal Handle As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SetForegroundWindow(ByVal hWnd As IntPtr) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
Public Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Long
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SetMenuItemBitmaps(ByVal hMenu As IntPtr, ByVal uPosition As Integer, ByVal uFlags As Integer, ByVal hBitmapUnchecked As IntPtr, ByVal hBitmapChecked As IntPtr) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SetParent(ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Long
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As Long) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function ShowWindow(ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function WindowFromPoint(ByVal point As Point) As IntPtr
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
#Region "Structures"
|
||||
<StructLayout(LayoutKind.Sequential)> _
|
||||
Public Structure WINDOWPOS
|
||||
Public hwnd As IntPtr
|
||||
Public hwndInsertAfter As IntPtr
|
||||
Public x As Integer
|
||||
Public y As Integer
|
||||
Public cx As Integer
|
||||
Public cy As Integer
|
||||
Public flags As Integer
|
||||
End Structure
|
||||
#End Region
|
||||
|
||||
#Region "Helpers"
|
||||
Public Shared Function MAKELONG(ByRef wLow As Int32, ByRef wHigh As Int32) As Int32
|
||||
Return wLow Or wHigh << 16
|
||||
End Function
|
||||
|
||||
Public Shared Function MAKELPARAM(ByRef wLow As Int32, ByRef wHigh As Int32) As Int32
|
||||
Return MAKELONG(wLow, wHigh)
|
||||
End Function
|
||||
|
||||
Public Shared Function LOWORD(ByRef value As Int32) As Int32
|
||||
Return value And &HFFFF
|
||||
End Function
|
||||
|
||||
Public Shared Function LOWORD(ByRef value As IntPtr) As Int32
|
||||
Return LOWORD(value.ToInt32)
|
||||
End Function
|
||||
|
||||
Public Shared Function HIWORD(ByRef value As Int32) As Int32
|
||||
Return value >> 16
|
||||
End Function
|
||||
|
||||
Public Shared Function HIWORD(ByRef value As IntPtr) As Int32
|
||||
Return HIWORD(value.ToInt32)
|
||||
End Function
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "Constants"
|
||||
Public Const SWP_NOOWNERZORDER As Integer = 512
|
||||
Public Const SWP_NOREDRAW As Integer = 8
|
||||
Public Const SWP_NOZORDER As Integer = 4
|
||||
Public Const SWP_SHOWWINDOW As Integer = 64
|
||||
Public Const WS_EX_MDICHILD As Integer = 64
|
||||
Public Const SWP_FRAMECHANGED As Integer = 32
|
||||
Public Const SWP_NOACTIVATE As Integer = 16
|
||||
Public Const SWP_ASYNCWINDOWPOS As Integer = 16384
|
||||
Public Const SWP_NOMOVE As Integer = 2
|
||||
Public Const SWP_NOSIZE As Integer = 1
|
||||
' GetWindowLong
|
||||
Public Const GWL_STYLE As Integer = (-16)
|
||||
Public Const WS_VISIBLE As Integer = 268435456
|
||||
Public Const WM_CLOSE As Integer = 16
|
||||
Public Const WS_CHILD As Integer = 1073741824
|
||||
Public Const WS_MAXIMIZE As Integer = 16777216
|
||||
|
||||
' AppendMenu / ModifyMenu / DeleteMenu / RemoveMenu
|
||||
Public Const MF_BYCOMMAND As Integer = &H0
|
||||
Public Const MF_BYPOSITION As Integer = &H400
|
||||
Public Const MF_STRING As Integer = &H0
|
||||
Public Const MF_POPUP As Integer = &H10
|
||||
Public Const MF_SEPARATOR As Integer = &H800
|
||||
|
||||
' WM_LBUTTONDOWN / WM_LBUTTONUP
|
||||
Public Const MK_LBUTTON As Integer = &H1
|
||||
|
||||
' ShowWindow
|
||||
Public Const SW_SHOWMAXIMIZED As Integer = 3
|
||||
Public Const SW_RESTORE As Integer = 9
|
||||
|
||||
Public Const MF_STRING As Integer = &H0
|
||||
Public Const MF_SEPARATOR As Integer = &H800&
|
||||
Public Const MF_BYCOMMAND As Integer = &H0
|
||||
Public Const MF_BYPOSITION As Integer = &H400
|
||||
Public Const MF_POPUP As Integer = &H10
|
||||
' SetWindowPos / WM_WINDOWPOSCHANGING / WM_WINDOWPOSCHANGED
|
||||
Public Const SWP_NOSIZE As Integer = &H1
|
||||
Public Const SWP_NOMOVE As Integer = &H2
|
||||
Public Const SWP_NOZORDER As Integer = &H4
|
||||
Public Const SWP_NOREDRAW As Integer = &H8
|
||||
Public Const SWP_NOACTIVATE As Integer = &H10
|
||||
Public Const SWP_DRAWFRAME As Integer = &H20
|
||||
Public Const SWP_FRAMECHANGED As Integer = &H20
|
||||
Public Const SWP_SHOWWINDOW As Integer = &H40
|
||||
Public Const SWP_HIDEWINDOW As Integer = &H80
|
||||
Public Const SWP_NOCOPYBITS As Integer = &H100
|
||||
Public Const SWP_NOOWNERZORDER As Integer = &H200
|
||||
Public Const SWP_NOSENDCHANGING As Integer = &H400
|
||||
Public Const SWP_NOCLIENTSIZE As Integer = &H800
|
||||
Public Const SWP_NOCLIENTMOVE As Integer = &H1000
|
||||
Public Const SWP_DEFERERASE As Integer = &H2000
|
||||
Public Const SWP_ASYNCWINDOWPOS As Integer = &H4000
|
||||
Public Const SWP_STATECHANGED As Integer = &H8000
|
||||
|
||||
' WM_ACTIVATE
|
||||
Public Const WA_INACTIVE As Integer = &H0
|
||||
Public Const WA_ACTIVE As Integer = &H1
|
||||
Public Const WA_CLICKACTIVE As Integer = &H2
|
||||
|
||||
' Window Messages
|
||||
Public Const WM_CREATE As Integer = &H1
|
||||
Public Const WM_DESTROY As Integer = &H2
|
||||
Public Const WM_ACTIVATE As Integer = &H6
|
||||
Public Const WM_GETTEXT As Integer = &HD
|
||||
Public Const WM_CLOSE As Integer = &H10
|
||||
Public Const WM_ACTIVATEAPP As Integer = &H1C
|
||||
Public Const WM_MOUSEACTIVATE As Integer = &H21
|
||||
Public Const WM_WINDOWPOSCHANGED As Integer = &H47
|
||||
|
||||
Public Const WM_KEYDOWN As Integer = &H100
|
||||
Public Const WM_KEYUP As Integer = &H101
|
||||
Public Const WM_SYSCOMMAND As Integer = &H112
|
||||
|
||||
Public Const WM_MOUSEMOVE As Integer = &H200
|
||||
Public Const WM_LBUTTONDOWN As Integer = &H201
|
||||
Public Const WM_LBUTTONUP As Integer = &H202
|
||||
Public Const WM_RBUTTONDOWN As Integer = &H204
|
||||
Public Const WM_RBUTTONUP As Integer = &H205
|
||||
Public Const WM_MBUTTONDOWN As Integer = &H207
|
||||
Public Const WM_MBUTTONUP As Integer = &H208
|
||||
Public Const WM_XBUTTONDOWN As Integer = &H20B
|
||||
Public Const WM_XBUTTONUP As Integer = &H20C
|
||||
Public Const WM_PARENTNOTIFY As Integer = &H210
|
||||
Public Const WM_ENTERSIZEMOVE As Integer = &H231
|
||||
Public Const WM_EXITSIZEMOVE As Integer = &H232
|
||||
Public Const WM_DRAWCLIPBOARD As Integer = &H308
|
||||
Public Const WM_CHANGECBCHAIN As Integer = &H30D
|
||||
|
||||
Public Const WM_KEYDOWN As Integer = &H100
|
||||
Public Const WM_KEYUP As Integer = &H101
|
||||
' Window Styles
|
||||
Public Const WS_MAXIMIZE As Integer = &H1000000
|
||||
Public Const WS_VISIBLE As Integer = &H10000000
|
||||
Public Const WS_CHILD As Integer = &H40000000
|
||||
Public Const WS_EX_MDICHILD As Integer = &H40
|
||||
|
||||
' Virtual Key Codes
|
||||
Public Const VK_CONTROL As Integer = &H11
|
||||
Public Const VK_C As Integer = &H67
|
||||
|
||||
Public Const WM_DRAWCLIPBOARD As Integer = 776
|
||||
Public Const WM_CHANGECBCHAIN As Integer = 781
|
||||
#End Region
|
||||
End Class
|
||||
End Namespace
|
||||
File diff suppressed because it is too large
Load Diff
@@ -55,7 +55,7 @@
|
||||
|
||||
Public Shared ReadOnly Property CultureNativeNames() As List(Of String)
|
||||
Get
|
||||
Dim ValueList As List(Of String) = New List(Of String)
|
||||
Dim ValueList As New List(Of String)
|
||||
For Each Value As String In _Instance.Values
|
||||
ValueList.Add(Value)
|
||||
Next
|
||||
|
||||
@@ -27,10 +27,8 @@ Namespace App
|
||||
Dim uI As Info = GetUpdateInfo()
|
||||
|
||||
Return uI.InfoOk
|
||||
|
||||
uI = Nothing
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "IsProxyOK (App.Update) failed" & vbNewLine & ex.Message, False)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "IsProxyOK (App.Update) failed" & vbNewLine & ex.Message, False)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -49,7 +47,7 @@ Namespace App
|
||||
Return False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "IsUpdateAvailable failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "IsUpdateAvailable failed" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -99,7 +97,7 @@ Namespace App
|
||||
Dim strImgURLLink As String = strUpdate.Substring(strUpdate.IndexOf("imgURLLink: ") + 12, strUpdate.IndexOf(vbNewLine) - 12)
|
||||
uI.ImageURLLink = strImgURLLink
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Update Image Info could not be read." & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Update Image Info could not be read." & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
Catch ex As Exception
|
||||
uI.InfoOk = False
|
||||
@@ -111,7 +109,7 @@ Namespace App
|
||||
_curUI = uI
|
||||
Return uI
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Getting update info failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Getting update info failed" & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
@@ -125,10 +123,10 @@ Namespace App
|
||||
|
||||
_curUI.UpdateLocation = My.Computer.FileSystem.SpecialDirectories.Temp & "\mRemote_Update.exe"
|
||||
wCl.DownloadFileAsync(New Uri(dURL), _curUI.UpdateLocation)
|
||||
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Update download failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Update download failed" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -166,7 +164,7 @@ Namespace App
|
||||
|
||||
Return strTemp
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "GetUpdateFile failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "GetUpdateFile failed" & vbNewLine & ex.Message, True)
|
||||
Return ""
|
||||
End Try
|
||||
End Function
|
||||
@@ -186,7 +184,7 @@ Namespace App
|
||||
RaiseEvent DownloadCompleted(sender, e, False)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "DLCompleted failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "DLCompleted failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -63,6 +63,5 @@
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
|
||||
|
||||
@@ -182,7 +182,7 @@ Namespace Config
|
||||
#Region "SQL"
|
||||
Private Sub LoadFromSQL()
|
||||
Try
|
||||
App.Runtime.ConnectionsFileLoaded = False
|
||||
App.Runtime.IsConnectionsFileLoaded = False
|
||||
|
||||
If _SQLUsername <> "" Then
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & _SQLDatabaseName & ";User Id=" & _SQLUsername & ";Password=" & _SQLPassword)
|
||||
@@ -206,8 +206,7 @@ Namespace Config
|
||||
sqlRd.Read()
|
||||
End If
|
||||
|
||||
Dim enCulture As CultureInfo = New CultureInfo("en-US")
|
||||
Me.confVersion = Convert.ToDouble(sqlRd.Item("confVersion"), enCulture)
|
||||
Me.confVersion = Convert.ToDouble(sqlRd.Item("confVersion"), CultureInfo.InvariantCulture)
|
||||
|
||||
Dim rootNode As TreeNode
|
||||
rootNode = New TreeNode(sqlRd.Item("Name"))
|
||||
@@ -238,7 +237,7 @@ Namespace Config
|
||||
|
||||
' SECTION 3. Populate the TreeView with the DOM nodes.
|
||||
AddNodesFromSQL(rootNode)
|
||||
'AddNodeFromXML(xDom.DocumentElement, Me._RootTreeNode)
|
||||
'AddNodeFromXml(xDom.DocumentElement, Me._RootTreeNode)
|
||||
|
||||
rootNode.Expand()
|
||||
|
||||
@@ -264,12 +263,12 @@ Namespace Config
|
||||
AddNodeToTree(rootNode)
|
||||
SetSelectedNode(selNode)
|
||||
|
||||
App.Runtime.ConnectionsFileLoaded = True
|
||||
App.Runtime.IsConnectionsFileLoaded = True
|
||||
'App.Runtime.Windows.treeForm.InitialRefresh()
|
||||
|
||||
sqlCon.Close()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strLoadFromSqlFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strLoadFromSqlFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -315,7 +314,7 @@ Namespace Config
|
||||
If Tree.Node.GetNodeTypeFromString(sqlRd.Item("Type")) = Tree.Node.Type.Connection Then
|
||||
Dim conI As Connection.Info = GetConnectionInfoFromSQL()
|
||||
conI.TreeNode = tNode
|
||||
'conI.Parent = prevCont 'NEW
|
||||
'conI.Parent = _previousContainer 'NEW
|
||||
|
||||
Me._ConnectionList.Add(conI)
|
||||
|
||||
@@ -356,7 +355,7 @@ Namespace Config
|
||||
' contI.Parent = tNode.Parent.Tag
|
||||
' End If
|
||||
'End If
|
||||
'prevCont = contI 'NEW
|
||||
'_previousContainer = contI 'NEW
|
||||
contI.TreeNode = tNode
|
||||
|
||||
contI.Name = sqlRd.Item("Name")
|
||||
@@ -415,7 +414,7 @@ Namespace Config
|
||||
'AddNodesFromSQL(tNode)
|
||||
End While
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strAddNodesFromSqlFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strAddNodesFromSqlFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -560,6 +559,11 @@ Namespace Config
|
||||
conI.Inherit.EnableDesktopComposition = .Item("InheritEnableDesktopComposition")
|
||||
End If
|
||||
|
||||
If confVersion >= 2.4 Then
|
||||
conI.UseCredSsp = .Item("UseCredSsp")
|
||||
conI.Inherit.UseCredSsp = .Item("InheritUseCredSsp")
|
||||
End If
|
||||
|
||||
If SQLUpdate = True Then
|
||||
conI.PleaseConnect = .Item("Connected")
|
||||
End If
|
||||
@@ -567,7 +571,7 @@ Namespace Config
|
||||
|
||||
Return conI
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strGetConnectionInfoFromSqlFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strGetConnectionInfoFromSqlFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
@@ -624,7 +628,7 @@ Namespace Config
|
||||
|
||||
Private Sub LoadFromXML(Optional ByVal cons As String = "")
|
||||
Try
|
||||
App.Runtime.ConnectionsFileLoaded = False
|
||||
App.Runtime.IsConnectionsFileLoaded = False
|
||||
|
||||
' SECTION 1. Create a DOM Document and load the XML data into it.
|
||||
Me.xDom = New XmlDocument()
|
||||
@@ -635,20 +639,21 @@ Namespace Config
|
||||
End If
|
||||
|
||||
If xDom.DocumentElement.HasAttribute("ConfVersion") Then
|
||||
Dim enCulture As System.Globalization.CultureInfo = New CultureInfo("en-US")
|
||||
Me.confVersion = Convert.ToDouble(xDom.DocumentElement.Attributes("ConfVersion").Value, enCulture)
|
||||
Me.confVersion = Convert.ToDouble(xDom.DocumentElement.Attributes("ConfVersion").Value.Replace(",", "."), CultureInfo.InvariantCulture)
|
||||
Else
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, My.Resources.strOldConffile)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, My.Language.strOldConffile)
|
||||
End If
|
||||
|
||||
' SECTION 2. Initialize the treeview control.
|
||||
Dim rootNode As TreeNode
|
||||
|
||||
Try
|
||||
rootNode = New TreeNode(xDom.DocumentElement.Attributes("Name").Value)
|
||||
Catch ex As Exception
|
||||
Dim rootNodeName As String = ""
|
||||
If xDom.DocumentElement.HasAttribute("Name") Then rootNodeName = xDom.DocumentElement.Attributes("Name").Value.Trim()
|
||||
If Not String.IsNullOrEmpty(rootNodeName) Then
|
||||
rootNode = New TreeNode(rootNodeName)
|
||||
Else
|
||||
rootNode = New TreeNode(xDom.DocumentElement.Name)
|
||||
End Try
|
||||
End If
|
||||
|
||||
Dim rInfo As New Root.Info(Root.Info.RootType.Connection)
|
||||
rInfo.Name = rootNode.Text
|
||||
@@ -661,7 +666,7 @@ Namespace Config
|
||||
If Authenticate(xDom.DocumentElement.Attributes("Protected").Value, False, rInfo) = False Then
|
||||
My.Settings.LoadConsFromCustomLocation = False
|
||||
My.Settings.CustomConsPath = ""
|
||||
rootNode.Remove()
|
||||
_RootTreeNode.Remove()
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
@@ -676,7 +681,7 @@ Namespace Config
|
||||
End If
|
||||
|
||||
If Me._Import = True And imp = False Then
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, My.Resources.strCannotImportNormalSessionFile)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, My.Language.strCannotImportNormalSessionFile)
|
||||
|
||||
Exit Sub
|
||||
End If
|
||||
@@ -711,87 +716,89 @@ Namespace Config
|
||||
|
||||
Me._RootTreeNode.EnsureVisible()
|
||||
|
||||
App.Runtime.ConnectionsFileLoaded = True
|
||||
|
||||
App.Runtime.IsConnectionsFileLoaded = True
|
||||
App.Runtime.Windows.treeForm.InitialRefresh()
|
||||
Catch ex As Exception
|
||||
App.Runtime.ConnectionsFileLoaded = False
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strLoadFromXmlFailed & vbNewLine & ex.Message, True)
|
||||
App.Runtime.IsConnectionsFileLoaded = False
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strLoadFromXmlFailed & vbNewLine & ex.Message & vbNewLine & ex.StackTrace, True)
|
||||
Throw
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private prevCont As Container.Info
|
||||
Private Sub AddNodeFromXML(ByRef inXmlNode As XmlNode, ByRef inTreeNode As TreeNode)
|
||||
Private _previousContainer As Container.Info
|
||||
Private Sub AddNodeFromXml(ByRef parentXmlNode As XmlNode, ByRef parentTreeNode As TreeNode)
|
||||
Try
|
||||
Dim i As Integer
|
||||
|
||||
Dim xNode As XmlNode
|
||||
Dim xNodeList As XmlNodeList
|
||||
Dim tNode As TreeNode
|
||||
|
||||
' Loop through the XML nodes until the leaf is reached.
|
||||
' Add the nodes to the TreeView during the looping process.
|
||||
If inXmlNode.HasChildNodes() Then
|
||||
xNodeList = inXmlNode.ChildNodes
|
||||
For i = 0 To xNodeList.Count - 1
|
||||
xNode = xNodeList(i)
|
||||
inTreeNode.Nodes.Add(New TreeNode(xNode.Attributes("Name").Value))
|
||||
tNode = inTreeNode.Nodes(i)
|
||||
If parentXmlNode.HasChildNodes() Then
|
||||
For Each xmlNode As XmlNode In parentXmlNode.ChildNodes
|
||||
Dim treeNode As TreeNode = New TreeNode(xmlNode.Attributes("Name").Value)
|
||||
parentTreeNode.Nodes.Add(TreeNode)
|
||||
|
||||
If Tree.Node.GetNodeTypeFromString(xNode.Attributes("Type").Value) = Tree.Node.Type.Connection Then 'connection info
|
||||
Dim conI As Connection.Info = GetConnectionInfoFromXml(xNode)
|
||||
conI.TreeNode = tNode
|
||||
conI.Parent = prevCont 'NEW
|
||||
If Tree.Node.GetNodeTypeFromString(xmlNode.Attributes("Type").Value) = Tree.Node.Type.Connection Then 'connection info
|
||||
Dim connectionInfo As Connection.Info = GetConnectionInfoFromXml(xmlNode)
|
||||
connectionInfo.TreeNode = treeNode
|
||||
connectionInfo.Parent = _previousContainer 'NEW
|
||||
|
||||
Me._ConnectionList.Add(conI)
|
||||
ConnectionList.Add(connectionInfo)
|
||||
|
||||
tNode.Tag = conI
|
||||
tNode.ImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
tNode.SelectedImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
ElseIf Tree.Node.GetNodeTypeFromString(xNode.Attributes("Type").Value) = Tree.Node.Type.Container Then 'container info
|
||||
Dim contI As New Container.Info
|
||||
If tNode.Parent IsNot Nothing Then
|
||||
If Tree.Node.GetNodeType(tNode.Parent) = Tree.Node.Type.Container Then
|
||||
contI.Parent = tNode.Parent.Tag
|
||||
treeNode.Tag = connectionInfo
|
||||
treeNode.ImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
treeNode.SelectedImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
ElseIf Tree.Node.GetNodeTypeFromString(xmlNode.Attributes("Type").Value) = Tree.Node.Type.Container Then 'container info
|
||||
Dim containerInfo As New Container.Info
|
||||
If treeNode.Parent IsNot Nothing Then
|
||||
If Tree.Node.GetNodeType(treeNode.Parent) = Tree.Node.Type.Container Then
|
||||
containerInfo.Parent = treeNode.Parent.Tag
|
||||
End If
|
||||
End If
|
||||
prevCont = contI 'NEW
|
||||
contI.TreeNode = tNode
|
||||
_previousContainer = containerInfo 'NEW
|
||||
containerInfo.TreeNode = treeNode
|
||||
|
||||
contI.Name = xNode.Attributes("Name").Value
|
||||
containerInfo.Name = xmlNode.Attributes("Name").Value
|
||||
|
||||
If Me.confVersion > 0.7 Then '0.8
|
||||
If xNode.Attributes("Expanded").Value = "True" Then
|
||||
contI.IsExpanded = True
|
||||
If confVersion >= 0.8 Then
|
||||
If xmlNode.Attributes("Expanded").Value = "True" Then
|
||||
containerInfo.IsExpanded = True
|
||||
Else
|
||||
contI.IsExpanded = False
|
||||
containerInfo.IsExpanded = False
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim conI As Connection.Info
|
||||
If Me.confVersion > 0.8 Then '0.9
|
||||
conI = GetConnectionInfoFromXml(xNode)
|
||||
Dim connectionInfo As Connection.Info
|
||||
If confVersion >= 0.9 Then
|
||||
connectionInfo = GetConnectionInfoFromXml(xmlNode)
|
||||
Else
|
||||
conI = New Connection.Info
|
||||
connectionInfo = New Connection.Info
|
||||
End If
|
||||
|
||||
conI.Parent = contI
|
||||
conI.IsContainer = True
|
||||
contI.ConnectionInfo = conI
|
||||
connectionInfo.Parent = containerInfo
|
||||
connectionInfo.IsContainer = True
|
||||
containerInfo.ConnectionInfo = connectionInfo
|
||||
|
||||
Me._ContainerList.Add(contI)
|
||||
ContainerList.Add(containerInfo)
|
||||
|
||||
tNode.Tag = contI
|
||||
tNode.ImageIndex = Images.Enums.TreeImage.Container
|
||||
tNode.SelectedImageIndex = Images.Enums.TreeImage.Container
|
||||
treeNode.Tag = containerInfo
|
||||
treeNode.ImageIndex = Images.Enums.TreeImage.Container
|
||||
treeNode.SelectedImageIndex = Images.Enums.TreeImage.Container
|
||||
End If
|
||||
|
||||
AddNodeFromXML(xNode, tNode)
|
||||
AddNodeFromXml(xmlNode, treeNode)
|
||||
Next
|
||||
Else
|
||||
inTreeNode.Text = inXmlNode.Attributes("Name").Value.Trim
|
||||
Dim nodeName As String = ""
|
||||
Dim nameAttribute As XmlAttribute = parentXmlNode.Attributes("Name")
|
||||
If Not IsNothing(nameAttribute) Then nodeName = nameAttribute.Value.Trim()
|
||||
If Not String.IsNullOrEmpty(nodeName) Then
|
||||
parentTreeNode.Text = nodeName
|
||||
Else
|
||||
parentTreeNode.Text = parentXmlNode.Name
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strAddNodeFromXmlFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strAddNodeFromXmlFailed & vbNewLine & ex.Message & ex.StackTrace, True)
|
||||
Throw
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -931,7 +938,7 @@ Namespace Config
|
||||
conI.Inherit = New Connection.Info.Inheritance(conI, .Attributes("Inherit").Value)
|
||||
|
||||
conI.Icon = .Attributes("Icon").Value.Replace(".ico", "")
|
||||
conI.Panel = My.Resources.strGeneral
|
||||
conI.Panel = My.Language.strGeneral
|
||||
End If
|
||||
|
||||
If Me.confVersion > 1.4 Then '1.5
|
||||
@@ -1025,9 +1032,14 @@ Namespace Config
|
||||
conI.Inherit.EnableFontSmoothing = .Attributes("InheritEnableFontSmoothing").Value
|
||||
conI.Inherit.EnableDesktopComposition = .Attributes("InheritEnableDesktopComposition").Value
|
||||
End If
|
||||
|
||||
If confVersion >= 2.4 Then
|
||||
conI.UseCredSsp = .Attributes("UseCredSsp").Value
|
||||
conI.Inherit.UseCredSsp = .Attributes("InheritUseCredSsp").Value
|
||||
End If
|
||||
End With
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, String.Format(My.Resources.strGetConnectionInfoFromXmlFailed, conI.Name, Me.ConnectionFileName, ex.Message), False)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, String.Format(My.Language.strGetConnectionInfoFromXmlFailed, conI.Name, Me.ConnectionFileName, ex.Message), False)
|
||||
End Try
|
||||
Return conI
|
||||
End Function
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -84,11 +84,11 @@ Namespace Config
|
||||
If My.Settings.UseCustomPuttyPath Then
|
||||
Connection.Protocol.PuttyBase.PuttyPath = My.Settings.CustomPuttyPath
|
||||
Else
|
||||
Connection.Protocol.PuttyBase.PuttyPath = My.Application.Info.DirectoryPath & "\Putty.exe"
|
||||
Connection.Protocol.PuttyBase.PuttyPath = My.Application.Info.DirectoryPath & "\PuTTYNG.exe"
|
||||
End If
|
||||
|
||||
If My.Settings.ShowSystemTrayIcon Then
|
||||
App.Runtime.SysTrayIcon = New Tools.Controls.SysTrayIcon()
|
||||
App.Runtime.NotificationAreaIcon = New Tools.Controls.NotificationAreaIcon()
|
||||
End If
|
||||
|
||||
If My.Settings.AutoSaveEveryMinutes > 0 Then
|
||||
@@ -101,6 +101,10 @@ Namespace Config
|
||||
Me.LoadPanelsFromXML()
|
||||
Me.LoadExternalAppsFromXML()
|
||||
|
||||
If My.Settings.AlwaysShowPanelTabs Then
|
||||
frmMain.pnlDock.DocumentStyle = DocumentStyle.DockingWindow
|
||||
End If
|
||||
|
||||
If My.Settings.ResetToolbars = False Then
|
||||
LoadToolbarsFromSettings()
|
||||
Else
|
||||
@@ -117,8 +121,8 @@ Namespace Config
|
||||
With MainForm
|
||||
ToolStripPanelFromString("top").Join(.tsQuickConnect, New Point(300, 0))
|
||||
.tsQuickConnect.Visible = True
|
||||
ToolStripPanelFromString("bottom").Join(.tsExtAppsToolbar, New Point(3, 0))
|
||||
.tsExtAppsToolbar.Visible = False
|
||||
ToolStripPanelFromString("bottom").Join(.tsExternalTools, New Point(3, 0))
|
||||
.tsExternalTools.Visible = False
|
||||
End With
|
||||
End Sub
|
||||
|
||||
@@ -143,8 +147,8 @@ Namespace Config
|
||||
|
||||
Private Sub AddDynamicPanels()
|
||||
With MainForm
|
||||
ToolStripPanelFromString(My.Settings.ExtAppsTBParentDock).Join(.tsExtAppsToolbar, My.Settings.ExtAppsTBLocation)
|
||||
.tsExtAppsToolbar.Visible = My.Settings.ExtAppsTBVisible
|
||||
ToolStripPanelFromString(My.Settings.ExtAppsTBParentDock).Join(.tsExternalTools, My.Settings.ExtAppsTBLocation)
|
||||
.tsExternalTools.Visible = My.Settings.ExtAppsTBVisible
|
||||
End With
|
||||
End Sub
|
||||
|
||||
@@ -210,7 +214,7 @@ Namespace Config
|
||||
End If
|
||||
|
||||
For Each xEl As XmlElement In xDom.DocumentElement.ChildNodes
|
||||
Dim extA As New Tools.ExternalApp
|
||||
Dim extA As New Tools.ExternalTool
|
||||
extA.DisplayName = xEl.Attributes("DisplayName").Value
|
||||
extA.FileName = xEl.Attributes("FileName").Value
|
||||
extA.Arguments = xEl.Attributes("Arguments").Value
|
||||
@@ -223,14 +227,14 @@ Namespace Config
|
||||
extA.TryIntegrate = xEl.Attributes("TryToIntegrate").Value
|
||||
End If
|
||||
|
||||
ExtApps.Add(extA)
|
||||
ExternalTools.Add(extA)
|
||||
Next
|
||||
|
||||
MainForm.SwitchToolbarText(My.Settings.ExtAppsTBShowText)
|
||||
MainForm.SwitchToolBarText(My.Settings.ExtAppsTBShowText)
|
||||
|
||||
xDom = Nothing
|
||||
|
||||
frmMain.AddExtAppsToToolbar()
|
||||
frmMain.AddExternalToolsToToolBar()
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
|
||||
@@ -63,12 +63,12 @@ Namespace Config
|
||||
|
||||
Public Overrides Function GetPropertyValues(ByVal context As SettingsContext, ByVal props As SettingsPropertyCollection) As SettingsPropertyValueCollection
|
||||
'Create new collection of values
|
||||
Dim values As SettingsPropertyValueCollection = New SettingsPropertyValueCollection()
|
||||
Dim values As New SettingsPropertyValueCollection()
|
||||
|
||||
'Iterate through the settings to be retrieved
|
||||
For Each setting As SettingsProperty In props
|
||||
|
||||
Dim value As SettingsPropertyValue = New SettingsPropertyValue(setting)
|
||||
Dim value As New SettingsPropertyValue(setting)
|
||||
value.IsDirty = False
|
||||
value.SerializedValue = GetValue(setting)
|
||||
values.Add(value)
|
||||
|
||||
@@ -1,32 +1,15 @@
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Xml
|
||||
Imports System.IO
|
||||
Imports mRemoteNG.Tools.WindowPlacement
|
||||
|
||||
Namespace Config
|
||||
Namespace Settings
|
||||
Public Class Save
|
||||
#Region "Public Properties"
|
||||
Private _MainForm As frmMain
|
||||
Public Property MainForm() As frmMain
|
||||
Get
|
||||
Return Me._MainForm
|
||||
End Get
|
||||
Set(ByVal value As frmMain)
|
||||
Me._MainForm = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
#Region "Public Methods"
|
||||
Public Sub New(ByVal MainForm As frmMain)
|
||||
Me._MainForm = MainForm
|
||||
End Sub
|
||||
|
||||
Public Sub Save()
|
||||
Try
|
||||
With Me._MainForm
|
||||
Dim windowPlacement As New Tools.WindowPlacement(_MainForm)
|
||||
With frmMain
|
||||
Dim windowPlacement As New Tools.WindowPlacement(frmMain)
|
||||
If .WindowState = FormWindowState.Minimized And windowPlacement.RestoreToMaximized Then
|
||||
.Opacity = 0
|
||||
.WindowState = FormWindowState.Maximized
|
||||
@@ -49,11 +32,11 @@ Namespace Config
|
||||
My.Settings.ResetToolbars = False
|
||||
My.Settings.NoReconnect = False
|
||||
|
||||
My.Settings.ExtAppsTBLocation = .tsExtAppsToolbar.Location
|
||||
If .tsExtAppsToolbar.Parent IsNot Nothing Then
|
||||
My.Settings.ExtAppsTBParentDock = .tsExtAppsToolbar.Parent.Dock.ToString
|
||||
My.Settings.ExtAppsTBLocation = .tsExternalTools.Location
|
||||
If .tsExternalTools.Parent IsNot Nothing Then
|
||||
My.Settings.ExtAppsTBParentDock = .tsExternalTools.Parent.Dock.ToString
|
||||
End If
|
||||
My.Settings.ExtAppsTBVisible = .tsExtAppsToolbar.Visible
|
||||
My.Settings.ExtAppsTBVisible = .tsExternalTools.Visible
|
||||
My.Settings.ExtAppsTBShowText = .cMenToolbarShowText.Checked
|
||||
|
||||
My.Settings.QuickyTBLocation = .tsQuickConnect.Location
|
||||
@@ -62,12 +45,7 @@ Namespace Config
|
||||
End If
|
||||
My.Settings.QuickyTBVisible = .tsQuickConnect.Visible
|
||||
|
||||
If App.Editions.Spanlink.Enabled = False Then
|
||||
My.Settings.ConDefaultPassword = Security.Crypt.Encrypt(My.Settings.ConDefaultPassword, App.Info.General.EncryptionKey)
|
||||
Else
|
||||
My.Settings.LoadConsFromCustomLocation = False
|
||||
My.Settings.CustomConsPath = ""
|
||||
End If
|
||||
My.Settings.ConDefaultPassword = Security.Crypt.Encrypt(My.Settings.ConDefaultPassword, App.Info.General.EncryptionKey)
|
||||
|
||||
My.Settings.Save()
|
||||
End With
|
||||
@@ -75,7 +53,7 @@ Namespace Config
|
||||
Me.SavePanelsToXML()
|
||||
Me.SaveExternalAppsToXML()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Saving settings failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Saving settings failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -85,9 +63,9 @@ Namespace Config
|
||||
Directory.CreateDirectory(App.Info.Settings.SettingsPath)
|
||||
End If
|
||||
|
||||
MainForm.pnlDock.SaveAsXml(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName)
|
||||
frmMain.pnlDock.SaveAsXml(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "SavePanelsToXML failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "SavePanelsToXML failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -97,29 +75,29 @@ Namespace Config
|
||||
Directory.CreateDirectory(App.Info.Settings.SettingsPath)
|
||||
End If
|
||||
|
||||
Dim xW As New XmlTextWriter(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName, System.Text.Encoding.UTF8)
|
||||
xW.Formatting = Formatting.Indented
|
||||
xW.Indentation = 4
|
||||
Dim xmlTextWriter As New XmlTextWriter(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName, System.Text.Encoding.UTF8)
|
||||
xmlTextWriter.Formatting = Formatting.Indented
|
||||
xmlTextWriter.Indentation = 4
|
||||
|
||||
xW.WriteStartDocument()
|
||||
xW.WriteStartElement("Apps")
|
||||
xmlTextWriter.WriteStartDocument()
|
||||
xmlTextWriter.WriteStartElement("Apps")
|
||||
|
||||
For Each extA As Tools.ExternalApp In ExtApps
|
||||
xW.WriteStartElement("App")
|
||||
xW.WriteAttributeString("DisplayName", "", extA.DisplayName)
|
||||
xW.WriteAttributeString("FileName", "", extA.FileName)
|
||||
xW.WriteAttributeString("Arguments", "", extA.Arguments)
|
||||
xW.WriteAttributeString("WaitForExit", "", extA.WaitForExit)
|
||||
xW.WriteAttributeString("TryToIntegrate", "", extA.TryIntegrate)
|
||||
xW.WriteEndElement()
|
||||
For Each extA As Tools.ExternalTool In ExternalTools
|
||||
xmlTextWriter.WriteStartElement("App")
|
||||
xmlTextWriter.WriteAttributeString("DisplayName", "", extA.DisplayName)
|
||||
xmlTextWriter.WriteAttributeString("FileName", "", extA.FileName)
|
||||
xmlTextWriter.WriteAttributeString("Arguments", "", extA.Arguments)
|
||||
xmlTextWriter.WriteAttributeString("WaitForExit", "", extA.WaitForExit)
|
||||
xmlTextWriter.WriteAttributeString("TryToIntegrate", "", extA.TryIntegrate)
|
||||
xmlTextWriter.WriteEndElement()
|
||||
Next
|
||||
|
||||
xW.WriteEndElement()
|
||||
xW.WriteEndDocument()
|
||||
xmlTextWriter.WriteEndElement()
|
||||
xmlTextWriter.WriteEndDocument()
|
||||
|
||||
xW.Close()
|
||||
xmlTextWriter.Close()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "SaveExternalAppsToXML failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "SaveExternalAppsToXML failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -29,7 +29,7 @@ Namespace Connection
|
||||
Return nI
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't get Icon from String" & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't get Icon from String" & vbNewLine & ex.Message)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
|
||||
@@ -8,7 +8,7 @@ Namespace Connection
|
||||
Public Class Info
|
||||
#Region "Properties"
|
||||
#Region "1 Display"
|
||||
Private _Name As String = My.Resources.strNewConnection
|
||||
Private _Name As String = My.Language.strNewConnection
|
||||
<LocalizedCategory("strCategoryDisplay", 1), _
|
||||
Browsable(True), _
|
||||
LocalizedDisplayName("strPropertyNameName"), _
|
||||
@@ -75,7 +75,7 @@ Namespace Connection
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _Panel As String = My.Resources.strGeneral
|
||||
Private _Panel As String = My.Language.strGeneral
|
||||
<LocalizedCategory("strCategoryDisplay", 1), _
|
||||
Browsable(True), _
|
||||
LocalizedDisplayName("strPropertyNamePanel"), _
|
||||
@@ -109,10 +109,10 @@ Namespace Connection
|
||||
LocalizedDescription("strPropertyDescriptionAddress")> _
|
||||
Public Property Hostname() As String
|
||||
Get
|
||||
Return Me._Hostname
|
||||
Return Me._Hostname.Trim()
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me._Hostname = value
|
||||
Me._Hostname = value.Trim()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -132,13 +132,13 @@ Namespace Connection
|
||||
parCon = parCont.ConnectionInfo
|
||||
End If
|
||||
|
||||
Return parCon.Username
|
||||
Return parCon.Username.Trim()
|
||||
Else
|
||||
Return Me._Username
|
||||
Return Me._Username.Trim()
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me._Username = value
|
||||
Me._Username = value.Trim()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -185,13 +185,13 @@ Namespace Connection
|
||||
parCon = parCont.ConnectionInfo
|
||||
End If
|
||||
|
||||
Return parCon.Domain
|
||||
Return parCon.Domain.Trim()
|
||||
Else
|
||||
Return Me._Domain
|
||||
Return Me._Domain.Trim()
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me._Domain = value
|
||||
Me._Domain = value.Trim()
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
@@ -410,6 +410,33 @@ Namespace Connection
|
||||
_RenderingEngine = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _useCredSsp As Boolean = My.Settings.ConDefaultUseCredSsp
|
||||
<LocalizedCategory("strCategoryProtocol", 3), _
|
||||
Browsable(True), _
|
||||
LocalizedDisplayName("strPropertyNameUseCredSsp"), _
|
||||
LocalizedDescription("strPropertyDescriptionUseCredSsp"), _
|
||||
TypeConverter(GetType(mRemoteNG.Tools.Misc.YesNoTypeConverter))> _
|
||||
Public Property UseCredSsp() As Boolean
|
||||
Get
|
||||
If Me._Inherit.UseCredSsp 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.UseCredSsp
|
||||
Else
|
||||
Return Me._useCredSsp
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me._useCredSsp = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
#Region "4 RD Gateway"
|
||||
Private _RDGatewayUsageMethod As mRemoteNG.Connection.Protocol.RDP.RDGatewayUsageMethod = Tools.Misc.StringToEnum(GetType(Connection.Protocol.RDP.RDGatewayUsageMethod), My.Settings.ConDefaultRDGatewayUsageMethod)
|
||||
@@ -455,13 +482,13 @@ Namespace Connection
|
||||
parCon = parCont.ConnectionInfo
|
||||
End If
|
||||
|
||||
Return parCon.RDGatewayHostname
|
||||
Return parCon.RDGatewayHostname.Trim()
|
||||
Else
|
||||
Return Me._RDGatewayHostname
|
||||
Return Me._RDGatewayHostname.Trim()
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me._RDGatewayHostname = value
|
||||
Me._RDGatewayHostname = value.Trim()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -508,13 +535,13 @@ Namespace Connection
|
||||
parCon = parCont.ConnectionInfo
|
||||
End If
|
||||
|
||||
Return parCon.RDGatewayUsername
|
||||
Return parCon.RDGatewayUsername.Trim()
|
||||
Else
|
||||
Return Me._RDGatewayUsername
|
||||
Return Me._RDGatewayUsername.Trim()
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me._RDGatewayUsername = value
|
||||
Me._RDGatewayUsername = value.Trim()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -561,13 +588,13 @@ Namespace Connection
|
||||
parCon = parCont.ConnectionInfo
|
||||
End If
|
||||
|
||||
Return parCon.RDGatewayDomain
|
||||
Return parCon.RDGatewayDomain.Trim()
|
||||
Else
|
||||
Return Me._RDGatewayDomain
|
||||
Return Me._RDGatewayDomain.Trim()
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me._RDGatewayDomain = value
|
||||
Me._RDGatewayDomain = value.Trim()
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
@@ -1038,7 +1065,7 @@ Namespace Connection
|
||||
LocalizedDisplayName("strPropertyNameCompression"), _
|
||||
LocalizedDescription("strPropertyDescriptionCompression"), _
|
||||
TypeConverter(GetType(Tools.Misc.EnumTypeConverter))> _
|
||||
Public Property VNCCompression() As mRemoteNG.Connection.Protocol.VNC.Compression
|
||||
Public Property VNCCompression() As mRemoteNG.Connection.Protocol.VNC.Compression
|
||||
Get
|
||||
If Me._Inherit.VNCCompression And Me._Parent IsNot Nothing Then
|
||||
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
|
||||
@@ -1252,7 +1279,7 @@ Namespace Connection
|
||||
LocalizedDisplayName("strPropertyNameColors"), _
|
||||
LocalizedDescription("strPropertyDescriptionColors"), _
|
||||
TypeConverter(GetType(Tools.Misc.EnumTypeConverter))> _
|
||||
Public Property VNCColors() As mRemoteNG.Connection.Protocol.VNC.Colors
|
||||
Public Property VNCColors() As mRemoteNG.Connection.Protocol.VNC.Colors
|
||||
Get
|
||||
If Me._Inherit.VNCColors And Me._Parent IsNot Nothing Then
|
||||
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
|
||||
@@ -1328,7 +1355,7 @@ Namespace Connection
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
Private _Inherit As Inheritance = New Inheritance(Me)
|
||||
Private _Inherit As New Inheritance(Me)
|
||||
<Category(""), _
|
||||
Browsable(False)> _
|
||||
Public Property Inherit() As Inheritance
|
||||
@@ -1451,7 +1478,9 @@ Namespace Connection
|
||||
|
||||
#Region "Methods"
|
||||
Public Function Copy() As Connection.Info
|
||||
Return Me.MemberwiseClone
|
||||
Dim newConnectionInfo As Connection.Info = MemberwiseClone()
|
||||
newConnectionInfo._OpenConnections = New Connection.Protocol.List
|
||||
Return newConnectionInfo
|
||||
End Function
|
||||
|
||||
Public Sub New()
|
||||
@@ -1499,7 +1528,7 @@ Namespace Connection
|
||||
Me._Port = Connection.Protocol.IntApp.Defaults.Port
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strConnectionSetDefaultPortFailed & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strConnectionSetDefaultPortFailed & vbNewLine & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -1548,6 +1577,7 @@ Namespace Connection
|
||||
Me._RedirectSound = val
|
||||
Me._Resolution = val
|
||||
Me._UseConsoleSession = val
|
||||
_useCredSsp = val
|
||||
Me._RenderingEngine = val
|
||||
Me._Username = val
|
||||
Me._Panel = val
|
||||
@@ -1617,7 +1647,7 @@ Namespace Connection
|
||||
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 _
|
||||
And Me._RedirectSmartCards And Me._RedirectSound And Me._Resolution And Me._UseConsoleSession And _useCredSsp _
|
||||
And Me._RenderingEngine And Me._UserField And Me._ExtApp And Me._Username And Me._Panel And Me._ICAEncryption And Me._RDPAuthenticationLevel And Me._PreExtApp And Me._PostExtApp _
|
||||
And Me._MacAddress And Me._VNCAuthMode And Me._VNCColors And Me._VNCCompression And Me._VNCEncoding And Me._VNCProxyIP _
|
||||
And Me._VNCProxyPassword And Me._VNCProxyPort And Me._VNCProxyType And Me._VNCProxyUsername Then
|
||||
@@ -1847,6 +1877,21 @@ Namespace Connection
|
||||
Me._UseConsoleSession = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _useCredSsp As Boolean = My.Settings.InhDefaultUseCredSsp
|
||||
<LocalizedCategory("strCategoryProtocol", 4), _
|
||||
Browsable(True), _
|
||||
LocalizedDisplayNameInheritAttribute("strPropertyNameUseCredSsp"), _
|
||||
LocalizedDescriptionInheritAttribute("strPropertyDescriptionUseCredSsp"), _
|
||||
TypeConverter(GetType(Tools.Misc.YesNoTypeConverter))> _
|
||||
Public Property UseCredSsp() As Boolean
|
||||
Get
|
||||
Return _useCredSsp
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
_useCredSsp = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
#Region "5 RD Gateway"
|
||||
Private _RDGatewayUsageMethod As Boolean = My.Settings.InhDefaultRDGatewayUsageMethod
|
||||
|
||||
@@ -37,7 +37,7 @@ Namespace Connection
|
||||
Me.Anchor = AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right Or AnchorStyles.Top
|
||||
InitializeComponent()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't create new InterfaceControl" & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't create new InterfaceControl" & vbNewLine & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -58,7 +58,7 @@ Namespace Connection
|
||||
Try
|
||||
Me._Control.Focus()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't focus Control (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't focus Control (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -77,7 +77,7 @@ Namespace Connection
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't SetProps (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't SetProps (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -98,6 +98,7 @@ Namespace Connection
|
||||
|
||||
Public Overridable Sub Close()
|
||||
Dim t As New Thread(AddressOf CloseBG)
|
||||
t.SetApartmentState(Threading.ApartmentState.STA)
|
||||
t.IsBackground = True
|
||||
t.Start()
|
||||
End Sub
|
||||
@@ -112,7 +113,7 @@ Namespace Connection
|
||||
Try
|
||||
Me.DisposeControl()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Could not dispose control, probably form is already closed (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Could not dispose control, probably form is already closed (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End If
|
||||
|
||||
@@ -126,11 +127,11 @@ Namespace Connection
|
||||
Me.DisposeInterface()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Could not set InterfaceControl.Parent.Tag or Dispose Interface, probably form is already closed (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Could not set InterfaceControl.Parent.Tag or Dispose Interface, probably form is already closed (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Close InterfaceControl BG (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Close InterfaceControl BG (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.ComponentModel
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
|
||||
Namespace Connection
|
||||
@@ -27,7 +26,7 @@ Namespace Connection
|
||||
|
||||
NewExtended()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strHttpConnectionFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strHttpConnectionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -65,7 +64,7 @@ Namespace Connection
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strHttpSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strHttpSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -108,7 +107,7 @@ Namespace Connection
|
||||
MyBase.Connect()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strHttpConnectFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strHttpConnectFailed & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -164,7 +163,7 @@ Namespace Connection
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, My.Resources.strHttpDocumentTileChangeFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, My.Language.strHttpDocumentTileChangeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports mRemoteNG.App.Runtime
|
||||
|
||||
Namespace Connection
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
Public Class HTTPS
|
||||
Inherits Connection.Protocol.HTTPBase
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Threading
|
||||
Imports AxWFICALib
|
||||
Imports System.ComponentModel
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
|
||||
Namespace Connection
|
||||
@@ -19,7 +18,7 @@ Namespace Connection
|
||||
Try
|
||||
Me.Control = New AxICAClient
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strIcaControlFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaControlFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -76,7 +75,7 @@ Namespace Connection
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strIcaSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -89,7 +88,7 @@ Namespace Connection
|
||||
MyBase.Connect()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strIcaConnectionFailed & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaConnectionFailed & vbNewLine & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -135,7 +134,7 @@ Namespace Connection
|
||||
ICA.Domain = _dom
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strIcaSetCredentialsFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaSetCredentialsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -160,7 +159,7 @@ Namespace Connection
|
||||
ICA.SetWindowSize(WFICALib.ICAWindowType.WindowTypeClient, RDP.Resolutions.Items(Int(Info.Resolution)).Width, RDP.Resolutions.Items(Int(Info.Resolution)).Height, 0)
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strIcaSetResolutionFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaSetResolutionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -201,7 +200,7 @@ Namespace Connection
|
||||
AddHandler ICA.OnConnectFailed, AddressOf ICAEvent_OnConnectFailed
|
||||
AddHandler ICA.OnDisconnect, AddressOf ICAEvent_OnDisconnect
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strIcaSetEventHandlersFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaSetEventHandlersFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -10,7 +10,7 @@ Namespace Connection
|
||||
#Region "Private Properties"
|
||||
Private IntAppProcessStartInfo As New ProcessStartInfo()
|
||||
Private Arguments As String
|
||||
Private ExtApp As Tools.ExternalApp
|
||||
Private ExtApp As Tools.ExternalTool
|
||||
#End Region
|
||||
|
||||
#Region "Public Properties"
|
||||
@@ -110,11 +110,11 @@ Namespace Connection
|
||||
|
||||
IntAppHandle = IntAppProcess.MainWindowHandle
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, My.Resources.strIntAppStuff, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, My.Language.strIntAppStuff, True)
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strIntAppHandle, IntAppHandle.ToString), True)
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strIntAppTitle, IntAppProcess.MainWindowTitle), True)
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strIntAppParentHandle, Me.InterfaceControl.Parent.Handle.ToString), True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strIntAppHandle, IntAppHandle.ToString), True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strIntAppTitle, IntAppProcess.MainWindowTitle), True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strIntAppParentHandle, Me.InterfaceControl.Parent.Handle.ToString), True)
|
||||
|
||||
SetParent(Me.IntAppHandle, Me.InterfaceControl.Parent.Handle)
|
||||
SetWindowLong(Me.IntAppHandle, 0, WS_VISIBLE)
|
||||
@@ -125,7 +125,7 @@ Namespace Connection
|
||||
MyBase.Connect()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strIntAppConnectionFailed & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIntAppConnectionFailed & vbNewLine & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -135,7 +135,7 @@ Namespace Connection
|
||||
Try
|
||||
SetForegroundWindow(IntAppHandle)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strIntAppFocusFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIntAppFocusFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -143,7 +143,7 @@ Namespace Connection
|
||||
Try
|
||||
MoveWindow(IntAppHandle, -SystemInformation.FrameBorderSize.Width, -(SystemInformation.CaptionHeight + SystemInformation.FrameBorderSize.Height), Me.InterfaceControl.Width + (SystemInformation.FrameBorderSize.Width * 2), Me.InterfaceControl.Height + SystemInformation.CaptionHeight + (SystemInformation.FrameBorderSize.Height * 2), True)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strIntAppResizeFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIntAppResizeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -153,7 +153,7 @@ Namespace Connection
|
||||
IntAppProcess.Kill()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strIntAppKillFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIntAppKillFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Try
|
||||
@@ -161,7 +161,7 @@ Namespace Connection
|
||||
IntAppProcess.Dispose()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strIntAppDisposeFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIntAppDisposeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
MyBase.Close()
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports System.ComponentModel
|
||||
Imports mRemoteNG.Messages
|
||||
Imports mRemoteNG.App.Native
|
||||
Imports System.Threading
|
||||
Imports Microsoft.Win32
|
||||
@@ -14,6 +17,7 @@ Namespace Connection
|
||||
#End Region
|
||||
|
||||
#Region "Private Properties"
|
||||
Dim _isPuttyNg As Boolean
|
||||
#End Region
|
||||
|
||||
#Region "Public Properties"
|
||||
@@ -103,99 +107,111 @@ Namespace Connection
|
||||
|
||||
Public Overrides Function Connect() As Boolean
|
||||
Try
|
||||
PuttyProcess = New Process
|
||||
_isPuttyNg = IsFilePuttyNg(PuttyPath)
|
||||
|
||||
PuttyProcess = New Process
|
||||
With PuttyProcess.StartInfo
|
||||
.FileName = _PuttyPath
|
||||
|
||||
Select Case Me._PuttyProtocol
|
||||
Select Case _PuttyProtocol
|
||||
Case Putty_Protocol.raw
|
||||
.Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
|
||||
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.rlogin
|
||||
.Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
|
||||
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.ssh
|
||||
Dim UserArg As String = ""
|
||||
Dim PassArg As String = ""
|
||||
Dim userArgument As String = ""
|
||||
Dim passwordArgument As String = ""
|
||||
|
||||
If My.Settings.EmptyCredentials = "windows" Then
|
||||
UserArg = " -l """ & Environment.UserName & """"
|
||||
userArgument = " -l """ & Environment.UserName & """"
|
||||
ElseIf My.Settings.EmptyCredentials = "custom" Then
|
||||
UserArg = " -l """ & My.Settings.DefaultUsername & """"
|
||||
PassArg = " -pw """ & Security.Crypt.Decrypt(My.Settings.DefaultPassword, App.Info.General.EncryptionKey) & """"
|
||||
userArgument = " -l """ & My.Settings.DefaultUsername & """"
|
||||
passwordArgument = " -pw """ & PuttyEscapeArgument(Security.Crypt.Decrypt(My.Settings.DefaultPassword, App.Info.General.EncryptionKey)) & """"
|
||||
End If
|
||||
|
||||
If Me.InterfaceControl.Info.Username <> "" Then
|
||||
UserArg = " -l """ & Me.InterfaceControl.Info.Username & """"
|
||||
If InterfaceControl.Info.Username <> "" Then
|
||||
userArgument = " -l """ & InterfaceControl.Info.Username & """"
|
||||
End If
|
||||
|
||||
If Me.InterfaceControl.Info.Password <> "" Then
|
||||
PassArg = " -pw """ & Me.InterfaceControl.Info.Password & """"
|
||||
If InterfaceControl.Info.Password <> "" Then
|
||||
passwordArgument = " -pw """ & PuttyEscapeArgument(InterfaceControl.Info.Password) & """"
|
||||
End If
|
||||
|
||||
.Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -" & Me._PuttySSHVersion & UserArg & PassArg & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
|
||||
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -" & _PuttySSHVersion & userArgument & passwordArgument & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.telnet
|
||||
.Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
|
||||
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.serial
|
||||
.Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
|
||||
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
|
||||
End Select
|
||||
|
||||
If _isPuttyNg Then
|
||||
.Arguments = .Arguments & " -hwndparent " & InterfaceControl.Handle.ToString()
|
||||
End If
|
||||
|
||||
'REMOVE IN RELEASE!
|
||||
'mC.AddMessage(Messages.MessageClass.InformationMsg, "PuTTY Arguments: " & .Arguments, True)
|
||||
'MessageCollector.AddMessage(MessageClass.InformationMsg, "PuTTY Arguments: " & .Arguments, True)
|
||||
End With
|
||||
|
||||
PuttyProcess.EnableRaisingEvents = True
|
||||
AddHandler PuttyProcess.Exited, AddressOf ProcessExited
|
||||
|
||||
PuttyProcess.Start()
|
||||
PuttyProcess.WaitForInputIdle()
|
||||
PuttyProcess.WaitForInputIdle(My.Settings.MaxPuttyWaitTime * 1000)
|
||||
|
||||
Dim TryCount As Integer = 0
|
||||
Do Until PuttyProcess.MainWindowHandle <> IntPtr.Zero And Me.InterfaceControl.Handle <> IntPtr.Zero And Me.PuttyProcess.MainWindowTitle <> "Default IME"
|
||||
If TryCount >= My.Settings.MaxPuttyWaitTime * 2 Then
|
||||
Exit Do
|
||||
Dim startTicks As Integer = Environment.TickCount
|
||||
While PuttyHandle.ToInt32 = 0 And Environment.TickCount < startTicks + (My.Settings.MaxPuttyWaitTime * 1000)
|
||||
If _isPuttyNg Then
|
||||
PuttyHandle = FindWindowEx(InterfaceControl.Handle, 0, vbNullString, vbNullString)
|
||||
Else
|
||||
PuttyProcess.Refresh()
|
||||
PuttyHandle = PuttyProcess.MainWindowHandle
|
||||
End If
|
||||
If PuttyHandle.ToInt32 = 0 Then Thread.Sleep(0)
|
||||
End While
|
||||
|
||||
PuttyProcess.Refresh()
|
||||
If Not _isPuttyNg Then
|
||||
SetParent(PuttyHandle, InterfaceControl.Handle)
|
||||
End If
|
||||
|
||||
Thread.Sleep(500)
|
||||
MessageCollector.AddMessage(MessageClass.InformationMsg, My.Language.strPuttyStuff, True)
|
||||
|
||||
TryCount += 1
|
||||
Loop
|
||||
MessageCollector.AddMessage(MessageClass.InformationMsg, String.Format(My.Language.strPuttyHandle, PuttyHandle.ToString), True)
|
||||
MessageCollector.AddMessage(MessageClass.InformationMsg, String.Format(My.Language.strPuttyTitle, PuttyProcess.MainWindowTitle), True)
|
||||
MessageCollector.AddMessage(MessageClass.InformationMsg, String.Format(My.Language.strPuttyParentHandle, InterfaceControl.Parent.Handle.ToString), True)
|
||||
|
||||
PuttyHandle = PuttyProcess.MainWindowHandle
|
||||
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, My.Resources.strPuttyStuff, True)
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strPuttyHandle, PuttyHandle.ToString), True)
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strPuttyTitle, PuttyProcess.MainWindowTitle), True)
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strPuttyParentHandle, Me.InterfaceControl.Parent.Handle.ToString), True)
|
||||
|
||||
SetParent(PuttyHandle, InterfaceControl.Parent.Handle)
|
||||
ShowWindow(PuttyHandle, SW_SHOWMAXIMIZED)
|
||||
Resize()
|
||||
|
||||
MyBase.Connect()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strPuttyConnectionFailed & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strPuttyConnectionFailed & vbNewLine & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
' Due to the way PuTTY handles command line arguments, backslashes followed by a quotation mark will be removed.
|
||||
' Since all the strings we send to PuTTY are surrounded by quotation marks, we need to escape any trailing
|
||||
' backslashes by adding another. See split_into_argv() in WINDOWS\WINUTILS.C of the PuTTY source for more info.
|
||||
Private Shared Function PuttyEscapeArgument(ByVal argument As String) As String
|
||||
If argument.EndsWith("\") Then argument = argument & "\"
|
||||
Return argument
|
||||
End Function
|
||||
|
||||
Public Overrides Sub Focus()
|
||||
Try
|
||||
'SetForegroundWindow(PuttyHandle)
|
||||
SetForegroundWindow(PuttyHandle)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strPuttyFocusFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyFocusFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Resize()
|
||||
Try
|
||||
MoveWindow(PuttyHandle, -SystemInformation.FrameBorderSize.Width, -(SystemInformation.CaptionHeight + SystemInformation.FrameBorderSize.Height), Me.InterfaceControl.Width + (SystemInformation.FrameBorderSize.Width * 2), Me.InterfaceControl.Height + SystemInformation.CaptionHeight + (SystemInformation.FrameBorderSize.Height * 2), True)
|
||||
If frmMain.WindowState = FormWindowState.Minimized Then Return
|
||||
|
||||
MoveWindow(PuttyHandle, -SystemInformation.FrameBorderSize.Width, -(SystemInformation.CaptionHeight + SystemInformation.FrameBorderSize.Height), InterfaceControl.Width + (SystemInformation.FrameBorderSize.Width * 2), InterfaceControl.Height + SystemInformation.CaptionHeight + (SystemInformation.FrameBorderSize.Height * 2), True)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strPuttyResizeFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyResizeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -205,13 +221,13 @@ Namespace Connection
|
||||
PuttyProcess.Kill()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strPuttyKillFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyKillFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Try
|
||||
PuttyProcess.Dispose()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strPuttyDisposeFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyDisposeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
MyBase.Close()
|
||||
@@ -222,7 +238,7 @@ Namespace Connection
|
||||
PostMessage(Me.PuttyHandle, WM_SYSCOMMAND, IDM_RECONF, 0)
|
||||
SetForegroundWindow(Me.PuttyHandle)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strPuttyShowSettingsDialogFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyShowSettingsDialogFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -244,11 +260,21 @@ Namespace Connection
|
||||
|
||||
Return arrKeys
|
||||
Catch ex As Exception
|
||||
App.Runtime.mC.AddMessage(Messages.MessageClass.WarningMsg, My.Resources.strPuttyGetSessionsFailed & vbNewLine & ex.Message, True)
|
||||
App.Runtime.MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, My.Language.strPuttyGetSessionsFailed & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Shared Function IsFilePuttyNg(file As String) As Boolean
|
||||
Dim isPuttyNg As Boolean
|
||||
Try
|
||||
isPuttyNg = FileVersionInfo.GetVersionInfo(file).InternalName.Contains("PuTTYNG")
|
||||
Catch
|
||||
isPuttyNg = False
|
||||
End Try
|
||||
Return isPuttyNg
|
||||
End Function
|
||||
|
||||
Public Shared Sub StartPutty()
|
||||
Try
|
||||
Dim p As Process
|
||||
@@ -260,7 +286,7 @@ Namespace Connection
|
||||
|
||||
mRemoteNG.Connection.PuttySession.PuttySessions = GetSessions()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strPuttyStartFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyStartFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -279,7 +305,6 @@ Namespace Connection
|
||||
ssh2 = 2
|
||||
End Enum
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
End Namespace
|
||||
|
||||
@@ -59,7 +59,7 @@ Namespace Connection
|
||||
System.Windows.Forms.Application.DoEvents()
|
||||
Loop
|
||||
Catch comEx As System.Runtime.InteropServices.COMException
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpControlCreationFailed & vbNewLine & vbNewLine & comEx.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpControlCreationFailed & vbNewLine & vbNewLine & comEx.Message)
|
||||
RDP.Dispose()
|
||||
Return False
|
||||
End Try
|
||||
@@ -79,11 +79,11 @@ Namespace Connection
|
||||
RDP.AdvancedSettings2.keepAliveInterval = 60000 'in milliseconds (10.000 = 10 seconds)
|
||||
RDP.AdvancedSettings5.AuthenticationLevel = 0
|
||||
RDP.AdvancedSettings.EncryptionEnabled = 1
|
||||
RDP.AdvancedSettings7.EnableCredSspSupport = True
|
||||
|
||||
RDP.AdvancedSettings2.overallConnectionTimeout = 20
|
||||
|
||||
RDP.AdvancedSettings2.BitmapPeristence = Me.Info.CacheBitmaps
|
||||
RDP.AdvancedSettings7.EnableCredSspSupport = Info.UseCredSsp
|
||||
|
||||
Me.SetUseConsoleSession()
|
||||
Me.SetPort()
|
||||
@@ -96,11 +96,13 @@ Namespace Connection
|
||||
|
||||
Me.SetPerformanceFlags()
|
||||
|
||||
RDP.ConnectingText = My.Resources.strConnecting
|
||||
RDP.ConnectingText = My.Language.strConnecting
|
||||
|
||||
Control.Anchor = AnchorStyles.None
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -113,7 +115,7 @@ Namespace Connection
|
||||
MyBase.Connect()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpConnectionOpenFailed & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpConnectionOpenFailed & vbNewLine & ex.Message)
|
||||
End Try
|
||||
|
||||
Return False
|
||||
@@ -123,7 +125,7 @@ Namespace Connection
|
||||
Try
|
||||
RDP.Disconnect()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpDisconnectFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpDisconnectFailed & vbNewLine & ex.Message, True)
|
||||
MyBase.Close()
|
||||
End Try
|
||||
End Sub
|
||||
@@ -132,7 +134,7 @@ Namespace Connection
|
||||
Try
|
||||
Me.Fullscreen = Not Me.Fullscreen
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpToggleFullscreenFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpToggleFullscreenFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -140,7 +142,7 @@ Namespace Connection
|
||||
Try
|
||||
Me.SmartSize = Not Me.SmartSize
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpToggleSmartSizeFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpToggleSmartSizeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -150,35 +152,45 @@ Namespace Connection
|
||||
RDP.Focus()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpFocusFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpFocusFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Resize()
|
||||
Control.Location = InterfaceControl.Location
|
||||
Control.Size = InterfaceControl.Size
|
||||
MyBase.Resize()
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Private Methods"
|
||||
Private Sub SetRDGateway()
|
||||
Try
|
||||
If RDP.TransportSettings.GatewayIsSupported = 1 Then
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, My.Resources.strRdpGatewayIsSupported, True)
|
||||
If Me.Info.RDGatewayUsageMethod <> RDGatewayUsageMethod.Never Then
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, My.Language.strRdpGatewayIsSupported, True)
|
||||
If Info.RDGatewayUsageMethod <> RDGatewayUsageMethod.Never Then
|
||||
RDP.TransportSettings2.GatewayProfileUsageMethod = 1
|
||||
RDP.TransportSettings.GatewayUsageMethod = Me.Info.RDGatewayUsageMethod
|
||||
RDP.TransportSettings.GatewayHostname = Me.Info.RDGatewayHostname
|
||||
If Me.Info.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.Yes Then
|
||||
RDP.TransportSettings.GatewayUsername = Me.Info.Username
|
||||
RDP.TransportSettings.GatewayPassword = Me.Info.Password
|
||||
RDP.TransportSettings.GatewayDomain = Me.Info.Domain
|
||||
RDP.TransportSettings.GatewayUsageMethod = Info.RDGatewayUsageMethod
|
||||
RDP.TransportSettings.GatewayHostname = Info.RDGatewayHostname
|
||||
If Info.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.Yes Then
|
||||
RDP.TransportSettings.GatewayUsername = Info.Username
|
||||
RDP.TransportSettings.GatewayPassword = Info.Password
|
||||
RDP.TransportSettings.GatewayDomain = Info.Domain
|
||||
ElseIf Info.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.SmartCard Then
|
||||
RDP.TransportSettings2.GatewayCredsSource = 1 ' TSC_PROXY_CREDS_MODE_SMARTCARD
|
||||
RDP.TransportSettings2.GatewayCredSharing = 0
|
||||
Else
|
||||
RDP.TransportSettings.GatewayUsername = Me.Info.RDGatewayUsername
|
||||
RDP.TransportSettings.GatewayPassword = Me.Info.RDGatewayPassword
|
||||
RDP.TransportSettings.GatewayDomain = Me.Info.RDGatewayDomain
|
||||
RDP.TransportSettings.GatewayUsername = Info.RDGatewayUsername
|
||||
RDP.TransportSettings.GatewayPassword = Info.RDGatewayPassword
|
||||
RDP.TransportSettings.GatewayDomain = Info.RDGatewayDomain
|
||||
RDP.TransportSettings2.GatewayCredSharing = 0
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, My.Resources.strRdpGatewayNotSupported, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, My.Language.strRdpGatewayNotSupported, True)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetGatewayFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetGatewayFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -186,31 +198,31 @@ Namespace Connection
|
||||
Try
|
||||
If (Me.Force And Connection.Info.Force.UseConsoleSession) = Connection.Info.Force.UseConsoleSession Then
|
||||
If RDPVersion < Versions.RDC61 Then
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strRdpSetConsoleSwitch, "6.0"), True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.0"), True)
|
||||
RDP.AdvancedSettings2.ConnectToServerConsole = True
|
||||
Else
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strRdpSetConsoleSwitch, "6.1"), True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.1"), True)
|
||||
RDP.AdvancedSettings6.ConnectToAdministerServer = True
|
||||
End If
|
||||
ElseIf (Me.Force And Connection.Info.Force.DontUseConsoleSession) = Connection.Info.Force.DontUseConsoleSession Then
|
||||
If RDPVersion < Versions.RDC61 Then
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strRdpSetConsoleSwitch, "6.0"), True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.0"), True)
|
||||
RDP.AdvancedSettings2.ConnectToServerConsole = False
|
||||
Else
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strRdpSetConsoleSwitch, "6.1"), True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.1"), True)
|
||||
RDP.AdvancedSettings6.ConnectToAdministerServer = False
|
||||
End If
|
||||
Else
|
||||
If RDPVersion < Versions.RDC61 Then
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strRdpSetConsoleSwitch, "6.0"), True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.0"), True)
|
||||
RDP.AdvancedSettings2.ConnectToServerConsole = Me.Info.UseConsoleSession
|
||||
Else
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Resources.strRdpSetConsoleSwitch, "6.1"), True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.1"), True)
|
||||
RDP.AdvancedSettings6.ConnectToAdministerServer = Me.Info.UseConsoleSession
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetConsoleSessionFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetConsoleSessionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -253,7 +265,7 @@ Namespace Connection
|
||||
RDP.Domain = _dom
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetCredentialsFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetCredentialsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -284,7 +296,7 @@ Namespace Connection
|
||||
RDP.DesktopHeight = Resolutions.Items(Int(Me.Info.Resolution)).Height
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetResolutionFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetResolutionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -294,7 +306,7 @@ Namespace Connection
|
||||
RDP.AdvancedSettings2.RDPPort = Me.Info.Port
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetPortFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetPortFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -307,7 +319,7 @@ Namespace Connection
|
||||
RDP.FullScreen = True
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetRedirectKeysFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetRedirectKeysFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -319,7 +331,7 @@ Namespace Connection
|
||||
RDP.AdvancedSettings2.RedirectSmartCards = Me.Info.RedirectSmartCards
|
||||
RDP.SecuredSettings2.AudioRedirectionMode = Int(Me.Info.RedirectSound)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetRedirectionFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetRedirectionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -344,7 +356,7 @@ Namespace Connection
|
||||
|
||||
RDP.AdvancedSettings.PerformanceFlags = pFlags
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetPerformanceFlagsFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetPerformanceFlagsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -352,7 +364,7 @@ Namespace Connection
|
||||
Try
|
||||
RDP.AdvancedSettings5.AuthenticationLevel = Me.Info.RDPAuthenticationLevel
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetAuthenticationLevelFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetAuthenticationLevelFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -364,7 +376,7 @@ Namespace Connection
|
||||
AddHandler RDP.OnDisconnected, AddressOf RDPEvent_OnDisconnected
|
||||
AddHandler RDP.OnLeaveFullScreenMode, AddressOf RDPEvent_OnLeaveFullscreenMode
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpSetEventHandlersFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetEventHandlersFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -374,9 +386,12 @@ Namespace Connection
|
||||
MyBase.Event_ErrorOccured(Me, e.errorCode)
|
||||
End Sub
|
||||
|
||||
Private Sub RDPEvent_OnDisconnected(ByVal sender As Object, ByVal e As AxMSTSCLib.IMsTscAxEvents_OnDisconnectedEvent)
|
||||
Dim Reason As String = RDP.GetErrorDescription(e.discReason, RDP.ExtendedDisconnectReason)
|
||||
MyBase.Event_Disconnected(Me, e.discReason & vbCrLf & Reason)
|
||||
Private Sub RDPEvent_OnDisconnected(ByVal sender As Object, ByVal e As IMsTscAxEvents_OnDisconnectedEvent)
|
||||
Const UI_ERR_NORMAL_DISCONNECT As Integer = &HB08
|
||||
If Not e.discReason = UI_ERR_NORMAL_DISCONNECT Then
|
||||
Dim reason As String = RDP.GetErrorDescription(e.discReason, RDP.ExtendedDisconnectReason)
|
||||
Event_Disconnected(Me, e.discReason & vbCrLf & reason)
|
||||
End If
|
||||
|
||||
If My.Settings.ReconnectOnDisconnect Then
|
||||
ReconnectGroup = New ReconnectGroup
|
||||
@@ -386,7 +401,7 @@ Namespace Connection
|
||||
ReconnectGroup.Show()
|
||||
tmrReconnect.Enabled = True
|
||||
Else
|
||||
MyBase.Close()
|
||||
Close()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -524,6 +539,8 @@ Namespace Connection
|
||||
No = 0
|
||||
<LocalizedDescription("strUseSameUsernameAndPassword")> _
|
||||
Yes = 1
|
||||
<LocalizedDescription("strUseSmartCard")> _
|
||||
SmartCard = 2
|
||||
End Enum
|
||||
#End Region
|
||||
|
||||
@@ -571,7 +588,7 @@ Namespace Connection
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpAddResolutionsFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpAddResolutionsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -598,7 +615,7 @@ Namespace Connection
|
||||
|
||||
Return nRes
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpAddResolutionFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpAddResolutionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
@@ -607,8 +624,8 @@ Namespace Connection
|
||||
#End Region
|
||||
|
||||
Public Class Versions
|
||||
Public Shared RDC60 As Version = New Version(6, 0, 6000)
|
||||
Public Shared RDC61 As Version = New Version(6, 0, 6001)
|
||||
Public Shared RDC60 As New Version(6, 0, 6000)
|
||||
Public Shared RDC61 As New Version(6, 0, 6001)
|
||||
End Class
|
||||
|
||||
#Region "Terminal Sessions"
|
||||
@@ -626,7 +643,7 @@ Namespace Connection
|
||||
Return True
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpOpenConnectionFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpOpenConnectionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return False
|
||||
@@ -637,7 +654,7 @@ Namespace Connection
|
||||
oWTSCOM.WTSCloseServer(ServerHandle)
|
||||
ServerHandle = 0
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpCloseConnectionFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpCloseConnectionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -660,14 +677,14 @@ Namespace Connection
|
||||
|
||||
If SessionUser <> "" Then
|
||||
If SessionState = 0 Then
|
||||
colSessions.Add(SessionID, My.Resources.strActive, SessionUser, SessionName)
|
||||
colSessions.Add(SessionID, My.Language.strActive, SessionUser, SessionName)
|
||||
Else
|
||||
colSessions.Add(SessionID, My.Resources.strInactive, SessionUser, SessionName)
|
||||
colSessions.Add(SessionID, My.Language.strInactive, SessionUser, SessionName)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpGetSessionsFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpGetSessionsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return colSessions
|
||||
@@ -706,7 +723,7 @@ Namespace Connection
|
||||
|
||||
List.Add(newSes)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpAddSessionFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpAddSessionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return newSes
|
||||
@@ -765,23 +782,23 @@ Namespace Connection
|
||||
#Region "Fatal Errors"
|
||||
Public Class FatalErrors
|
||||
Protected Shared _description() As String = { _
|
||||
0 = My.Resources.strRdpErrorUnknown, _
|
||||
1 = My.Resources.strRdpErrorCode1, _
|
||||
2 = My.Resources.strRdpErrorOutOfMemory, _
|
||||
3 = My.Resources.strRdpErrorWindowCreation, _
|
||||
4 = My.Resources.strRdpErrorCode2, _
|
||||
5 = My.Resources.strRdpErrorCode3, _
|
||||
6 = My.Resources.strRdpErrorCode4, _
|
||||
7 = My.Resources.strRdpErrorConnection, _
|
||||
100 = My.Resources.strRdpErrorWinsock _
|
||||
0 = My.Language.strRdpErrorUnknown, _
|
||||
1 = My.Language.strRdpErrorCode1, _
|
||||
2 = My.Language.strRdpErrorOutOfMemory, _
|
||||
3 = My.Language.strRdpErrorWindowCreation, _
|
||||
4 = My.Language.strRdpErrorCode2, _
|
||||
5 = My.Language.strRdpErrorCode3, _
|
||||
6 = My.Language.strRdpErrorCode4, _
|
||||
7 = My.Language.strRdpErrorConnection, _
|
||||
100 = My.Language.strRdpErrorWinsock _
|
||||
}
|
||||
|
||||
Public Shared Function GetError(ByVal id As String) As String
|
||||
Try
|
||||
Return (_description(id))
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strRdpErrorGetFailure & vbNewLine & ex.Message, True)
|
||||
Return String.Format(My.Resources.strRdpErrorUnknown, id)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpErrorGetFailure & vbNewLine & ex.Message, True)
|
||||
Return String.Format(My.Language.strRdpErrorUnknown, id)
|
||||
End Try
|
||||
End Function
|
||||
End Class
|
||||
|
||||
@@ -105,14 +105,14 @@ Namespace Connection
|
||||
' VNC.RestrictPixel = False
|
||||
'End If
|
||||
|
||||
'VNC.ConnectingText = My.Resources.strInheritConnecting & " (SmartCode VNC viewer)"
|
||||
'VNC.DisconnectedText = My.Resources.strInheritDisconnected
|
||||
'VNC.ConnectingText = My.Language.strInheritConnecting & " (SmartCode VNC viewer)"
|
||||
'VNC.DisconnectedText = My.Language.strInheritDisconnected
|
||||
'VNC.MessageBoxes = False
|
||||
'VNC.EndInit()
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strVncSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -123,7 +123,7 @@ Namespace Connection
|
||||
Try
|
||||
VNC.Connect(Me.Info.Hostname, Me.Info.VNCViewOnly, Info.VNCSmartSizeMode <> SmartSizeMode.SmartSNo)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strVncConnectionOpenFailed & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncConnectionOpenFailed & vbNewLine & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
|
||||
@@ -134,7 +134,7 @@ Namespace Connection
|
||||
Try
|
||||
VNC.Disconnect()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strVncConnectionDisconnectFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncConnectionDisconnectFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -147,7 +147,7 @@ Namespace Connection
|
||||
VNC.SendSpecialKeys(SpecialKeys.CtrlEsc)
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strVncSendSpecialKeysFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncSendSpecialKeysFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -156,7 +156,7 @@ Namespace Connection
|
||||
SmartSize = Not SmartSize
|
||||
RefreshScreen()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strVncToggleSmartSizeFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncToggleSmartSizeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -164,7 +164,7 @@ Namespace Connection
|
||||
Try
|
||||
ViewOnly = Not ViewOnly
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strVncToggleViewOnlyFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncToggleViewOnlyFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -177,7 +177,7 @@ Namespace Connection
|
||||
' mC.AddMessage(Messages.MessageClass.InformationMsg, "VNC Server doesn't support chat")
|
||||
'End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strVncStartChatFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncStartChatFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -197,7 +197,7 @@ Namespace Connection
|
||||
Try
|
||||
VNC.FullScreenUpdate()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strVncRefreshFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncRefreshFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -212,7 +212,7 @@ Namespace Connection
|
||||
VNC.GetPassword = AddressOf VNCEvent_Authenticate
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strVncSetEventHandlersFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncSetEventHandlersFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -13,7 +13,7 @@ Namespace Connection
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strQuickConnectHistoryExistsFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strQuickConnectHistoryExistsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return False
|
||||
@@ -23,7 +23,7 @@ Namespace Connection
|
||||
Try
|
||||
qBox.Items.Insert(0, Text)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strQuickConnectAddFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strQuickConnectAddFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -81,7 +81,7 @@ Namespace Container
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _ConnectionInfo As Connection.Info = New Connection.Info
|
||||
Private _ConnectionInfo As New Connection.Info
|
||||
Public Property ConnectionInfo() As Connection.Info
|
||||
Get
|
||||
Return Me._ConnectionInfo
|
||||
|
||||
10
mRemoteV1/Forms/frmChoosePanel.Designer.vb
generated
10
mRemoteV1/Forms/frmChoosePanel.Designer.vb
generated
@@ -46,7 +46,7 @@ Partial Class frmChoosePanel
|
||||
Me.btnOK.Name = "btnOK"
|
||||
Me.btnOK.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnOK.TabIndex = 20
|
||||
Me.btnOK.Text = My.Resources.strButtonOK
|
||||
Me.btnOK.Text = My.Language.strButtonOK
|
||||
Me.btnOK.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lblDescription
|
||||
@@ -55,7 +55,7 @@ Partial Class frmChoosePanel
|
||||
Me.lblDescription.Name = "lblDescription"
|
||||
Me.lblDescription.Size = New System.Drawing.Size(229, 29)
|
||||
Me.lblDescription.TabIndex = 0
|
||||
Me.lblDescription.Text = My.Resources.strLabelSelectPanel
|
||||
Me.lblDescription.Text = My.Language.strLabelSelectPanel
|
||||
'
|
||||
'btnNew
|
||||
'
|
||||
@@ -66,7 +66,7 @@ Partial Class frmChoosePanel
|
||||
Me.btnNew.Name = "btnNew"
|
||||
Me.btnNew.Size = New System.Drawing.Size(57, 23)
|
||||
Me.btnNew.TabIndex = 40
|
||||
Me.btnNew.Text = My.Resources.strButtonNew
|
||||
Me.btnNew.Text = My.Language.strButtonNew
|
||||
Me.btnNew.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
Me.btnNew.UseVisualStyleBackColor = True
|
||||
'
|
||||
@@ -78,7 +78,7 @@ Partial Class frmChoosePanel
|
||||
Me.btnCancel.Name = "btnCancel"
|
||||
Me.btnCancel.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnCancel.TabIndex = 30
|
||||
Me.btnCancel.Text = My.Resources.strButtonCancel
|
||||
Me.btnCancel.Text = My.Language.strButtonCancel
|
||||
Me.btnCancel.UseVisualStyleBackColor = True
|
||||
'
|
||||
'frmChoosePanel
|
||||
@@ -100,7 +100,7 @@ Partial Class frmChoosePanel
|
||||
Me.Name = "frmChoosePanel"
|
||||
Me.ShowInTaskbar = False
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = My.Resources.strTitleSelectPanel
|
||||
Me.Text = My.Language.strTitleSelectPanel
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -17,18 +17,18 @@ Public Class frmChoosePanel
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
btnOK.Text = My.Resources.strButtonOK
|
||||
lblDescription.Text = My.Resources.strLabelSelectPanel
|
||||
btnNew.Text = My.Resources.strButtonNew
|
||||
btnCancel.Text = My.Resources.strButtonCancel
|
||||
Text = My.Resources.strTitleSelectPanel
|
||||
btnOK.Text = My.Language.strButtonOK
|
||||
lblDescription.Text = My.Language.strLabelSelectPanel
|
||||
btnNew.Text = My.Language.strButtonNew
|
||||
btnCancel.Text = My.Language.strButtonCancel
|
||||
Text = My.Language.strTitleSelectPanel
|
||||
End Sub
|
||||
|
||||
Private Sub AddAvailablePanels()
|
||||
cbPanels.Items.Clear()
|
||||
|
||||
For i As Integer = 0 To wL.Count - 1
|
||||
cbPanels.Items.Add(wL(i).Text.Replace("&&", "&"))
|
||||
For i As Integer = 0 To WindowList.Count - 1
|
||||
cbPanels.Items.Add(WindowList(i).Text.Replace("&&", "&"))
|
||||
Next
|
||||
|
||||
If cbPanels.Items.Count > 0 Then
|
||||
@@ -42,7 +42,7 @@ Public Class frmChoosePanel
|
||||
End Sub
|
||||
|
||||
Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click
|
||||
Dim pnlName As String = InputBox(My.Resources.strPanelName & ":", My.Resources.strNewPanel, My.Resources.strNewPanel)
|
||||
Dim pnlName As String = InputBox(My.Language.strPanelName & ":", My.Language.strNewPanel, My.Language.strNewPanel)
|
||||
|
||||
If pnlName <> "" Then
|
||||
AddPanel(pnlName)
|
||||
|
||||
20
mRemoteV1/Forms/frmMain.Designer.vb
generated
20
mRemoteV1/Forms/frmMain.Designer.vb
generated
@@ -107,7 +107,7 @@ Partial Class frmMain
|
||||
Me.lblQuickConnect = New System.Windows.Forms.ToolStripLabel
|
||||
Me.cmbQuickConnect = New System.Windows.Forms.ToolStripComboBox
|
||||
Me.tsContainer = New System.Windows.Forms.ToolStripContainer
|
||||
Me.tsExtAppsToolbar = New System.Windows.Forms.ToolStrip
|
||||
Me.tsExternalTools = New System.Windows.Forms.ToolStrip
|
||||
Me.cMenExtAppsToolbar = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.cMenToolbarShowText = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.tsQuickConnect = New System.Windows.Forms.ToolStrip
|
||||
@@ -138,7 +138,7 @@ Partial Class frmMain
|
||||
Me.pnlDock.DockBackColor = System.Drawing.SystemColors.Control
|
||||
Me.pnlDock.DockLeftPortion = 230
|
||||
Me.pnlDock.DockRightPortion = 230
|
||||
Me.pnlDock.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingWindow
|
||||
Me.pnlDock.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingSdi
|
||||
Me.pnlDock.Location = New System.Drawing.Point(0, 0)
|
||||
Me.pnlDock.Name = "pnlDock"
|
||||
Me.pnlDock.Size = New System.Drawing.Size(842, 424)
|
||||
@@ -678,18 +678,18 @@ Partial Class frmMain
|
||||
'
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.msMain)
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.tsQuickConnect)
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.tsExtAppsToolbar)
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.tsExternalTools)
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.ToolStrip1)
|
||||
Me.tsContainer.TopToolStripPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
'
|
||||
'tsExtAppsToolbar
|
||||
'
|
||||
Me.tsExtAppsToolbar.ContextMenuStrip = Me.cMenExtAppsToolbar
|
||||
Me.tsExtAppsToolbar.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.tsExtAppsToolbar.Location = New System.Drawing.Point(39, 49)
|
||||
Me.tsExtAppsToolbar.Name = "tsExtAppsToolbar"
|
||||
Me.tsExtAppsToolbar.Size = New System.Drawing.Size(111, 25)
|
||||
Me.tsExtAppsToolbar.TabIndex = 17
|
||||
Me.tsExternalTools.ContextMenuStrip = Me.cMenExtAppsToolbar
|
||||
Me.tsExternalTools.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.tsExternalTools.Location = New System.Drawing.Point(39, 49)
|
||||
Me.tsExternalTools.Name = "tsExtAppsToolbar"
|
||||
Me.tsExternalTools.Size = New System.Drawing.Size(111, 25)
|
||||
Me.tsExternalTools.TabIndex = 17
|
||||
'
|
||||
'cMenExtAppsToolbar
|
||||
'
|
||||
@@ -860,7 +860,7 @@ Partial Class frmMain
|
||||
Friend WithEvents tmrShowUpdate As System.Windows.Forms.Timer
|
||||
Friend WithEvents mMenToolsExternalApps As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents tmrAutoSave As System.Windows.Forms.Timer
|
||||
Friend WithEvents tsExtAppsToolbar As System.Windows.Forms.ToolStrip
|
||||
Friend WithEvents tsExternalTools As System.Windows.Forms.ToolStrip
|
||||
Friend WithEvents mMenViewExtAppsToolbar As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents cMenExtAppsToolbar As System.Windows.Forms.ContextMenuStrip
|
||||
Friend WithEvents cMenToolbarShowText As System.Windows.Forms.ToolStripMenuItem
|
||||
|
||||
@@ -1,12 +1,21 @@
|
||||
Imports WeifenLuo.WinFormsUI.Docking
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports Crownwood
|
||||
Imports mRemoteNG.App.Native
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports PSTaskDialog
|
||||
|
||||
Public Class frmMain
|
||||
Public prevWindowsState As FormWindowState
|
||||
Private _previousWindowState As FormWindowState
|
||||
Public Property PreviousWindowState As FormWindowState
|
||||
Get
|
||||
Return _previousWindowState
|
||||
End Get
|
||||
Set(value As FormWindowState)
|
||||
_previousWindowState = value
|
||||
End Set
|
||||
End Property
|
||||
Public Shared Event clipboardchange()
|
||||
Private fpChainedWindowHandle As IntPtr
|
||||
|
||||
@@ -21,17 +30,15 @@ Public Class frmMain
|
||||
|
||||
#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
|
||||
Startup.CheckCompatibility()
|
||||
|
||||
Startup.CreateLogger()
|
||||
|
||||
' Create gui config load and save objects
|
||||
sL = New Config.Settings.Load(Me)
|
||||
sS = New Config.Settings.Save(Me)
|
||||
Dim SettingsLoad As New Config.Settings.Load(Me)
|
||||
|
||||
' Load GUI Configuration
|
||||
sL.Load()
|
||||
SettingsLoad.Load()
|
||||
|
||||
Debug.Print("---------------------------" & vbNewLine & "[START] - " & Now)
|
||||
|
||||
@@ -41,12 +48,12 @@ Public Class frmMain
|
||||
|
||||
fpChainedWindowHandle = SetClipboardViewer(Me.Handle)
|
||||
|
||||
mC = New Messages.Collector(Windows.errorsForm)
|
||||
MessageCollector = New Messages.Collector(Windows.errorsForm)
|
||||
|
||||
Connection.Protocol.RDP.Resolutions.AddResolutions()
|
||||
Connection.Protocol.PuttyBase.BorderSize = New Size(SystemInformation.FrameBorderSize.Width, SystemInformation.CaptionHeight + SystemInformation.FrameBorderSize.Height) 'Size.Subtract(Me.Size, Me.ClientSize)
|
||||
|
||||
wL = New UI.Window.List
|
||||
WindowList = New UI.Window.List
|
||||
|
||||
Startup.GetConnectionIcons()
|
||||
Startup.GetPuttySessions()
|
||||
@@ -55,19 +62,21 @@ Public Class frmMain
|
||||
|
||||
Tree.Node.TreeView = Windows.treeForm.tvConnections
|
||||
|
||||
'insert new edition code here
|
||||
Dim edSpanlink As New App.Editions.Spanlink
|
||||
|
||||
'LoadCredentials()
|
||||
LoadConnections()
|
||||
If Not IsConnectionsFileLoaded Then
|
||||
Application.Exit()
|
||||
Return
|
||||
End If
|
||||
|
||||
If My.Settings.StartupComponentsCheck Then
|
||||
Windows.Show(UI.Window.Type.ComponentsCheck)
|
||||
End If
|
||||
|
||||
#If Not PORTABLE Then
|
||||
If Not My.Settings.CheckForUpdatesAsked Then
|
||||
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)
|
||||
Dim CommandButtons() As String = {My.Language.strAskUpdatesCommandRecommended, My.Language.strAskUpdatesCommandCustom, My.Language.strAskUpdatesCommandAskLater}
|
||||
cTaskDialog.ShowTaskDialogBox(Me, My.Application.Info.ProductName, My.Language.strAskUpdatesMainInstruction, String.Format(My.Language.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
|
||||
@@ -78,6 +87,12 @@ Public Class frmMain
|
||||
|
||||
Startup.UpdateCheck()
|
||||
Startup.AnnouncementCheck()
|
||||
#Else
|
||||
mMenInfoAnnouncements.Visible = False
|
||||
mMenToolsUpdate.Visible = False
|
||||
mMenInfoSep2.Visible = False
|
||||
#End If
|
||||
|
||||
Startup.CreateSQLUpdateHandlerAndStartTimer()
|
||||
|
||||
AddSysMenuItems()
|
||||
@@ -87,89 +102,93 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
mMenFile.Text = My.Resources.strMenuFile
|
||||
mMenFileNew.Text = My.Resources.strMenuNewConnectionFile
|
||||
mMenFileNewConnection.Text = My.Resources.strNewConnection
|
||||
mMenFileNewFolder.Text = My.Resources.strNewFolder
|
||||
mMenFileLoad.Text = My.Resources.strMenuOpenConnectionFile
|
||||
mMenFileSave.Text = My.Resources.strMenuSaveConnectionFile
|
||||
mMenFileSaveAs.Text = My.Resources.strMenuSaveConnectionFileAs
|
||||
mMenFileImportExport.Text = My.Resources.strImportExport
|
||||
ImportFromActiveDirectoryToolStripMenuItem.Text = My.Resources.strImportAD
|
||||
ImportFromPortScanToolStripMenuItem.Text = My.Resources.strImportPortScan
|
||||
ImportFromRDPFileToolStripMenuItem.Text = My.Resources.strImportRDPFiles
|
||||
ImportFromXMLFileToolStripMenuItem.Text = My.Resources.strImportmRemoteXML
|
||||
ExportToXMLFileToolStripMenuItem.Text = My.Resources.strExportmRemoteXML
|
||||
mMenFileExit.Text = My.Resources.strMenuExit
|
||||
mMenFile.Text = My.Language.strMenuFile
|
||||
mMenFileNew.Text = My.Language.strMenuNewConnectionFile
|
||||
mMenFileNewConnection.Text = My.Language.strNewConnection
|
||||
mMenFileNewFolder.Text = My.Language.strNewFolder
|
||||
mMenFileLoad.Text = My.Language.strMenuOpenConnectionFile
|
||||
mMenFileSave.Text = My.Language.strMenuSaveConnectionFile
|
||||
mMenFileSaveAs.Text = My.Language.strMenuSaveConnectionFileAs
|
||||
mMenFileImportExport.Text = My.Language.strImportExport
|
||||
ImportFromActiveDirectoryToolStripMenuItem.Text = My.Language.strImportAD
|
||||
ImportFromPortScanToolStripMenuItem.Text = My.Language.strImportPortScan
|
||||
ImportFromRDPFileToolStripMenuItem.Text = My.Language.strImportRDPFiles
|
||||
ImportFromXMLFileToolStripMenuItem.Text = My.Language.strImportmRemoteXML
|
||||
ExportToXMLFileToolStripMenuItem.Text = My.Language.strExportmRemoteXML
|
||||
mMenFileExit.Text = My.Language.strMenuExit
|
||||
|
||||
mMenView.Text = My.Resources.strMenuView
|
||||
mMenViewAddConnectionPanel.Text = My.Resources.strMenuAddConnectionPanel
|
||||
mMenViewConnectionPanels.Text = My.Resources.strMenuConnectionPanels
|
||||
mMenViewConnections.Text = My.Resources.strMenuConnections
|
||||
mMenViewConfig.Text = My.Resources.strMenuConfig
|
||||
mMenViewSessions.Text = My.Resources.strMenuSessions
|
||||
mMenViewErrorsAndInfos.Text = My.Resources.strMenuNotifications
|
||||
mMenViewScreenshotManager.Text = My.Resources.strMenuScreenshotManager
|
||||
mMenViewJumpTo.Text = My.Resources.strMenuJumpTo
|
||||
mMenViewJumpToConnectionsConfig.Text = My.Resources.strMenuConnectionsAndConfig
|
||||
mMenViewJumpToSessionsScreenshots.Text = My.Resources.strMenuSessionsAndScreenshots
|
||||
mMenViewJumpToErrorsInfos.Text = My.Resources.strMenuNotifications
|
||||
mMenViewResetLayout.Text = My.Resources.strMenuResetLayout
|
||||
mMenViewQuickConnectToolbar.Text = My.Resources.strMenuQuickConnectToolbar
|
||||
mMenViewExtAppsToolbar.Text = My.Resources.strMenuExternalToolsToolbar
|
||||
mMenViewFullscreen.Text = My.Resources.strMenuFullScreen
|
||||
mMenView.Text = My.Language.strMenuView
|
||||
mMenViewAddConnectionPanel.Text = My.Language.strMenuAddConnectionPanel
|
||||
mMenViewConnectionPanels.Text = My.Language.strMenuConnectionPanels
|
||||
mMenViewConnections.Text = My.Language.strMenuConnections
|
||||
mMenViewConfig.Text = My.Language.strMenuConfig
|
||||
mMenViewSessions.Text = My.Language.strMenuSessions
|
||||
mMenViewErrorsAndInfos.Text = My.Language.strMenuNotifications
|
||||
mMenViewScreenshotManager.Text = My.Language.strMenuScreenshotManager
|
||||
mMenViewJumpTo.Text = My.Language.strMenuJumpTo
|
||||
mMenViewJumpToConnectionsConfig.Text = My.Language.strMenuConnectionsAndConfig
|
||||
mMenViewJumpToSessionsScreenshots.Text = My.Language.strMenuSessionsAndScreenshots
|
||||
mMenViewJumpToErrorsInfos.Text = My.Language.strMenuNotifications
|
||||
mMenViewResetLayout.Text = My.Language.strMenuResetLayout
|
||||
mMenViewQuickConnectToolbar.Text = My.Language.strMenuQuickConnectToolbar
|
||||
mMenViewExtAppsToolbar.Text = My.Language.strMenuExternalToolsToolbar
|
||||
mMenViewFullscreen.Text = My.Language.strMenuFullScreen
|
||||
|
||||
mMenTools.Text = My.Resources.strMenuTools
|
||||
mMenToolsSSHTransfer.Text = My.Resources.strMenuSSHFileTransfer
|
||||
mMenToolsExternalApps.Text = My.Resources.strMenuExternalTools
|
||||
mMenToolsPortScan.Text = My.Resources.strMenuPortScan
|
||||
mMenToolsComponentsCheck.Text = My.Resources.strComponentsCheck
|
||||
mMenToolsUpdate.Text = My.Resources.strMenuCheckForUpdates
|
||||
mMenToolsOptions.Text = My.Resources.strMenuOptions
|
||||
mMenTools.Text = My.Language.strMenuTools
|
||||
mMenToolsSSHTransfer.Text = My.Language.strMenuSSHFileTransfer
|
||||
mMenToolsExternalApps.Text = My.Language.strMenuExternalTools
|
||||
mMenToolsPortScan.Text = My.Language.strMenuPortScan
|
||||
mMenToolsComponentsCheck.Text = My.Language.strComponentsCheck
|
||||
mMenToolsUpdate.Text = My.Language.strMenuCheckForUpdates
|
||||
mMenToolsOptions.Text = My.Language.strMenuOptions
|
||||
|
||||
mMenInfo.Text = My.Resources.strMenuHelp
|
||||
mMenInfoHelp.Text = My.Resources.strMenuHelpContents
|
||||
mMenInfoForum.Text = My.Resources.strMenuSupportForum
|
||||
mMenInfoBugReport.Text = My.Resources.strMenuReportBug
|
||||
mMenInfoDonate.Text = My.Resources.strMenuDonate
|
||||
mMenInfoWebsite.Text = My.Resources.strMenuWebsite
|
||||
mMenInfoAbout.Text = My.Resources.strMenuAbout
|
||||
mMenInfoAnnouncements.Text = My.Resources.strMenuAnnouncements
|
||||
mMenInfo.Text = My.Language.strMenuHelp
|
||||
mMenInfoHelp.Text = My.Language.strMenuHelpContents
|
||||
mMenInfoForum.Text = My.Language.strMenuSupportForum
|
||||
mMenInfoBugReport.Text = My.Language.strMenuReportBug
|
||||
mMenInfoDonate.Text = My.Language.strMenuDonate
|
||||
mMenInfoWebsite.Text = My.Language.strMenuWebsite
|
||||
mMenInfoAbout.Text = My.Language.strMenuAbout
|
||||
mMenInfoAnnouncements.Text = My.Language.strMenuAnnouncements
|
||||
|
||||
lblQuickConnect.Text = My.Resources.strLabelConnect
|
||||
btnQuickyPlay.Text = My.Resources.strMenuConnect
|
||||
mMenQuickyCon.Text = My.Resources.strMenuConnections
|
||||
lblQuickConnect.Text = My.Language.strLabelConnect
|
||||
btnQuickyPlay.Text = My.Language.strMenuConnect
|
||||
mMenQuickyCon.Text = My.Language.strMenuConnections
|
||||
|
||||
cMenToolbarShowText.Text = My.Resources.strMenuShowText
|
||||
cMenToolbarShowText.Text = My.Language.strMenuShowText
|
||||
|
||||
ToolStripButton1.Text = My.Resources.strConnect
|
||||
ToolStripButton2.Text = My.Resources.strScreenshot
|
||||
ToolStripButton3.Text = My.Resources.strRefresh
|
||||
ToolStripButton1.Text = My.Language.strConnect
|
||||
ToolStripButton2.Text = My.Language.strScreenshot
|
||||
ToolStripButton3.Text = My.Language.strRefresh
|
||||
|
||||
ToolStripSplitButton1.Text = My.Resources.strSpecialKeys
|
||||
ToolStripMenuItem1.Text = My.Resources.strKeysCtrlAltDel
|
||||
ToolStripMenuItem2.Text = My.Resources.strKeysCtrlEsc
|
||||
ToolStripSplitButton1.Text = My.Language.strSpecialKeys
|
||||
ToolStripMenuItem1.Text = My.Language.strKeysCtrlAltDel
|
||||
ToolStripMenuItem2.Text = My.Language.strKeysCtrlEsc
|
||||
End Sub
|
||||
|
||||
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.ProductName, My.Resources.strConfirmExitMainInstruction, "", "", "", My.Resources.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
|
||||
If cTaskDialog.VerificationChecked Then
|
||||
My.Settings.ConfirmExit = False
|
||||
End If
|
||||
If Result = DialogResult.No Then
|
||||
e.Cancel = True
|
||||
Exit Sub
|
||||
If WindowList IsNot Nothing Then
|
||||
If My.Settings.ConfirmExit And WindowList.Count > 0 Then
|
||||
Dim result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, My.Language.strConfirmExitMainInstruction, "", "", "", My.Language.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
|
||||
If cTaskDialog.VerificationChecked Then
|
||||
My.Settings.ConfirmExit = False
|
||||
End If
|
||||
If result = DialogResult.No Then
|
||||
e.Cancel = True
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Shutdown.BeforeQuit()
|
||||
|
||||
_IsClosing = True
|
||||
|
||||
For Each Window As UI.Window.Base In wL
|
||||
Window.Close()
|
||||
Next
|
||||
|
||||
App.Runtime.Shutdown.BeforeQuit()
|
||||
If WindowList IsNot Nothing Then
|
||||
For Each window As UI.Window.Base In WindowList
|
||||
window.Close()
|
||||
Next
|
||||
End If
|
||||
|
||||
Debug.Print("[END] - " & Now)
|
||||
End Sub
|
||||
@@ -196,50 +215,46 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Private Sub tmrAutoSave_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrAutoSave.Tick
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "Doing AutoSave", True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, "Doing AutoSave", True)
|
||||
App.Runtime.SaveConnections()
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Ext Apps Toolbar"
|
||||
Private Sub cMenToolbarShowText_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenToolbarShowText.Click
|
||||
SwitchToolbarText(Not cMenToolbarShowText.Checked)
|
||||
SwitchToolBarText(Not cMenToolbarShowText.Checked)
|
||||
End Sub
|
||||
|
||||
Public Sub AddExtAppsToToolbar()
|
||||
Public Sub AddExternalToolsToToolBar()
|
||||
Try
|
||||
'clean up
|
||||
tsExtAppsToolbar.Items.Clear()
|
||||
For Each item As ToolStripItem In tsExternalTools.Items
|
||||
item.Dispose()
|
||||
Next
|
||||
tsExternalTools.Items.Clear()
|
||||
|
||||
'add ext apps
|
||||
For Each extA As Tools.ExternalApp In ExtApps
|
||||
Dim nItem As New ToolStripButton
|
||||
nItem.Text = extA.DisplayName
|
||||
nItem.Image = extA.Image
|
||||
Dim button As ToolStripButton
|
||||
For Each tool As Tools.ExternalTool In ExternalTools
|
||||
button = tsExternalTools.Items.Add(tool.DisplayName, tool.Image, AddressOf tsExtAppEntry_Click)
|
||||
|
||||
If cMenToolbarShowText.Checked = True Then
|
||||
nItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
button.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
Else
|
||||
If nItem.Image IsNot Nothing Then
|
||||
nItem.DisplayStyle = ToolStripItemDisplayStyle.Image
|
||||
If button.Image IsNot Nothing Then
|
||||
button.DisplayStyle = ToolStripItemDisplayStyle.Image
|
||||
Else
|
||||
nItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
button.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
End If
|
||||
End If
|
||||
|
||||
nItem.Tag = extA
|
||||
|
||||
AddHandler nItem.Click, AddressOf tsExtAppEntry_Click
|
||||
|
||||
tsExtAppsToolbar.Items.Add(nItem)
|
||||
button.Tag = tool
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddExtAppsToToolbar failed (frmMain)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, String.Format(My.Language.strErrorAddExternalToolsToToolBarFailed, ex.Message), True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub tsExtAppEntry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
||||
Dim extA As Tools.ExternalApp = sender.Tag
|
||||
Dim extA As Tools.ExternalTool = sender.Tag
|
||||
|
||||
If Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.Connection Then
|
||||
extA.Start(Tree.Node.SelectedNode.Tag)
|
||||
@@ -248,9 +263,9 @@ Public Class frmMain
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub SwitchToolbarText(ByVal Show As Boolean)
|
||||
For Each tItem As ToolStripButton In tsExtAppsToolbar.Items
|
||||
If Show = True Then
|
||||
Public Sub SwitchToolBarText(ByVal show As Boolean)
|
||||
For Each tItem As ToolStripButton In tsExternalTools.Items
|
||||
If show = True Then
|
||||
tItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
Else
|
||||
If tItem.Image IsNot Nothing Then
|
||||
@@ -261,7 +276,7 @@ Public Class frmMain
|
||||
End If
|
||||
Next
|
||||
|
||||
cMenToolbarShowText.Checked = Show
|
||||
cMenToolbarShowText.Checked = show
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -274,33 +289,33 @@ Public Class frmMain
|
||||
mMenFileDelete.Enabled = False
|
||||
mMenFileRename.Enabled = True
|
||||
mMenFileDuplicate.Enabled = False
|
||||
mMenFileDelete.Text = My.Resources.strMenuDelete
|
||||
mMenFileRename.Text = My.Resources.strMenuRenameFolder
|
||||
mMenFileDuplicate.Text = My.Resources.strMenuDuplicate
|
||||
mMenFileDelete.Text = My.Language.strMenuDelete
|
||||
mMenFileRename.Text = My.Language.strMenuRenameFolder
|
||||
mMenFileDuplicate.Text = My.Language.strMenuDuplicate
|
||||
Case Tree.Node.Type.Container
|
||||
mMenFileImportExport.Enabled = True
|
||||
mMenFileDelete.Enabled = True
|
||||
mMenFileRename.Enabled = True
|
||||
mMenFileDuplicate.Enabled = True
|
||||
mMenFileDelete.Text = My.Resources.strMenuDeleteFolder
|
||||
mMenFileRename.Text = My.Resources.strMenuRenameFolder
|
||||
mMenFileDuplicate.Text = My.Resources.strMenuDuplicateFolder
|
||||
mMenFileDelete.Text = My.Language.strMenuDeleteFolder
|
||||
mMenFileRename.Text = My.Language.strMenuRenameFolder
|
||||
mMenFileDuplicate.Text = My.Language.strMenuDuplicateFolder
|
||||
Case Tree.Node.Type.Connection
|
||||
mMenFileImportExport.Enabled = False
|
||||
mMenFileDelete.Enabled = True
|
||||
mMenFileRename.Enabled = True
|
||||
mMenFileDuplicate.Enabled = True
|
||||
mMenFileDelete.Text = My.Resources.strMenuDeleteConnection
|
||||
mMenFileRename.Text = My.Resources.strMenuRenameConnection
|
||||
mMenFileDuplicate.Text = My.Resources.strMenuDuplicateConnection
|
||||
mMenFileDelete.Text = My.Language.strMenuDeleteConnection
|
||||
mMenFileRename.Text = My.Language.strMenuRenameConnection
|
||||
mMenFileDuplicate.Text = My.Language.strMenuDuplicateConnection
|
||||
Case Else
|
||||
mMenFileImportExport.Enabled = False
|
||||
mMenFileDelete.Enabled = False
|
||||
mMenFileRename.Enabled = False
|
||||
mMenFileDuplicate.Enabled = False
|
||||
mMenFileDelete.Text = My.Resources.strMenuDelete
|
||||
mMenFileRename.Text = My.Resources.strMenuRename
|
||||
mMenFileDuplicate.Text = My.Resources.strMenuDuplicate
|
||||
mMenFileDelete.Text = My.Language.strMenuDelete
|
||||
mMenFileRename.Text = My.Language.strMenuRename
|
||||
mMenFileDuplicate.Text = My.Language.strMenuDuplicate
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -324,8 +339,8 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileLoad.Click
|
||||
If App.Runtime.ConnectionsFileLoaded Then
|
||||
Select Case MsgBox(My.Resources.strSaveConnectionsFileBeforeOpeningAnother, MsgBoxStyle.YesNoCancel Or MsgBoxStyle.Question)
|
||||
If App.Runtime.IsConnectionsFileLoaded Then
|
||||
Select Case MsgBox(My.Language.strSaveConnectionsFileBeforeOpeningAnother, MsgBoxStyle.YesNoCancel Or MsgBoxStyle.Question)
|
||||
Case MsgBoxResult.Yes
|
||||
App.Runtime.SaveConnections()
|
||||
Case MsgBoxResult.Cancel
|
||||
@@ -341,7 +356,7 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileSaveAs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileSaveAs.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.SaveAs)
|
||||
SaveConnectionsAs()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileExit.Click
|
||||
@@ -372,14 +387,14 @@ Public Class frmMain
|
||||
Me.mMenViewSessions.Checked = Not Windows.sessionsForm.IsHidden
|
||||
Me.mMenViewScreenshotManager.Checked = Not Windows.screenshotForm.IsHidden
|
||||
|
||||
Me.mMenViewExtAppsToolbar.Checked = tsExtAppsToolbar.Visible
|
||||
Me.mMenViewExtAppsToolbar.Checked = tsExternalTools.Visible
|
||||
Me.mMenViewQuickConnectToolbar.Checked = tsQuickConnect.Visible
|
||||
|
||||
Me.mMenViewConnectionPanels.DropDownItems.Clear()
|
||||
|
||||
For i As Integer = 0 To wL.Count - 1
|
||||
Dim tItem As New ToolStripMenuItem(wL(i).Text, wL(i).Icon.ToBitmap, AddressOf ConnectionPanelMenuItem_Click)
|
||||
tItem.Tag = wL(i)
|
||||
For i As Integer = 0 To WindowList.Count - 1
|
||||
Dim tItem As New ToolStripMenuItem(WindowList(i).Text, WindowList(i).Icon.ToBitmap, AddressOf ConnectionPanelMenuItem_Click)
|
||||
tItem.Tag = WindowList(i)
|
||||
|
||||
Me.mMenViewConnectionPanels.DropDownItems.Add(tItem)
|
||||
Next
|
||||
@@ -467,7 +482,7 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewResetLayout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewResetLayout.Click
|
||||
If MsgBox(My.Resources.strConfirmResetLayout, MsgBoxStyle.Question Or MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
|
||||
If MsgBox(My.Language.strConfirmResetLayout, MsgBoxStyle.Question Or MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
|
||||
App.Runtime.Startup.SetDefaultLayout()
|
||||
End If
|
||||
End Sub
|
||||
@@ -478,10 +493,10 @@ Public Class frmMain
|
||||
|
||||
Private Sub mMenViewExtAppsToolbar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewExtAppsToolbar.Click
|
||||
If mMenViewExtAppsToolbar.Checked = False Then
|
||||
tsExtAppsToolbar.Visible = True
|
||||
tsExternalTools.Visible = True
|
||||
mMenViewExtAppsToolbar.Checked = True
|
||||
Else
|
||||
tsExtAppsToolbar.Visible = False
|
||||
tsExternalTools.Visible = False
|
||||
mMenViewExtAppsToolbar.Checked = False
|
||||
End If
|
||||
End Sub
|
||||
@@ -559,7 +574,7 @@ Public Class frmMain
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CreateButtons (frmMain) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "CreateButtons (frmMain) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -581,7 +596,7 @@ Public Class frmMain
|
||||
|
||||
App.Runtime.OpenConnection(conI, mRemoteNG.Connection.Info.Force.DoNotJump)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "QuickyProtocolButton_Click (frmMain) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "QuickyProtocolButton_Click (frmMain) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -672,7 +687,7 @@ Public Class frmMain
|
||||
AddHandler tMenItem.MouseDown, AddressOf ConMenItem_MouseDown
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddNodeToMenu failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "AddNodeToMenu failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -689,18 +704,18 @@ Public Class frmMain
|
||||
Private Sub frmMain_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
|
||||
If Me.WindowState = FormWindowState.Minimized Then
|
||||
If My.Settings.MinimizeToTray Then
|
||||
If App.Runtime.SysTrayIcon Is Nothing Then
|
||||
App.Runtime.SysTrayIcon = New Tools.Controls.SysTrayIcon()
|
||||
If App.Runtime.NotificationAreaIcon Is Nothing Then
|
||||
App.Runtime.NotificationAreaIcon = New Tools.Controls.NotificationAreaIcon()
|
||||
End If
|
||||
Me.Hide()
|
||||
End If
|
||||
Else
|
||||
prevWindowsState = Me.WindowState
|
||||
PreviousWindowState = Me.WindowState
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private bWmGetTextFlag As Boolean = False
|
||||
Private bWmWindowPosChangedFlag As Boolean = False
|
||||
Private _inMouseActivate As Boolean = False
|
||||
Private _inSizeMove As Boolean = False
|
||||
|
||||
Protected Overloads Overrides Sub WndProc(ByRef m As Message)
|
||||
Try
|
||||
@@ -709,19 +724,45 @@ Public Class frmMain
|
||||
#End If
|
||||
|
||||
Select Case m.Msg
|
||||
Case WM_GETTEXT
|
||||
bWmGetTextFlag = True
|
||||
Case WM_WINDOWPOSCHANGED
|
||||
If bWmGetTextFlag Then
|
||||
ActivateConnection()
|
||||
Case WM_MOUSEACTIVATE
|
||||
_inMouseActivate = True
|
||||
Case WM_ACTIVATEAPP
|
||||
_inMouseActivate = False
|
||||
Case WM_ACTIVATE
|
||||
' Ingore this message if it wasn't triggered by a click
|
||||
If Not LOWORD(m.WParam) = WA_CLICKACTIVE Then Exit Select
|
||||
|
||||
Dim control As Control = FromChildHandle(WindowFromPoint(MousePosition))
|
||||
If Not IsNothing(control) Then
|
||||
' Let TreeViews and ComboBoxes get focus but don't simulate a mouse event
|
||||
If TypeOf control Is TreeView Or TypeOf control Is ComboBox Then Exit Select
|
||||
|
||||
If control.CanSelect Or TypeOf control Is MenuStrip Or TypeOf control Is ToolStrip Or TypeOf control Is Magic.Controls.InertButton Then
|
||||
' Simulate a mouse event since one wasn't generated by Windows
|
||||
Dim clientMousePosition As Point = control.PointToClient(MousePosition)
|
||||
SendMessage(control.Handle, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(clientMousePosition.X, clientMousePosition.Y))
|
||||
|
||||
control.Focus()
|
||||
Exit Select
|
||||
End If
|
||||
End If
|
||||
|
||||
bWmGetTextFlag = False
|
||||
bWmWindowPosChangedFlag = True
|
||||
Case WM_ACTIVATEAPP
|
||||
If bWmWindowPosChangedFlag Then
|
||||
ActivateConnection()
|
||||
End If
|
||||
' This handles activations from clicks that did not start a size/move operation
|
||||
ActivateConnection()
|
||||
Case WM_ENTERSIZEMOVE
|
||||
_inSizeMove = True
|
||||
Case WM_EXITSIZEMOVE
|
||||
_inSizeMove = False
|
||||
|
||||
' This handles activations from clicks that started a size/move operation
|
||||
ActivateConnection()
|
||||
Case WM_WINDOWPOSCHANGED
|
||||
' Ignore this message if the window wasn't activated
|
||||
Dim windowPos As WINDOWPOS = Marshal.PtrToStructure(m.LParam, GetType(WINDOWPOS))
|
||||
If (Not (windowPos.flags And SWP_NOACTIVATE) = 0) Then Exit Select
|
||||
|
||||
' This handles all other activations
|
||||
If Not _inMouseActivate And Not _inSizeMove Then ActivateConnection()
|
||||
Case WM_SYSCOMMAND
|
||||
For i As Integer = 0 To SysMenSubItems.Length - 1
|
||||
If SysMenSubItems(i) = m.WParam Then
|
||||
@@ -736,9 +777,6 @@ Public Class frmMain
|
||||
'Send to the next window
|
||||
SendMessage(fpChainedWindowHandle, m.Msg, m.LParam, m.WParam)
|
||||
fpChainedWindowHandle = m.LParam
|
||||
Case Else
|
||||
bWmGetTextFlag = False
|
||||
bWmWindowPosChangedFlag = False
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
@@ -761,6 +799,32 @@ Public Class frmMain
|
||||
Private Sub pnlDock_ActiveDocumentChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles pnlDock.ActiveDocumentChanged
|
||||
ActivateConnection()
|
||||
End Sub
|
||||
|
||||
Public Sub ShowHidePanelTabs(Optional closingDocument As DockContent = Nothing)
|
||||
Dim newDocumentStyle As DocumentStyle = pnlDock.DocumentStyle
|
||||
|
||||
If My.Settings.AlwaysShowPanelTabs Then
|
||||
newDocumentStyle = DocumentStyle.DockingWindow ' Show the panel tabs
|
||||
Else
|
||||
Dim nonConnectionPanelCount As Integer = 0
|
||||
For Each document As DockContent In pnlDock.Documents
|
||||
If (closingDocument Is Nothing OrElse document IsNot closingDocument) And Not TypeOf document Is UI.Window.Connection Then
|
||||
nonConnectionPanelCount = nonConnectionPanelCount + 1
|
||||
End If
|
||||
Next
|
||||
|
||||
If nonConnectionPanelCount = 0 Then
|
||||
newDocumentStyle = DocumentStyle.DockingSdi ' Hide the panel tabs
|
||||
Else
|
||||
newDocumentStyle = DocumentStyle.DockingWindow ' Show the panel tabs
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not pnlDock.DocumentStyle = newDocumentStyle Then
|
||||
pnlDock.DocumentStyle = newDocumentStyle
|
||||
pnlDock.Size = New Size(1, 1)
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Screen Stuff"
|
||||
@@ -770,21 +834,21 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Private SysMenSubItems(50) As Integer
|
||||
Private Sub ResetSysMenuItems()
|
||||
SysMenu.Reset()
|
||||
Private Shared Sub ResetSysMenuItems()
|
||||
SystemMenu.Reset()
|
||||
End Sub
|
||||
|
||||
Private Sub AddSysMenuItems()
|
||||
SysMenu = New Tools.SystemMenu(Me.Handle)
|
||||
Dim popMen As IntPtr = SysMenu.CreatePopupMenuItem()
|
||||
SystemMenu = New Tools.SystemMenu(Me.Handle)
|
||||
Dim popMen As IntPtr = SystemMenu.CreatePopupMenuItem()
|
||||
|
||||
For i As Integer = 0 To Screen.AllScreens.Length - 1
|
||||
SysMenSubItems(i) = 200 + i
|
||||
SysMenu.AppendMenuItem(popMen, Tools.SystemMenu.Flags.MF_STRING, SysMenSubItems(i), My.Resources.strScreen & " " & i + 1)
|
||||
SystemMenu.AppendMenuItem(popMen, Tools.SystemMenu.Flags.MF_STRING, SysMenSubItems(i), My.Language.strScreen & " " & i + 1)
|
||||
Next
|
||||
|
||||
SysMenu.InsertMenuItem(SysMenu.SystemMenuHandle, 0, Tools.SystemMenu.Flags.MF_POPUP Or Tools.SystemMenu.Flags.MF_BYPOSITION, popMen, My.Resources.strSendTo)
|
||||
SysMenu.InsertMenuItem(SysMenu.SystemMenuHandle, 1, Tools.SystemMenu.Flags.MF_BYPOSITION Or Tools.SystemMenu.Flags.MF_SEPARATOR, IntPtr.Zero, Nothing)
|
||||
SystemMenu.InsertMenuItem(SystemMenu.SystemMenuHandle, 0, Tools.SystemMenu.Flags.MF_POPUP Or Tools.SystemMenu.Flags.MF_BYPOSITION, popMen, My.Language.strSendTo)
|
||||
SystemMenu.InsertMenuItem(SystemMenu.SystemMenuHandle, 1, Tools.SystemMenu.Flags.MF_BYPOSITION Or Tools.SystemMenu.Flags.MF_SEPARATOR, IntPtr.Zero, Nothing)
|
||||
End Sub
|
||||
#End Region
|
||||
End Class
|
||||
|
||||
@@ -124,154 +124,154 @@
|
||||
<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=
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABi
|
||||
IgAAAk1TRnQBSQFMAgEBBwEAASABAQEgAQEBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABIAMAAQEBAAEgBgABIB4AAeIB7wH0Af8BqAHJAdcB/wFtAaQBtgH/AVABhgGcAf8BOwFiAYoB/wE2
|
||||
AV0BhwH/ATYBZwGVAf8BSQGOAasB/wGPAbcBzQH/Ad0B6gHxAf8MAANXAbcDnwH/A5oB/wOWAf8DkQH/
|
||||
A40B/wOJAf8DhAH/A4AB/wNYAf8DVAH/A1AB/wNNAf8DSQH/A0YB/wNXAbcYAAMNARIDVgG2A1YBtgMN
|
||||
ARFgAAGtAc8B3wH/AUgBkQGtAf8BTQGjAb8B/wFpAcAB1AH/AZUB2QHmAf8BgQHbAfAB/wFBAcYB7AH/
|
||||
ARUBqgHdAf8BBwGSAccB/wETAYABrAH/ASoBYgGSAf8BnQG/AdEB/wgAA6gB/wPpAf8D0wH/A9IB/wPR
|
||||
Af8D0AH/A84B/wPNAf8DzQH/A8sB/wPLAf8DygH/A8kB/wPIAf8D4gH/A0YB/xgAA14B2QPkAf8D4wH/
|
||||
A1gBwWAAAUsBhAGbAf8BNQG9AecB/wFYAdMB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUEBygHw
|
||||
Af8BDwG2Ae0B/wEAAacB6AH/AQABoQHhAf8BAAGWAdIB/wEuAU8BawH/CAADrQH/A9YB/wO6Af8DuAH/
|
||||
A7UB/wOzAf8DsQH/A7AB/wOtAf8DqwH/A6oB/wOoAf8DpwH/A6YB/wPIAf8DSgH/CAADCwEPA1QBrQM6
|
||||
AWEDPwFuA3EB+AHiAeEB3wH/AeEB4AHfAf8DXwHzAzwBZwM8AWYDUwGtAwsBD1AAAU4BhwGeAf8BNAHE
|
||||
AfAB/wFaAdQB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUEBygHwAf8BDwG2Ae0B/wEAAagB6AH/
|
||||
AQABoQHhAf8BAAGcAdoB/wEvAVABbQH/CAADsQH/A9kB/wO9Af8DugH/A7gB/wO2Af8DtQH/A7MB/wOw
|
||||
Af8DrwH/A60B/wOrAf8DqQH/A6gB/wPKAf8DTgH/CAADWgHFBP8ClgGVAf4ClQGUAf4C5wHmAf8B1gHV
|
||||
AdMB/wHXAdYB1AH/AeMB4gHgAf8BigGJAYcB/gOoAf0B6QHoAeYB/wNYAcFQAAFQAYkBoAH/ATQBxAHv
|
||||
Af8BWQHUAfEB/wGNAeMB9AH/AaIB6wH2Af8BggHfAfMB/wFCAcoB8AH/AQ8BtgHtAf8BAAGoAegB/wEA
|
||||
AaEB4QH/AQABnAHaAf8BMQFTAW8B/wgAA7YB/wPdAf8DwQH/A70B/wO8Af8DugH/A7gB/wO1Af8DtAH/
|
||||
A7IB/wOwAf8DrQH/A6wB/wOsAf8DzwH/A1IB/wgAA2QB5wL5AfcB/wLvAe4B/wLbAdoB/wHKAskB/wHJ
|
||||
AcgBxgH/AckByAHHAf8ByQHIAccB/wLLAckB/wHmAeUB5AH/AeUB5AHiAf8DZQHlUAABUgGMAaIB/wE2
|
||||
AcYB8AH/AVsB1AHxAf8BjAHjAfQB/wGiAesB9gH/AYIB3wH0Af8BQgHKAfAB/wEPAbYB7QH/AQABqAHo
|
||||
Af8BAAGiAeIB/wEAAZsB2wH/ATMBVgGAAf8IAANaAb0D2gH/A8gB/wPAAf8DvwH/A70B/wO6Af8DuAH/
|
||||
A7cB/wO1Af8DswH/A7AB/wOvAf8DswH/A8IB/wNaAb0IAANOAZUB9gH1AfQB/wHmAeUB5AH/Ab8BvgG9
|
||||
Af8C6wHqAf8B1AHTAdIB/wHWAdUB1AH/AeIC4QH/ArQBswH/AdcB1gHUAf8B4gHhAd8B/wNKAY1QAAFV
|
||||
AY8BpQH/ATcBxgHwAf8BWwHUAfIB/wGNAeMB9AH/AaIB6wH2Af8BgwHfAfQB/wFBAcoB8AH/AQ8BtgHt
|
||||
Af8BAAGnAegB/wEAAaEB4gH/AQABnAHbAf8BNQFZAYMB/wgAA1oBvQPjAf8D5wH/A+EB/wPgAf8D4AH/
|
||||
A98B/wPfAf8D3gH/A90B/wPdAf8D3AH/A9sB/wPgAf8D0AH/A1oBvQMLAQ8DVQG1A2QB5wHkAeMB4gH/
|
||||
AdEB0AHPAf8C8AHvAf8DrgH/A2QB8QNnAfICrAGrAf8C6AHnAf8CywHKAf8B4AHfAd0B/wNhAeQDVQG1
|
||||
AwsBD0gAAVYBkgGoAf8BNwHFAfAB/wFcAdQB8gH/AY0B4wH0Af8BogHrAfYB/wGCAd8B9AH/AUEBygHw
|
||||
Af8BDwG2Ae0B/wEAAacB6AH/AQABoQHhAf8BAAGcAdsB/wE3AVwBhgH/CAADKQE/A84B/wPsAf8D3gH/
|
||||
A9gB/wPSAf8DzAH/A8gB/wPHAf8DyAH/A8sB/wPQAf8D3QH/A+gB/wOkAf8DKwFCAz8BbQLkAeMB/wHY
|
||||
AdYB1QH/AdIB0QHQAf8BxQHEAcMB/wHtAewB6wH/A1cBuggAA1wBzQHoAecB5gH/AbYBtQG0Af8B1gHV
|
||||
AdMB/wHiAeEB4AH/AuAB3wH/AzwBZkgAAVkBlQGrAf8BNwHFAfAB/wFcAdQB8gH/AY0B4wH0Af8BogHr
|
||||
AfYB/wGDAd8B9AH/AUIBywHwAf8BDwG1Ae0B/wEAAacB6AH/AQABoQHiAf8BAAGcAdoB/wE6AV8BiAH/
|
||||
DAADWgG9A+MB/wPbAf8D4gH/AbcB0AG4Af8BQAGtAUQB/wFSAaoBQAH/AUwBrwFEAf8BMgGlAT4B/wGs
|
||||
AcUBrAH/A8IB/wPRAf8D0wH/A1oBvQQAA0IBdgHsAesB6AH/AdoB2QHXAf8B1AHTAdEB/wHGAcUBxAH/
|
||||
Ad4C3AH/A0YBfggAA1ABmgHdAdwB2wH/AcgBxgHFAf8C4gHhAf8C4QHfAf8B7gHtAewB/wM/AW9IAAFb
|
||||
AZgBrgH/ATcBxQHwAf8BXAHUAfEB/wGNAeMB9AH/AaIB6wH2Af8BgwHfAfQB/wFCAcoB8AH/AQ8BtgHt
|
||||
Af8BAAGoAekB/wEAAaEB4QH/AQABnAHaAf8BPAFhAYoB/wwAAykBPwPRAf8D8wH/AccB3gHKAf8BQAHJ
|
||||
AYUB/wGzAdwBpAH/AecBxwFYAf8B3AG/AU8B/wFSAcwBjwH/ASsBrQFEAf8BuAHQAbgB/wPxAf8DrwH/
|
||||
AysBQgQAAy8BSgNgAesDeAH8Ad4B3QHcAf8BywLKAf8B5gLlAf8DYQHhAzIBUAM4AVwDYAHrAu4B7AH/
|
||||
AcwCywH/AecB5gHlAf8DeAH8A2AB6wMsAUNIAAFeAZsBsAH/ATYBxgHwAf8BXAHUAfIB/wGNAeMB9AH/
|
||||
AaIB6wH2Af8BgwHfAfQB/wFCAcoB8AH/AQ8BtgHtAf8BAAGoAegB/wEAAaEB4QH/AQABnAHaAf8BPwFl
|
||||
AY4B/xAAA1oBvQPEAf8BUgHOAYsB/wGZAeQBqwH/AbABxQE5Af8B6gG1ASQB/wHhAaIBFQH/AaUBnQEc
|
||||
Af8BggHFAY8B/wElAZoBMgH/A6AB/wNaAb0QAANeAc4B4QHgAd4B/wHZAdcB1gH/AbgCtwH/AeEB4AHf
|
||||
Af8DqAH9A6gB/QL2AfUB/wLAAb8B/wHqAekB6AH/AvMB8gH/A1wByVAAAWEBnwGzAf8BNgHGAfAB/wFa
|
||||
AdQB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUIBygHwAf8BDwG2Ae0B/wEAAacB6AH/AQABoQHh
|
||||
Af8BAAGbAdoB/wFBAWgBkAH/GAABXgF6AWkB/AGiAekBlQH/AdYBzwFFAf8B4gGzASMB/wHRAbsBKwH/
|
||||
AcIBrgEeAf8BggG9AUgB/wErAW8BUgH8GAADTAGRAeMB4gHgAf8C3gHcAf8B4QHgAd8B/wHMAssB/wHE
|
||||
AcMBwgH/As8BzgH/At4B3QH/AvAB7wH/AvAB7wH/AvYB9QH/A0gBh1AAAWIBoQG1Af8BXAHVAfQB/wGa
|
||||
AegB9wH/AbUB8wH6Af8BwgH4AfwB/wHDAfgB/QH/AcEB9wH9Af8BrwHwAfsB/wGPAeIB9wH/AVsB0AHw
|
||||
Af8BLwG4AeUB/wFEAWsBkwH/GAABYAF6AWoB/AGiAfABnwH/AdgB7QGvAf8B3gHFAUQB/wG0AeIBQQH/
|
||||
ATwB5wEVAf8BRwHXAUcB/wEsAXEBWwH8FAADAQECA18B4wHlAeQB4QH/Au4B7QH/Au4B7QH/AusB6gH/
|
||||
AeMB4gHhAf8C6AHnAf8C6gHpAf8C8wHyAf8C9QH0Af8B+gH5AfgB/wNcAd9QAAFlAaMBuAH/AcUB+QH9
|
||||
Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHF
|
||||
AfkB/QH/AcUB+QH9Af8BRgFuAZUB/xgAA2EB3AHIAfcB1AH/AdgB9gHKAf8B5wHjAakB/wHbAc8BSAH/
|
||||
Aa8B3AFEAf8BnQHqAasB/wNfAeAYAANAAW8DfwH+A2QB5wNfAfMB6AHnAeYB/wHnAeYB5QH/Au0B7AH/
|
||||
AvsB+gH/A2cB8gNkAecDfwH+Az0BaFAAAbcB1wHhAf8BjAG9AcwB/wGdAc8B2wH/Aa0B3wHoAf8BuQHs
|
||||
AfMB/wHCAfUB+gH/AcIB9QH6Af8BuAHrAfEB/wGpAdoB4wH/AZQBxAHRAf8BbAGoAbgB/wGpAcUB0QH/
|
||||
GAADLQFFAVcBdgFtAfoB2wH4AekB/wHnAfIB2AH/Ae0B5QGzAf8B3wHZAaYB/wFfAYUBXwH7AzIBUCAA
|
||||
Aw8BFAMKAQ4DUwGqAe8B7gHtAf8C9AHzAf8DUgGkAwgBCwMRARdYAAL+Av8B4wHxAfQB/wG5AdcB4QH/
|
||||
AZUBvgHMAf8BbAGoAbsB/wFfAZsBsAH/AVsBmAGtAf8BZAGhAbMB/wGMAbIBwgH/AbEBzQHXAf8B3wHr
|
||||
Ae8B/wP+Af8cAAMuAUcDXgHZAWQBegFoAfwBZAF5AWQB/ANeAd0DMgFQLAADLwFKA10B8ANiAe8DLAFD
|
||||
ZAADEQEXA1YBswFTAVQBUwGstAADBAEFAxABFQMfAS0DKQE/Ay8BSQMuAUgDKAE9Ax4BKwMPARQDAwEE
|
||||
EAADtwH/AZwBqAGeAf8BAAFTAS4B/wEYAZIBUAH/AQABVwEuAf8BAAFEAaAB/wEAAUIBngH/AQABPwGb
|
||||
Af8BAAE9AZkB/wEAATsBlwH/AQABOAGUAf8BAAE3AZMB/wNIAf8DSAH/HAADQQFyAUwCXwHzAVkCXAHP
|
||||
AUsCTAGQAyMBM1wAAwUBBwMfASwCPgE9AWoCUgFQAaMBWwJZAcQBXQJaAdMBXQJaAdMBWwJZAcMBUgJR
|
||||
AaEDPAFmAxwBKAMEAQYMAAMVAR0DUQGiAR0BlQFUAf8BggG+AaoB/wEsAaUBggH/AQ0BlwFGAf8BEAGZ
|
||||
AUsB/wEUAZkBTwH/ARgBnQFUAf8BUgGqAdIB/wFQAagB0QH/AQABOQGVAf8gAAMhATABKwEwAWgB/AGG
|
||||
Aa0B4QH/AVoBqAHcAf8BOwGSAckB/wEMAU4BqwH/AVUCVgGxAx8BLVMAAQEDEgEYAz4BawFdAlkB1wFW
|
||||
AisB/AGsASkBAAH/AeEBSQEdAf8B5AFbATEB/wHTAUcBFQH/AaMBQAE6Af0BYQJeAdoCPgE9AWoDDwEU
|
||||
CAADGAEiAVABUgFQAaQDVgGzAUkBrAGfAf8BUAG3AZ4B/wFaAbsBrAH/AVoBuwGuAf8BWwG7AbAB/wGA
|
||||
AbwBswH/ARMBmgFXAf8BMAGVAccB/wFTAasB0wH/AQABPAGYAf8gAAFUAlYBqwFJAZ0B0QH/AZkBvAHr
|
||||
Af8BTQGgAeMB/wGWAbkB6gH/AZQBuAHqAf8BPAGTAcoB/wIrAWQB/ANDAXhQAAMbASYDWQHSARkBAwEA
|
||||
Af8BigE4ASAB/wHKAYYBQgH/AfYBvAGcAf8B+QHMAbcB/wHjAaABVAH/AbEBUwE5Af8BVQEvARAB/wFe
|
||||
AlgB3QMcASgIAAFVAVYBVQGxA1YBswNWAbMBOAGkAZEB/wFLAbYBmwH/AUQBsgGbAf8BRgGyAZ4B/wFI
|
||||
AbMBoQH/AYUBvwG2Af8BGgGeAYIB/wE1AZkByQH/AVcBrQHUAf8BAAFAAZwB/xwAAx8BLQErAUMBbAH8
|
||||
AZ0BvwHsAf8BRQGcAeIB/wE3AZMB3wH/ATQBkQHfAf8BOwGUAeAB/wGVAbgB6gH/AYYBrQHhAf8BJQGD
|
||||
AbsB/wFLAkwBkAQAA50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/
|
||||
A50B/wOdAf8DnQH/A50B/wgAAVMCTwGlATABFQEAAf8BVQFAASsB/wGPAVIBPQH/AawBiAFHAf8BwgGj
|
||||
AYgB/wHBAaUBjgH/AbMBmAGBAf8BkQFSATwB/wFQATcBIgH/AT8BGAEAAf8BVgJVAbEIAAMIAQsDVQGy
|
||||
A1YBswFSAbIBqAH/AVkBvQGnAf8BhwHBAbUB/wGGAcEBtgH/AYcBwQG3Af8BiAHBAbkB/wEgAaIBiAH/
|
||||
AToBnAHLAf8BWwGwAdUB/wEAAUMBnwH/EAADKwFCA0gBhAFVAlcBtwFMAl8B8wFSAaQB1wH/AaEBwgHt
|
||||
Af8BnwHAAe0B/wGdAb8B7QH/AVABowHkAf8BNgGSAd8B/wE0AZAB3gH/AVcBpwHmAf8BkgG2AegB/wEf
|
||||
AVsBtwH/AzcBWgOdAf8BugK9Af8B5gLsAf8B5gLtAf8B5wLtAf8B6ALuAf8B6QLvAf8B6QLvAf8B6gLv
|
||||
Af8B6gLwAf8B6wLwAf8B6wLxAf8B7ALxAf8B7ALxAf8BvQK/Af8DnQH/BAADOQFfAVEBMQEWAf8BwwGx
|
||||
AaIB/wG2AZwBgwH/AaYBVQEoAf8BqAFTASUB/wHDAaQBhwH/AdgBxgGwAf8BvQGpAYsB/wFbATsBGwH/
|
||||
ATgBGAEAAf8BLgEKAQAB/wE1AQ4BAAH/AzMBUwgAAwYBCANVAbIBKwGgAYoB/wGTAckBugH/ATsBrwGX
|
||||
Af8BIAGiAYMB/wEhAaMBhwH/ASMBpAGLAf8BIgGqAZIB/wEwAcIB7QH/AYEBtAHXAf8BBAFHAaMB/wwA
|
||||
A0wBkwFAAZcBzwH/AVcBqAHZAf8BjQG0AeIB/wGjAcQB7QH/AacBxwHuAf8BQAGXAc0B/wEQAVEBsgH/
|
||||
ATsBkwHJAf8BnwHAAe0B/wFUAZYBowH/AZ4BlgEkAf8BWAGUAZEB/wGNAbMB6QH/AVUBpQHYAf8BWgJe
|
||||
AdgEAANcAeoB2wLiAf8BzQLPAf8DywH/A8wB/wPOAf8DzwH/A9AB/wPSAf8D0wH/A9UB/wHXAtgB/wHn
|
||||
AuwB/wNtAfcEAAMiATEBVgJVAbEBQwEXAQAB/wGqAYUBOwH/AbIBTgEMAf8BrQErAQAB/wG6AUgBAAH/
|
||||
AeoB1QG/Af8B/QH8AfoB/wHWAb4BpgH/AZABOwEIAf8BPgEMAQAB/wE/ARwBAAH/ATgBGAEAAf8DVwHF
|
||||
AxwBJwgAAwQBBgERAZQBUwH/AUoBuQGeAf8BJQGmAYkB/wFVAbEB1QH/AVEBrQHUAf8BTQGrAdIB/wE7
|
||||
AboB5AH/AQABmQFFAf8BAwGOATQB/wEGAUwBmgH/DAABSAJiAfYBrgHNAfAB/wGwAc8B8AH/AZgBvwHs
|
||||
Af8BWgGuAecB/wGqAcoB7wH/ARkBVwG4Af8EAAERAVIBswH/AaIBwwHtAf8BqAGXAQ0B/wHEAbUBNgH/
|
||||
AawBlwECAf8BNwGTAd8B/wGYAbsB6wH/AQABQAGfAf8EAANcAeoB2QLhAf8BywLMAf8DxwH/A8gB/wPK
|
||||
Af8DywH/A80B/wPOAf8D0AH/A9EB/wHTAtQB/wHlAusB/wNtAfcEAAMuAUcDWQHsAT4BDAEAAf8BmQEr
|
||||
AQAB/wG4AUMBAAH/AcIBPwEAAf8ByQFRAQAB/wHmAb8BlAH/AewB1AG2Af8BzQGcAT4B/wGoAUgBCAH/
|
||||
AZkBSQEdAf8BowGMAU4B/wFbAUIBKwH/AlEBPwH3ATUCNAFVDAABNAGOAcQB/wEuAawBiwH/ASsBqgGP
|
||||
Af8BWgG1AdgB/wFWAbIB1gH/AVMBrwHVAf8BTwGsAdMB/wEAAZABPgH/ATUBqAGEAf8BAAFUAS8B/wMU
|
||||
ARsIAAFaAmAB3gGoAckB7QH/AYQBpwHtAf8BNAFGAe0B/wFGAY4B6QH/Aa0BzQHwAf8BSQGdAdIB/wEa
|
||||
AVgBuQH/AUMBmQHOAf8BpQHFAe4B/wGVAZoBRQH/Aa0BlwECAf8BnQGXASkB/wFCAZsB4gH/AZgBuwHq
|
||||
Af8BSAJiAfYEAANcAeoB1wLfAf8BxwLJAf8DwgH/A8QB/wPFAf8DyAH/A8kB/wPKAf8DzAH/A80B/wHQ
|
||||
AtEB/wHjAuoB/wNtAfcEAAM5AV8CQAEnAf0BUAEXAQAB/wGuATUBAAH/AcABPQEAAf8B5wGWASIB/wHo
|
||||
AbIBVgH/AeQBsQFWAf8B0gGJARUB/wG9AUIBAAH/AagBMAEAAf8BuAGNATkB/wHUAcMBsgH/AZgBhAFK
|
||||
Af8BNwEZAQAB/wE+Aj0BagwAAToBkQHJAf8BpAHMAeQB/wGHAbsB2wH/ARsBoQFWAf8BFQGcAVAB/wEQ
|
||||
AZoBTAH/AQsBlgFGAf8BJwGjAYEB/wGEAcABqwH/AR4BlgFVAf8DUQGiAxUBHQQAA1EBnAGSAbkB5QH/
|
||||
AUoBUAH2Af8BgQGEAfUB/wIcAfAB/wGQAbsB6wH/Aa4BzQHwAf8BrAHMAfAB/wGqAcoB8AH/AYUBsgHp
|
||||
Af8BOgGpAcEB/wEgAbMBjQH/ATIBqAG2Af8BTAGhAeQB/wGXAboB6AH/A10B7QQAA1wB6gHWAt8B/wHD
|
||||
AsUB/wPAAf8DwAH/A8IB/wPDAf8DxAH/A8UB/wPIAf8DyQH/A80B/wHgAugB/wNtAfcEAAM3AVoCTQEo
|
||||
AfoBgwEiAQAB/wHLAUwBAAH/AeUBiwEZAf8B/gG2AU4C/wHjAcIB/wH0AbwBhQH/AdYBUwEFAf8BxQFK
|
||||
AQAB/wG6AT8BAAH/Aa8BUwEVAf8BrgGIATkB/wGUAVIBOQH/ATgBGgEAAf8DPAFmDAABPwGVAc0B/wGo
|
||||
Ac8B5QH/AYwBvwHdAf8BIQGlAYEB/wGNAcUBuAH/AYkBwwG0Af8BhgHBAbEB/wGEAb8BrwH/AVMBuQGf
|
||||
Af8BSgGtAaAB/wNWAbMBUAFSAVABpAMYASIDIwEzASsBYQF3AfwBkgGkAfUB/wE1ATYB9gH/AS0BhgH0
|
||||
Af8BFwGmAfsB/wE4AasB8gH/AVoBrwHnAf8BVwGtAecB/wFUAaoB5gH/ARsBtgGAAf8BPAHIAZcB/wEX
|
||||
AbcBVgH/AVkBrAHnAf8BjwG1AeMB/wFaAl4B1QQAA2AB1gHHAs0B/wHbAuQB/wHbAuQB/wHbAuUB/wHc
|
||||
AuUB/wHcAuUB/wHdAuYB/wHdAuYB/wHeAucB/wHfAugB/wHgAugB/wHNAtMB/wNfAeMEAAMmATkBYAJa
|
||||
Ad4BjgEqAQAB/wHsAZ4BLwH/Af4BvwGFAv8BzAGhAv8B3wG7Af8B/gHCAVsB/wHiAY4BJQH/AdMBhAEW
|
||||
Af8BygFVAQgB/wG1AUwBBgH/AZcBPQEDAf8BgQE6ARUB/wNZAewDLgFIDAABQwGYAdAB/wGrAdEB5wH/
|
||||
AZABwgHfAf8BKAGpAYgB/wGRAckBuwH/AVIBugGlAf8BTgG4AaEB/wFKAbYBngH/AU4BuAGdAf8BOQGl
|
||||
AZIB/wNWAbMDVgGzAVUBVgFVAbEEAANJAYcBhgGvAeEB/wG5AdcB8wH/AQ4BpgH+Af8BSAG/Av8BBwGj
|
||||
Av8BQgG+AfAB/wEWAc4B+wH/ATYBvgHxAf8BLgGzAaAB/wEXAbcBVQH/ASMBswGQAf8BpwHIAe4B/wFT
|
||||
AaUB1gH/AU8CUQGcBAADLAFDA1sByAOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOd
|
||||
Af8DXgHdAzEBTgQAAwkBDANLAY4BwAFKAQkC/wG8AVsB/wH6Ac4BpwH/AfgB2wG+Av8B4gHGAv8BvgGG
|
||||
Af8B9AGsAVEB/wHsAcIBmgH/AeIBtQGLAf8BuAFRAQ8B/wGdAUABCAH/AYgBQAEcAf8DTwGlAxABFQwA
|
||||
AUcBmwHTAf8BrgHUAegB/wGrAdMB6AH/ATUBsQGQAf8BmwHOAcAB/wGZAc0BvQH/AZYBywG7Af8BlQHK
|
||||
AbkB/wGAAb8BqAH/AVMBswGpAf8DVgGzA1UBsgMIAQsEAAMEAQYDUQGfAYUBrgHhAf8BNgGyAfkB/wEH
|
||||
AaMC/wEcAakB+wH/AQwB0wH+Af8BSAHiAv8BBwHVAv8BWwGwAegB/wFYAa0B5wH/AakBygHvAf8BpQHF
|
||||
Ae0B/wErAU8BbgH8AyEBMEQAAxMBGgJkAVMB8QHYAZ4BTgH/AecB0wHAAf8B/AH1Ae4C/wH4AesC/wHl
|
||||
AcIB/wH2AbkBggH/AfIB0gG4Af8B7gHSAbYB/wHCAYYBKgH/AacBUgEjAf8CTQEpAfoDHQEpEAABSgGd
|
||||
AdUB/wFIAZsB0wH/AUUBmgHSAf8BJQGhAYwB/wEgAZ8BigH/AR0BnQGFAf8BGQGZAYAB/wEyAaUBkgH/
|
||||
AVsBuAGxAf8BLAGhAYsB/wNVAbIDBgEIEAADQgF1AV8CYgH2AY4BtgHjAf8BuQHXAfMB/wE5AdUB+wH/
|
||||
AQYB1QL/AR0B0QH7Af8BswHSAfIB/wGxAdAB8QH/AZIBuAHiAf8BPgGVAcwB/wNKAYpMAAM1AVcBqQE+
|
||||
ARAB/wHKAbgBqAb/Af4B/AL/AfYB4gH/AfsBxQGgAf8B5AG5AZUB/wHbAawBWQH/AcMBjgE4Af8BkwFA
|
||||
ARQB/wE+Aj0BajAAAVMCVAGsA1YBswNWAbMDBAEGGAADFgEeA1QBrgFSAaMB3AH/AZEBuAHkAf8BqAHK
|
||||
AewB/wGlAccB7AH/AY0BtQHiAf8BRAGaAdIB/wFaAl8B2wMxAU5UAAMyAVECZAFZAewB0AGyAZUB/wHs
|
||||
AeAB2QH/AeYB1QHEAf8B0wGwAZQB/wHTAaYBUwH/AcsBjwExAf8BZwFlAVkB8gE6AjkBYDQAAVMCVAGs
|
||||
A1YBswMEAQYkAAMrAUIDTAGQAVsCXQHSAVkCXAHPA04BmQMtAUVgAAMRARcDRAF6AloBVwHFAmUBXgHl
|
||||
AmEBWAHmAlwBWQHJAkgBRwGDAxUBHRAAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYA
|
||||
A/8BAAHgAQcCAAH8AT8CAAHAAQMCAAH8AT8CAAHAAQMCAAHAAQMCAAHAAQMCAAHAAQMCAAHAAQMCAAHA
|
||||
AQMCAAHAAQMCAAHAAQMCAAHAAQMGAAHAAQMCAAEBAYACAAHAAQMBgAIBAYACAAHAAQMBgAEBBAABwAED
|
||||
AcABAwHAAQMCAAHAAQMB8AEPAcABAwIAAcABAwHwAQ8BgAEDAgABwAEDAfABDwHAAQMCAAHAAQMB8AEP
|
||||
AfABDwIAAcABAwH4AR8B/AE/AgAB4wX/AeABBwGAAQEB/AEfAv8BwAEDAYABBwH4AQcC/wGAAQMBAAEH
|
||||
AfgBAwL/AcABAwEAAQcB8AEBAgABwAEDAQABBwGAAwABgAEBAYABBwIAAYABAQIAAcABBwEBAQABgAEB
|
||||
AgAB4AEDAgABgAEBAgAB4AEBAgABgAEBAgAB4AMAAYABAQIAAeABAAGAAQABgAEBAgAB4AEAAYABAAL/
|
||||
AYABAQHgAQEB4AEBAv8BwAEDAf8BwwHwAQMC/wHgAQcB/wHHAfwBDwL/AfABDws=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
File diff suppressed because it is too large
Load Diff
10
mRemoteV1/Forms/frmPassword.Designer.vb
generated
10
mRemoteV1/Forms/frmPassword.Designer.vb
generated
@@ -64,7 +64,7 @@ Partial Class frmPassword
|
||||
Me.lblPassword.Name = "lblPassword"
|
||||
Me.lblPassword.Size = New System.Drawing.Size(56, 13)
|
||||
Me.lblPassword.TabIndex = 2
|
||||
Me.lblPassword.Text = My.Resources.strLabelPassword
|
||||
Me.lblPassword.Text = My.Language.strLabelPassword
|
||||
'
|
||||
'lblVerify
|
||||
'
|
||||
@@ -73,7 +73,7 @@ Partial Class frmPassword
|
||||
Me.lblVerify.Name = "lblVerify"
|
||||
Me.lblVerify.Size = New System.Drawing.Size(36, 13)
|
||||
Me.lblVerify.TabIndex = 3
|
||||
Me.lblVerify.Text = My.Resources.strLabelVerify
|
||||
Me.lblVerify.Text = My.Language.strLabelVerify
|
||||
'
|
||||
'btnOK
|
||||
'
|
||||
@@ -83,7 +83,7 @@ Partial Class frmPassword
|
||||
Me.btnOK.Name = "btnOK"
|
||||
Me.btnOK.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnOK.TabIndex = 4
|
||||
Me.btnOK.Text = My.Resources.strButtonOK
|
||||
Me.btnOK.Text = My.Language.strButtonOK
|
||||
Me.btnOK.UseVisualStyleBackColor = True
|
||||
'
|
||||
'btnCancel
|
||||
@@ -95,7 +95,7 @@ Partial Class frmPassword
|
||||
Me.btnCancel.Name = "btnCancel"
|
||||
Me.btnCancel.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnCancel.TabIndex = 5
|
||||
Me.btnCancel.Text = My.Resources.strButtonCancel
|
||||
Me.btnCancel.Text = My.Language.strButtonCancel
|
||||
Me.btnCancel.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lblStatus
|
||||
@@ -152,7 +152,7 @@ Partial Class frmPassword
|
||||
Me.ShowIcon = False
|
||||
Me.ShowInTaskbar = False
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = My.Resources.strTitlePassword
|
||||
Me.Text = My.Language.strTitlePassword
|
||||
CType(Me.pbLock, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.pnlImage.ResumeLayout(False)
|
||||
Me.pnlImage.PerformLayout()
|
||||
|
||||
@@ -29,12 +29,12 @@
|
||||
|
||||
|
||||
|
||||
Public Sub New(Optional ByVal UserAndPass As Boolean = False, Optional ByVal Title As String = "Security")
|
||||
Public Sub New(Optional ByVal UserAndPass As Boolean = False, Optional ByVal title As String = "Security")
|
||||
' This call is required by the Windows Form Designer.
|
||||
InitializeComponent()
|
||||
|
||||
' Add any initialization after the InitializeComponent() call.
|
||||
Me.Text = Title
|
||||
Me.Text = title
|
||||
|
||||
If UserAndPass = True Then
|
||||
_UserAndPass = True
|
||||
@@ -86,12 +86,12 @@
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
lblPassword.Text = My.Resources.strLabelPassword
|
||||
lblVerify.Text = My.Resources.strLabelVerify
|
||||
btnOK.Text = My.Resources.strButtonOK
|
||||
btnCancel.Text = My.Resources.strButtonCancel
|
||||
lblPassword.Text = My.Language.strLabelPassword
|
||||
lblVerify.Text = My.Language.strLabelVerify
|
||||
btnOK.Text = My.Language.strButtonOK
|
||||
btnCancel.Text = My.Language.strButtonCancel
|
||||
lblStatus.Text = "Status"
|
||||
Text = My.Resources.strTitlePassword
|
||||
Text = My.Language.strTitlePassword
|
||||
End Sub
|
||||
|
||||
Private Sub txtPassword_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPassword.GotFocus
|
||||
|
||||
@@ -30,6 +30,7 @@ CREATE TABLE [dbo].[tblCons] (
|
||||
[PuttySession] [varchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[Port] [int] NOT NULL ,
|
||||
[ConnectToConsole] [bit] NOT NULL ,
|
||||
[UseCredSsp] [bit] NOT NULL ,
|
||||
[RenderingEngine] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[ICAEncryptionStrength] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
|
||||
[RDPAuthenticationLevel] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
|
||||
@@ -91,6 +92,7 @@ CREATE TABLE [dbo].[tblCons] (
|
||||
[InheritRedirectSound] [bit] NOT NULL ,
|
||||
[InheritResolution] [bit] NOT NULL ,
|
||||
[InheritUseConsoleSession] [bit] NOT NULL ,
|
||||
[InheritUseCredSsp] [bit] NOT NULL ,
|
||||
[InheritRenderingEngine] [bit] NOT NULL ,
|
||||
[InheritICAEncryptionStrength] [bit] NOT NULL ,
|
||||
[InheritRDPAuthenticationLevel] [bit] NOT NULL ,
|
||||
|
||||
5838
mRemoteV1/Language/Language.Designer.vb
generated
Normal file
5838
mRemoteV1/Language/Language.Designer.vb
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -123,31 +123,19 @@
|
||||
<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="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="strRDP32768Colors" xml:space="preserve">
|
||||
<value>32768 Colors (15-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>
|
||||
390
mRemoteV1/Language/Language.es-AR.resx
Normal file
390
mRemoteV1/Language/Language.es-AR.resx
Normal file
@@ -0,0 +1,390 @@
|
||||
<?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 xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<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="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="strActive" xml:space="preserve">
|
||||
<value>Activo</value>
|
||||
</data>
|
||||
<data name="strActivity" xml:space="preserve">
|
||||
<value>Actividad</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultProperties" xml:space="preserve">
|
||||
<value>Propiedades por defecto</value>
|
||||
</data>
|
||||
<data name="strButtonDisconnect" xml:space="preserve">
|
||||
<value>Desconectar</value>
|
||||
</data>
|
||||
<data name="strButtonIcon" xml:space="preserve">
|
||||
<value>Icono</value>
|
||||
</data>
|
||||
<data name="strButtonLaunchPutty" xml:space="preserve">
|
||||
<value>Ejecutar PuTTY</value>
|
||||
</data>
|
||||
<data name="strButtonOK" xml:space="preserve">
|
||||
<value>& OK</value>
|
||||
</data>
|
||||
<data name="strButtonProperties" xml:space="preserve">
|
||||
<value>Propiedades</value>
|
||||
</data>
|
||||
<data name="strButtonScan" xml:space="preserve">
|
||||
<value>& Scanear</value>
|
||||
</data>
|
||||
<data name="strButtonStop" xml:space="preserve">
|
||||
<value>& Parar</value>
|
||||
</data>
|
||||
<data name="strButtonTestProxy" xml:space="preserve">
|
||||
<value>Probar Proxy</value>
|
||||
</data>
|
||||
<data name="strCategoryCredentials" xml:space="preserve">
|
||||
<value>Credenciales</value>
|
||||
</data>
|
||||
<data name="strCategoryMiscellaneous" xml:space="preserve">
|
||||
<value>Varios</value>
|
||||
</data>
|
||||
<data name="strCcAlwaysShowScreen" xml:space="preserve">
|
||||
<value>Siempre mostrar esta pantalla al inicio</value>
|
||||
</data>
|
||||
<data name="strCcNotInstalledProperly" xml:space="preserve">
|
||||
<value>no está correctamente instalado</value>
|
||||
</data>
|
||||
<data name="strCcPuttyOK" xml:space="preserve">
|
||||
<value>El ejecutable de PuTTY se encontró y debería estar listo para usarse.</value>
|
||||
</data>
|
||||
<data name="strCcRDPOK" xml:space="preserve">
|
||||
<value>Todos los componentes RDP se encontraron y parecen estar registrados correctamente. Versión de escritorio remoto {0}</value>
|
||||
</data>
|
||||
<data name="strCcVNCOK" xml:space="preserve">
|
||||
<value>Todos los componentes de VNC se encontraron y parecen estar registrados correctamente.
|
||||
VncSharpNG Control {0}</value>
|
||||
</data>
|
||||
<data name="strCheckboxAutomaticReconnect" xml:space="preserve">
|
||||
<value>Intentar reconectar automáticamente cuando se desconecte (solo para RDP && ICA)</value>
|
||||
</data>
|
||||
<data name="strCheckboxDomain" xml:space="preserve">
|
||||
<value>Dominio</value>
|
||||
</data>
|
||||
<data name="strCheckboxDoNotShowThisMessageAgain" xml:space="preserve">
|
||||
<value>No mostrar este mensaje de nuevo.</value>
|
||||
</data>
|
||||
<data name="strCheckboxInheritance" xml:space="preserve">
|
||||
<value>Herencia</value>
|
||||
</data>
|
||||
<data name="strCheckboxPassword" xml:space="preserve">
|
||||
<value>Contraseña</value>
|
||||
</data>
|
||||
<data name="strCheckboxProxyAuthentication" xml:space="preserve">
|
||||
<value>Este servidor proxy requiere autenticación</value>
|
||||
</data>
|
||||
<data name="strCheckboxPuttyPath" xml:space="preserve">
|
||||
<value>Usar ruta de Putty personalizada:</value>
|
||||
</data>
|
||||
<data name="strCheckboxReconnectWhenReady" xml:space="preserve">
|
||||
<value>Vuelva a conectarse cuando esté listo</value>
|
||||
</data>
|
||||
<data name="strCheckboxUpdateUseProxy" xml:space="preserve">
|
||||
<value>Usar un servidor proxy para conectarse</value>
|
||||
</data>
|
||||
<data name="strCheckboxUsername" xml:space="preserve">
|
||||
<value>Usuario</value>
|
||||
</data>
|
||||
<data name="strCheckboxWaitForExit" xml:space="preserve">
|
||||
<value>Esperar a Salir</value>
|
||||
</data>
|
||||
<data name="strCheckForUpdate" xml:space="preserve">
|
||||
<value>Pruebe nuevamente</value>
|
||||
</data>
|
||||
<data name="strCheckForUpdatesOnStartup" xml:space="preserve">
|
||||
<value>Comprobar las actualizaciones y anuncios en el inicio</value>
|
||||
</data>
|
||||
<data name="strCheckNow" xml:space="preserve">
|
||||
<value>Compruebe ahora</value>
|
||||
</data>
|
||||
<data name="strCheckProperInstallationOfComponentsAtStartup" xml:space="preserve">
|
||||
<value>Verifique la correcta instalación de los componentes en el inicio</value>
|
||||
</data>
|
||||
<data name="strChoosePanelBeforeConnecting" xml:space="preserve">
|
||||
<value>Elija el panel antes de conectarse</value>
|
||||
</data>
|
||||
<data name="strClosedPorts" xml:space="preserve">
|
||||
<value>Puertos Cerrados</value>
|
||||
</data>
|
||||
<data name="strCollapseAllFolders" xml:space="preserve">
|
||||
<value>Contraer todas las carpetas</value>
|
||||
</data>
|
||||
<data name="strComponentsCheck" xml:space="preserve">
|
||||
<value>Comprobación de componentes</value>
|
||||
</data>
|
||||
<data name="strConfigPropertyGridButtonIconClickFailed" xml:space="preserve">
|
||||
<value>btnIcon_Click falló!</value>
|
||||
</data>
|
||||
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
|
||||
<value>¿Desea cerrar la conexión, "{0}"?</value>
|
||||
</data>
|
||||
<data name="strConfirmCloseConnectionPanelMainInstruction" xml:space="preserve">
|
||||
<value>¿Está seguro que desea cerrar el panel, "{0}"? Cualquier conexión que contenga el panel también estará cerrada.</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteNodeFolder" xml:space="preserve">
|
||||
<value>¿Está seguro que desea eliminar la carpeta vacía, "{0}"?</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
|
||||
<value>¿Está seguro que desea eliminar la carpeta "{0}"? También se eliminará cualquier carpetas o conexiones que contiene.</value>
|
||||
</data>
|
||||
<data name="strConfirmExit" xml:space="preserve">
|
||||
<value>Confirmar salida si hay conexiones abiertas</value>
|
||||
</data>
|
||||
<data name="strConfirmExitMainInstruction" xml:space="preserve">
|
||||
<value>¿Desea cerrar todas las conexiones abiertas?</value>
|
||||
</data>
|
||||
<data name="strConfirmResetLayout" xml:space="preserve">
|
||||
<value>¿Estás seguro que deseas restablecer los paneles a su diseño predeterminado?</value>
|
||||
</data>
|
||||
<data name="strConnect" xml:space="preserve">
|
||||
<value>Conectar</value>
|
||||
</data>
|
||||
<data name="strConnecting" xml:space="preserve">
|
||||
<value>Conectando...</value>
|
||||
</data>
|
||||
<data name="strConnectionEventConnected" xml:space="preserve">
|
||||
<value>Evento de protocolo conectado</value>
|
||||
</data>
|
||||
<data name="strConnectionEventConnectionFailed" xml:space="preserve">
|
||||
<value>¡Error de conexión!</value>
|
||||
</data>
|
||||
<data name="strConnectionOpenFailed" xml:space="preserve">
|
||||
<value>No se pudo abrir la conexión!</value>
|
||||
</data>
|
||||
<data name="strConnectionOpenFailedNoHostname" xml:space="preserve">
|
||||
<value>No se puede abrir la conexión: ningún nombre de host especificado!</value>
|
||||
</data>
|
||||
<data name="strConnectionRdpErrorDetail" xml:space="preserve">
|
||||
<value>Error de RDP.
|
||||
Código de Error: {0}
|
||||
Descripción del Error: {1}</value>
|
||||
</data>
|
||||
<data name="strConnections" xml:space="preserve">
|
||||
<value>Conexiones</value>
|
||||
</data>
|
||||
<data name="strConnectionSetDefaultPortFailed" xml:space="preserve">
|
||||
<value>No se ha podido establecer el puerto predeterminado!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileBackupFailed" xml:space="preserve">
|
||||
<value>No se pudo crear copia de seguridad del archivo de conexiones!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeImported" xml:space="preserve">
|
||||
<value>No se pudo importar archivo de conexiones!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeLoaded" xml:space="preserve">
|
||||
<value>No se pudo cargar el archivo de conexiones "{0}"!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeSaved" xml:space="preserve">
|
||||
<value>No se pudo guardar el archivo de conexiones!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotSaveAs" xml:space="preserve">
|
||||
<value>No se pudo guardar archivo de conexiones como "{0}"!</value>
|
||||
</data>
|
||||
<data name="strConnectToConsoleSession" xml:space="preserve">
|
||||
<value>Conectar con la sesión de consola</value>
|
||||
</data>
|
||||
<data name="strConnectWithOptions" xml:space="preserve">
|
||||
<value>Conectar (con opciones)</value>
|
||||
</data>
|
||||
<data name="strConnenctionClosedByUser" xml:space="preserve">
|
||||
<value>Conexión a {0} {1} vía cerrada por usuario {2}.</value>
|
||||
</data>
|
||||
<data name="strConnenctionClosedByUserDetail" xml:space="preserve">
|
||||
<value>Conexión a {0} {1} vía cerrada por usuario {2}. (Descripción: "{3}"; Campo de usuario: "{4}")</value>
|
||||
</data>
|
||||
<data name="strConnenctionCloseEvent" xml:space="preserve">
|
||||
<value>Evento de conexión cerrada</value>
|
||||
</data>
|
||||
<data name="strConnenctionCloseEventFailed" xml:space="preserve">
|
||||
<value>Evento de cerrar conexión falló!</value>
|
||||
</data>
|
||||
<data name="strCouldNotCreateNewConnectionsFile" xml:space="preserve">
|
||||
<value>No se pudo crear el nuevo archivo de conexiones!</value>
|
||||
</data>
|
||||
<data name="strCurrentVersion" xml:space="preserve">
|
||||
<value>Versión instalada</value>
|
||||
</data>
|
||||
<data name="strDetect" xml:space="preserve">
|
||||
<value>Detectar</value>
|
||||
</data>
|
||||
<data name="strDontConnectWhenAuthFails" xml:space="preserve">
|
||||
<value>No conectar si falla la autenticación</value>
|
||||
</data>
|
||||
<data name="strDownloadAndInstall" xml:space="preserve">
|
||||
<value>Descargar e instalar</value>
|
||||
</data>
|
||||
<data name="strDuplicate" xml:space="preserve">
|
||||
<value>Duplicar</value>
|
||||
</data>
|
||||
<data name="strEmptyPasswordContinue" xml:space="preserve">
|
||||
<value>¿Desea continuar sin contraseña?</value>
|
||||
</data>
|
||||
<data name="strEmptyUsernamePasswordDomainFields" xml:space="preserve">
|
||||
<value>Si desea Nombre de usuario, password o dominio vacio use:</value>
|
||||
</data>
|
||||
<data name="strEnc128Bit" xml:space="preserve">
|
||||
<value>128-bit</value>
|
||||
</data>
|
||||
<data name="strEnc128BitLogonOnly" xml:space="preserve">
|
||||
<value>128-bit (iniciar sesión)</value>
|
||||
</data>
|
||||
<data name="strEncBasic" xml:space="preserve">
|
||||
<value>Básica</value>
|
||||
</data>
|
||||
<data name="strEncryptCompleteConnectionFile" xml:space="preserve">
|
||||
<value>Encriptar completamente el archivo de conexiones</value>
|
||||
</data>
|
||||
<data name="strEndIP" xml:space="preserve">
|
||||
<value>Último IP</value>
|
||||
</data>
|
||||
<data name="strEndPort" xml:space="preserve">
|
||||
<value>Último puerto</value>
|
||||
</data>
|
||||
<data name="strErrorAddExternalToolsToToolBarFailed" xml:space="preserve">
|
||||
<value>BarraAgregarHerramientasExternas (frmMain) falló. {0}</value>
|
||||
</data>
|
||||
<data name="strErrorBadDatabaseVersion" xml:space="preserve">
|
||||
<value>La versión de la base de datos {0} no es compatible con esta versión de {1}.</value>
|
||||
</data>
|
||||
<data name="strErrorCloneNodeFailed" xml:space="preserve">
|
||||
<value>ClonarModulo (Tree.Node) falló. {0}</value>
|
||||
</data>
|
||||
<data name="strErrorCode" xml:space="preserve">
|
||||
<value>Código de Error {0}.</value>
|
||||
</data>
|
||||
<data name="strErrorConnectionListSaveFailed" xml:space="preserve">
|
||||
<value>La lista de conexiones no pudo ser guardada.</value>
|
||||
</data>
|
||||
<data name="strErrorDecryptionFailed" xml:space="preserve">
|
||||
<value>La decriptación falló. {0}</value>
|
||||
</data>
|
||||
<data name="strErrorEncryptionFailed" xml:space="preserve">
|
||||
<value>La encriptación falló. {0}</value>
|
||||
</data>
|
||||
<data name="strErrorFipsPolicyIncompatible" xml:space="preserve">
|
||||
<value>La configuración de seguridad de Windows, "criptografía de sistema: usar FIPS algoritmos compatibles para codificación, algoritmos hash y firma", está habilitada. Esta configuración no es compatible con {0}. Consulte el artículo de soporte técnico de Microsoft en http://support.microsoft.com/kb/811833 para obtener más información. {0} se cerrará.</value>
|
||||
</data>
|
||||
<data name="strErrors" xml:space="preserve">
|
||||
<value>Errores</value>
|
||||
</data>
|
||||
<data name="strErrorVerifyDatabaseVersionFailed" xml:space="preserve">
|
||||
<value>VerificarVersionBasedeDatos (Config.Connections.Save) falló. {0}</value>
|
||||
</data>
|
||||
</root>
|
||||
1957
mRemoteV1/Language/Language.es.resx
Normal file
1957
mRemoteV1/Language/Language.es.resx
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2021
mRemoteV1/Language/Language.it.resx
Normal file
2021
mRemoteV1/Language/Language.it.resx
Normal file
File diff suppressed because it is too large
Load Diff
2022
mRemoteV1/Language/Language.nl.resx
Normal file
2022
mRemoteV1/Language/Language.nl.resx
Normal file
File diff suppressed because it is too large
Load Diff
851
mRemoteV1/Language/Language.pl.resx
Normal file
851
mRemoteV1/Language/Language.pl.resx
Normal file
@@ -0,0 +1,851 @@
|
||||
<?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>
|
||||
<data name="strAbout" xml:space="preserve">
|
||||
<value>O programie</value>
|
||||
</data>
|
||||
<data name="strAddConnection" xml:space="preserve">
|
||||
<value>Nowe połączenie</value>
|
||||
</data>
|
||||
<data name="strAddFolder" xml:space="preserve">
|
||||
<value>Nowy folder</value>
|
||||
</data>
|
||||
<data name="strAlways" xml:space="preserve">
|
||||
<value>Zawsze</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesCommandAskLater" xml:space="preserve">
|
||||
<value>Zapytaj mnie znów później</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesMainInstruction" xml:space="preserve">
|
||||
<value>Ustawienia automatycznej aktualizacji</value>
|
||||
</data>
|
||||
<data name="strAutoSaveEvery" xml:space="preserve">
|
||||
<value>Automatyczny zapis co:</value>
|
||||
</data>
|
||||
<data name="strAutoSaveMins" xml:space="preserve">
|
||||
<value>Minuty (0 oznacza wyłączony)</value>
|
||||
</data>
|
||||
<data name="strAvailableVersion" xml:space="preserve">
|
||||
<value>Aktualna wersja</value>
|
||||
</data>
|
||||
<data name="strButtonBrowse" xml:space="preserve">
|
||||
<value>&Wybierz...</value>
|
||||
</data>
|
||||
<data name="strButtonCancel" xml:space="preserve">
|
||||
<value>&Anuluj</value>
|
||||
</data>
|
||||
<data name="strButtonChange" xml:space="preserve">
|
||||
<value>Zmiana</value>
|
||||
</data>
|
||||
<data name="strButtonClose" xml:space="preserve">
|
||||
<value>&Zamknij</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultInheritance" xml:space="preserve">
|
||||
<value>Dziedziczenie domyślne</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultProperties" xml:space="preserve">
|
||||
<value>Ustawienia domyślne</value>
|
||||
</data>
|
||||
<data name="strButtonDisconnect" xml:space="preserve">
|
||||
<value>Rozłącz</value>
|
||||
</data>
|
||||
<data name="strButtonIcon" xml:space="preserve">
|
||||
<value>Ikona</value>
|
||||
</data>
|
||||
<data name="strButtonInheritance" xml:space="preserve">
|
||||
<value>Dziedziczenie</value>
|
||||
</data>
|
||||
<data name="strButtonLaunchPutty" xml:space="preserve">
|
||||
<value>Uruchom PuTTY</value>
|
||||
</data>
|
||||
<data name="strButtonNew" xml:space="preserve">
|
||||
<value>&Nowy</value>
|
||||
</data>
|
||||
<data name="strButtonProperties" xml:space="preserve">
|
||||
<value>Ustawienia</value>
|
||||
</data>
|
||||
<data name="strButtonScan" xml:space="preserve">
|
||||
<value>&Skanuj</value>
|
||||
</data>
|
||||
<data name="strCategoryAppearance" xml:space="preserve">
|
||||
<value>Wygląd</value>
|
||||
</data>
|
||||
<data name="strCategoryConnection" xml:space="preserve">
|
||||
<value>Połączenie</value>
|
||||
</data>
|
||||
<data name="strCategoryDisplay" xml:space="preserve">
|
||||
<value>Wyświetl</value>
|
||||
</data>
|
||||
<data name="strCategoryGateway" xml:space="preserve">
|
||||
<value>Brama</value>
|
||||
</data>
|
||||
<data name="strCategoryGeneral" xml:space="preserve">
|
||||
<value>Ogólny</value>
|
||||
</data>
|
||||
<data name="strCategoryProtocol" xml:space="preserve">
|
||||
<value>Protokół</value>
|
||||
</data>
|
||||
<data name="strCcCheckAgain" xml:space="preserve">
|
||||
<value>Odświerz</value>
|
||||
</data>
|
||||
<data name="strCheckboxDomain" xml:space="preserve">
|
||||
<value>Domena</value>
|
||||
</data>
|
||||
<data name="strCheckboxDoNotShowThisMessageAgain" xml:space="preserve">
|
||||
<value>Nie pokazuj więcej tej informacji.</value>
|
||||
</data>
|
||||
<data name="strCheckboxInheritance" xml:space="preserve">
|
||||
<value>Dziedziczenie</value>
|
||||
</data>
|
||||
<data name="strCheckboxPassword" xml:space="preserve">
|
||||
<value>Hasło</value>
|
||||
</data>
|
||||
<data name="strCheckboxUsername" xml:space="preserve">
|
||||
<value>Użytkownik</value>
|
||||
</data>
|
||||
<data name="strCheckForUpdate" xml:space="preserve">
|
||||
<value>Sprawdź ponownie</value>
|
||||
</data>
|
||||
<data name="strCheckNow" xml:space="preserve">
|
||||
<value>Sprawdź teraz</value>
|
||||
</data>
|
||||
<data name="strChoosePanelBeforeConnecting" xml:space="preserve">
|
||||
<value>Przed połączeniem wybierz panel</value>
|
||||
</data>
|
||||
<data name="strClosedPorts" xml:space="preserve">
|
||||
<value>Porty zamknięte</value>
|
||||
</data>
|
||||
<data name="strCollapseAllFolders" xml:space="preserve">
|
||||
<value>Zwiń wszystkie foldery</value>
|
||||
</data>
|
||||
<data name="strColumnFilename" xml:space="preserve">
|
||||
<value>Nazwa pliku</value>
|
||||
</data>
|
||||
<data name="strColumnMessage" xml:space="preserve">
|
||||
<value>Wiadomość</value>
|
||||
</data>
|
||||
<data name="strColumnUsername" xml:space="preserve">
|
||||
<value>Użytkownik</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteNodeConnection" xml:space="preserve">
|
||||
<value>Czy jesteś pewien, że chcesz usunąć połączenie, "{0}"?</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteNodeFolder" xml:space="preserve">
|
||||
<value>Czy jesteś pewien, że chcesz usunąć pusty folder, "{0}"?</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
|
||||
<value>Czy jesteś pewien, że chcesz usunąć folder, "{0}"? Wszystkie foldery oraz połączenia które zawiera także zostaną usunięte.</value>
|
||||
</data>
|
||||
<data name="strConfirmExitMainInstruction" xml:space="preserve">
|
||||
<value>Czy chcesz zamknąć wszystkie otwarte połączenia?</value>
|
||||
</data>
|
||||
<data name="strConfirmResetLayout" xml:space="preserve">
|
||||
<value>Czy jesteś pewien, że chcesz powrócić z ustawieniami paneli do ich domyślego wyglądu?</value>
|
||||
</data>
|
||||
<data name="strConnect" xml:space="preserve">
|
||||
<value>Połącz</value>
|
||||
</data>
|
||||
<data name="strConnectInFullscreen" xml:space="preserve">
|
||||
<value>Połącz w trybie pełnego ekranu</value>
|
||||
</data>
|
||||
<data name="strConnecting" xml:space="preserve">
|
||||
<value>Łączenie...</value>
|
||||
</data>
|
||||
<data name="strConnectionRdpErrorDetail" xml:space="preserve">
|
||||
<value>Błąd RDP!
|
||||
Kod błędu: {0}
|
||||
Opis błędu: {1}</value>
|
||||
</data>
|
||||
<data name="strConnections" xml:space="preserve">
|
||||
<value>Połączenia</value>
|
||||
</data>
|
||||
<data name="strCurrentVersion" xml:space="preserve">
|
||||
<value>Zainstalowana wersja</value>
|
||||
</data>
|
||||
<data name="strDetect" xml:space="preserve">
|
||||
<value>Wykryj</value>
|
||||
</data>
|
||||
<data name="strDownloadAndInstall" xml:space="preserve">
|
||||
<value>Ściągnij i zainstaluj</value>
|
||||
</data>
|
||||
<data name="strDuplicate" xml:space="preserve">
|
||||
<value>Duplikuj</value>
|
||||
</data>
|
||||
<data name="strEndIP" xml:space="preserve">
|
||||
<value>Końcowe IP</value>
|
||||
</data>
|
||||
<data name="strEndPort" xml:space="preserve">
|
||||
<value>Port końcowy</value>
|
||||
</data>
|
||||
<data name="strErrorCode" xml:space="preserve">
|
||||
<value>Kod błędu {0}.</value>
|
||||
</data>
|
||||
<data name="strErrors" xml:space="preserve">
|
||||
<value>Błędy</value>
|
||||
</data>
|
||||
<data name="strExpandAllFolders" xml:space="preserve">
|
||||
<value>Rozwiń wszystkie foldery</value>
|
||||
</data>
|
||||
<data name="strExport" xml:space="preserve">
|
||||
<value>Eksport</value>
|
||||
</data>
|
||||
<data name="strFAMFAMFAMAttribution" xml:space="preserve">
|
||||
<value>Zawiera ikony ze strony [FAMFAMFAM]</value>
|
||||
</data>
|
||||
<data name="strFilterAll" xml:space="preserve">
|
||||
<value>Wszystkie pliki (*.*)</value>
|
||||
</data>
|
||||
<data name="strFilterApplication" xml:space="preserve">
|
||||
<value>Pliki programów (*.exe)</value>
|
||||
</data>
|
||||
<data name="strFiltermRemoteCSV" xml:space="preserve">
|
||||
<value>Pliki CSV mRemote (*.csv)</value>
|
||||
</data>
|
||||
<data name="strFiltermRemoteXML" xml:space="preserve">
|
||||
<value>Pliki XML mRemote (*.xml)</value>
|
||||
</data>
|
||||
<data name="strFilterRDP" xml:space="preserve">
|
||||
<value>Pliki RDP (*.rdp)</value>
|
||||
</data>
|
||||
<data name="strFiltervRD2008CSV" xml:space="preserve">
|
||||
<value>Pliki CSV visionapp Remote Desktop 2008 (*.csv)</value>
|
||||
</data>
|
||||
<data name="strFree" xml:space="preserve">
|
||||
<value>Wolne</value>
|
||||
</data>
|
||||
<data name="strFullscreen" xml:space="preserve">
|
||||
<value>Pełen ekran</value>
|
||||
</data>
|
||||
<data name="strGeneral" xml:space="preserve">
|
||||
<value>Ogólne</value>
|
||||
</data>
|
||||
<data name="strGroupboxAutomaticReconnect" xml:space="preserve">
|
||||
<value>Połącz automatycznie</value>
|
||||
</data>
|
||||
<data name="strGroupboxConnection" xml:space="preserve">
|
||||
<value>Połączenie</value>
|
||||
</data>
|
||||
<data name="strGroupboxFiles" xml:space="preserve">
|
||||
<value>Pliki</value>
|
||||
</data>
|
||||
<data name="strImportAD" xml:space="preserve">
|
||||
<value>Importów z Active Directory</value>
|
||||
</data>
|
||||
<data name="strImportExport" xml:space="preserve">
|
||||
<value>Importuj/Eksportuj</value>
|
||||
</data>
|
||||
<data name="strInactive" xml:space="preserve">
|
||||
<value>Bezczynny</value>
|
||||
</data>
|
||||
<data name="strInformations" xml:space="preserve">
|
||||
<value>Informacje</value>
|
||||
</data>
|
||||
<data name="strInheritNewConnection" xml:space="preserve">
|
||||
<value>mRemoteNG jest w najnowszej wersji</value>
|
||||
</data>
|
||||
<data name="strIntAppConnectionFailed" xml:space="preserve">
|
||||
<value>Połączenie nieudane</value>
|
||||
</data>
|
||||
<data name="strLabelChangeLog" xml:space="preserve">
|
||||
<value>Historia wersji:</value>
|
||||
</data>
|
||||
<data name="strLabelConnect" xml:space="preserve">
|
||||
<value>&Połącz</value>
|
||||
</data>
|
||||
<data name="strLabelDisplayName" xml:space="preserve">
|
||||
<value>Widoczna nazwa</value>
|
||||
</data>
|
||||
<data name="strLabelDomain" xml:space="preserve">
|
||||
<value>Domena:</value>
|
||||
</data>
|
||||
<data name="strLabelFilename" xml:space="preserve">
|
||||
<value>Nazwa pliku:</value>
|
||||
</data>
|
||||
<data name="strLabelOptions" xml:space="preserve">
|
||||
<value>Opcje:</value>
|
||||
</data>
|
||||
<data name="strLabelPassword" xml:space="preserve">
|
||||
<value>Hasło:</value>
|
||||
</data>
|
||||
<data name="strLabelPortableEdition" xml:space="preserve">
|
||||
<value>Wersja przenośna.</value>
|
||||
</data>
|
||||
<data name="strLabelProtocol" xml:space="preserve">
|
||||
<value>Protokół</value>
|
||||
</data>
|
||||
<data name="strLabelReleasedUnderGPL" xml:space="preserve">
|
||||
<value>Wydane na licencji GNU General Public License (GPL)</value>
|
||||
</data>
|
||||
<data name="strLabelServerStatus" xml:space="preserve">
|
||||
<value>Status serwera:</value>
|
||||
</data>
|
||||
<data name="strLabelSQLDatabaseName" xml:space="preserve">
|
||||
<value>Baza danych:</value>
|
||||
</data>
|
||||
<data name="strLabelSQLServerDatabaseName" xml:space="preserve">
|
||||
<value>Baza danych:</value>
|
||||
</data>
|
||||
<data name="strLabelUsername" xml:space="preserve">
|
||||
<value>Użytkownik:</value>
|
||||
</data>
|
||||
<data name="strLabelVerify" xml:space="preserve">
|
||||
<value>Sprawdź:</value>
|
||||
</data>
|
||||
<data name="strLanguage" xml:space="preserve">
|
||||
<value>Język</value>
|
||||
</data>
|
||||
<data name="strLanguageDefault" xml:space="preserve">
|
||||
<value>(Wykryj automatycznie)</value>
|
||||
</data>
|
||||
<data name="strLocalFile" xml:space="preserve">
|
||||
<value>Plik lokalny</value>
|
||||
</data>
|
||||
<data name="strLogOff" xml:space="preserve">
|
||||
<value>Wyloguj</value>
|
||||
</data>
|
||||
<data name="strMagicLibraryAttribution" xml:space="preserve">
|
||||
<value>Program korzysta z bibliotek "Magic library" [Crownwood Software]</value>
|
||||
</data>
|
||||
<data name="strMenuAbout" xml:space="preserve">
|
||||
<value>O programie</value>
|
||||
</data>
|
||||
<data name="strMenuCheckForUpdates" xml:space="preserve">
|
||||
<value>Sprawdź aktualizacje</value>
|
||||
</data>
|
||||
<data name="strMenuConfig" xml:space="preserve">
|
||||
<value>Konfiguracja</value>
|
||||
</data>
|
||||
<data name="strMenuConnect" xml:space="preserve">
|
||||
<value>Połącz</value>
|
||||
</data>
|
||||
<data name="strMenuConnectionPanels" xml:space="preserve">
|
||||
<value>Panele połączeń</value>
|
||||
</data>
|
||||
<data name="strMenuConnections" xml:space="preserve">
|
||||
<value>Połączenia</value>
|
||||
</data>
|
||||
<data name="strMenuConnectionsAndConfig" xml:space="preserve">
|
||||
<value>Połączenia i konfiguracja</value>
|
||||
</data>
|
||||
<data name="strMenuCopy" xml:space="preserve">
|
||||
<value>Kopiuj</value>
|
||||
</data>
|
||||
<data name="strMenuDelete" xml:space="preserve">
|
||||
<value>Usuń...</value>
|
||||
</data>
|
||||
<data name="strMenuDeleteConnection" xml:space="preserve">
|
||||
<value>Usuń połączenie...</value>
|
||||
</data>
|
||||
<data name="strMenuDeleteFolder" xml:space="preserve">
|
||||
<value>Usuń folder...</value>
|
||||
</data>
|
||||
<data name="strMenuDisconnect" xml:space="preserve">
|
||||
<value>Rozłącz</value>
|
||||
</data>
|
||||
<data name="strMenuDonate" xml:space="preserve">
|
||||
<value>Darowizna</value>
|
||||
</data>
|
||||
<data name="strMenuDuplicate" xml:space="preserve">
|
||||
<value>Duplikuj</value>
|
||||
</data>
|
||||
<data name="strMenuDuplicateConnection" xml:space="preserve">
|
||||
<value>Duplikuj połączenie</value>
|
||||
</data>
|
||||
<data name="strMenuDuplicateFolder" xml:space="preserve">
|
||||
<value>Duplikuj folder</value>
|
||||
</data>
|
||||
<data name="strMenuDuplicateTab" xml:space="preserve">
|
||||
<value>Duplikuj zakładkę</value>
|
||||
</data>
|
||||
<data name="strMenuExit" xml:space="preserve">
|
||||
<value>Wyjście</value>
|
||||
</data>
|
||||
<data name="strMenuExternalTools" xml:space="preserve">
|
||||
<value>Narzędzia zewnętrzne</value>
|
||||
</data>
|
||||
<data name="strMenuExternalToolsToolbar" xml:space="preserve">
|
||||
<value>Pasek narzędzi zewnętrznych</value>
|
||||
</data>
|
||||
<data name="strMenuFile" xml:space="preserve">
|
||||
<value>&Plik</value>
|
||||
</data>
|
||||
<data name="strMenuFullScreen" xml:space="preserve">
|
||||
<value>Pełen ekran</value>
|
||||
</data>
|
||||
<data name="strMenuFullScreenRDP" xml:space="preserve">
|
||||
<value>Pełen ekran (RDP)</value>
|
||||
</data>
|
||||
<data name="strMenuHelp" xml:space="preserve">
|
||||
<value>&Pomoc</value>
|
||||
</data>
|
||||
<data name="strMenuHelpContents" xml:space="preserve">
|
||||
<value>Pomoc mRemoteNG</value>
|
||||
</data>
|
||||
<data name="strMenuJumpTo" xml:space="preserve">
|
||||
<value>Idz do</value>
|
||||
</data>
|
||||
<data name="strMenuOptions" xml:space="preserve">
|
||||
<value>Opcje</value>
|
||||
</data>
|
||||
<data name="strMenuPaste" xml:space="preserve">
|
||||
<value>Wklej</value>
|
||||
</data>
|
||||
<data name="strMenuPortScan" xml:space="preserve">
|
||||
<value>Skaner portów</value>
|
||||
</data>
|
||||
<data name="strMenuRename" xml:space="preserve">
|
||||
<value>Zmień nazwę</value>
|
||||
</data>
|
||||
<data name="strMenuRenameConnection" xml:space="preserve">
|
||||
<value>Zmień nazwę połączenia</value>
|
||||
</data>
|
||||
<data name="strMenuRenameFolder" xml:space="preserve">
|
||||
<value>Zmień nazwę folderu</value>
|
||||
</data>
|
||||
<data name="strMenuSaveConnectionFile" xml:space="preserve">
|
||||
<value>Zapisz plik połączeń</value>
|
||||
</data>
|
||||
<data name="strMenuSaveConnectionFileAs" xml:space="preserve">
|
||||
<value>Zapisz plik połączeń jako ...</value>
|
||||
</data>
|
||||
<data name="strMenuScreenshot" xml:space="preserve">
|
||||
<value>Zrzut ekranu</value>
|
||||
</data>
|
||||
<data name="strMenuScreenshotManager" xml:space="preserve">
|
||||
<value>Menager zrzutów ekranów</value>
|
||||
</data>
|
||||
<data name="strMenuSessions" xml:space="preserve">
|
||||
<value>Sesje</value>
|
||||
</data>
|
||||
<data name="strMenuSessionsAndScreenshots" xml:space="preserve">
|
||||
<value>Sesje i zrzuty ekranów</value>
|
||||
</data>
|
||||
<data name="strMenuShowText" xml:space="preserve">
|
||||
<value>Pokarz tekst</value>
|
||||
</data>
|
||||
<data name="strMenuSSHFileTransfer" xml:space="preserve">
|
||||
<value>Transfer plików poprzez SSH</value>
|
||||
</data>
|
||||
<data name="strMenuStartChat" xml:space="preserve">
|
||||
<value>Zacznij Chat (VNC)</value>
|
||||
</data>
|
||||
<data name="strMenuSupportForum" xml:space="preserve">
|
||||
<value>Forum pomocy</value>
|
||||
</data>
|
||||
<data name="strMenuTools" xml:space="preserve">
|
||||
<value>&Narzędzia</value>
|
||||
</data>
|
||||
<data name="strMenuView" xml:space="preserve">
|
||||
<value>&Widok</value>
|
||||
</data>
|
||||
<data name="strMenuWebsite" xml:space="preserve">
|
||||
<value>Strona WWW</value>
|
||||
</data>
|
||||
<data name="strMoveDown" xml:space="preserve">
|
||||
<value>Idź w dół</value>
|
||||
</data>
|
||||
<data name="strMoveUp" xml:space="preserve">
|
||||
<value>Idź w górę</value>
|
||||
</data>
|
||||
<data name="strNever" xml:space="preserve">
|
||||
<value>Nigdy</value>
|
||||
</data>
|
||||
<data name="strNewConnection" xml:space="preserve">
|
||||
<value>Nowe połączenie</value>
|
||||
</data>
|
||||
<data name="strNewFolder" xml:space="preserve">
|
||||
<value>Nowy folder</value>
|
||||
</data>
|
||||
<data name="strNewPanel" xml:space="preserve">
|
||||
<value>Nowy panel</value>
|
||||
</data>
|
||||
<data name="strNewRoot" xml:space="preserve">
|
||||
<value>Nowe drzewo</value>
|
||||
</data>
|
||||
<data name="strNewTitle" xml:space="preserve">
|
||||
<value>Nowy tytuł</value>
|
||||
</data>
|
||||
<data name="strNo" xml:space="preserve">
|
||||
<value>Nie</value>
|
||||
</data>
|
||||
<data name="strNoCompression" xml:space="preserve">
|
||||
<value>Bez kompresji</value>
|
||||
</data>
|
||||
<data name="strNoUpdateAvailable" xml:space="preserve">
|
||||
<value>Brak aktualizacji</value>
|
||||
</data>
|
||||
<data name="strOpenPorts" xml:space="preserve">
|
||||
<value>Porty otwarte</value>
|
||||
</data>
|
||||
<data name="strPanelName" xml:space="preserve">
|
||||
<value>Nazwa panelu</value>
|
||||
</data>
|
||||
<data name="strPropertyDescriptionDomain" xml:space="preserve">
|
||||
<value>Podaj domenę.</value>
|
||||
</data>
|
||||
<data name="strPropertyDescriptionUsername" xml:space="preserve">
|
||||
<value>Nazwa użytkownika.</value>
|
||||
</data>
|
||||
<data name="strPropertyNameAll" xml:space="preserve">
|
||||
<value>Wszystkie</value>
|
||||
</data>
|
||||
<data name="strPropertyNameColors" xml:space="preserve">
|
||||
<value>Kolory</value>
|
||||
</data>
|
||||
<data name="strPropertyNameCompression" xml:space="preserve">
|
||||
<value>Kompresja</value>
|
||||
</data>
|
||||
<data name="strPropertyNameDescription" xml:space="preserve">
|
||||
<value>Opis</value>
|
||||
</data>
|
||||
<data name="strPropertyNameDisplayThemes" xml:space="preserve">
|
||||
<value>Wyświetlaj motywy</value>
|
||||
</data>
|
||||
<data name="strPropertyNameDisplayWallpaper" xml:space="preserve">
|
||||
<value>Wyświetl tapetę</value>
|
||||
</data>
|
||||
<data name="strPropertyNameDomain" xml:space="preserve">
|
||||
<value>Domena</value>
|
||||
</data>
|
||||
<data name="strPropertyNameEnableFontSmoothing" xml:space="preserve">
|
||||
<value>Wygładzenie czcionki</value>
|
||||
</data>
|
||||
<data name="strPropertyNameEncoding" xml:space="preserve">
|
||||
<value>Kodowanie</value>
|
||||
</data>
|
||||
<data name="strPropertyNameIcon" xml:space="preserve">
|
||||
<value>Ikona</value>
|
||||
</data>
|
||||
<data name="strPropertyNameMACAddress" xml:space="preserve">
|
||||
<value>Adres MAC</value>
|
||||
</data>
|
||||
<data name="strPropertyNameName" xml:space="preserve">
|
||||
<value>Nazwa</value>
|
||||
</data>
|
||||
<data name="strPropertyNamePassword" xml:space="preserve">
|
||||
<value>Hasło</value>
|
||||
</data>
|
||||
<data name="strPropertyNameProtocol" xml:space="preserve">
|
||||
<value>Protokół</value>
|
||||
</data>
|
||||
<data name="strPropertyNamePuttySession" xml:space="preserve">
|
||||
<value>Sesja PuTTY</value>
|
||||
</data>
|
||||
<data name="strPropertyNameRDGatewayUsageMethod" xml:space="preserve">
|
||||
<value>Użyj bramy</value>
|
||||
</data>
|
||||
<data name="strPropertyNameRDGatewayUsername" xml:space="preserve">
|
||||
<value>Użytkownik bramy</value>
|
||||
</data>
|
||||
<data name="strPropertyNameRedirectDrives" xml:space="preserve">
|
||||
<value>Dyski</value>
|
||||
</data>
|
||||
<data name="strPropertyNameRedirectPorts" xml:space="preserve">
|
||||
<value>Porty</value>
|
||||
</data>
|
||||
<data name="strPropertyNameRedirectPrinters" xml:space="preserve">
|
||||
<value>Drukarki</value>
|
||||
</data>
|
||||
<data name="strPropertyNameRedirectSounds" xml:space="preserve">
|
||||
<value>Dźwięki</value>
|
||||
</data>
|
||||
<data name="strPropertyNameResolution" xml:space="preserve">
|
||||
<value>Rozdzielczość</value>
|
||||
</data>
|
||||
<data name="strPropertyNameUsername" xml:space="preserve">
|
||||
<value>Użytkownik</value>
|
||||
</data>
|
||||
<data name="strPropertyNameViewOnly" xml:space="preserve">
|
||||
<value>Tylko podgląd</value>
|
||||
</data>
|
||||
<data name="strPropertyNameVNCProxyAddress" xml:space="preserve">
|
||||
<value>Adres proxy</value>
|
||||
</data>
|
||||
<data name="strPropertyNameVNCProxyPassword" xml:space="preserve">
|
||||
<value>Hasło proxy</value>
|
||||
</data>
|
||||
<data name="strPropertyNameVNCProxyPort" xml:space="preserve">
|
||||
<value>Port proxy</value>
|
||||
</data>
|
||||
<data name="strPropertyNameVNCProxyType" xml:space="preserve">
|
||||
<value>Typ proxy</value>
|
||||
</data>
|
||||
<data name="strPropertyNameVNCProxyUsername" xml:space="preserve">
|
||||
<value>Użytkownik proxy</value>
|
||||
</data>
|
||||
<data name="strProxyTestFailed" xml:space="preserve">
|
||||
<value>Test proxy nie powiódł się!</value>
|
||||
</data>
|
||||
<data name="strProxyTestSucceeded" xml:space="preserve">
|
||||
<value>Test proxy powiódł się!</value>
|
||||
</data>
|
||||
<data name="strPuttyConnectionFailed" xml:space="preserve">
|
||||
<value>Nieudane połączenie!</value>
|
||||
</data>
|
||||
<data name="strPuttySettings" xml:space="preserve">
|
||||
<value>Ustawienia PuTTY</value>
|
||||
</data>
|
||||
<data name="strQuickConnect" xml:space="preserve">
|
||||
<value>Szybkie połączenie</value>
|
||||
</data>
|
||||
<data name="strRDP16777216Colors" xml:space="preserve">
|
||||
<value>16777216 Kolorów (24-bir)</value>
|
||||
</data>
|
||||
<data name="strRDP256Colors" xml:space="preserve">
|
||||
<value>256 Kolorów (8-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP32768Colors" xml:space="preserve">
|
||||
<value>32768 Kolorów (15-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP4294967296Colors" xml:space="preserve">
|
||||
<value>16777216 Kolorów (32-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP65536Colors" xml:space="preserve">
|
||||
<value>65536 Kolorów (16-bit)</value>
|
||||
</data>
|
||||
<data name="strRDPDisableCursorblinking" xml:space="preserve">
|
||||
<value>Wyłącz miganie kursora</value>
|
||||
</data>
|
||||
<data name="strRDPDisableCursorShadow" xml:space="preserve">
|
||||
<value>Wyłącz cień kursora</value>
|
||||
</data>
|
||||
<data name="strRDPDisableMenuAnimations" xml:space="preserve">
|
||||
<value>Wyłącz animacje menu</value>
|
||||
</data>
|
||||
<data name="strRDPDisableThemes" xml:space="preserve">
|
||||
<value>Wyłącz tematy</value>
|
||||
</data>
|
||||
<data name="strRDPDisableWallpaper" xml:space="preserve">
|
||||
<value>Wyłącz tapetę</value>
|
||||
</data>
|
||||
<data name="strRDPSmartSize" xml:space="preserve">
|
||||
<value>Mądry rozmiar</value>
|
||||
</data>
|
||||
<data name="strRefresh" xml:space="preserve">
|
||||
<value>Odświerz</value>
|
||||
</data>
|
||||
<data name="strRemoteFile" xml:space="preserve">
|
||||
<value>Plik zdalny</value>
|
||||
</data>
|
||||
<data name="strRemoveAll" xml:space="preserve">
|
||||
<value>Usuń wszystkie</value>
|
||||
</data>
|
||||
<data name="strRename" xml:space="preserve">
|
||||
<value>Zmień nazwę</value>
|
||||
</data>
|
||||
<data name="strSave" xml:space="preserve">
|
||||
<value>Zapisz</value>
|
||||
</data>
|
||||
<data name="strSaveAll" xml:space="preserve">
|
||||
<value>Zapisz wszystkie</value>
|
||||
</data>
|
||||
<data name="strScreenshot" xml:space="preserve">
|
||||
<value>Zrzut ekranu</value>
|
||||
</data>
|
||||
<data name="strScreenshots" xml:space="preserve">
|
||||
<value>Zrzuty ekranów</value>
|
||||
</data>
|
||||
<data name="strSendTo" xml:space="preserve">
|
||||
<value>Wyślij do...</value>
|
||||
</data>
|
||||
<data name="strSort" xml:space="preserve">
|
||||
<value>Sortuj</value>
|
||||
</data>
|
||||
<data name="strSortAsc" xml:space="preserve">
|
||||
<value>Rosnąco (A-Z)</value>
|
||||
</data>
|
||||
<data name="strSortDesc" xml:space="preserve">
|
||||
<value>Malejąco (Z-A)</value>
|
||||
</data>
|
||||
<data name="strSpecialKeys" xml:space="preserve">
|
||||
<value>Znaki specjalne</value>
|
||||
</data>
|
||||
<data name="strSQLServer" xml:space="preserve">
|
||||
<value>Serwer SQL:</value>
|
||||
</data>
|
||||
<data name="strSsh1" xml:space="preserve">
|
||||
<value>SSH wersja 1</value>
|
||||
</data>
|
||||
<data name="strSsh2" xml:space="preserve">
|
||||
<value>SSH wersja 2</value>
|
||||
</data>
|
||||
<data name="strStartIP" xml:space="preserve">
|
||||
<value>Początkowe IP</value>
|
||||
</data>
|
||||
<data name="strStartPort" xml:space="preserve">
|
||||
<value>Port początkowy</value>
|
||||
</data>
|
||||
<data name="strTabAdvanced" xml:space="preserve">
|
||||
<value>Zaawansowane</value>
|
||||
</data>
|
||||
<data name="strTabAppearance" xml:space="preserve">
|
||||
<value>Wygląd</value>
|
||||
</data>
|
||||
<data name="strTabUpdates" xml:space="preserve">
|
||||
<value>Aktualizacje</value>
|
||||
</data>
|
||||
<data name="strTitleError" xml:space="preserve">
|
||||
<value>Błąd ({0})</value>
|
||||
</data>
|
||||
<data name="strTitleInformation" xml:space="preserve">
|
||||
<value>Informacja ({0})</value>
|
||||
</data>
|
||||
<data name="strTitlePassword" xml:space="preserve">
|
||||
<value>Hasło</value>
|
||||
</data>
|
||||
<data name="strTitleSelectPanel" xml:space="preserve">
|
||||
<value>Wybierz panel</value>
|
||||
</data>
|
||||
<data name="strTitleWarning" xml:space="preserve">
|
||||
<value>Ostrzeżenie ({0})</value>
|
||||
</data>
|
||||
<data name="strType" xml:space="preserve">
|
||||
<value>Typ</value>
|
||||
</data>
|
||||
<data name="strUpdateCheckFailed" xml:space="preserve">
|
||||
<value>Sprawdzanie aktualizacji nie powiodło się!</value>
|
||||
</data>
|
||||
<data name="strUpdateFrequencyCustom" xml:space="preserve">
|
||||
<value>Co {0} dni</value>
|
||||
</data>
|
||||
<data name="strUpdateFrequencyDaily" xml:space="preserve">
|
||||
<value>Codziennie</value>
|
||||
</data>
|
||||
<data name="strUpdateFrequencyMonthly" xml:space="preserve">
|
||||
<value>Miesięcznie</value>
|
||||
</data>
|
||||
<data name="strUpdateFrequencyWeekly" xml:space="preserve">
|
||||
<value>Tygodniowo</value>
|
||||
</data>
|
||||
<data name="strUseDifferentUsernameAndPassword" xml:space="preserve">
|
||||
<value>Użyj innego loginu użytkownika i hasła</value>
|
||||
</data>
|
||||
<data name="strUser" xml:space="preserve">
|
||||
<value>Użytkownik</value>
|
||||
</data>
|
||||
<data name="strVersion" xml:space="preserve">
|
||||
<value>Wersja</value>
|
||||
</data>
|
||||
<data name="strWarnings" xml:space="preserve">
|
||||
<value>Ostrzeżenia</value>
|
||||
</data>
|
||||
<data name="strYes" xml:space="preserve">
|
||||
<value>Tak</value>
|
||||
</data>
|
||||
</root>
|
||||
1991
mRemoteV1/Language/Language.pt.resx
Normal file
1991
mRemoteV1/Language/Language.pt.resx
Normal file
File diff suppressed because it is too large
Load Diff
2064
mRemoteV1/Language/Language.resx
Normal file
2064
mRemoteV1/Language/Language.resx
Normal file
File diff suppressed because it is too large
Load Diff
2031
mRemoteV1/Language/Language.ru.resx
Normal file
2031
mRemoteV1/Language/Language.ru.resx
Normal file
File diff suppressed because it is too large
Load Diff
2013
mRemoteV1/Language/Language.uk.resx
Normal file
2013
mRemoteV1/Language/Language.uk.resx
Normal file
File diff suppressed because it is too large
Load Diff
2014
mRemoteV1/Language/Language.zh-CN.resx
Normal file
2014
mRemoteV1/Language/Language.zh-CN.resx
Normal file
File diff suppressed because it is too large
Load Diff
@@ -81,9 +81,8 @@ Namespace Messages
|
||||
If My.Settings.SwitchToMCOnError And nMsg.MsgClass = Messages.MessageClass.ErrorMsg Then
|
||||
Debug.Print("Error: " & nMsg.MsgText)
|
||||
|
||||
If My.Settings.WriteLogFile Then
|
||||
App.Runtime.log.Error(nMsg.MsgText)
|
||||
End If
|
||||
' Always log error messages
|
||||
App.Runtime.Log.Error(nMsg.MsgText)
|
||||
|
||||
If OnlyLog Then
|
||||
Exit Sub
|
||||
@@ -100,14 +99,7 @@ Namespace Messages
|
||||
Debug.Print("Report: " & nMsg.MsgText)
|
||||
|
||||
If My.Settings.WriteLogFile Then
|
||||
App.Runtime.log.Info(nMsg.MsgText)
|
||||
End If
|
||||
|
||||
If App.Editions.Spanlink.Enabled Then
|
||||
App.Runtime.Report(Tools.Misc.LeadingZero(Now.Year) & "-" & Tools.Misc.LeadingZero(Now.Month) & "-" & _
|
||||
Tools.Misc.LeadingZero(Now.Day) & " " & Tools.Misc.LeadingZero(Now.Hour) & ":" & _
|
||||
Tools.Misc.LeadingZero(Now.Minute) & ":" & Tools.Misc.LeadingZero(Now.Second) & _
|
||||
" " & nMsg.MsgText)
|
||||
App.Runtime.Log.Info(nMsg.MsgText)
|
||||
End If
|
||||
|
||||
Exit Sub
|
||||
@@ -138,11 +130,11 @@ Namespace Messages
|
||||
Private Shared Sub ShowMessageBox(ByVal Msg As Messages.Message)
|
||||
Select Case Msg.MsgClass
|
||||
Case Messages.MessageClass.InformationMsg
|
||||
MessageBox.Show(Msg.MsgText, String.Format(My.Resources.strTitleInformation, Msg.MsgDate), MessageBoxButtons.OK, MessageBoxIcon.Information)
|
||||
MessageBox.Show(Msg.MsgText, String.Format(My.Language.strTitleInformation, Msg.MsgDate), MessageBoxButtons.OK, MessageBoxIcon.Information)
|
||||
Case Messages.MessageClass.WarningMsg
|
||||
MessageBox.Show(Msg.MsgText, String.Format(My.Resources.strTitleWarning, Msg.MsgDate), MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
||||
MessageBox.Show(Msg.MsgText, String.Format(My.Language.strTitleWarning, Msg.MsgDate), MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
||||
Case Messages.MessageClass.ErrorMsg
|
||||
MessageBox.Show(Msg.MsgText, String.Format(My.Resources.strTitleError, Msg.MsgDate), MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
MessageBox.Show(Msg.MsgText, String.Format(My.Language.strTitleError, Msg.MsgDate), MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
|
||||
16
mRemoteV1/My Project/Application.Designer.vb
generated
16
mRemoteV1/My Project/Application.Designer.vb
generated
@@ -1,10 +1,10 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' Dieser Code wurde von einem Tool generiert.
|
||||
' Laufzeitversion:2.0.50727.4927
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:4.0.30319.239
|
||||
'
|
||||
' Ä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>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
@@ -14,10 +14,10 @@ Option Explicit On
|
||||
|
||||
Namespace My
|
||||
|
||||
'HINWEIS: Diese Datei wird automatisch generiert. Ändern Sie sie nicht direkt. Zum Ändern
|
||||
' oder bei in dieser Datei auftretenden Buildfehlern wechseln Sie zum Projekt-Designer.
|
||||
' (Wechseln Sie dazu zu den Projekteigenschaften, oder doppelklicken Sie auf den Knoten "Eigenes Projekt" im
|
||||
' Projektmappen-Explorer). Nehmen Sie auf der Registerkarte "Anwendung" entsprechende Änderungen vor.
|
||||
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
|
||||
' or if you encounter build errors in this file, go to the Project Designer
|
||||
' (go to Project Properties or double-click the My Project node in
|
||||
' Solution Explorer), and make changes on the Application tab.
|
||||
'
|
||||
Partial Friend Class MyApplication
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports System
|
||||
Imports System.Resources
|
||||
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
@@ -12,10 +13,10 @@ Imports System.Runtime.InteropServices
|
||||
<Assembly: AssemblyDescription("")>
|
||||
<Assembly: AssemblyCompany("")>
|
||||
<Assembly: AssemblyProduct("mRemoteNG")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2007-2009 Felix Deimel, 2010-2011 Riley McArdle")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2007-2009 Felix Deimel, 2010-2013 Riley McArdle")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
'The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
<Assembly: Guid("A99669B2-FAEB-11DE-995A-826C56D89593")>
|
||||
@@ -31,4 +32,6 @@ Imports System.Runtime.InteropServices
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.67.*")>
|
||||
<Assembly: AssemblyVersion("1.70.*")>
|
||||
|
||||
<Assembly: NeutralResourcesLanguageAttribute("en")>
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="Base" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>mRemote.Language.Base, mRemote, Version=1.44.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="EN" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>mRemote.Language.EN, mRemote, Version=1.44.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
5654
mRemoteV1/My Project/Resources.Designer.vb
generated
5654
mRemoteV1/My Project/Resources.Designer.vb
generated
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
78
mRemoteV1/My Project/Settings.Designer.vb
generated
78
mRemoteV1/My Project/Settings.Designer.vb
generated
@@ -1,7 +1,7 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:2.0.50727.4959
|
||||
' Runtime Version:4.0.30319.296
|
||||
'
|
||||
' Changes to this file may cause incorrect behavior and will be lost if
|
||||
' the code is regenerated.
|
||||
@@ -15,12 +15,12 @@ Option Explicit On
|
||||
Namespace My
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0"), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Partial Friend NotInheritable Class MySettings
|
||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||
|
||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings),MySettings)
|
||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
|
||||
|
||||
#Region "My.Settings Auto-Save Functionality"
|
||||
#If _MyType = "WindowsForms" Then
|
||||
@@ -1743,7 +1743,7 @@ Namespace My
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("True")> _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
|
||||
Public Property StartupComponentsCheck() As Boolean
|
||||
Get
|
||||
Return CType(Me("StartupComponentsCheck"),Boolean)
|
||||
@@ -2093,7 +2093,7 @@ Namespace My
|
||||
|
||||
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("de,en,en-US,fr")> _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("de,en,en-US,es-AR,es,fr,it,nl,pt,pl,ru,uk,zh-CN")> _
|
||||
Public ReadOnly Property SupportedUICultures() As String
|
||||
Get
|
||||
Return CType(Me("SupportedUICultures"),String)
|
||||
@@ -2253,6 +2253,74 @@ Namespace My
|
||||
Me("SQLDatabaseName") = 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("10"), _
|
||||
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
|
||||
Public Property BackupFileKeepCount() As Integer
|
||||
Get
|
||||
Return CType(Me("BackupFileKeepCount"),Integer)
|
||||
End Get
|
||||
Set
|
||||
Me("BackupFileKeepCount") = 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("{0}.{1:yyyyMMdd-HHmmssffff}.backup"), _
|
||||
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
|
||||
Public Property BackupFileNameFormat() As String
|
||||
Get
|
||||
Return CType(Me("BackupFileNameFormat"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("BackupFileNameFormat") = 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 InhDefaultUseCredSsp() As Boolean
|
||||
Get
|
||||
Return CType(Me("InhDefaultUseCredSsp"),Boolean)
|
||||
End Get
|
||||
Set
|
||||
Me("InhDefaultUseCredSsp") = 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 ConDefaultUseCredSsp() As Boolean
|
||||
Get
|
||||
Return CType(Me("ConDefaultUseCredSsp"),Boolean)
|
||||
End Get
|
||||
Set
|
||||
Me("ConDefaultUseCredSsp") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("False"), _
|
||||
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
|
||||
Public Property AlwaysShowPanelTabs() As Boolean
|
||||
Get
|
||||
Return CType(Me("AlwaysShowPanelTabs"),Boolean)
|
||||
End Get
|
||||
Set
|
||||
Me("AlwaysShowPanelTabs") = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
|
||||
@@ -393,7 +393,7 @@
|
||||
<Value Profile="(Default)">5500</Value>
|
||||
</Setting>
|
||||
<Setting Name="StartupComponentsCheck" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">True</Value>
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="XULRunnerPath" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
@@ -474,7 +474,7 @@
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="SupportedUICultures" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">de,en,en-US,fr</Value>
|
||||
<Value Profile="(Default)">de,en,en-US,es-AR,es,fr,it,nl,pt,pl,ru,uk,zh-CN</Value>
|
||||
</Setting>
|
||||
<Setting Name="ConDefaultRDGatewayHostname" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
@@ -512,5 +512,20 @@
|
||||
<Setting Name="SQLDatabaseName" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">mRemoteNG</Value>
|
||||
</Setting>
|
||||
<Setting Name="BackupFileKeepCount" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Roaming="true" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">10</Value>
|
||||
</Setting>
|
||||
<Setting Name="BackupFileNameFormat" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Roaming="true" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">{0}.{1:yyyyMMdd-HHmmssffff}.backup</Value>
|
||||
</Setting>
|
||||
<Setting Name="InhDefaultUseCredSsp" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="ConDefaultUseCredSsp" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">True</Value>
|
||||
</Setting>
|
||||
<Setting Name="AlwaysShowPanelTabs" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Roaming="true" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
Binary file not shown.
BIN
mRemoteV1/References/VncSharpNG.pdb
Normal file
BIN
mRemoteV1/References/VncSharpNG.pdb
Normal file
Binary file not shown.
@@ -10,7 +10,7 @@ Namespace Root
|
||||
End Sub
|
||||
|
||||
#Region "Properties"
|
||||
Private _Name As String = My.Resources.strConnections
|
||||
Private _Name As String = My.Language.strConnections
|
||||
<LocalizedCategory("strCategoryDisplay", 1), _
|
||||
Browsable(True), _
|
||||
[ReadOnly](False), _
|
||||
|
||||
@@ -37,7 +37,7 @@ Namespace Security
|
||||
|
||||
Return Convert.ToBase64String(encdata)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Encryption failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, String.Format(My.Language.strErrorEncryptionFailed, ex.Message))
|
||||
End Try
|
||||
|
||||
Return StrToEncrypt
|
||||
@@ -74,7 +74,10 @@ Namespace Security
|
||||
|
||||
Return System.Text.Encoding.UTF8.GetString(data, 0, i)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Decryption failed" & vbNewLine & ex.Message, True)
|
||||
' Ignore CryptographicException "Padding is invalid and cannot be removed." when password is incorrect.
|
||||
If Not TypeOf ex Is CryptographicException Then
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, String.Format(My.Language.strErrorDecryptionFailed, ex.Message))
|
||||
End If
|
||||
End Try
|
||||
|
||||
Return StrToDecrypt
|
||||
|
||||
@@ -66,14 +66,14 @@ Namespace Security
|
||||
If 0 = returnValue Then
|
||||
Dim errCode As Integer = Marshal.GetLastWin32Error()
|
||||
Dim errMsg As String = "LogonUser failed with error code: " + errCode.ToString() + "(" + GetErrorMessage(errCode) + ")"
|
||||
Dim exLogon As Exception = New System.Exception(errMsg)
|
||||
Dim exLogon As New ApplicationException(errMsg)
|
||||
Throw exLogon
|
||||
End If
|
||||
|
||||
returnValue = DuplicateToken(tokenHandle, SecurityImpersonation, dupeTokenHandle)
|
||||
If 0 = returnValue Then
|
||||
CloseHandle(tokenHandle)
|
||||
Throw New System.Exception("Error trying to duplicate handle.")
|
||||
Throw New ApplicationException("Error trying to duplicate handle.")
|
||||
End If
|
||||
|
||||
' The token that is passed to the following constructor must
|
||||
@@ -82,7 +82,7 @@ Namespace Security
|
||||
impersonatedUser = newId.Impersonate()
|
||||
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Starting Impersonation failed (Sessions feature will not work)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Starting Impersonation failed (Sessions feature will not work)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -93,8 +93,8 @@ Namespace Security
|
||||
Try
|
||||
impersonatedUser.Undo() ' Stop impersonating the user.
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Stopping Impersonation failed" & vbNewLine & ex.Message, True)
|
||||
Throw ex
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Stopping Impersonation failed" & vbNewLine & ex.Message, True)
|
||||
Throw
|
||||
Finally
|
||||
|
||||
If Not System.IntPtr.op_Equality(tokenHandle, IntPtr.Zero) Then CloseHandle(tokenHandle)
|
||||
|
||||
@@ -84,9 +84,9 @@
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
grpAutomaticReconnect.Text = My.Resources.strGroupboxAutomaticReconnect
|
||||
btnClose.Text = My.Resources.strButtonClose
|
||||
lblServerStatus.Text = My.Resources.strLabelServerStatus
|
||||
chkReconnectWhenReady.Text = My.Resources.strCheckboxReconnectWhenReady
|
||||
grpAutomaticReconnect.Text = My.Language.strGroupboxAutomaticReconnect
|
||||
btnClose.Text = My.Language.strButtonClose
|
||||
lblServerStatus.Text = My.Language.strLabelServerStatus
|
||||
chkReconnectWhenReady.Text = My.Language.strCheckboxReconnectWhenReady
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -37,7 +37,7 @@ Namespace Tools
|
||||
End Class
|
||||
|
||||
|
||||
Public Class SysTrayIcon
|
||||
Public Class NotificationAreaIcon
|
||||
Private _nI As NotifyIcon
|
||||
|
||||
Private _cMen As ContextMenuStrip
|
||||
@@ -63,13 +63,13 @@ Namespace Tools
|
||||
Public Sub New()
|
||||
Try
|
||||
Me._cMenCons = New ToolStripMenuItem
|
||||
Me._cMenCons.Text = My.Resources.strConnections
|
||||
Me._cMenCons.Text = My.Language.strConnections
|
||||
Me._cMenCons.Image = My.Resources.Root
|
||||
|
||||
Me._cMenSep1 = New ToolStripSeparator
|
||||
|
||||
Me._cMenExit = New ToolStripMenuItem
|
||||
Me._cMenExit.Text = My.Resources.strMenuExit
|
||||
Me._cMenExit.Text = My.Language.strMenuExit
|
||||
AddHandler Me._cMenExit.Click, AddressOf cMenExit_Click
|
||||
|
||||
Me._cMen = New ContextMenuStrip
|
||||
@@ -87,7 +87,7 @@ Namespace Tools
|
||||
AddHandler Me._nI.MouseClick, AddressOf nI_MouseClick
|
||||
AddHandler Me._nI.MouseDoubleClick, AddressOf nI_MouseDoubleClick
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Creating new SysTrayIcon failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Creating new SysTrayIcon failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -98,7 +98,7 @@ Namespace Tools
|
||||
Me._cMen.Dispose()
|
||||
Me._Disposed = True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Disposing SysTrayIcon failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Disposing SysTrayIcon failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -135,7 +135,7 @@ Namespace Tools
|
||||
AddHandler tMenItem.MouseDown, AddressOf ConMenItem_MouseDown
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddNodeToMenu failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "AddNodeToMenu failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -149,17 +149,17 @@ Namespace Tools
|
||||
|
||||
Private Sub ShowForm()
|
||||
frmMain.Show()
|
||||
frmMain.WindowState = frmMain.prevWindowsState
|
||||
frmMain.WindowState = frmMain.PreviousWindowState
|
||||
|
||||
If My.Settings.ShowSystemTrayIcon = False Then
|
||||
App.Runtime.SysTrayIcon.Dispose()
|
||||
App.Runtime.SysTrayIcon = Nothing
|
||||
App.Runtime.NotificationAreaIcon.Dispose()
|
||||
App.Runtime.NotificationAreaIcon = Nothing
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub HideForm()
|
||||
frmMain.Hide()
|
||||
frmMain.prevWindowsState = frmMain.WindowState
|
||||
frmMain.PreviousWindowState = frmMain.WindowState
|
||||
End Sub
|
||||
|
||||
Private Sub ConMenItem_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)
|
||||
@@ -179,22 +179,34 @@ Namespace Tools
|
||||
End Class
|
||||
|
||||
Public Shared Function ConnectionsSaveAsDialog() As SaveFileDialog
|
||||
Dim sDlg As New SaveFileDialog()
|
||||
sDlg.CheckPathExists = True
|
||||
sDlg.InitialDirectory = App.Info.Connections.DefaultConnectionsPath
|
||||
sDlg.FileName = App.Info.Connections.DefaultConnectionsFile
|
||||
sDlg.OverwritePrompt = True
|
||||
Dim saveFileDialog As New SaveFileDialog()
|
||||
saveFileDialog.CheckPathExists = True
|
||||
saveFileDialog.InitialDirectory = App.Info.Connections.DefaultConnectionsPath
|
||||
saveFileDialog.FileName = App.Info.Connections.DefaultConnectionsFile
|
||||
saveFileDialog.OverwritePrompt = True
|
||||
|
||||
sDlg.Filter = My.Resources.strFiltermRemoteXML & "|*.xml|" & My.Resources.strFiltermRemoteCSV & "|*.csv|" & My.Resources.strFiltervRD2008CSV & "|*.csv|" & My.Resources.strFilterAll & "|*.*"
|
||||
saveFileDialog.Filter = My.Language.strFiltermRemoteXML & "|*.xml|" & My.Language.strFilterAll & "|*.*"
|
||||
|
||||
Return sDlg
|
||||
Return saveFileDialog
|
||||
End Function
|
||||
|
||||
Public Shared Function ConnectionsExportDialog() As SaveFileDialog
|
||||
Dim saveFileDialog As New SaveFileDialog()
|
||||
saveFileDialog.CheckPathExists = True
|
||||
saveFileDialog.InitialDirectory = App.Info.Connections.DefaultConnectionsPath
|
||||
saveFileDialog.FileName = App.Info.Connections.DefaultConnectionsFile
|
||||
saveFileDialog.OverwritePrompt = True
|
||||
|
||||
saveFileDialog.Filter = My.Language.strFiltermRemoteXML & "|*.xml|" & My.Language.strFiltermRemoteCSV & "|*.csv|" & My.Language.strFiltervRD2008CSV & "|*.csv|" & My.Language.strFilterAll & "|*.*"
|
||||
|
||||
Return saveFileDialog
|
||||
End Function
|
||||
|
||||
Public Shared Function ConnectionsLoadDialog() As OpenFileDialog
|
||||
Dim lDlg As New OpenFileDialog()
|
||||
lDlg.CheckFileExists = True
|
||||
lDlg.InitialDirectory = App.Info.Connections.DefaultConnectionsPath
|
||||
lDlg.Filter = My.Resources.strFiltermRemoteXML & "|*.xml|" & My.Resources.strFilterAll & "|*.*"
|
||||
lDlg.Filter = My.Language.strFiltermRemoteXML & "|*.xml|" & My.Language.strFilterAll & "|*.*"
|
||||
|
||||
Return lDlg
|
||||
End Function
|
||||
@@ -203,7 +215,7 @@ Namespace Tools
|
||||
Dim lDlg As New OpenFileDialog()
|
||||
lDlg.CheckFileExists = True
|
||||
'lDlg.InitialDirectory = App.Info.Connections.DefaultConnectionsPath
|
||||
lDlg.Filter = My.Resources.strFilterRDP & "|*.rdp|" & My.Resources.strFilterAll & "|*.*"
|
||||
lDlg.Filter = My.Language.strFilterRDP & "|*.rdp|" & My.Language.strFilterAll & "|*.*"
|
||||
|
||||
Return lDlg
|
||||
End Function
|
||||
|
||||
@@ -3,7 +3,7 @@ Imports System.IO
|
||||
Imports System.ComponentModel
|
||||
|
||||
Namespace Tools
|
||||
Public Class ExternalApp
|
||||
Public Class ExternalTool
|
||||
#Region "Properties"
|
||||
Private _DisplayName As String
|
||||
Public Property DisplayName() As String
|
||||
@@ -108,7 +108,6 @@ Namespace Tools
|
||||
Try
|
||||
If _FileName = "" Then
|
||||
Throw New Exception("No Filename specified!")
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
If _TryIntegrate = True Then
|
||||
@@ -134,7 +133,7 @@ Namespace Tools
|
||||
|
||||
Return p
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't start external application." & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't start external application." & vbNewLine & ex.Message)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
@@ -194,7 +193,7 @@ Namespace Tools
|
||||
pText = Replace(pText, "%UserField%", "", , , CompareMethod.Text)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "ParseText failed (Tools.ExternalApp)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "ParseText failed (Tools.ExternalApp)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return pText
|
||||
|
||||
@@ -24,7 +24,7 @@ Namespace Tools
|
||||
OrderPrefix &= vbTab
|
||||
Next
|
||||
|
||||
Return OrderPrefix & My.Resources.ResourceManager.GetString(value)
|
||||
Return OrderPrefix & My.Language.ResourceManager.GetString(value)
|
||||
End Function
|
||||
End Class
|
||||
|
||||
@@ -43,7 +43,7 @@ Namespace Tools
|
||||
Get
|
||||
If Not Me.Localized Then
|
||||
Me.Localized = True
|
||||
Me.DisplayNameValue = My.Resources.ResourceManager.GetString(Me.DisplayNameValue)
|
||||
Me.DisplayNameValue = My.Language.ResourceManager.GetString(Me.DisplayNameValue)
|
||||
End If
|
||||
|
||||
Return MyBase.DisplayName
|
||||
@@ -66,7 +66,7 @@ Namespace Tools
|
||||
Get
|
||||
If Not Me.Localized Then
|
||||
Me.Localized = True
|
||||
Me.DescriptionValue = My.Resources.ResourceManager.GetString(Me.DescriptionValue)
|
||||
Me.DescriptionValue = My.Language.ResourceManager.GetString(Me.DescriptionValue)
|
||||
End If
|
||||
|
||||
Return MyBase.Description
|
||||
@@ -92,7 +92,7 @@ Namespace Tools
|
||||
Get
|
||||
If Not Me.Localized Then
|
||||
Me.Localized = True
|
||||
Me.DisplayNameValue = String.Format(My.Resources.strFormatInherit, My.Resources.ResourceManager.GetString(Me.DisplayNameValue))
|
||||
Me.DisplayNameValue = String.Format(My.Language.strFormatInherit, My.Language.ResourceManager.GetString(Me.DisplayNameValue))
|
||||
End If
|
||||
|
||||
Return MyBase.DisplayName
|
||||
@@ -116,7 +116,7 @@ Namespace Tools
|
||||
Get
|
||||
If Not Me.Localized Then
|
||||
Me.Localized = True
|
||||
Me.DescriptionValue = String.Format(My.Resources.strFormatInheritDescription, My.Resources.ResourceManager.GetString(Me.DescriptionValue))
|
||||
Me.DescriptionValue = String.Format(My.Language.strFormatInheritDescription, My.Language.ResourceManager.GetString(Me.DescriptionValue))
|
||||
End If
|
||||
|
||||
Return MyBase.Description
|
||||
|
||||
@@ -54,7 +54,7 @@ Namespace Tools
|
||||
|
||||
Return myIcon
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "GetIconFromFile failed (Tools.Misc)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "GetIconFromFile failed (Tools.Misc)" & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
@@ -62,6 +62,7 @@ Namespace Tools
|
||||
Public Shared Event SQLUpdateCheckFinished(ByVal UpdateAvailable As Boolean)
|
||||
Public Shared Sub IsSQLUpdateAvailableBG()
|
||||
Dim t As New Threading.Thread(AddressOf IsSQLUpdateAvailable)
|
||||
t.SetApartmentState(Threading.ApartmentState.STA)
|
||||
t.Start()
|
||||
End Sub
|
||||
|
||||
@@ -97,9 +98,9 @@ Namespace Tools
|
||||
|
||||
RaiseEvent SQLUpdateCheckFinished(False)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "IsSQLUpdateAvailable failed (Tools.Misc)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "IsSQLUpdateAvailable failed (Tools.Misc)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
|
||||
Return False
|
||||
End Function
|
||||
|
||||
@@ -173,7 +174,7 @@ Namespace Tools
|
||||
Next
|
||||
|
||||
Dim ex As New Exception(String.Format("Can't convert {0} to {1}", value, t.ToString))
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "StringToEnum failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "StringToEnum failed" & vbNewLine & ex.Message, True)
|
||||
Throw ex
|
||||
End Function
|
||||
|
||||
@@ -184,7 +185,7 @@ Namespace Tools
|
||||
Dim LeftWidth As Integer = sender.TabController.SelectedTab.Width 'Me.Width - (Splitter.SplitterDistance + 16)
|
||||
Dim TopHeight As Integer = sender.TabController.SelectedTab.Height 'Me.Height - (Splitter.Top + TabController.Top + TabController.SelectedTab.Top * 2 + 2)
|
||||
|
||||
Dim currentFormSize As Size = New Size(LeftWidth, TopHeight)
|
||||
Dim currentFormSize As New Size(LeftWidth, TopHeight)
|
||||
Dim ScreenToBitmap As New Bitmap(LeftWidth, TopHeight)
|
||||
Dim gGraphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(ScreenToBitmap)
|
||||
|
||||
@@ -192,7 +193,7 @@ Namespace Tools
|
||||
|
||||
Return ScreenToBitmap
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Taking Screenshot failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Taking Screenshot failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
@@ -260,11 +261,11 @@ Namespace Tools
|
||||
|
||||
Public Overloads Overrides Function ConvertFrom(ByVal context As ITypeDescriptorContext, ByVal culture As System.Globalization.CultureInfo, ByVal value As Object) As Object
|
||||
If value.GetType() Is GetType(String) Then
|
||||
If CStr(value).ToLower() = My.Resources.strYes.ToLower Then
|
||||
If CStr(value).ToLower() = My.Language.strYes.ToLower Then
|
||||
Return True
|
||||
End If
|
||||
|
||||
If CStr(value).ToLower() = My.Resources.strNo.ToLower Then
|
||||
If CStr(value).ToLower() = My.Language.strNo.ToLower Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
@@ -276,7 +277,7 @@ Namespace Tools
|
||||
|
||||
Public Overloads Overrides Function ConvertTo(ByVal context As ITypeDescriptorContext, ByVal culture As System.Globalization.CultureInfo, ByVal value As Object, ByVal destinationType As Type) As Object
|
||||
If destinationType Is GetType(String) Then
|
||||
Return IIf(CBool(value), My.Resources.strYes, My.Resources.strNo)
|
||||
Return IIf(CBool(value), My.Language.strYes, My.Language.strNo)
|
||||
End If
|
||||
|
||||
Return MyBase.ConvertTo(context, culture, value, destinationType)
|
||||
@@ -314,7 +315,7 @@ Namespace Tools
|
||||
SetWinFullScreen(targetForm.Handle)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Entering Fullscreen failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Entering Fullscreen failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -331,7 +332,7 @@ Namespace Tools
|
||||
targetForm.Bounds = bounds
|
||||
FullscreenActive = False
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Exiting Fullscreen failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Exiting Fullscreen failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -350,7 +351,7 @@ Namespace Tools
|
||||
Dim curScreen As Screen = Screen.FromHandle(targetForm.Handle)
|
||||
SetWindowPos(hwnd, HWND_TOP, curScreen.Bounds.Left, curScreen.Bounds.Top, curScreen.Bounds.Right, curScreen.Bounds.Bottom, SWP_SHOWWINDOW)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "SetWindowPos failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "SetWindowPos failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
@@ -438,7 +439,7 @@ Namespace Tools
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Creating new Args failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Creating new Args failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -223,7 +223,7 @@ Namespace Tools
|
||||
Try
|
||||
Return "SSH: " & _SSH & " Telnet: " & _Telnet & " HTTP: " & _HTTP & " HTTPS: " & _HTTPS & " Rlogin: " & _Rlogin & " RDP: " & _RDP & " VNC: " & _VNC
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "ToString failed (Tools.PortScan)", True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "ToString failed (Tools.PortScan)", True)
|
||||
Return ""
|
||||
End Try
|
||||
End Function
|
||||
@@ -264,16 +264,16 @@ Namespace Tools
|
||||
|
||||
Return lvI
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "ToString failed (Tools.PortScan)", True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "ToString failed (Tools.PortScan)", True)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function BoolToYesNo(ByVal Bool As Boolean) As String
|
||||
If Bool = True Then
|
||||
Return My.Resources.strYes
|
||||
Return My.Language.strYes
|
||||
Else
|
||||
Return My.Resources.strNo
|
||||
Return My.Language.strNo
|
||||
End If
|
||||
End Function
|
||||
|
||||
@@ -395,6 +395,7 @@ Namespace Tools
|
||||
|
||||
Public Sub StartScan()
|
||||
sThread = New Thread(AddressOf StartScanBG)
|
||||
sThread.SetApartmentState(Threading.ApartmentState.STA)
|
||||
sThread.IsBackground = True
|
||||
sThread.Start()
|
||||
End Sub
|
||||
@@ -475,7 +476,7 @@ Namespace Tools
|
||||
|
||||
RaiseEvent ScanComplete(_ScannedHosts)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "StartScanBG failed (Tools.PortScan)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "StartScanBG failed (Tools.PortScan)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -526,7 +527,7 @@ Namespace Tools
|
||||
|
||||
Return arrIPs
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "GetIPRange failed (Tools.PortScan)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "GetIPRange failed (Tools.PortScan)" & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
@@ -546,7 +547,7 @@ Namespace Tools
|
||||
Next
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "matchIP failed (Tools.PortScan)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "matchIP failed (Tools.PortScan)" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
@@ -100,7 +100,7 @@ Namespace Tools
|
||||
GetWindowPlacement(_form.Handle, windowPlacement)
|
||||
Return windowPlacement
|
||||
Catch ex As Exception
|
||||
Throw ex
|
||||
Throw
|
||||
End Try
|
||||
End Function
|
||||
|
||||
@@ -112,7 +112,7 @@ Namespace Tools
|
||||
Try
|
||||
Return SetWindowPlacement(_form.Handle, windowPlacement)
|
||||
Catch ex As Exception
|
||||
Throw ex
|
||||
Throw
|
||||
End Try
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
@@ -55,7 +55,7 @@ Namespace Tree
|
||||
End Function
|
||||
|
||||
Public Shared Function GetNodeFromPositionID(ByVal id As Integer) As TreeNode
|
||||
For Each conI As Connection.Info In cL
|
||||
For Each conI As Connection.Info In connectionList
|
||||
If conI.PositionID = id Then
|
||||
If conI.IsContainer Then
|
||||
Return TryCast(conI.Parent, Container.Info).TreeNode
|
||||
@@ -69,7 +69,7 @@ Namespace Tree
|
||||
End Function
|
||||
|
||||
Public Shared Function GetNodeFromConstantID(ByVal id As String) As TreeNode
|
||||
For Each conI As Connection.Info In cL
|
||||
For Each conI As Connection.Info In connectionList
|
||||
If conI.ConstantID = id Then
|
||||
If conI.IsContainer Then
|
||||
Return TryCast(conI.Parent, Container.Info).TreeNode
|
||||
@@ -100,7 +100,7 @@ Namespace Tree
|
||||
Return Type.Connection
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't get node type" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't get node type" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return Type.NONE
|
||||
@@ -117,7 +117,7 @@ Namespace Tree
|
||||
Return Type.Connection
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't get node type from string" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't get node type from string" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return Type.NONE
|
||||
@@ -138,7 +138,7 @@ Namespace Tree
|
||||
Next
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Find node failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Find node failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
@@ -159,7 +159,7 @@ Namespace Tree
|
||||
Next
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Find node failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Find node failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
@@ -171,7 +171,7 @@ Namespace Tree
|
||||
Return False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "IsEmpty (Tree.Node) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "IsEmpty (Tree.Node) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return True
|
||||
@@ -185,15 +185,15 @@ Namespace Tree
|
||||
|
||||
Select Case NodeType
|
||||
Case Type.Connection
|
||||
nNode.Text = My.Resources.strNewConnection
|
||||
nNode.Text = My.Language.strNewConnection
|
||||
nNode.ImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
nNode.SelectedImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
Case Type.Container
|
||||
nNode.Text = My.Resources.strNewFolder
|
||||
nNode.Text = My.Language.strNewFolder
|
||||
nNode.ImageIndex = Images.Enums.TreeImage.Container
|
||||
nNode.SelectedImageIndex = Images.Enums.TreeImage.Container
|
||||
Case Type.Root
|
||||
nNode.Text = My.Resources.strNewRoot
|
||||
nNode.Text = My.Language.strNewRoot
|
||||
nNode.ImageIndex = Images.Enums.TreeImage.Root
|
||||
nNode.SelectedImageIndex = Images.Enums.TreeImage.Root
|
||||
End Select
|
||||
@@ -204,7 +204,7 @@ Namespace Tree
|
||||
|
||||
Return nNode
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddNode failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "AddNode failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
@@ -232,7 +232,7 @@ Namespace Tree
|
||||
nContI.TreeNode.Text = strDisplayName
|
||||
|
||||
adCNode.Tag = nContI
|
||||
ctL.Add(nContI)
|
||||
containerList.Add(nContI)
|
||||
|
||||
|
||||
CreateADSubNodes(adCNode, ldapPath)
|
||||
@@ -241,7 +241,7 @@ Namespace Tree
|
||||
SelectedNode.Nodes.Add(adCNode)
|
||||
SelectedNode = SelectedNode.Nodes(SelectedNode.Nodes.Count - 1)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddADNodes failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "AddADNodes failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -287,63 +287,68 @@ Namespace Tree
|
||||
nConI.TreeNode = adNode
|
||||
adNode.Tag = nConI 'set the nodes tag to the conI
|
||||
'add connection to connections
|
||||
cL.Add(nConI)
|
||||
connectionList.Add(nConI)
|
||||
|
||||
rNode.Nodes.Add(adNode)
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CreateADSubNodes failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "CreateADSubNodes failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Shared Sub CloneNode(ByVal tNode As TreeNode, Optional ByVal ParentNode As TreeNode = Nothing)
|
||||
Public Shared Sub CloneNode(ByVal oldTreeNode As TreeNode, Optional ByVal parentNode As TreeNode = Nothing)
|
||||
Try
|
||||
If GetNodeType(tNode) = Type.Connection Then
|
||||
Dim conI As Connection.Info = tNode.Tag
|
||||
If GetNodeType(oldTreeNode) = Type.Connection Then
|
||||
Dim oldConnectionInfo As Connection.Info = oldTreeNode.Tag
|
||||
|
||||
Dim nConI As Connection.Info = conI.Copy
|
||||
Dim nInh As Connection.Info.Inheritance = conI.Inherit.Copy()
|
||||
nInh.Parent = nConI
|
||||
nConI.Inherit = nInh
|
||||
Dim newConnectionInfo As Connection.Info = oldConnectionInfo.Copy
|
||||
Dim newInheritance As Connection.Info.Inheritance = oldConnectionInfo.Inherit.Copy()
|
||||
newInheritance.Parent = newConnectionInfo
|
||||
newConnectionInfo.Inherit = newInheritance
|
||||
|
||||
cL.Add(nConI)
|
||||
ConnectionList.Add(newConnectionInfo)
|
||||
|
||||
Dim nNode As New TreeNode(nConI.Name)
|
||||
nNode.Tag = nConI
|
||||
nNode.ImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
nNode.SelectedImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
Dim newTreeNode As New TreeNode(newConnectionInfo.Name)
|
||||
newTreeNode.Tag = newConnectionInfo
|
||||
newTreeNode.ImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
newTreeNode.SelectedImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
|
||||
nConI.TreeNode = nNode
|
||||
newConnectionInfo.TreeNode = newTreeNode
|
||||
|
||||
If ParentNode Is Nothing Then
|
||||
tNode.Parent.Nodes.Add(nNode)
|
||||
Tree.Node.TreeView.SelectedNode = nNode
|
||||
If parentNode Is Nothing Then
|
||||
oldTreeNode.Parent.Nodes.Insert(oldTreeNode.Index + 1, newTreeNode)
|
||||
TreeView.SelectedNode = newTreeNode
|
||||
Else
|
||||
ParentNode.Nodes.Add(nNode)
|
||||
parentNode.Nodes.Add(newTreeNode)
|
||||
End If
|
||||
ElseIf GetNodeType(tNode) = Type.Container Then
|
||||
Dim nCont As Container.Info = TryCast(tNode.Tag, Container.Info).Copy
|
||||
Dim nConI As Connection.Info = TryCast(tNode.Tag, Container.Info).ConnectionInfo.Copy
|
||||
nCont.ConnectionInfo = nConI
|
||||
ElseIf GetNodeType(oldTreeNode) = Type.Container Then
|
||||
Dim newContainerInfo As Container.Info = TryCast(oldTreeNode.Tag, Container.Info).Copy
|
||||
Dim newConnectionInfo As Connection.Info = TryCast(oldTreeNode.Tag, Container.Info).ConnectionInfo.Copy
|
||||
newContainerInfo.ConnectionInfo = newConnectionInfo
|
||||
|
||||
Dim nNode As New TreeNode(nCont.Name)
|
||||
nNode.Tag = nCont
|
||||
nNode.ImageIndex = Images.Enums.TreeImage.Container
|
||||
nNode.SelectedImageIndex = Images.Enums.TreeImage.Container
|
||||
nCont.ConnectionInfo.Parent = nCont
|
||||
Dim newTreeNode As New TreeNode(newContainerInfo.Name)
|
||||
newTreeNode.Tag = newContainerInfo
|
||||
newTreeNode.ImageIndex = Images.Enums.TreeImage.Container
|
||||
newTreeNode.SelectedImageIndex = Images.Enums.TreeImage.Container
|
||||
newContainerInfo.ConnectionInfo.Parent = newContainerInfo
|
||||
|
||||
ctL.Add(nCont)
|
||||
ContainerList.Add(newContainerInfo)
|
||||
|
||||
tNode.Parent.Nodes.Add(nNode)
|
||||
If parentNode Is Nothing Then
|
||||
oldTreeNode.Parent.Nodes.Insert(oldTreeNode.Index + 1, newTreeNode)
|
||||
TreeView.SelectedNode = newTreeNode
|
||||
Else
|
||||
parentNode.Nodes.Add(newTreeNode)
|
||||
End If
|
||||
|
||||
Tree.Node.TreeView.SelectedNode = nNode
|
||||
|
||||
For Each cNode As TreeNode In tNode.Nodes
|
||||
CloneNode(cNode, nNode)
|
||||
For Each childTreeNode As TreeNode In oldTreeNode.Nodes
|
||||
CloneNode(childTreeNode, newTreeNode)
|
||||
Next
|
||||
|
||||
newTreeNode.Expand()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "CloneNode failed (Tree.Node)" & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, String.Format(My.Language.strErrorCloneNodeFailed, ex.Message))
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -382,7 +387,7 @@ Namespace Tree
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "SetNodeToolTip failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "SetNodeToolTip failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -393,14 +398,14 @@ Namespace Tree
|
||||
|
||||
Select Case Tree.Node.GetNodeType(SelectedNode)
|
||||
Case Type.Root
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "The root item cannot be deleted!")
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "The root item cannot be deleted!")
|
||||
Case Type.Container
|
||||
If Tree.Node.IsEmpty(SelectedNode) = False Then
|
||||
If MsgBox(String.Format(My.Resources.strConfirmDeleteNodeFolder, SelectedNode.Text), MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.Yes Then
|
||||
If MsgBox(String.Format(My.Language.strConfirmDeleteNodeFolder, SelectedNode.Text), MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.Yes Then
|
||||
SelectedNode.Remove()
|
||||
End If
|
||||
Else
|
||||
If MsgBox(String.Format(My.Resources.strConfirmDeleteNodeFolderNotEmpty, SelectedNode.Text), MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.Yes Then
|
||||
If MsgBox(String.Format(My.Language.strConfirmDeleteNodeFolderNotEmpty, SelectedNode.Text), MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.Yes Then
|
||||
For Each tNode As TreeNode In SelectedNode.Nodes
|
||||
tNode.Remove()
|
||||
Next
|
||||
@@ -408,30 +413,32 @@ Namespace Tree
|
||||
End If
|
||||
End If
|
||||
Case Type.Connection
|
||||
If MsgBox(String.Format(My.Resources.strConfirmDeleteNodeConnection, SelectedNode.Text), MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.Yes Then
|
||||
If MsgBox(String.Format(My.Language.strConfirmDeleteNodeConnection, SelectedNode.Text), MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.Yes Then
|
||||
SelectedNode.Remove()
|
||||
End If
|
||||
Case Else
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Tree item type is unknown so it cannot be deleted!")
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Tree item type is unknown so it cannot be deleted!")
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Deleting selected node failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Deleting selected node failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Shared Sub StartRenameSelectedNode()
|
||||
If SelectedNode IsNot Nothing Then
|
||||
Windows.treeForm.cMenTreeDelete.ShortcutKeys = Keys.None
|
||||
SelectedNode.BeginEdit()
|
||||
End If
|
||||
If SelectedNode IsNot Nothing Then SelectedNode.BeginEdit()
|
||||
End Sub
|
||||
|
||||
Public Shared Sub FinishRenameSelectedNode(ByVal NewName As String)
|
||||
Windows.treeForm.cMenTreeDelete.ShortcutKeys = Keys.Delete
|
||||
Public Shared Sub FinishRenameSelectedNode(ByVal newName As String)
|
||||
If newName Is Nothing Then Return
|
||||
|
||||
If NewName IsNot Nothing Then
|
||||
If NewName.Length > 0 Then
|
||||
SelectedNode.Tag.Name = NewName
|
||||
If newName.Length > 0 Then
|
||||
SelectedNode.Tag.Name = newName
|
||||
|
||||
If My.Settings.SetHostnameLikeDisplayName Then
|
||||
Dim connectionInfo As Connection.Info = TryCast(SelectedNode.Tag, Connection.Info)
|
||||
If (connectionInfo IsNot Nothing) Then
|
||||
connectionInfo.Hostname = newName
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
@@ -440,15 +447,19 @@ Namespace Tree
|
||||
Try
|
||||
If SelectedNode IsNot Nothing Then
|
||||
If Not (SelectedNode.PrevNode Is Nothing) Then
|
||||
Dim oldParent As TreeNode = SelectedNode.Parent
|
||||
Dim nNode As TreeNode = SelectedNode.Clone
|
||||
SelectedNode.Parent.Nodes.Insert(SelectedNode.Index - 1, nNode)
|
||||
TreeView.BeginUpdate()
|
||||
TreeView.Sorted = False
|
||||
|
||||
Dim newNode As TreeNode = SelectedNode.Clone
|
||||
SelectedNode.Parent.Nodes.Insert(SelectedNode.Index - 1, newNode)
|
||||
SelectedNode.Remove()
|
||||
SelectedNode = nNode
|
||||
SelectedNode = newNode
|
||||
|
||||
TreeView.EndUpdate()
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "MoveNodeUp failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "MoveNodeUp failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -456,60 +467,71 @@ Namespace Tree
|
||||
Try
|
||||
If SelectedNode IsNot Nothing Then
|
||||
If Not (SelectedNode.NextNode Is Nothing) Then
|
||||
Dim oldParent As TreeNode = SelectedNode.Parent
|
||||
Dim nNode As TreeNode = SelectedNode.Clone
|
||||
SelectedNode.Parent.Nodes.Insert(SelectedNode.Index + 2, nNode)
|
||||
TreeView.BeginUpdate()
|
||||
TreeView.Sorted = False
|
||||
|
||||
Dim newNode As TreeNode = SelectedNode.Clone
|
||||
SelectedNode.Parent.Nodes.Insert(SelectedNode.Index + 2, newNode)
|
||||
SelectedNode.Remove()
|
||||
SelectedNode = nNode
|
||||
SelectedNode = newNode
|
||||
|
||||
TreeView.EndUpdate()
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "MoveNodeDown failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "MoveNodeDown failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Shared Sub ExpandAllNodes()
|
||||
_TreeView.ExpandAll()
|
||||
TreeView.BeginUpdate()
|
||||
TreeView.ExpandAll()
|
||||
TreeView.EndUpdate()
|
||||
End Sub
|
||||
|
||||
Public Shared Sub CollapseAllNodes()
|
||||
For Each tNode As TreeNode In _TreeView.Nodes(0).Nodes
|
||||
tNode.Collapse(False)
|
||||
TreeView.BeginUpdate()
|
||||
For Each treeNode As TreeNode In TreeView.Nodes(0).Nodes
|
||||
treeNode.Collapse(False)
|
||||
Next
|
||||
TreeView.EndUpdate()
|
||||
End Sub
|
||||
|
||||
Public Shared Sub Sort(ByVal treeNode As TreeNode, ByVal sortType As Tools.Controls.TreeNodeSorter.SortType)
|
||||
Try
|
||||
TreeView.BeginUpdate()
|
||||
If treeNode Is Nothing Then
|
||||
treeNode = _TreeView.Nodes.Item(0)
|
||||
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()
|
||||
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)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Sort nodes failed" & vbNewLine & ex.Message, True)
|
||||
Finally
|
||||
TreeView.EndUpdate()
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Delegate Sub ResetTreeCB()
|
||||
Private Delegate Sub ResetTreeDelegate()
|
||||
Public Shared Sub ResetTree()
|
||||
If _TreeView.InvokeRequired Then
|
||||
Dim d As New ResetTreeCB(AddressOf ResetTree)
|
||||
Windows.treeForm.Invoke(d)
|
||||
If TreeView.InvokeRequired Then
|
||||
Dim resetTreeDelegate As New ResetTreeDelegate(AddressOf ResetTree)
|
||||
Windows.treeForm.Invoke(resetTreeDelegate)
|
||||
Else
|
||||
_TreeView.Nodes.Clear()
|
||||
'_TreeView.Nodes.Add("Credentials")
|
||||
_TreeView.Nodes.Add(My.Resources.strConnections)
|
||||
TreeView.BeginUpdate()
|
||||
TreeView.Nodes.Clear()
|
||||
TreeView.Nodes.Add(My.Language.strConnections)
|
||||
TreeView.EndUpdate()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
@@ -30,7 +30,7 @@ Namespace UI
|
||||
Me.btnOK.Name = "btnOK"
|
||||
Me.btnOK.Size = New System.Drawing.Size(75, 23)
|
||||
Me.btnOK.TabIndex = 100
|
||||
Me.btnOK.Text = Global.mRemoteNG.My.Resources.Resources.strButtonOK
|
||||
Me.btnOK.Text = "OK"
|
||||
Me.btnOK.UseVisualStyleBackColor = True
|
||||
'
|
||||
'btnCancel
|
||||
@@ -42,7 +42,7 @@ Namespace UI
|
||||
Me.btnCancel.Name = "btnCancel"
|
||||
Me.btnCancel.Size = New System.Drawing.Size(75, 23)
|
||||
Me.btnCancel.TabIndex = 110
|
||||
Me.btnCancel.Text = Global.mRemoteNG.My.Resources.Resources.strButtonCancel
|
||||
Me.btnCancel.Text = "Cancel"
|
||||
Me.btnCancel.UseVisualStyleBackColor = True
|
||||
'
|
||||
'txtDomain
|
||||
@@ -72,7 +72,7 @@ Namespace UI
|
||||
Me.btnChangeDomain.Name = "btnChangeDomain"
|
||||
Me.btnChangeDomain.Size = New System.Drawing.Size(75, 23)
|
||||
Me.btnChangeDomain.TabIndex = 40
|
||||
Me.btnChangeDomain.Text = Global.mRemoteNG.My.Resources.Resources.strButtonChange
|
||||
Me.btnChangeDomain.Text = "Change"
|
||||
Me.btnChangeDomain.UseVisualStyleBackColor = True
|
||||
'
|
||||
'AD
|
||||
@@ -81,7 +81,7 @@ Namespace UI
|
||||
Me.AD.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.AD.Domain = "akane"
|
||||
Me.AD.Domain = ""
|
||||
Me.AD.Location = New System.Drawing.Point(0, 0)
|
||||
Me.AD.Name = "AD"
|
||||
Me.AD.SelectedNode = Nothing
|
||||
@@ -124,10 +124,10 @@ Namespace UI
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
btnOK.Text = My.Resources.strButtonOK
|
||||
btnCancel.Text = My.Resources.strButtonCancel
|
||||
lblDomain.Text = My.Resources.strLabelDomain
|
||||
btnChangeDomain.Text = My.Resources.strButtonChange
|
||||
btnOK.Text = My.Language.strButtonOK
|
||||
btnCancel.Text = My.Language.strButtonCancel
|
||||
lblDomain.Text = My.Language.strLabelDomain
|
||||
btnChangeDomain.Text = My.Language.strButtonChange
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
|
||||
@@ -254,21 +254,16 @@ Namespace UI
|
||||
|
||||
#Region "Private Methods"
|
||||
Private Sub ApplyLanguage()
|
||||
lblLicense.Text = My.Resources.strLabelReleasedUnderGPL
|
||||
lblChangeLog.Text = My.Resources.strLabelChangeLog
|
||||
TabText = My.Resources.strAbout
|
||||
Text = My.Resources.strAbout
|
||||
lblLicense.Text = My.Language.strLabelReleasedUnderGPL
|
||||
lblChangeLog.Text = My.Language.strLabelChangeLog
|
||||
TabText = My.Language.strAbout
|
||||
Text = My.Language.strAbout
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyEditions()
|
||||
#If PORTABLE Then
|
||||
lblEdition.Text = My.Resources.strLabelPortableEdition
|
||||
lblEdition.Text = My.Language.strLabelPortableEdition
|
||||
lblEdition.Visible = True
|
||||
#Else
|
||||
If App.Editions.Spanlink.Enabled Then
|
||||
lblEdition.Text = "Spanlink Communications"
|
||||
lblEdition.Visible = True
|
||||
End If
|
||||
#End If
|
||||
End Sub
|
||||
|
||||
@@ -300,9 +295,9 @@ Namespace UI
|
||||
|
||||
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)
|
||||
FillLinkLabel(llblWeifenLuo, My.Resources.strWeifenLuoAttribution, My.Resources.strWeifenLuoAttributionURL)
|
||||
FillLinkLabel(llblFAMFAMFAM, My.Language.strFAMFAMFAMAttribution, My.Language.strFAMFAMFAMAttributionURL)
|
||||
FillLinkLabel(llblMagicLibrary, My.Language.strMagicLibraryAttribution, My.Language.strMagicLibraryAttributionURL)
|
||||
FillLinkLabel(llblWeifenLuo, My.Language.strWeifenLuoAttribution, My.Language.strWeifenLuoAttributionURL)
|
||||
|
||||
If File.Exists(My.Application.Info.DirectoryPath & "\CHANGELOG.TXT") Then
|
||||
Dim sR As New StreamReader(My.Application.Info.DirectoryPath & "\CHANGELOG.TXT")
|
||||
@@ -310,20 +305,20 @@ Namespace UI
|
||||
sR.Close()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Loading About failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Loading About failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub llblFAMFAMFAM_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles llblFAMFAMFAM.LinkClicked
|
||||
App.Runtime.GoToURL(My.Resources.strFAMFAMFAMAttributionURL)
|
||||
App.Runtime.GoToURL(My.Language.strFAMFAMFAMAttributionURL)
|
||||
End Sub
|
||||
|
||||
Private Sub llblMagicLibrary_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles llblMagicLibrary.LinkClicked
|
||||
App.Runtime.GoToURL(My.Resources.strMagicLibraryAttributionURL)
|
||||
App.Runtime.GoToURL(My.Language.strMagicLibraryAttributionURL)
|
||||
End Sub
|
||||
|
||||
Private Sub llblWeifenLuo_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles llblWeifenLuo.LinkClicked
|
||||
App.Runtime.GoToURL(My.Resources.strWeifenLuoAttributionURL)
|
||||
App.Runtime.GoToURL(My.Language.strWeifenLuoAttributionURL)
|
||||
End Sub
|
||||
#End Region
|
||||
End Class
|
||||
|
||||
@@ -67,8 +67,8 @@ Namespace UI
|
||||
Public Sub CheckForAnnouncement()
|
||||
Try
|
||||
uT = New Thread(AddressOf CheckForAnnouncementBG)
|
||||
uT.SetApartmentState(ApartmentState.STA)
|
||||
uT.IsBackground = True
|
||||
'uT.SetApartmentState(ApartmentState.STA)
|
||||
|
||||
If Me.IsAnnouncementCheckHandlerDeclared = False Then
|
||||
AddHandler AnnouncementCheckCompleted, AddressOf AnnouncementCheckComplete
|
||||
@@ -77,7 +77,7 @@ Namespace UI
|
||||
|
||||
uT.Start()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CheckForAnnouncement (UI.Window.Announcement) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "CheckForAnnouncement (UI.Window.Announcement) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -91,16 +91,16 @@ Namespace UI
|
||||
RaiseEvent AnnouncementCheckCompleted(False)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CheckForAnnouncementBG (UI.Window.Announcement) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "CheckForAnnouncementBG (UI.Window.Announcement) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub AnnouncementCheckComplete(ByVal AnnouncementAvailable As Boolean)
|
||||
Try
|
||||
wBrowser.Navigate(aN.curAI.URL)
|
||||
My.Settings.LastAnnouncement = aN.curAI.Name
|
||||
wBrowser.Navigate(aN.CurrentAnnouncementInfo.Url)
|
||||
My.Settings.LastAnnouncement = aN.CurrentAnnouncementInfo.Name
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AnnouncementCheckComplete (UI.Window.Announcement) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "AnnouncementCheckComplete (UI.Window.Announcement) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -34,6 +34,15 @@ Namespace UI
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Private Methods"
|
||||
Private Sub Base_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
|
||||
frmMain.ShowHidePanelTabs()
|
||||
End Sub
|
||||
|
||||
Private Sub Base_FormClosed(sender As System.Object, e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
|
||||
frmMain.ShowHidePanelTabs(Me)
|
||||
End Sub
|
||||
#End Region
|
||||
End Class
|
||||
End Namespace
|
||||
End Namespace
|
||||
@@ -461,10 +461,10 @@ Namespace UI
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
TabText = My.Resources.strComponentsCheck
|
||||
Text = My.Resources.strComponentsCheck
|
||||
chkAlwaysShow.Text = My.Resources.strCcAlwaysShowScreen
|
||||
btnCheckAgain.Text = My.Resources.strCcCheckAgain
|
||||
TabText = My.Language.strComponentsCheck
|
||||
Text = My.Language.strComponentsCheck
|
||||
chkAlwaysShow.Text = My.Language.strCcAlwaysShowScreen
|
||||
btnCheckAgain.Text = My.Language.strCcCheckAgain
|
||||
End Sub
|
||||
|
||||
Private Sub btnCheckAgain_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCheckAgain.Click
|
||||
@@ -479,7 +479,7 @@ Namespace UI
|
||||
|
||||
#Region "Private Methods"
|
||||
Private Sub CheckComponents()
|
||||
Dim errorMsg As String = My.Resources.strCcNotInstalledProperly
|
||||
Dim errorMsg As String = My.Language.strCcNotInstalledProperly
|
||||
|
||||
pnlCheck1.Visible = True
|
||||
pnlCheck2.Visible = True
|
||||
@@ -502,16 +502,16 @@ Namespace UI
|
||||
|
||||
pbCheck1.Image = My.Resources.Good_Symbol
|
||||
lblCheck1.ForeColor = Color.DarkOliveGreen
|
||||
lblCheck1.Text = "RDP (Remote Desktop) " & My.Resources.strCcCheckSucceeded
|
||||
txtCheck1.Text = String.Format(My.Resources.strCcRDPOK, RDP.Version)
|
||||
lblCheck1.Text = "RDP (Remote Desktop) " & My.Language.strCcCheckSucceeded
|
||||
txtCheck1.Text = String.Format(My.Language.strCcRDPOK, RDP.Version)
|
||||
Catch ex As Exception
|
||||
pbCheck1.Image = My.Resources.Bad_Symbol
|
||||
lblCheck1.ForeColor = Color.Firebrick
|
||||
lblCheck1.Text = "RDP (Remote Desktop) " & My.Resources.strCcCheckFailed
|
||||
txtCheck1.Text = My.Resources.strCcRDPFailed
|
||||
lblCheck1.Text = "RDP (Remote Desktop) " & My.Language.strCcCheckFailed
|
||||
txtCheck1.Text = My.Language.strCcRDPFailed
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "RDP " & errorMsg, True)
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "RDP " & errorMsg, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, ex.Message, True)
|
||||
End Try
|
||||
|
||||
If RDP IsNot Nothing Then RDP.Dispose()
|
||||
@@ -530,15 +530,15 @@ Namespace UI
|
||||
|
||||
pbCheck2.Image = My.Resources.Good_Symbol
|
||||
lblCheck2.ForeColor = Color.DarkOliveGreen
|
||||
lblCheck2.Text = "VNC (Virtual Network Computing) " & My.Resources.strCcCheckSucceeded
|
||||
txtCheck2.Text = String.Format(My.Resources.strCcVNCOK, VNC.ProductVersion)
|
||||
lblCheck2.Text = "VNC (Virtual Network Computing) " & My.Language.strCcCheckSucceeded
|
||||
txtCheck2.Text = String.Format(My.Language.strCcVNCOK, VNC.ProductVersion)
|
||||
Catch ex As Exception
|
||||
pbCheck2.Image = My.Resources.Bad_Symbol
|
||||
lblCheck2.ForeColor = Color.Firebrick
|
||||
lblCheck2.Text = "VNC (Virtual Network Computing) " & My.Resources.strCcCheckFailed
|
||||
txtCheck2.Text = My.Resources.strCcVNCFailed
|
||||
lblCheck2.Text = "VNC (Virtual Network Computing) " & My.Language.strCcCheckFailed
|
||||
txtCheck2.Text = My.Language.strCcVNCFailed
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "VNC " & errorMsg, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "VNC " & errorMsg, True)
|
||||
'mC.AddMessage(Messages.MessageClass.ErrorMsg, ex.Message, True)
|
||||
End Try
|
||||
|
||||
@@ -547,7 +547,7 @@ Namespace UI
|
||||
|
||||
Dim pPath As String = ""
|
||||
If My.Settings.UseCustomPuttyPath = False Then
|
||||
pPath = My.Application.Info.DirectoryPath & "\putty.exe"
|
||||
pPath = My.Application.Info.DirectoryPath & "\PuTTYNG.exe"
|
||||
Else
|
||||
pPath = My.Settings.CustomPuttyPath
|
||||
End If
|
||||
@@ -555,16 +555,16 @@ Namespace UI
|
||||
If File.Exists(pPath) Then
|
||||
pbCheck3.Image = My.Resources.Good_Symbol
|
||||
lblCheck3.ForeColor = Color.DarkOliveGreen
|
||||
lblCheck3.Text = "PuTTY (SSH/Telnet/Rlogin/RAW) " & My.Resources.strCcCheckSucceeded
|
||||
txtCheck3.Text = My.Resources.strCcPuttyOK
|
||||
lblCheck3.Text = "PuTTY (SSH/Telnet/Rlogin/RAW) " & My.Language.strCcCheckSucceeded
|
||||
txtCheck3.Text = My.Language.strCcPuttyOK
|
||||
Else
|
||||
pbCheck3.Image = My.Resources.Bad_Symbol
|
||||
lblCheck3.ForeColor = Color.Firebrick
|
||||
lblCheck3.Text = "PuTTY (SSH/Telnet/Rlogin/RAW) " & My.Resources.strCcCheckFailed
|
||||
txtCheck3.Text = My.Resources.strCcPuttyFailed
|
||||
lblCheck3.Text = "PuTTY (SSH/Telnet/Rlogin/RAW) " & My.Language.strCcCheckFailed
|
||||
txtCheck3.Text = My.Language.strCcPuttyFailed
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "PuTTY " & errorMsg, True)
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "File " & pPath & " does not exist.", True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "PuTTY " & errorMsg, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "File " & pPath & " does not exist.", True)
|
||||
End If
|
||||
|
||||
|
||||
@@ -582,16 +582,16 @@ Namespace UI
|
||||
|
||||
pbCheck4.Image = My.Resources.Good_Symbol
|
||||
lblCheck4.ForeColor = Color.DarkOliveGreen
|
||||
lblCheck4.Text = "ICA (Citrix ICA) " & My.Resources.strCcCheckSucceeded
|
||||
txtCheck4.Text = String.Format(My.Resources.strCcICAOK, ICA.Version)
|
||||
lblCheck4.Text = "ICA (Citrix ICA) " & My.Language.strCcCheckSucceeded
|
||||
txtCheck4.Text = String.Format(My.Language.strCcICAOK, ICA.Version)
|
||||
Catch ex As Exception
|
||||
pbCheck4.Image = My.Resources.Bad_Symbol
|
||||
lblCheck4.ForeColor = Color.Firebrick
|
||||
lblCheck4.Text = "ICA (Citrix ICA) " & My.Resources.strCcCheckFailed
|
||||
txtCheck4.Text = My.Resources.strCcICAFailed
|
||||
lblCheck4.Text = "ICA (Citrix ICA) " & My.Language.strCcCheckFailed
|
||||
txtCheck4.Text = My.Language.strCcICAFailed
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "ICA " & errorMsg, True)
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "ICA " & errorMsg, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, ex.Message, True)
|
||||
End Try
|
||||
|
||||
If ICA IsNot Nothing Then ICA.Dispose()
|
||||
@@ -614,16 +614,16 @@ Namespace UI
|
||||
If GeckoBad = False Then
|
||||
pbCheck5.Image = My.Resources.Good_Symbol
|
||||
lblCheck5.ForeColor = Color.DarkOliveGreen
|
||||
lblCheck5.Text = "Gecko (Firefox) Rendering Engine (HTTP/S) " & My.Resources.strCcCheckSucceeded
|
||||
txtCheck5.Text = My.Resources.strCcGeckoOK
|
||||
lblCheck5.Text = "Gecko (Firefox) Rendering Engine (HTTP/S) " & My.Language.strCcCheckSucceeded
|
||||
txtCheck5.Text = My.Language.strCcGeckoOK
|
||||
Else
|
||||
pbCheck5.Image = My.Resources.Bad_Symbol
|
||||
lblCheck5.ForeColor = Color.Firebrick
|
||||
lblCheck5.Text = "Gecko (Firefox) Rendering Engine (HTTP/S) " & My.Resources.strCcCheckFailed
|
||||
txtCheck5.Text = My.Resources.strCcGeckoFailed
|
||||
lblCheck5.Text = "Gecko (Firefox) Rendering Engine (HTTP/S) " & My.Language.strCcCheckFailed
|
||||
txtCheck5.Text = My.Language.strCcGeckoFailed
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Gecko " & errorMsg, True)
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "XULrunner was not found in " & My.Settings.XULRunnerPath, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Gecko " & errorMsg, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "XULrunner was not found in " & My.Settings.XULRunnerPath, True)
|
||||
End If
|
||||
|
||||
|
||||
@@ -634,16 +634,16 @@ Namespace UI
|
||||
|
||||
pbCheck6.Image = My.Resources.Good_Symbol
|
||||
lblCheck6.ForeColor = Color.DarkOliveGreen
|
||||
lblCheck6.Text = "(RDP) Sessions " & My.Resources.strCcCheckSucceeded
|
||||
txtCheck6.Text = My.Resources.strCcEOLOK
|
||||
lblCheck6.Text = "(RDP) Sessions " & My.Language.strCcCheckSucceeded
|
||||
txtCheck6.Text = My.Language.strCcEOLOK
|
||||
Catch ex As Exception
|
||||
pbCheck6.Image = My.Resources.Bad_Symbol
|
||||
lblCheck6.ForeColor = Color.Firebrick
|
||||
lblCheck6.Text = "(RDP) Sessions " & My.Resources.strCcCheckFailed
|
||||
txtCheck6.Text = My.Resources.strCcEOLFailed
|
||||
lblCheck6.Text = "(RDP) Sessions " & My.Language.strCcCheckFailed
|
||||
txtCheck6.Text = My.Language.strCcEOLFailed
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "EOLWTSCOM " & errorMsg, True)
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "EOLWTSCOM " & errorMsg, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
Imports mRemoteNG.My
|
||||
Imports WeifenLuo.WinFormsUI.Docking
|
||||
Imports System.Net.NetworkInformation
|
||||
Imports mRemoteNG.App.Runtime
|
||||
@@ -19,22 +20,22 @@ Namespace UI
|
||||
Private components As System.ComponentModel.IContainer
|
||||
Friend WithEvents pGrid As Azuria.Common.Controls.FilteredPropertyGrid
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container
|
||||
Me.pGrid = New Azuria.Common.Controls.FilteredPropertyGrid
|
||||
Me.btnShowInheritance = New System.Windows.Forms.ToolStripButton
|
||||
Me.btnShowDefaultInheritance = New System.Windows.Forms.ToolStripButton
|
||||
Me.btnShowProperties = New System.Windows.Forms.ToolStripButton
|
||||
Me.btnShowDefaultProperties = New System.Windows.Forms.ToolStripButton
|
||||
Me.btnIcon = New System.Windows.Forms.ToolStripButton
|
||||
Me.btnHostStatus = New System.Windows.Forms.ToolStripButton
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Me.pGrid = New Azuria.Common.Controls.FilteredPropertyGrid()
|
||||
Me.btnShowInheritance = New System.Windows.Forms.ToolStripButton()
|
||||
Me.btnShowDefaultInheritance = New System.Windows.Forms.ToolStripButton()
|
||||
Me.btnShowProperties = New System.Windows.Forms.ToolStripButton()
|
||||
Me.btnShowDefaultProperties = New System.Windows.Forms.ToolStripButton()
|
||||
Me.btnIcon = New System.Windows.Forms.ToolStripButton()
|
||||
Me.btnHostStatus = New System.Windows.Forms.ToolStripButton()
|
||||
Me.cMenIcons = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'pGrid
|
||||
'
|
||||
Me.pGrid.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.pGrid.BrowsableProperties = Nothing
|
||||
Me.pGrid.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.pGrid.HiddenAttributes = Nothing
|
||||
@@ -214,49 +215,123 @@ Namespace UI
|
||||
End Sub
|
||||
|
||||
' Main form handle command key events
|
||||
' Adapted from http://kiwigis.blogspot.com/2009/05/adding-tab-key-support-to-propertygrid.html
|
||||
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
|
||||
#If Config = "Debug" Then
|
||||
Debug.Print("key: " & keyData.ToString)
|
||||
Debug.Print("msg: " & msg.Msg)
|
||||
Debug.Print("hwnd: " & msg.HWnd.ToString)
|
||||
Debug.Print("lparam: " & msg.LParam.ToString)
|
||||
Debug.Print("wparam: " & msg.WParam.ToString)
|
||||
Debug.Print("result: " & msg.Result.ToString)
|
||||
#End If
|
||||
If keyData = Keys.Tab Then
|
||||
Dim curGridItemLabel As String = pGrid.SelectedGridItem.Label
|
||||
Dim gridItemIndex As Integer
|
||||
If (keyData And Keys.KeyCode) = Keys.Tab Then
|
||||
Dim selectedItem As GridItem = pGrid.SelectedGridItem
|
||||
Dim gridRoot As GridItem = selectedItem
|
||||
While gridRoot.GridItemType <> GridItemType.Root
|
||||
gridRoot = gridRoot.Parent
|
||||
End While
|
||||
|
||||
For gridItemIndex = 0 To pGrid.SelectedGridItem.Parent.GridItems.Count
|
||||
If pGrid.SelectedGridItem.Parent.GridItems(gridItemIndex).Label = curGridItemLabel Then
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Dim gridItems As New List(Of GridItem)
|
||||
FindChildGridItems(gridRoot, gridItems)
|
||||
|
||||
If pGrid.SelectedGridItem.Parent.GridItems.Count > gridItemIndex + 1 Then
|
||||
pGrid.SelectedGridItem.Parent.GridItems(gridItemIndex + 1).Select()
|
||||
Else
|
||||
pGrid.SelectedGridItem.Parent.GridItems(0).Select()
|
||||
If Not ContainsGridItemProperty(gridItems) Then Return True
|
||||
|
||||
Dim newItem As GridItem = selectedItem
|
||||
|
||||
If keyData = (Keys.Tab Or Keys.Shift) Then
|
||||
newItem = FindPreviousGridItemProperty(gridItems, selectedItem)
|
||||
ElseIf keyData = Keys.Tab Then
|
||||
newItem = FindNextGridItemProperty(gridItems, selectedItem)
|
||||
End If
|
||||
|
||||
pGrid.SelectedGridItem = newItem
|
||||
|
||||
Return True ' Handled
|
||||
Else
|
||||
Return MyBase.ProcessCmdKey(msg, keyData)
|
||||
End If
|
||||
If keyData = (Keys.Tab Or Keys.Shift) Then
|
||||
Dim curGridItemLabel As String = pGrid.SelectedGridItem.Label
|
||||
Dim gridItemIndex As Integer
|
||||
End Function
|
||||
|
||||
For gridItemIndex = 0 To pGrid.SelectedGridItem.Parent.GridItems.Count
|
||||
If pGrid.SelectedGridItem.Parent.GridItems(gridItemIndex).Label = curGridItemLabel Then
|
||||
Exit For
|
||||
End If
|
||||
Private Sub FindChildGridItems(item As GridItem, ByRef gridItems As List(Of GridItem))
|
||||
gridItems.Add(item)
|
||||
|
||||
If Not item.Expandable Or item.Expanded Then
|
||||
For Each child As GridItem In item.GridItems
|
||||
FindChildGridItems(child, gridItems)
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
If gridItemIndex - 1 >= 0 Then
|
||||
pGrid.SelectedGridItem.Parent.GridItems(gridItemIndex - 1).Select()
|
||||
Else
|
||||
pGrid.SelectedGridItem.Parent.GridItems(pGrid.SelectedGridItem.Parent.GridItems.Count - 1).Select()
|
||||
End If
|
||||
Private Function ContainsGridItemProperty(gridItems As List(Of GridItem)) As Boolean
|
||||
For Each item As GridItem In gridItems
|
||||
If item.GridItemType = GridItemType.Property Then Return True
|
||||
Next
|
||||
Return False
|
||||
End Function
|
||||
|
||||
Private Function FindPreviousGridItemProperty(gridItems As List(Of GridItem), startItem As GridItem) As GridItem
|
||||
If gridItems.Count = 0 Then Return Nothing
|
||||
If startItem Is Nothing Then Return Nothing
|
||||
|
||||
Dim startIndex As Integer = gridItems.IndexOf(startItem)
|
||||
|
||||
If startItem.GridItemType = GridItemType.Property Then
|
||||
startIndex = startIndex - 1
|
||||
If startIndex < 0 Then startIndex = gridItems.Count - 1
|
||||
End If
|
||||
|
||||
Return MyBase.ProcessCmdKey(msg, keyData)
|
||||
Dim previousIndex As Integer = 0
|
||||
Dim previousIndexValid As Boolean = False
|
||||
For index As Integer = startIndex To 0 Step -1
|
||||
If gridItems(index).GridItemType = GridItemType.Property Then
|
||||
previousIndex = index
|
||||
previousIndexValid = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
If previousIndexValid Then Return gridItems(previousIndex)
|
||||
|
||||
For index As Integer = gridItems.Count - 1 To startIndex + 1 Step -1
|
||||
If gridItems(index).GridItemType = GridItemType.Property Then
|
||||
previousIndex = index
|
||||
previousIndexValid = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
If Not previousIndexValid Then Return Nothing
|
||||
|
||||
Return gridItems(previousIndex)
|
||||
End Function
|
||||
|
||||
Private Function FindNextGridItemProperty(gridItems As List(Of GridItem), startItem As GridItem) As GridItem
|
||||
If gridItems.Count = 0 Then Return Nothing
|
||||
If startItem Is Nothing Then Return Nothing
|
||||
|
||||
Dim startIndex As Integer = gridItems.IndexOf(startItem)
|
||||
|
||||
If startItem.GridItemType = GridItemType.Property Then
|
||||
startIndex = startIndex + 1
|
||||
If startIndex >= gridItems.Count Then startIndex = 0
|
||||
End If
|
||||
|
||||
Dim nextIndex As Integer = 0
|
||||
Dim nextIndexValid As Boolean = False
|
||||
For index As Integer = startIndex To gridItems.Count - 1
|
||||
If gridItems(index).GridItemType = GridItemType.Property Then
|
||||
nextIndex = index
|
||||
nextIndexValid = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
If nextIndexValid Then Return gridItems(nextIndex)
|
||||
|
||||
For index As Integer = 0 To startIndex - 1
|
||||
If gridItems(index).GridItemType = GridItemType.Property Then
|
||||
nextIndex = index
|
||||
nextIndexValid = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
If Not nextIndexValid Then Return Nothing
|
||||
|
||||
Return gridItems(nextIndex)
|
||||
End Function
|
||||
|
||||
Public Sub SetPropertyGridObject(ByVal Obj As Object)
|
||||
@@ -390,7 +465,7 @@ Namespace UI
|
||||
Me.ShowHideGridItems()
|
||||
Me.SetHostStatus(Obj)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strConfigPropertyGridObjectFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strConfigPropertyGridObjectFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -400,68 +475,98 @@ Namespace UI
|
||||
#End Region
|
||||
|
||||
#Region "Private Methods"
|
||||
Private tsCustom As ToolStrip = Nothing
|
||||
Private Sub ApplyLanguage()
|
||||
btnShowInheritance.Text = My.Language.strButtonInheritance
|
||||
btnShowDefaultInheritance.Text = My.Language.strButtonDefaultInheritance
|
||||
btnShowProperties.Text = My.Language.strButtonProperties
|
||||
btnShowDefaultProperties.Text = My.Language.strButtonDefaultProperties
|
||||
btnIcon.Text = My.Language.strButtonIcon
|
||||
btnHostStatus.Text = My.Language.strStatus
|
||||
Text = My.Language.strMenuConfig
|
||||
TabText = My.Language.strMenuConfig
|
||||
End Sub
|
||||
|
||||
Private Sub Config_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
ApplyLanguage()
|
||||
Private _originalPropertyGridToolStripItemCountValid As Boolean
|
||||
Private _originalPropertyGridToolStripItemCount As Integer
|
||||
|
||||
Private Sub AddToolStripItems()
|
||||
Try
|
||||
'Show PropertyGrid Toolbar buttons
|
||||
tsCustom = New ToolStrip
|
||||
tsCustom.Items.Add(btnShowProperties)
|
||||
tsCustom.Items.Add(btnShowInheritance)
|
||||
tsCustom.Items.Add(btnShowDefaultProperties)
|
||||
tsCustom.Items.Add(btnShowDefaultInheritance)
|
||||
tsCustom.Items.Add(btnHostStatus)
|
||||
tsCustom.Items.Add(btnIcon)
|
||||
tsCustom.Show()
|
||||
Dim customToolStrip As ToolStrip = New ToolStrip
|
||||
customToolStrip.Items.Add(btnShowProperties)
|
||||
customToolStrip.Items.Add(btnShowInheritance)
|
||||
customToolStrip.Items.Add(btnShowDefaultProperties)
|
||||
customToolStrip.Items.Add(btnShowDefaultInheritance)
|
||||
customToolStrip.Items.Add(btnHostStatus)
|
||||
customToolStrip.Items.Add(btnIcon)
|
||||
customToolStrip.Show()
|
||||
|
||||
Dim tsDefault As ToolStrip = New ToolStrip
|
||||
Dim propertyGridToolStrip As New ToolStrip
|
||||
|
||||
For Each ctrl As System.Windows.Forms.Control In pGrid.Controls
|
||||
Dim tStrip As ToolStrip = TryCast(ctrl, ToolStrip)
|
||||
Dim toolStrip As ToolStrip = Nothing
|
||||
For Each control As System.Windows.Forms.Control In pGrid.Controls
|
||||
toolStrip = TryCast(control, ToolStrip)
|
||||
|
||||
If tStrip IsNot Nothing Then
|
||||
tsDefault = tStrip
|
||||
If toolStrip IsNot Nothing Then
|
||||
propertyGridToolStrip = toolStrip
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
tsDefault.AllowMerge = True
|
||||
tsDefault.Items(tsDefault.Items.Count - 1).Visible = False
|
||||
ToolStripManager.Merge(tsCustom, tsDefault)
|
||||
If toolStrip Is Nothing Then
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, Language.strCouldNotFindToolStripInFilteredPropertyGrid, True)
|
||||
Return
|
||||
End If
|
||||
|
||||
If Not _originalPropertyGridToolStripItemCountValid Then
|
||||
_originalPropertyGridToolStripItemCount = propertyGridToolStrip.Items.Count
|
||||
_originalPropertyGridToolStripItemCountValid = True
|
||||
End If
|
||||
Debug.Assert(_originalPropertyGridToolStripItemCount = 5)
|
||||
|
||||
' Hide the "Property Pages" button
|
||||
propertyGridToolStrip.Items(_originalPropertyGridToolStripItemCount - 1).Visible = False
|
||||
|
||||
Dim expectedToolStripItemCount As Integer = _originalPropertyGridToolStripItemCount + customToolStrip.Items.Count
|
||||
If propertyGridToolStrip.Items.Count <> expectedToolStripItemCount Then
|
||||
propertyGridToolStrip.AllowMerge = True
|
||||
ToolStripManager.Merge(customToolStrip, propertyGridToolStrip)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strConfigUiLoadFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, Language.strConfigUiLoadFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
btnShowInheritance.Text = My.Resources.strButtonInheritance
|
||||
btnShowDefaultInheritance.Text = My.Resources.strButtonDefaultInheritance
|
||||
btnShowProperties.Text = My.Resources.strButtonProperties
|
||||
btnShowDefaultProperties.Text = My.Resources.strButtonDefaultProperties
|
||||
btnIcon.Text = My.Resources.strButtonIcon
|
||||
btnHostStatus.Text = My.Resources.strStatus
|
||||
Text = My.Resources.strMenuConfig
|
||||
TabText = My.Resources.strMenuConfig
|
||||
Private Sub Config_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
ApplyLanguage()
|
||||
AddToolStripItems()
|
||||
End Sub
|
||||
|
||||
Private Sub Config_SystemColorsChanged(sender As System.Object, e As System.EventArgs) Handles MyBase.SystemColorsChanged
|
||||
AddToolStripItems()
|
||||
End Sub
|
||||
|
||||
Private Sub pGrid_PropertyValueChanged(ByVal s As Object, ByVal e As System.Windows.Forms.PropertyValueChangedEventArgs) Handles pGrid.PropertyValueChanged
|
||||
Try
|
||||
If TypeOf Me.pGrid.SelectedObject Is mRemoteNG.Connection.Info Then
|
||||
Select Case e.ChangedItem.Label
|
||||
Case My.Resources.strPropertyNameProtocol
|
||||
Case My.Language.strPropertyNameProtocol
|
||||
TryCast(Me.pGrid.SelectedObject, mRemoteNG.Connection.Info).SetDefaultPort()
|
||||
Case My.Resources.strPropertyNameName
|
||||
Case My.Language.strPropertyNameName
|
||||
App.Runtime.Windows.treeForm.tvConnections.SelectedNode.Text = Me.pGrid.SelectedObject.Name
|
||||
Case My.Resources.strPropertyNameIcon
|
||||
If My.Settings.SetHostnameLikeDisplayName And TypeOf Me.pGrid.SelectedObject Is mRemoteNG.Connection.Info Then
|
||||
Dim connectionInfo As mRemoteNG.Connection.Info = DirectCast(Me.pGrid.SelectedObject, mRemoteNG.Connection.Info)
|
||||
If Not String.IsNullOrEmpty(connectionInfo.Name) Then
|
||||
connectionInfo.Hostname = connectionInfo.Name
|
||||
End If
|
||||
End If
|
||||
Case My.Language.strPropertyNameIcon
|
||||
Dim conIcon As Icon = mRemoteNG.Connection.Icon.FromString(TryCast(Me.pGrid.SelectedObject, mRemoteNG.Connection.Info).Icon)
|
||||
If conIcon IsNot Nothing Then
|
||||
Me.btnIcon.Image = conIcon.ToBitmap
|
||||
End If
|
||||
Case My.Resources.strPropertyNamePuttySession
|
||||
Case My.Language.strPropertyNamePuttySession
|
||||
mRemoteNG.Connection.PuttySession.PuttySessions = mRemoteNG.Connection.Protocol.PuttyBase.GetSessions()
|
||||
Case My.Resources.strPropertyNameAddress
|
||||
Case My.Language.strPropertyNameAddress
|
||||
Me.SetHostStatus(Me.pGrid.SelectedObject)
|
||||
End Select
|
||||
|
||||
@@ -474,7 +579,7 @@ Namespace UI
|
||||
Dim rInfo As mRemoteNG.Root.Info = Me.pGrid.SelectedObject
|
||||
|
||||
Select Case e.ChangedItem.Label
|
||||
Case My.Resources.strPasswordProtect
|
||||
Case My.Language.strPasswordProtect
|
||||
If rInfo.Password = True Then
|
||||
Dim pw As String = Tools.Misc.PasswordDialog
|
||||
|
||||
@@ -484,7 +589,7 @@ Namespace UI
|
||||
rInfo.Password = False
|
||||
End If
|
||||
End If
|
||||
Case My.Resources.strPropertyNameName
|
||||
Case My.Language.strPropertyNameName
|
||||
App.Runtime.Windows.treeForm.tvConnections.SelectedNode.Text = Me.pGrid.SelectedObject.Name
|
||||
End Select
|
||||
End If
|
||||
@@ -498,13 +603,13 @@ Namespace UI
|
||||
Me.ShowHideGridItems()
|
||||
App.Runtime.SaveConnectionsBG()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strConfigPropertyGridValueFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strConfigPropertyGridValueFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub ShowHideGridItems()
|
||||
Try
|
||||
Dim strHide As List(Of String) = New List(Of String)
|
||||
Dim strHide As New List(Of String)
|
||||
|
||||
If TypeOf Me.pGrid.SelectedObject Is mRemoteNG.Connection.Info Then
|
||||
Dim conI As mRemoteNG.Connection.Info = pGrid.SelectedObject
|
||||
@@ -563,6 +668,7 @@ Namespace UI
|
||||
strHide.Add("RenderingEngine")
|
||||
strHide.Add("Resolution")
|
||||
strHide.Add("UseConsoleSession")
|
||||
strHide.Add("UseCredSsp")
|
||||
If conI.VNCAuthMode = mRemoteNG.Connection.Protocol.VNC.AuthMode.AuthVNC Then
|
||||
strHide.Add("Username;Domain")
|
||||
End If
|
||||
@@ -598,6 +704,7 @@ Namespace UI
|
||||
strHide.Add("RenderingEngine")
|
||||
strHide.Add("Resolution")
|
||||
strHide.Add("UseConsoleSession")
|
||||
strHide.Add("UseCredSsp")
|
||||
strHide.Add("VNCAuthMode")
|
||||
strHide.Add("VNCColors")
|
||||
strHide.Add("VNCCompression")
|
||||
@@ -635,6 +742,7 @@ Namespace UI
|
||||
strHide.Add("RenderingEngine")
|
||||
strHide.Add("Resolution")
|
||||
strHide.Add("UseConsoleSession")
|
||||
strHide.Add("UseCredSsp")
|
||||
strHide.Add("VNCAuthMode")
|
||||
strHide.Add("VNCColors")
|
||||
strHide.Add("VNCCompression")
|
||||
@@ -673,6 +781,7 @@ Namespace UI
|
||||
strHide.Add("RenderingEngine")
|
||||
strHide.Add("Resolution")
|
||||
strHide.Add("UseConsoleSession")
|
||||
strHide.Add("UseCredSsp")
|
||||
strHide.Add("Username")
|
||||
strHide.Add("VNCAuthMode")
|
||||
strHide.Add("VNCColors")
|
||||
@@ -712,6 +821,7 @@ Namespace UI
|
||||
strHide.Add("RenderingEngine")
|
||||
strHide.Add("Resolution")
|
||||
strHide.Add("UseConsoleSession")
|
||||
strHide.Add("UseCredSsp")
|
||||
strHide.Add("Username")
|
||||
strHide.Add("VNCAuthMode")
|
||||
strHide.Add("VNCColors")
|
||||
@@ -751,6 +861,7 @@ Namespace UI
|
||||
strHide.Add("RenderingEngine")
|
||||
strHide.Add("Resolution")
|
||||
strHide.Add("UseConsoleSession")
|
||||
strHide.Add("UseCredSsp")
|
||||
strHide.Add("Username")
|
||||
strHide.Add("VNCAuthMode")
|
||||
strHide.Add("VNCColors")
|
||||
@@ -789,6 +900,7 @@ Namespace UI
|
||||
strHide.Add("RedirectSound")
|
||||
strHide.Add("Resolution")
|
||||
strHide.Add("UseConsoleSession")
|
||||
strHide.Add("UseCredSsp")
|
||||
strHide.Add("VNCAuthMode")
|
||||
strHide.Add("VNCColors")
|
||||
strHide.Add("VNCCompression")
|
||||
@@ -825,6 +937,7 @@ Namespace UI
|
||||
strHide.Add("RedirectSmartCards")
|
||||
strHide.Add("RedirectSound;Resolution")
|
||||
strHide.Add("UseConsoleSession")
|
||||
strHide.Add("UseCredSsp")
|
||||
strHide.Add("VNCAuthMode")
|
||||
strHide.Add("VNCColors")
|
||||
strHide.Add("VNCCompression")
|
||||
@@ -859,6 +972,7 @@ Namespace UI
|
||||
strHide.Add("RedirectSound")
|
||||
strHide.Add("RenderingEngine")
|
||||
strHide.Add("UseConsoleSession")
|
||||
strHide.Add("UseCredSsp")
|
||||
strHide.Add("VNCAuthMode")
|
||||
strHide.Add("VNCColors")
|
||||
strHide.Add("VNCCompression")
|
||||
@@ -896,6 +1010,7 @@ Namespace UI
|
||||
strHide.Add("RenderingEngine")
|
||||
strHide.Add("Resolution")
|
||||
strHide.Add("UseConsoleSession")
|
||||
strHide.Add("UseCredSsp")
|
||||
strHide.Add("VNCAuthMode")
|
||||
strHide.Add("VNCColors")
|
||||
strHide.Add("VNCCompression")
|
||||
@@ -995,6 +1110,10 @@ Namespace UI
|
||||
strHide.Add("UseConsoleSession")
|
||||
End If
|
||||
|
||||
If .UseCredSsp Then
|
||||
strHide.Add("UseCredSsp")
|
||||
End If
|
||||
|
||||
If .RenderingEngine Then
|
||||
strHide.Add("RenderingEngine")
|
||||
End If
|
||||
@@ -1123,7 +1242,7 @@ Namespace UI
|
||||
|
||||
Me.pGrid.Refresh()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strConfigPropertyGridHideItemsFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strConfigPropertyGridHideItemsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -1205,7 +1324,7 @@ Namespace UI
|
||||
Me.cMenIcons.Show(mPos)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strConfigPropertyGridButtonIconClickFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strConfigPropertyGridButtonIconClickFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -1221,7 +1340,7 @@ Namespace UI
|
||||
App.Runtime.SaveConnectionsBG()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strConfigPropertyGridMenuClickFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strConfigPropertyGridMenuClickFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -1278,14 +1397,14 @@ Namespace UI
|
||||
Me.btnHostStatus.Tag = "checking"
|
||||
HostName = TryCast(ConnectionInfo, mRemoteNG.Connection.Info).Hostname
|
||||
pThread = New Threading.Thread(AddressOf CheckHostAlive)
|
||||
pThread.SetApartmentState(Threading.ApartmentState.STA)
|
||||
pThread.IsBackground = True
|
||||
pThread.Start()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, My.Resources.strConfigPropertyGridSetHostStatusFailed & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strConfigPropertyGridSetHostStatusFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
End Namespace
|
||||
@@ -1,6 +1,7 @@
|
||||
Imports System
|
||||
Imports System.Windows
|
||||
Imports System.Windows.Forms
|
||||
Imports mRemoteNG.App
|
||||
Imports Crownwood
|
||||
Imports WeifenLuo.WinFormsUI.Docking
|
||||
Imports PSTaskDialog
|
||||
@@ -67,6 +68,7 @@ Namespace UI
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.TabController.Appearance = Crownwood.Magic.Controls.TabControl.VisualAppearance.MultiDocument
|
||||
Me.TabController.Cursor = System.Windows.Forms.Cursors.Hand
|
||||
Me.TabController.DragFromControl = False
|
||||
Me.TabController.IDEPixelArea = True
|
||||
Me.TabController.IDEPixelBorder = False
|
||||
Me.TabController.Location = New System.Drawing.Point(0, -1)
|
||||
@@ -219,7 +221,7 @@ Namespace UI
|
||||
Public Sub New(ByVal Panel As DockContent, Optional ByVal FormText As String = "")
|
||||
|
||||
If FormText = "" Then
|
||||
FormText = My.Resources.strNewPanel
|
||||
FormText = My.Language.strNewPanel
|
||||
End If
|
||||
|
||||
Me.WindowType = Type.Connection
|
||||
@@ -260,6 +262,8 @@ Namespace UI
|
||||
nTab.Title &= ")"
|
||||
End If
|
||||
|
||||
nTab.Title = nTab.Title.Replace("&", "&&")
|
||||
|
||||
Dim conIcon As Icon = mRemoteNG.Connection.Icon.FromString(conI.Icon)
|
||||
If conIcon IsNot Nothing Then
|
||||
nTab.Icon = conIcon
|
||||
@@ -272,10 +276,11 @@ Namespace UI
|
||||
End If
|
||||
|
||||
nTab.Selected = True
|
||||
_ignoreChangeSelectedTabClick = False
|
||||
|
||||
Return nTab
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddConnectionTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "AddConnectionTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
@@ -288,27 +293,27 @@ Namespace UI
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
cmenTabFullscreen.Text = My.Resources.strMenuFullScreenRDP
|
||||
cmenTabSmartSize.Text = My.Resources.strMenuSmartSize
|
||||
cmenTabViewOnly.Text = My.Resources.strMenuViewOnly
|
||||
cmenTabScreenshot.Text = My.Resources.strMenuScreenshot
|
||||
cmenTabStartChat.Text = My.Resources.strMenuStartChat
|
||||
cmenTabTransferFile.Text = My.Resources.strMenuTransferFile
|
||||
cmenTabRefreshScreen.Text = My.Resources.strMenuRefreshScreen
|
||||
cmenTabSendSpecialKeys.Text = My.Resources.strMenuSendSpecialKeys
|
||||
cmenTabSendSpecialKeysCtrlAltDel.Text = My.Resources.strMenuCtrlAltDel
|
||||
cmenTabSendSpecialKeysCtrlEsc.Text = My.Resources.strMenuCtrlEsc
|
||||
cmenTabExternalApps.Text = My.Resources.strMenuExternalTools
|
||||
cmenTabRenameTab.Text = My.Resources.strMenuRenameTab
|
||||
cmenTabDuplicateTab.Text = My.Resources.strMenuDuplicateTab
|
||||
cmenTabReconnect.Text = My.Resources.strMenuReconnect
|
||||
cmenTabDisconnect.Text = My.Resources.strMenuDisconnect
|
||||
cmenTabPuttySettings.Text = My.Resources.strPuttySettings
|
||||
cmenTabFullscreen.Text = My.Language.strMenuFullScreenRDP
|
||||
cmenTabSmartSize.Text = My.Language.strMenuSmartSize
|
||||
cmenTabViewOnly.Text = My.Language.strMenuViewOnly
|
||||
cmenTabScreenshot.Text = My.Language.strMenuScreenshot
|
||||
cmenTabStartChat.Text = My.Language.strMenuStartChat
|
||||
cmenTabTransferFile.Text = My.Language.strMenuTransferFile
|
||||
cmenTabRefreshScreen.Text = My.Language.strMenuRefreshScreen
|
||||
cmenTabSendSpecialKeys.Text = My.Language.strMenuSendSpecialKeys
|
||||
cmenTabSendSpecialKeysCtrlAltDel.Text = My.Language.strMenuCtrlAltDel
|
||||
cmenTabSendSpecialKeysCtrlEsc.Text = My.Language.strMenuCtrlEsc
|
||||
cmenTabExternalApps.Text = My.Language.strMenuExternalTools
|
||||
cmenTabRenameTab.Text = My.Language.strMenuRenameTab
|
||||
cmenTabDuplicateTab.Text = My.Language.strMenuDuplicateTab
|
||||
cmenTabReconnect.Text = My.Language.strMenuReconnect
|
||||
cmenTabDisconnect.Text = My.Language.strMenuDisconnect
|
||||
cmenTabPuttySettings.Text = My.Language.strPuttySettings
|
||||
End Sub
|
||||
|
||||
Private Sub Connection_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
||||
If Not frmMain.IsClosing And My.Settings.ConfirmCloseConnection And TabController.TabPages.Count > 0 Then
|
||||
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Resources.strConfirmCloseConnectionPanelMainInstruction, Me.Text), "", "", "", My.Resources.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
|
||||
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Language.strConfirmCloseConnectionPanelMainInstruction, Me.Text), "", "", "", My.Language.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
|
||||
If cTaskDialog.VerificationChecked Then
|
||||
My.Settings.ConfirmCloseConnection = False
|
||||
End If
|
||||
@@ -326,7 +331,7 @@ Namespace UI
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Connection_FormClosing (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Connection_FormClosing (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -341,7 +346,7 @@ Namespace UI
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Connection_Resize (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Connection_Resize (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -358,7 +363,7 @@ Namespace UI
|
||||
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)
|
||||
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Language.strConfirmCloseConnectionMainInstruction, SelectedTab.Title), "", "", "", My.Language.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
|
||||
If cTaskDialog.VerificationChecked Then
|
||||
My.Settings.ConfirmCloseConnection = False
|
||||
End If
|
||||
@@ -375,11 +380,12 @@ Namespace UI
|
||||
Me.CloseTab(SelectedTab)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CloseConnectionTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "CloseConnectionTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub TabController_DoubleClickTab(ByVal sender As Crownwood.Magic.Controls.TabControl, ByVal page As Crownwood.Magic.Controls.TabPage) Handles TabController.DoubleClickTab
|
||||
_lastMouseUp = 0
|
||||
If My.Settings.DoubleClickOnTabClosesIt Then
|
||||
Me.CloseConnectionTab()
|
||||
End If
|
||||
@@ -461,7 +467,7 @@ Namespace UI
|
||||
|
||||
AddExternalApps()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ShowHideMenuButtons (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "ShowHideMenuButtons (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -545,7 +551,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ToggleSmartSize (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "ToggleSmartSize (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -563,7 +569,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "TransferFile (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "TransferFile (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -581,7 +587,7 @@ Namespace UI
|
||||
Windows.sshtransferForm.Password = conI.Password
|
||||
Windows.sshtransferForm.Port = conI.Port
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "SSHTransferFile (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "SSHTransferFile (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -591,7 +597,7 @@ Namespace UI
|
||||
Dim vnc As mRemoteNG.Connection.Protocol.VNC = IC.Protocol
|
||||
vnc.StartFileTransfer()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNCTransferFile (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "VNCTransferFile (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -610,7 +616,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ToggleViewOnly (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "ToggleViewOnly (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -627,7 +633,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "StartChat (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "StartChat (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -644,7 +650,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RefreshScreen (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "RefreshScreen (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -661,7 +667,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "SendSpecialKeys (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "SendSpecialKeys (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -678,7 +684,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ToggleFullscreen (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "ToggleFullscreen (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -696,7 +702,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ShowPuttySettingsDialog (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "ShowPuttySettingsDialog (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -706,7 +712,7 @@ Namespace UI
|
||||
cmenTabExternalApps.DropDownItems.Clear()
|
||||
|
||||
'add ext apps
|
||||
For Each extA As Tools.ExternalApp In ExtApps
|
||||
For Each extA As Tools.ExternalTool In ExternalTools
|
||||
Dim nItem As New ToolStripMenuItem
|
||||
nItem.Text = extA.DisplayName
|
||||
nItem.Tag = extA
|
||||
@@ -718,11 +724,11 @@ Namespace UI
|
||||
cmenTabExternalApps.DropDownItems.Add(nItem)
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "cMenTreeTools_DropDownOpening failed (UI.Window.Tree)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "cMenTreeTools_DropDownOpening failed (UI.Window.Tree)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub StartExternalApp(ByVal ExtA As Tools.ExternalApp)
|
||||
Private Sub StartExternalApp(ByVal ExtA As Tools.ExternalTool)
|
||||
Try
|
||||
If Me.TabController.SelectedTab IsNot Nothing Then
|
||||
If TypeOf Me.TabController.SelectedTab.Tag Is mRemoteNG.Connection.InterfaceControl Then
|
||||
@@ -733,7 +739,7 @@ Namespace UI
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "cmenTabExternalAppsEntry_Click failed (UI.Window.Tree)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "cmenTabExternalAppsEntry_Click failed (UI.Window.Tree)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -747,7 +753,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CloseTabMenu (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "CloseTabMenu (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -758,10 +764,11 @@ Namespace UI
|
||||
Dim IC As mRemoteNG.Connection.InterfaceControl = Me.TabController.SelectedTab.Tag
|
||||
|
||||
App.Runtime.OpenConnection(IC.Info, mRemoteNG.Connection.Info.Force.DoNotJump)
|
||||
_ignoreChangeSelectedTabClick = False
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "DuplicateTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "DuplicateTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -778,19 +785,19 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Reconnect (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Reconnect (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub RenameTab()
|
||||
Try
|
||||
Dim nTitle As String = InputBox(My.Resources.strNewTitle & ":", , Me.TabController.SelectedTab.Title.Replace("&&", "&"))
|
||||
Dim nTitle As String = InputBox(My.Language.strNewTitle & ":", , Me.TabController.SelectedTab.Title.Replace("&&", "&"))
|
||||
|
||||
If nTitle <> "" Then
|
||||
Me.TabController.SelectedTab.Title = nTitle.Replace("&", "&&")
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RenameTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "RenameTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -813,15 +820,16 @@ Namespace UI
|
||||
Catch comEx As System.Runtime.InteropServices.COMException
|
||||
Me.TabController.Invoke(s, TabToBeClosed)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't close tab" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't close tab" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
Else
|
||||
Try
|
||||
Me.TabController.TabPages.Remove(TabToBeClosed)
|
||||
_ignoreChangeSelectedTabClick = False
|
||||
Catch comEx As System.Runtime.InteropServices.COMException
|
||||
CloseTab(TabToBeClosed)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't close tab" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't close tab" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
If Me.TabController.TabPages.Count = 0 Then
|
||||
@@ -830,9 +838,47 @@ Namespace UI
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private _ignoreChangeSelectedTabClick As Boolean = False
|
||||
Private Sub TabController_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabController.SelectionChanged
|
||||
Me.FocusIC()
|
||||
Me.RefreshIC()
|
||||
_ignoreChangeSelectedTabClick = True
|
||||
FocusIC()
|
||||
RefreshIC()
|
||||
End Sub
|
||||
|
||||
Private _lastMouseUp As Integer = 0
|
||||
Private Sub TabController_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs) Handles TabController.MouseUp
|
||||
Debug.Print("TabController_MouseUp()")
|
||||
Debug.Print("_ignoreChangeSelectedTabClick = {0}", _ignoreChangeSelectedTabClick)
|
||||
Try
|
||||
If Not Native.GetForegroundWindow() = frmMain.Handle And Not _ignoreChangeSelectedTabClick Then
|
||||
Dim clickedTab As Magic.Controls.TabPage = TabController.TabPageFromPoint(e.Location)
|
||||
If clickedTab IsNot Nothing And TabController.SelectedTab IsNot clickedTab Then
|
||||
Native.SetForegroundWindow(Handle)
|
||||
TabController.SelectedTab = clickedTab
|
||||
End If
|
||||
End If
|
||||
_ignoreChangeSelectedTabClick = False
|
||||
|
||||
Select Case e.Button
|
||||
Case MouseButtons.Left
|
||||
Dim currentTicks As Integer = Environment.TickCount
|
||||
Dim elapsedTicks As Integer = currentTicks - _lastMouseUp
|
||||
If elapsedTicks > SystemInformation.DoubleClickTime Then
|
||||
_lastMouseUp = currentTicks
|
||||
FocusIC()
|
||||
Else
|
||||
TabController.OnDoubleClickTab(TabController.SelectedTab)
|
||||
End If
|
||||
Case MouseButtons.Middle
|
||||
CloseConnectionTab()
|
||||
Case MouseButtons.Right
|
||||
ShowHideMenuButtons()
|
||||
Native.SetForegroundWindow(Handle)
|
||||
cmenTab.Show(TabController, e.Location)
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "TabController_MouseUp (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub FocusIC()
|
||||
@@ -844,7 +890,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "FocusIC (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "FocusIC (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -860,7 +906,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RefreshIC (UI.Window.Connection) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "RefreshIC (UI.Window.Connection) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -868,7 +914,8 @@ Namespace UI
|
||||
#Region "Window Overrides"
|
||||
Protected Overloads Overrides Sub WndProc(ByRef WndMsg As Message)
|
||||
Try
|
||||
If WndMsg.Msg = 33 Then
|
||||
If WndMsg.Msg = Native.WM_MOUSEACTIVATE Then
|
||||
|
||||
Dim curTab As Magic.Controls.TabPage = Me.TabController.SelectedTab
|
||||
Dim curRect As Rectangle = curTab.RectangleToScreen(curTab.ClientRectangle)
|
||||
|
||||
@@ -881,6 +928,7 @@ Namespace UI
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Return ' Do not pass to base class
|
||||
End If
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
@@ -890,71 +938,27 @@ Namespace UI
|
||||
#End Region
|
||||
|
||||
#Region "Tab drag and drop"
|
||||
Dim TabDragging As Boolean
|
||||
|
||||
Private Sub TabController_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabController.MouseLeave
|
||||
Try
|
||||
If TabDragging = True Then
|
||||
TabDragging = False
|
||||
Me.Cursor = Cursors.Default
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "TabController_MouseLeave (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
Private Sub TabController_PageDragStart(ByVal sender As Object, ByVal e As MouseEventArgs) Handles TabController.PageDragEnd, TabController.PageDragStart
|
||||
Cursor = Cursors.SizeWE
|
||||
End Sub
|
||||
|
||||
Private Sub TabController_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabController.MouseMove
|
||||
Try
|
||||
If e.Button = Forms.MouseButtons.Left Then
|
||||
TabDragging = True
|
||||
Me.Cursor = Cursors.SizeWE
|
||||
ElseIf e.Button = Forms.MouseButtons.None Then
|
||||
If TabDragging = True Then
|
||||
TabDragging = False
|
||||
Me.Cursor = Cursors.Default
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "TabController_MouseMove (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
Private Sub TabController_PageDragEnd(ByVal sender As Object, ByVal e As MouseEventArgs) Handles TabController.PageDragEnd, TabController.PageDragQuit
|
||||
Cursor = Cursors.Default
|
||||
End Sub
|
||||
|
||||
Private Sub TabController_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabController.MouseUp
|
||||
Try
|
||||
If e.Button = Forms.MouseButtons.Left Then
|
||||
If TabDragging = True Then
|
||||
Dim sourceTab As Crownwood.Magic.Controls.TabPage = TabController.SelectedTab
|
||||
Dim targetTab As Crownwood.Magic.Controls.TabPage = TabController.TabPageFromPoint(e.Location)
|
||||
Dim targetIndex As Integer = -1
|
||||
Private Sub TabController_PageDragMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles TabController.PageDragMove
|
||||
Dim sourceTab As Magic.Controls.TabPage = TabController.SelectedTab
|
||||
Dim destinationTab As Magic.Controls.TabPage = TabController.TabPageFromPoint(e.Location)
|
||||
|
||||
For i As Integer = 0 To TabController.TabPages.Count - 1
|
||||
If TabController.TabPages(i) Is targetTab Then
|
||||
targetIndex = i
|
||||
End If
|
||||
Next
|
||||
If Not TabController.TabPages.Contains(destinationTab) Or sourceTab Is destinationTab Then Return
|
||||
|
||||
If sourceTab IsNot targetTab And targetIndex > -1 Then
|
||||
TabController.TabPages.Remove(sourceTab)
|
||||
TabController.TabPages.Insert(targetIndex, sourceTab)
|
||||
TabController.SelectedTab = sourceTab
|
||||
End If
|
||||
Else
|
||||
Me.FocusIC()
|
||||
End If
|
||||
ElseIf e.Button = Forms.MouseButtons.Middle Then
|
||||
If TabDragging = False Then
|
||||
Me.TabController.SelectedTab = Me.TabController.TabPageFromPoint(e.Location)
|
||||
Me.CloseConnectionTab()
|
||||
End If
|
||||
ElseIf e.Button = Forms.MouseButtons.Right Then
|
||||
If TabDragging = False Then
|
||||
Me.ShowHideMenuButtons()
|
||||
Me.cmenTab.Show(Me.TabController, e.Location)
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "TabController_MouseUp (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
Dim targetIndex As Integer = TabController.TabPages.IndexOf(destinationTab)
|
||||
|
||||
TabController.TabPages.SuspendEvents()
|
||||
TabController.TabPages.Remove(sourceTab)
|
||||
TabController.TabPages.Insert(targetIndex, sourceTab)
|
||||
TabController.SelectedTab = sourceTab
|
||||
TabController.TabPages.ResumeEvents()
|
||||
End Sub
|
||||
#End Region
|
||||
End Class
|
||||
|
||||
@@ -103,7 +103,7 @@ Namespace UI
|
||||
'
|
||||
'clmMessage
|
||||
'
|
||||
Me.clmMessage.Text = My.Resources.strColumnMessage
|
||||
Me.clmMessage.Text = My.Language.strColumnMessage
|
||||
Me.clmMessage.Width = 184
|
||||
'
|
||||
'cMenMC
|
||||
@@ -120,7 +120,7 @@ Namespace UI
|
||||
Me.cMenMCCopy.Name = "cMenMCCopy"
|
||||
Me.cMenMCCopy.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.C), System.Windows.Forms.Keys)
|
||||
Me.cMenMCCopy.Size = New System.Drawing.Size(136, 22)
|
||||
Me.cMenMCCopy.Text = My.Resources.strMenuCopy
|
||||
Me.cMenMCCopy.Text = My.Language.strMenuCopy
|
||||
'
|
||||
'cMenMCDelete
|
||||
'
|
||||
@@ -128,7 +128,7 @@ Namespace UI
|
||||
Me.cMenMCDelete.Name = "cMenMCDelete"
|
||||
Me.cMenMCDelete.ShortcutKeys = System.Windows.Forms.Keys.Delete
|
||||
Me.cMenMCDelete.Size = New System.Drawing.Size(136, 22)
|
||||
Me.cMenMCDelete.Text = My.Resources.strMenuDelete
|
||||
Me.cMenMCDelete.Text = My.Language.strMenuDelete
|
||||
'
|
||||
'imgListMC
|
||||
'
|
||||
@@ -144,8 +144,8 @@ Namespace UI
|
||||
Me.HideOnClose = True
|
||||
Me.Icon = Global.mRemoteNG.My.Resources.Resources.Info_Icon
|
||||
Me.Name = "ErrorsAndInfos"
|
||||
Me.TabText = My.Resources.strMenuNotifications
|
||||
Me.Text = My.Resources.strMenuNotifications
|
||||
Me.TabText = My.Language.strMenuNotifications
|
||||
Me.Text = My.Language.strMenuNotifications
|
||||
Me.pnlErrorMsg.ResumeLayout(False)
|
||||
Me.pnlErrorMsg.PerformLayout()
|
||||
CType(Me.pbError, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
@@ -173,11 +173,11 @@ Namespace UI
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
clmMessage.Text = My.Resources.strColumnMessage
|
||||
cMenMCCopy.Text = My.Resources.strMenuCopy
|
||||
cMenMCDelete.Text = My.Resources.strMenuDelete
|
||||
TabText = My.Resources.strMenuNotifications
|
||||
Text = My.Resources.strMenuNotifications
|
||||
clmMessage.Text = My.Language.strColumnMessage
|
||||
cMenMCCopy.Text = My.Language.strMenuCopy
|
||||
cMenMCDelete.Text = My.Language.strMenuDelete
|
||||
TabText = My.Language.strMenuNotifications
|
||||
Text = My.Language.strMenuNotifications
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -213,7 +213,7 @@ Namespace UI
|
||||
|
||||
Me._Layout = ControlLayout.Vertical
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "LayoutVertical (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "LayoutVertical (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -229,7 +229,7 @@ Namespace UI
|
||||
|
||||
Me._Layout = ControlLayout.Horizontal
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "LayoutHorizontal (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "LayoutHorizontal (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -247,7 +247,7 @@ Namespace UI
|
||||
|
||||
Me.lvErrorCollector.Columns(0).Width = Me.lvErrorCollector.Width - 20
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ErrorsAndInfos_Resize (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "ErrorsAndInfos_Resize (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -259,7 +259,7 @@ Namespace UI
|
||||
Me.txtMsgText.BackColor = Color.FromKnownColor(KnownColor.Control)
|
||||
Me.lblMsgDate.Text = ""
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "pnlErrorMsg_ResetDefaultStyle (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "pnlErrorMsg_ResetDefaultStyle (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -276,7 +276,7 @@ Namespace UI
|
||||
End Try
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "MC_KeyDown (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "MC_KeyDown (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -307,7 +307,7 @@ Namespace UI
|
||||
Me.lblMsgDate.Text = eMsg.MsgDate
|
||||
Me.txtMsgText.Text = eMsg.MsgText
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "lvErrorCollector_SelectedIndexChanged (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "lvErrorCollector_SelectedIndexChanged (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -331,7 +331,7 @@ Namespace UI
|
||||
Clipboard.SetText(strCopyText)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CopyMessageToClipboard (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "CopyMessageToClipboard (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -347,7 +347,7 @@ Namespace UI
|
||||
Next
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "DeleteMessages (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "DeleteMessages (UI.Window.ErrorsAndInfos) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user