Compare commits

...

10 Commits

19 changed files with 343 additions and 75 deletions

View File

@@ -1,6 +1,6 @@
@echo off
SET VERSIONTAG=RC2
SET VERSIONTAG=RC3
SET VCVARSALL="%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
SET DEVENV="devenv.exe"

View File

@@ -3,6 +3,7 @@ Contributors
Lionel Caignec
Felix Deimel
Holger Henke
Tom Hiller
Riley McArdle
Apisitt Rattana

View File

@@ -7,7 +7,7 @@
For Each CultureName As String In My.Settings.SupportedUICultures.Split(",")
Try
CultureInfo = New Globalization.CultureInfo(CultureName.Trim)
Add(CultureInfo.Name, CultureInfo.NativeName)
Add(CultureInfo.Name, CultureInfo.TextInfo.ToTitleCase(CultureInfo.NativeName))
Catch ex As Exception
Debug.Print(String.Format("An exception occurred while adding the culture '{0}' to the list of supported cultures. {1}", CultureName, ex.ToString))
End Try

View File

@@ -1,4 +1,4 @@
1.67 (2011-05-25):
1.67 (2011-05-28):
Fixed migration of external tools configuration and panel layout from Local to Roaming folder.
Disable ICA Hotkeys for Citrix connections. Fixes issue with international users.
Added a language selection option so users can override the language if they don't want it automatically detected.
@@ -18,6 +18,10 @@
Added Font Smoothing and Desktop Composition RDP settings.
Improved error handling when loading XML connection files.
Added the mRemoteNG icon to the list of selectable icons for connection entries.
Added confirmation before closing connection tabs.
Fixed bug 42 - Maximized location not remembered with multiple monitors.
Improved loading and saving of window location.
Removed flickering on start up.
Changed to use full four part version numbers with major, minor, build, and revision.
1.66 (2011-05-02):

View File

@@ -38,28 +38,38 @@ Namespace Config
My.Settings.UpdatePending = False
End If
If My.Settings.MainFormLocation <> New Point(999, 999) Then
.Location = My.Settings.MainFormLocation
End If
If My.Settings.MainFormSize <> Nothing Then
.Size = My.Settings.MainFormSize
End If
'check if form is visible
Dim curScreen As Screen = Screen.FromHandle(.Handle)
If .Right < curScreen.Bounds.Left Or .Left > curScreen.Bounds.Right _
Or .Top * -1 > curScreen.Bounds.Top * -1 Or .Bottom > curScreen.Bounds.Bottom Then
.Location = curScreen.Bounds.Location
End If
If My.Settings.MainFormState = Nothing Or My.Settings.MainFormState = FormWindowState.Minimized Then
.WindowState = FormWindowState.Normal
.WindowState = FormWindowState.Normal
If My.Settings.MainFormState = FormWindowState.Normal Then
If Not My.Settings.MainFormLocation.IsEmpty Then .Location = My.Settings.MainFormLocation
If Not My.Settings.MainFormSize.IsEmpty Then .Size = My.Settings.MainFormSize
Else
.WindowState = My.Settings.MainFormState
If Not My.Settings.MainFormRestoreLocation.IsEmpty Then .Location = My.Settings.MainFormRestoreLocation
If Not My.Settings.MainFormRestoreSize.IsEmpty Then .Size = My.Settings.MainFormRestoreSize
End If
If My.Settings.MainFormState = FormWindowState.Maximized Then
.WindowState = FormWindowState.Maximized
End If
' Make sure the form is visible on the screen
Const minHorizontal As Integer = 300
Const minVertical As Integer = 150
Dim screenBounds As Drawing.Rectangle = Screen.FromHandle(.Handle).Bounds
Dim newBounds As Drawing.Rectangle = .Bounds
If newBounds.Right < screenBounds.Left + minHorizontal Then
newBounds.X = screenBounds.Left + minHorizontal - newBounds.Width
End If
If newBounds.Left > screenBounds.Right - minHorizontal Then
newBounds.X = screenBounds.Right - minHorizontal
End If
If newBounds.Bottom < screenBounds.Top + minVertical Then
newBounds.Y = screenBounds.Top + minVertical - newBounds.Height
End If
If newBounds.Top > screenBounds.Bottom - minVertical Then
newBounds.Y = screenBounds.Bottom - minVertical
End If
.Location = newBounds.Location
If My.Settings.MainFormKiosk = True Then
Tools.Misc.Fullscreen.EnterFullscreen()

View File

@@ -1,6 +1,7 @@
Imports mRemoteNG.App.Runtime
Imports System.Xml
Imports System.IO
Imports mRemoteNG.Tools.WindowPlacement
Namespace Config
Namespace Settings
@@ -25,12 +26,18 @@ Namespace Config
Public Sub Save()
Try
With Me._MainForm
If .WindowState = FormWindowState.Normal Then
My.Settings.MainFormLocation = .Location
My.Settings.MainFormSize = .Size
Else
My.Settings.MainFormLocation = .RestoreBounds.Location
My.Settings.MainFormSize = .RestoreBounds.Size
Dim windowPlacement As New Tools.WindowPlacement(_MainForm)
If .WindowState = FormWindowState.Minimized And windowPlacement.RestoreToMaximized Then
.Opacity = 0
.WindowState = FormWindowState.Maximized
End If
My.Settings.MainFormLocation = .Location
My.Settings.MainFormSize = .Size
If Not .WindowState = FormWindowState.Normal Then
My.Settings.MainFormRestoreLocation = .RestoreBounds.Location
My.Settings.MainFormRestoreSize = .RestoreBounds.Size
End If
My.Settings.MainFormState = .WindowState

View File

@@ -740,7 +740,7 @@ Partial Class frmMain
Me.ToolStrip1.Name = "ToolStrip1"
Me.ToolStrip1.Size = New System.Drawing.Size(264, 25)
Me.ToolStrip1.TabIndex = 19
Me.ToolStrip1.Visible = False
Me.ToolStrip1.Visible = False
'
'ToolStripButton1
'
@@ -806,6 +806,7 @@ Partial Class frmMain
Me.Icon = Global.mRemoteNG.My.Resources.Resources.mRemote_Icon
Me.MainMenuStrip = Me.msMain
Me.Name = "frmMain"
Me.Opacity = 0
Me.Text = "mRemoteNG"
Me.msMain.ResumeLayout(False)
Me.msMain.PerformLayout()

View File

@@ -15,27 +15,27 @@ Public Class frmMain
'insert enable edition code here
App.Editions.Spanlink.Enabled = False
App.SupportedCultures.InstantiateSingleton()
If Not My.Settings.OverrideUICulture = "" And App.SupportedCultures.IsNameSupported(My.Settings.OverrideUICulture) Then
Threading.Thread.CurrentThread.CurrentUICulture = New Globalization.CultureInfo(My.Settings.OverrideUICulture)
End If
ApplyLanguage()
Debug.Print("---------------------------" & vbNewLine & "[START] - " & Now)
Startup.ParseCommandLineArgs()
fpChainedWindowHandle = SetClipboardViewer(Me.Handle)
Startup.CreateLogger()
' Create gui config load and save objects
sL = New Config.Settings.Load(Me)
sS = New Config.Settings.Save(Me)
Startup.CreateLogger()
' Load GUI Configuration
sL.Load()
Debug.Print("---------------------------" & vbNewLine & "[START] - " & Now)
Startup.ParseCommandLineArgs()
App.SupportedCultures.InstantiateSingleton()
If Not My.Settings.OverrideUICulture = "" And App.SupportedCultures.IsNameSupported(My.Settings.OverrideUICulture) Then
Threading.Thread.CurrentThread.CurrentUICulture = New Globalization.CultureInfo(My.Settings.OverrideUICulture)
End If
ApplyLanguage()
fpChainedWindowHandle = SetClipboardViewer(Me.Handle)
mC = New Messages.Collector(Windows.errorsForm)
Connection.Protocol.RDP.Resolutions.AddResolutions()
@@ -78,6 +78,8 @@ Public Class frmMain
AddSysMenuItems()
AddHandler Microsoft.Win32.SystemEvents.DisplaySettingsChanged, AddressOf DisplayChanged
Me.Opacity = 1
End Sub
Private Sub ApplyLanguage()

View File

@@ -1850,15 +1850,6 @@ Starte mit neuer Datei.</value>
<data name="strErrorCode" xml:space="preserve">
<value>Fehler Nummer {0}.</value>
</data>
<data name="strConnenctionEventDisconnected" xml:space="preserve">
<value>Protokoll Ereignis Verbindung getrennt.
Nachricht:
{0}</value>
</data>
<data name="strConnenctionEventDisconnectFailed" xml:space="preserve">
<value>Protokoll Ereignis Trennen der Verbindung fehlgeschlagen!
{0}</value>
</data>
<data name="strConnenctionClosedByUserDetail" xml:space="preserve">
<value>Verbindung zu {0} mit {1} wurde vom Benutzer {2} getrennt. (Beschreibung: "{3}"; Benutzer Feld: "{4}")</value>
</data>
@@ -1957,4 +1948,42 @@ Fehler Beschreibung: {1}</value>
<data name="strRDP32768Colors" xml:space="preserve">
<value>32768 Farben (15Bit)</value>
</data>
<data name="strNoUpdateAvailable" xml:space="preserve">
<value>Keine Updates verfügbar</value>
</data>
<data name="strTransferFailed" xml:space="preserve">
<value>Übertragung fehlgeschlagen!</value>
</data>
<data name="strProtocolEventDisconnected" xml:space="preserve">
<value>Protokollereignis Verbindung getrennnt.
{0}</value>
</data>
<data name="strProtocolEventDisconnectFailed" xml:space="preserve">
<value>Protokollereignis Verbindung trennen fehlgeschlagen.
{0}</value>
</data>
<data name="strLanguage" xml:space="preserve">
<value>Sprache</value>
</data>
<data name="strLanguageDefault" xml:space="preserve">
<value>(Automatisch erkannt)</value>
</data>
<data name="strLanguageRestartRequired" xml:space="preserve">
<value>{0} muss neu gestartet werden, bevor die Sprache aktiv wird.</value>
</data>
<data name="strAskUpdatesCommandAskLater" xml:space="preserve">
<value>Später nochmal fragen</value>
</data>
<data name="strAskUpdatesCommandCustom" xml:space="preserve">
<value>Einstellungen jetzt anpassen</value>
</data>
<data name="strAskUpdatesCommandRecommended" xml:space="preserve">
<value>Verwende die empflohlenen Einstellungen</value>
</data>
<data name="strAskUpdatesContent" xml:space="preserve">
<value>{0} kann automatisch nach Updates suchen die neue Funktionen und Bug Fixes enthalten können. Es wird empfohlen, dass Sie {0} erlauben wöchentlich nach Updates zu suchen.</value>
</data>
<data name="strAskUpdatesMainInstruction" xml:space="preserve">
<value>Automatische Update Einstellungen</value>
</data>
</root>

View File

@@ -1679,6 +1679,24 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Confirm closing connection tabs.
'''</summary>
Friend ReadOnly Property strConfirmCloseConnection() As String
Get
Return ResourceManager.GetString("strConfirmCloseConnection", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Do you want to close the connection, &quot;{0}&quot;?.
'''</summary>
Friend ReadOnly Property strConfirmCloseConnectionMainInstruction() As String
Get
Return ResourceManager.GetString("strConfirmCloseConnectionMainInstruction", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Are you sure you want to delete the external tool, &quot;{0}&quot;?.
'''</summary>

View File

@@ -2319,4 +2319,10 @@ Error Description: {1}</value>
<data name="strPropertyNameEnableDesktopComposition" xml:space="preserve">
<value>Desktop Composition</value>
</data>
<data name="strConfirmCloseConnection" xml:space="preserve">
<value>Confirm closing connection tabs</value>
</data>
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
<value>Do you want to close the connection, "{0}"?</value>
</data>
</root>

View File

@@ -56,8 +56,7 @@ Namespace My
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("999, 999")> _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
Public Property MainFormLocation() As Global.System.Drawing.Point
Get
Return CType(Me("MainFormLocation"),Global.System.Drawing.Point)
@@ -69,8 +68,7 @@ Namespace My
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("900, 600")> _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
Public Property MainFormSize() As Global.System.Drawing.Size
Get
Return CType(Me("MainFormSize"),Global.System.Drawing.Size)
@@ -2205,6 +2203,43 @@ Namespace My
Me("InhDefaultEnableDesktopComposition") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("True")> _
Public Property ConfirmCloseConnection() As Boolean
Get
Return CType(Me("ConfirmCloseConnection"),Boolean)
End Get
Set
Me("ConfirmCloseConnection") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
Public Property MainFormRestoreSize() As Global.System.Drawing.Size
Get
Return CType(Me("MainFormRestoreSize"),Global.System.Drawing.Size)
End Get
Set
Me("MainFormRestoreSize") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemoteNG.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
Public Property MainFormRestoreLocation() As Global.System.Drawing.Point
Get
Return CType(Me("MainFormRestoreLocation"),Global.System.Drawing.Point)
End Get
Set
Me("MainFormRestoreLocation") = value
End Set
End Property
End Class
End Namespace

View File

@@ -3,10 +3,10 @@
<Profiles />
<Settings>
<Setting Name="MainFormLocation" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">999, 999</Value>
<Value Profile="(Default)" />
</Setting>
<Setting Name="MainFormSize" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)">900, 600</Value>
<Value Profile="(Default)" />
</Setting>
<Setting Name="MainFormState" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Windows.Forms.FormWindowState" Scope="User">
<Value Profile="(Default)">Normal</Value>
@@ -500,5 +500,14 @@
<Setting Name="InhDefaultEnableDesktopComposition" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ConfirmCloseConnection" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="MainFormRestoreSize" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MainFormRestoreLocation" Provider="mRemoteNG.Config.Settings.Providers.ChooseProvider" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)" />
</Setting>
</Settings>
</SettingsFile>

View File

@@ -0,0 +1,120 @@
Imports System.Runtime.InteropServices
Namespace Tools
Public Class WindowPlacement
#Region "Windows API"
#Region "Functions"
Private Declare Function GetWindowPlacement Lib "user32" (ByVal hWnd As System.IntPtr, ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
Private Declare Function SetWindowPlacement Lib "user32" (ByVal hWnd As System.IntPtr, ByRef lpwndpl As WINDOWPLACEMENT) As Boolean
#End Region
#Region "Structures"
Private Structure WINDOWPLACEMENT
Public length As UInteger
Public flags As UInteger
Public showCmd As UInteger
Public ptMinPosition As POINT
Public ptMaxPosition As POINT
Public rcNormalPosition As RECT
End Structure
Private Structure POINT
Public x As Long
Public y As Long
End Structure
Private Structure RECT
Public left As Long
Public top As Long
Public right As Long
Public bottom As Long
End Structure
#End Region
#Region "Constants"
' WINDOWPLACEMENT.flags values
Private Const WPF_SETMINPOSITION As UInteger = &H1
Private Const WPF_RESTORETOMAXIMIZED As UInteger = &H2
Private Const WPF_ASYNCWINDOWPLACEMENT As UInteger = &H4
' WINDOWPLACEMENT.showCmd values
Private Const SW_HIDE As UInteger = 0
Private Const SW_SHOWNORMAL As UInteger = 1
Private Const SW_SHOWMINIMIZED As UInteger = 2
Private Const SW_SHOWMAXIMIZED As UInteger = 3
Private Const SW_MAXIMIZE As UInteger = 3
Private Const SW_SHOWNOACTIVATE As UInteger = 4
Private Const SW_SHOW As UInteger = 5
Private Const SW_MINIMIZE As UInteger = 6
Private Const SW_SHOWMINNOACTIVE As UInteger = 7
Private Const SW_SHOWNA As UInteger = 8
Private Const SW_RESTORE As UInteger = 9
#End Region
#End Region
#Region "Private Variables"
Private _form As Windows.Forms.Form
#End Region
#Region "Constructors/Destructors"
Public Sub New(ByRef form As Windows.Forms.Form)
_form = form
End Sub
#End Region
#Region "Public Properties"
Public Property Form() As Windows.Forms.Form
Get
Return _form
End Get
Set(ByVal value As Windows.Forms.Form)
_form = value
End Set
End Property
Public Property RestoreToMaximized() As Boolean
Get
Dim windowPlacement As WINDOWPLACEMENT = GetWindowPlacement()
Return windowPlacement.flags And WPF_RESTORETOMAXIMIZED
End Get
Set(ByVal value As Boolean)
Dim windowPlacement As WINDOWPLACEMENT = GetWindowPlacement()
If value Then
windowPlacement.flags = windowPlacement.flags Or WPF_RESTORETOMAXIMIZED
Else
windowPlacement.flags = windowPlacement.flags And Not WPF_RESTORETOMAXIMIZED
End If
SetWindowPlacement(windowPlacement)
End Set
End Property
#End Region
#Region "Private Functions"
Private Function GetWindowPlacement() As WINDOWPLACEMENT
If _form Is Nothing Then
Throw New System.NullReferenceException("WindowPlacement.Form is not set.")
End If
Dim windowPlacement As WINDOWPLACEMENT
windowPlacement.length = Marshal.SizeOf(windowPlacement)
Try
GetWindowPlacement(_form.Handle, windowPlacement)
Return windowPlacement
Catch ex As Exception
Throw ex
End Try
End Function
Private Function SetWindowPlacement(ByVal windowPlacement As WINDOWPLACEMENT) As Boolean
If _form Is Nothing Then
Throw New System.NullReferenceException("WindowPlacement.Form is not set.")
End If
windowPlacement.length = Marshal.SizeOf(windowPlacement)
Try
Return SetWindowPlacement(_form.Handle, windowPlacement)
Catch ex As Exception
Throw ex
End Try
End Function
#End Region
End Class
End Namespace

View File

@@ -489,7 +489,6 @@ Namespace Tree
_TreeView.TreeViewNodeSorter = ns
_TreeView.Sort()
_TreeView.Sorted = False
For Each childNode As TreeNode In treeNode.Nodes
If GetNodeType(childNode) = Type.Container Then Sort(childNode, sortType)

View File

@@ -3,6 +3,7 @@ Imports System.Windows
Imports System.Windows.Forms
Imports Crownwood
Imports WeifenLuo.WinFormsUI.Docking
Imports PSTaskDialog
Imports mRemoteNG.App.Runtime
Namespace UI
@@ -344,12 +345,23 @@ Namespace UI
End Sub
Private Sub CloseConnectionTab()
Dim SelectedTab As Crownwood.Magic.Controls.TabPage = Me.TabController.SelectedTab
If My.Settings.ConfirmCloseConnection Then
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, String.Format(My.Resources.strConfirmCloseConnectionMainInstruction, SelectedTab.Title), "", "", "", My.Resources.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
If cTaskDialog.VerificationChecked Then
My.Settings.ConfirmCloseConnection = False
End If
If Result = DialogResult.No Then
Exit Sub
End If
End If
Try
If Me.TabController.SelectedTab.Tag IsNot Nothing Then
Dim IC As mRemoteNG.Connection.InterfaceControl = Me.TabController.SelectedTab.Tag
If SelectedTab.Tag IsNot Nothing Then
Dim IC As mRemoteNG.Connection.InterfaceControl = SelectedTab.Tag
IC.Protocol.Close()
Else
Me.CloseTab(Me.TabController.SelectedTab)
Me.CloseTab(SelectedTab)
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CloseConnectionTab (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)

View File

@@ -109,6 +109,7 @@ Namespace UI
Friend WithEvents lblLanguageRestartRequired As System.Windows.Forms.Label
Friend WithEvents cboLanguage As System.Windows.Forms.ComboBox
Friend WithEvents lblLanguage As System.Windows.Forms.Label
Friend WithEvents chkConfirmCloseConnection As System.Windows.Forms.CheckBox
Friend WithEvents TabController As Crownwood.Magic.Controls.TabControl
Private Sub InitializeComponent()
@@ -215,6 +216,7 @@ Namespace UI
Me.Label1 = New System.Windows.Forms.Label
Me.btnOK = New System.Windows.Forms.Button
Me.btnCancel = New System.Windows.Forms.Button
Me.chkConfirmCloseConnection = New System.Windows.Forms.CheckBox
Me.TabController.SuspendLayout()
Me.tabAppearance.SuspendLayout()
Me.pnlAppearance.SuspendLayout()
@@ -252,8 +254,8 @@ Namespace UI
Me.TabController.IDEPixelArea = True
Me.TabController.Location = New System.Drawing.Point(0, 0)
Me.TabController.Name = "TabController"
Me.TabController.SelectedIndex = 1
Me.TabController.SelectedTab = Me.tabAppearance
Me.TabController.SelectedIndex = 0
Me.TabController.SelectedTab = Me.tabStartupExit
Me.TabController.Size = New System.Drawing.Size(573, 522)
Me.TabController.TabIndex = 10
Me.TabController.TabPages.AddRange(New Crownwood.Magic.Controls.TabPage() {Me.tabStartupExit, Me.tabAppearance, Me.tabTabs, Me.tabConnections, Me.tabUpdates, Me.tabAdvanced})
@@ -264,6 +266,7 @@ Namespace UI
Me.tabAppearance.Icon = Global.mRemoteNG.My.Resources.Resources.Appearance_Icon
Me.tabAppearance.Location = New System.Drawing.Point(0, 0)
Me.tabAppearance.Name = "tabAppearance"
Me.tabAppearance.Selected = False
Me.tabAppearance.Size = New System.Drawing.Size(573, 492)
Me.tabAppearance.TabIndex = 2000
Me.tabAppearance.Title = "Appearance"
@@ -364,7 +367,6 @@ Namespace UI
Me.tabStartupExit.Icon = Global.mRemoteNG.My.Resources.Resources.StartupExit_Icon
Me.tabStartupExit.Location = New System.Drawing.Point(0, 0)
Me.tabStartupExit.Name = "tabStartupExit"
Me.tabStartupExit.Selected = False
Me.tabStartupExit.Size = New System.Drawing.Size(573, 492)
Me.tabStartupExit.TabIndex = 1000
Me.tabStartupExit.Title = "Startup/Exit"
@@ -375,6 +377,7 @@ Namespace UI
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.pnlStartup.AutoScroll = True
Me.pnlStartup.Controls.Add(Me.chkConfirmCloseConnection)
Me.pnlStartup.Controls.Add(Me.chkSaveConsOnExit)
Me.pnlStartup.Controls.Add(Me.chkProperInstallationOfComponentsAtStartup)
Me.pnlStartup.Controls.Add(Me.chkConfirmExit)
@@ -389,7 +392,7 @@ Namespace UI
'
Me.chkSaveConsOnExit.AutoSize = True
Me.chkSaveConsOnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkSaveConsOnExit.Location = New System.Drawing.Point(16, 16)
Me.chkSaveConsOnExit.Location = New System.Drawing.Point(16, 64)
Me.chkSaveConsOnExit.Name = "chkSaveConsOnExit"
Me.chkSaveConsOnExit.Size = New System.Drawing.Size(153, 19)
Me.chkSaveConsOnExit.TabIndex = 10
@@ -400,7 +403,7 @@ Namespace UI
'
Me.chkProperInstallationOfComponentsAtStartup.AutoSize = True
Me.chkProperInstallationOfComponentsAtStartup.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkProperInstallationOfComponentsAtStartup.Location = New System.Drawing.Point(16, 112)
Me.chkProperInstallationOfComponentsAtStartup.Location = New System.Drawing.Point(16, 136)
Me.chkProperInstallationOfComponentsAtStartup.Name = "chkProperInstallationOfComponentsAtStartup"
Me.chkProperInstallationOfComponentsAtStartup.Size = New System.Drawing.Size(292, 19)
Me.chkProperInstallationOfComponentsAtStartup.TabIndex = 50
@@ -422,7 +425,7 @@ Namespace UI
'
Me.chkSingleInstance.AutoSize = True
Me.chkSingleInstance.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkSingleInstance.Location = New System.Drawing.Point(16, 88)
Me.chkSingleInstance.Location = New System.Drawing.Point(16, 112)
Me.chkSingleInstance.Name = "chkSingleInstance"
Me.chkSingleInstance.Size = New System.Drawing.Size(411, 19)
Me.chkSingleInstance.TabIndex = 50
@@ -433,7 +436,7 @@ Namespace UI
'
Me.chkReconnectOnStart.AutoSize = True
Me.chkReconnectOnStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkReconnectOnStart.Location = New System.Drawing.Point(16, 64)
Me.chkReconnectOnStart.Location = New System.Drawing.Point(16, 88)
Me.chkReconnectOnStart.Name = "chkReconnectOnStart"
Me.chkReconnectOnStart.Size = New System.Drawing.Size(296, 19)
Me.chkReconnectOnStart.TabIndex = 40
@@ -1381,6 +1384,17 @@ Namespace UI
Me.btnCancel.Text = "&Cancel"
Me.btnCancel.UseVisualStyleBackColor = True
'
'chkConfirmCloseConnection
'
Me.chkConfirmCloseConnection.AutoSize = True
Me.chkConfirmCloseConnection.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkConfirmCloseConnection.Location = New System.Drawing.Point(16, 16)
Me.chkConfirmCloseConnection.Name = "chkConfirmCloseConnection"
Me.chkConfirmCloseConnection.Size = New System.Drawing.Size(196, 19)
Me.chkConfirmCloseConnection.TabIndex = 51
Me.chkConfirmCloseConnection.Text = "Confirm closing connection tabs"
Me.chkConfirmCloseConnection.UseVisualStyleBackColor = True
'
'Options
'
Me.CancelButton = Me.btnCancel
@@ -1441,6 +1455,7 @@ Namespace UI
Private Sub LoadOptions()
Try
Me.chkSaveConsOnExit.Checked = My.Settings.SaveConsOnExit
Me.chkConfirmCloseConnection.Checked = My.Settings.ConfirmCloseConnection
Me.chkConfirmExit.Checked = My.Settings.ConfirmExit
Me.chkReconnectOnStart.Checked = My.Settings.OpenConsFromLastSession
Me.chkProperInstallationOfComponentsAtStartup.Checked = My.Settings.StartupComponentsCheck
@@ -1552,6 +1567,7 @@ Namespace UI
Private Sub SaveOptions()
Try
My.Settings.SaveConsOnExit = Me.chkSaveConsOnExit.Checked
My.Settings.ConfirmCloseConnection = Me.chkConfirmCloseConnection.Checked
My.Settings.ConfirmExit = Me.chkConfirmExit.Checked
My.Settings.OpenConsFromLastSession = Me.chkReconnectOnStart.Checked
My.Settings.StartupComponentsCheck = Me.chkProperInstallationOfComponentsAtStartup.Checked
@@ -1786,6 +1802,7 @@ Namespace UI
chkSingleInstance.Text = My.Resources.strAllowOnlySingleInstance
chkReconnectOnStart.Text = My.Resources.strReconnectAtStartup
chkCheckForUpdatesOnStartup.Text = My.Resources.strCheckForUpdatesOnStartup
chkConfirmCloseConnection.Text = My.Resources.strConfirmCloseConnection
chkConfirmExit.Text = My.Resources.strConfirmExit
chkSaveConsOnExit.Text = My.Resources.strSaveConsOnExit
tabAppearance.Title = My.Resources.strTabAppearance

View File

@@ -59,12 +59,6 @@
</system.diagnostics>
<userSettings>
<mRemoteNG.My.MySettings>
<setting name="MainFormLocation" serializeAs="String">
<value>999, 999</value>
</setting>
<setting name="MainFormSize" serializeAs="String">
<value>900, 600</value>
</setting>
<setting name="MainFormState" serializeAs="String">
<value>Normal</value>
</setting>
@@ -554,6 +548,9 @@
<setting name="InhDefaultEnableDesktopComposition" serializeAs="String">
<value>False</value>
</setting>
<setting name="ConfirmCloseConnection" serializeAs="String">
<value>True</value>
</setting>
</mRemoteNG.My.MySettings>
</userSettings>
<applicationSettings>

View File

@@ -263,6 +263,7 @@
<Compile Include="Tools\Tools.Misc.vb" />
<Compile Include="Tools\Tools.PortScan.vb" />
<Compile Include="Tools\Tools.SystemMenu.vb" />
<Compile Include="Tools\Tools.WindowPlacement.vb" />
<Compile Include="Tree\Tree.Node.vb" />
<Compile Include="UI\UI.Window.About.vb">
<SubType>Form</SubType>