Files
mRemoteNG/mRemoteV1/UI/UI.Window.Config.vb
Andreas Rehm ccebf41645 Changed/Fixed language based data
* Fixed some german grammer mistakes
* Changed some weird translations
* moved all language strings to resx files
* added missing translations
* removed old language classes
2010-08-01 01:12:29 +08:00

894 lines
49 KiB
VB.net

Imports WeifenLuo.WinFormsUI.Docking
Imports System.Net.NetworkInformation
Imports mRemote.App.Runtime
Namespace UI
Namespace Window
Public Class Config
Inherits UI.Window.Base
#Region "Form Init"
Friend WithEvents btnShowProperties As System.Windows.Forms.ToolStripButton
Friend WithEvents btnShowDefaultProperties As System.Windows.Forms.ToolStripButton
Friend WithEvents btnShowInheritance As System.Windows.Forms.ToolStripButton
Friend WithEvents btnShowDefaultInheritance As System.Windows.Forms.ToolStripButton
Friend WithEvents btnIcon As System.Windows.Forms.ToolStripButton
Friend WithEvents btnHostStatus As System.Windows.Forms.ToolStripButton
Friend WithEvents cMenIcons As System.Windows.Forms.ContextMenuStrip
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.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)
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
Me.pGrid.HiddenProperties = Nothing
Me.pGrid.Location = New System.Drawing.Point(0, 0)
Me.pGrid.Name = "pGrid"
Me.pGrid.PropertySort = System.Windows.Forms.PropertySort.Categorized
Me.pGrid.Size = New System.Drawing.Size(226, 530)
Me.pGrid.TabIndex = 0
Me.pGrid.UseCompatibleTextRendering = True
'
'btnShowInheritance
'
Me.btnShowInheritance.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.btnShowInheritance.Image = Global.mRemote.My.Resources.Resources.Inheritance
Me.btnShowInheritance.ImageTransparentColor = System.Drawing.Color.Magenta
Me.btnShowInheritance.Name = "btnShowInheritance"
Me.btnShowInheritance.Size = New System.Drawing.Size(23, 22)
Me.btnShowInheritance.Text = "Inheritance"
'
'btnShowDefaultInheritance
'
Me.btnShowDefaultInheritance.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.btnShowDefaultInheritance.Image = Global.mRemote.My.Resources.Resources.Inheritance_Default
Me.btnShowDefaultInheritance.ImageTransparentColor = System.Drawing.Color.Magenta
Me.btnShowDefaultInheritance.Name = "btnShowDefaultInheritance"
Me.btnShowDefaultInheritance.Size = New System.Drawing.Size(23, 22)
Me.btnShowDefaultInheritance.Text = "Default Inheritance"
'
'btnShowProperties
'
Me.btnShowProperties.Checked = True
Me.btnShowProperties.CheckState = System.Windows.Forms.CheckState.Checked
Me.btnShowProperties.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.btnShowProperties.Image = Global.mRemote.My.Resources.Resources.Properties
Me.btnShowProperties.ImageTransparentColor = System.Drawing.Color.Magenta
Me.btnShowProperties.Name = "btnShowProperties"
Me.btnShowProperties.Size = New System.Drawing.Size(23, 22)
Me.btnShowProperties.Text = "Properties"
'
'btnShowDefaultProperties
'
Me.btnShowDefaultProperties.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.btnShowDefaultProperties.Image = Global.mRemote.My.Resources.Resources.Properties_Default
Me.btnShowDefaultProperties.ImageTransparentColor = System.Drawing.Color.Magenta
Me.btnShowDefaultProperties.Name = "btnShowDefaultProperties"
Me.btnShowDefaultProperties.Size = New System.Drawing.Size(23, 22)
Me.btnShowDefaultProperties.Text = "Default Properties"
'
'btnIcon
'
Me.btnIcon.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
Me.btnIcon.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.btnIcon.ImageTransparentColor = System.Drawing.Color.Magenta
Me.btnIcon.Name = "btnIcon"
Me.btnIcon.Size = New System.Drawing.Size(23, 22)
Me.btnIcon.Text = "Icon"
'
'btnHostStatus
'
Me.btnHostStatus.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
Me.btnHostStatus.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.btnHostStatus.Image = Global.mRemote.My.Resources.Resources.HostStatus_Check
Me.btnHostStatus.ImageTransparentColor = System.Drawing.Color.Magenta
Me.btnHostStatus.Name = "btnHostStatus"
Me.btnHostStatus.Size = New System.Drawing.Size(23, 22)
Me.btnHostStatus.Tag = "checking"
Me.btnHostStatus.Text = "Status"
'
'cMenIcons
'
Me.cMenIcons.Name = "cMenIcons"
Me.cMenIcons.Size = New System.Drawing.Size(61, 4)
'
'Config
'
Me.ClientSize = New System.Drawing.Size(226, 530)
Me.Controls.Add(Me.pGrid)
Me.HideOnClose = True
Me.Icon = Global.mRemote.My.Resources.Resources.Config_Icon
Me.Name = "Config"
Me.TabText = "Config"
Me.Text = "Config"
Me.ResumeLayout(False)
End Sub
#End Region
#Region "Private Properties"
Private ConfigLoading As Boolean = False
#End Region
#Region "Public Properties"
Public Property PropertiesVisible() As Boolean
Get
If Me.btnShowProperties.Checked Then
Return True
Else
Return False
End If
End Get
Set(ByVal value As Boolean)
Me.btnShowProperties.Checked = value
If value = True Then
Me.btnShowInheritance.Checked = False
Me.btnShowDefaultInheritance.Checked = False
Me.btnShowDefaultProperties.Checked = False
End If
End Set
End Property
Public Property InheritanceVisible() As Boolean
Get
If Me.btnShowInheritance.Checked Then
Return True
Else
Return False
End If
End Get
Set(ByVal value As Boolean)
Me.btnShowInheritance.Checked = value
If value = True Then
Me.btnShowProperties.Checked = False
Me.btnShowDefaultInheritance.Checked = False
Me.btnShowDefaultProperties.Checked = False
End If
End Set
End Property
Public Property DefaultPropertiesVisible() As Boolean
Get
If Me.btnShowDefaultProperties.Checked Then
Return True
Else
Return False
End If
End Get
Set(ByVal value As Boolean)
Me.btnShowDefaultProperties.Checked = value
If value = True Then
Me.btnShowProperties.Checked = False
Me.btnShowDefaultInheritance.Checked = False
Me.btnShowInheritance.Checked = False
End If
End Set
End Property
Public Property DefaultInheritanceVisible() As Boolean
Get
If Me.btnShowDefaultInheritance.Checked Then
Return True
Else
Return False
End If
End Get
Set(ByVal value As Boolean)
Me.btnShowDefaultInheritance.Checked = value
If value = True Then
Me.btnShowProperties.Checked = False
Me.btnShowDefaultProperties.Checked = False
Me.btnShowInheritance.Checked = False
End If
End Set
End Property
#End Region
#Region "Public Methods"
Public Sub New(ByVal Panel As DockContent)
Me.WindowType = Type.Config
Me.DockPnl = Panel
Me.InitializeComponent()
End Sub
'Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
' 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)
' If keyData = Keys.Tab Then
' Dim curGridItemLabel As String = pGrid.SelectedGridItem.Label
' Dim gridItemIndex As Integer
' For gridItemIndex = 0 To pGrid.SelectedGridItem.Parent.GridItems.Count
' If pGrid.SelectedGridItem.Parent.GridItems(gridItemIndex).Label = curGridItemLabel Then
' Exit For
' End If
' Next
' If pGrid.SelectedGridItem.Parent.GridItems.Count > gridItemIndex + 1 Then
' pGrid.SelectedGridItem.Parent.GridItems(gridItemIndex + 1).Select()
' End If
' ElseIf keyData = (Keys.Tab Or Keys.Shift) Then
' Dim curGridItemLabel As String = pGrid.SelectedGridItem.Label
' Dim gridItemIndex As Integer
' For gridItemIndex = 0 To pGrid.SelectedGridItem.Parent.GridItems.Count
' If pGrid.SelectedGridItem.Parent.GridItems(gridItemIndex).Label = curGridItemLabel Then
' Exit For
' End If
' Next
' If gridItemIndex - 1 >= 0 Then
' pGrid.SelectedGridItem.Parent.GridItems(gridItemIndex - 1).Select()
' End If
' End If
' Return MyBase.ProcessCmdKey(msg, keyData)
'End Function
Public Sub SetPropertyGridObject(ByVal Obj As Object)
Try
Me.btnShowProperties.Enabled = False
Me.btnShowInheritance.Enabled = False
Me.btnShowDefaultProperties.Enabled = False
Me.btnShowDefaultInheritance.Enabled = False
Me.btnIcon.Enabled = False
Me.btnHostStatus.Enabled = False
Me.btnIcon.Image = Nothing
If TypeOf Obj Is mRemote.Connection.Info Then 'CONNECTION INFO
If TryCast(Obj, mRemote.Connection.Info).IsContainer = False Then 'NO CONTAINER
If Me.PropertiesVisible Then 'Properties selected
Me.pGrid.SelectedObject = Obj
Me.btnShowProperties.Enabled = True
If TryCast(Obj, mRemote.Connection.Info).Parent IsNot Nothing Then
Me.btnShowInheritance.Enabled = True
Else
Me.btnShowInheritance.Enabled = False
End If
Me.btnShowDefaultProperties.Enabled = False
Me.btnShowDefaultInheritance.Enabled = False
Me.btnIcon.Enabled = True
Me.btnHostStatus.Enabled = True
ElseIf Me.DefaultPropertiesVisible Then 'Defaults selected
Me.pGrid.SelectedObject = Obj
If TryCast(Obj, mRemote.Connection.Info).IsDefault Then 'Is the default connection
Me.btnShowProperties.Enabled = True
Me.btnShowInheritance.Enabled = False
Me.btnShowDefaultProperties.Enabled = True
Me.btnShowDefaultInheritance.Enabled = True
Me.btnIcon.Enabled = True
Me.btnHostStatus.Enabled = False
Else 'is not the default connection
Me.btnShowProperties.Enabled = True
Me.btnShowInheritance.Enabled = True
Me.btnShowDefaultProperties.Enabled = False
Me.btnShowDefaultInheritance.Enabled = False
Me.btnIcon.Enabled = True
Me.btnHostStatus.Enabled = True
Me.PropertiesVisible = True
End If
ElseIf Me.InheritanceVisible Then 'Inheritance selected
Me.pGrid.SelectedObject = TryCast(Obj, mRemote.Connection.Info).Inherit
Me.btnShowProperties.Enabled = True
Me.btnShowInheritance.Enabled = True
Me.btnShowDefaultProperties.Enabled = False
Me.btnShowDefaultInheritance.Enabled = False
Me.btnIcon.Enabled = True
Me.btnHostStatus.Enabled = True
ElseIf Me.DefaultInheritanceVisible Then 'Default Inhertiance selected
Me.btnShowProperties.Enabled = True
Me.btnShowInheritance.Enabled = True
Me.btnShowDefaultProperties.Enabled = False
Me.btnShowDefaultInheritance.Enabled = False
Me.btnIcon.Enabled = True
Me.btnHostStatus.Enabled = True
Me.PropertiesVisible = True
End If
ElseIf TryCast(Obj, mRemote.Connection.Info).IsContainer Then 'CONTAINER
Me.pGrid.SelectedObject = Obj
Me.btnShowProperties.Enabled = True
If TryCast(TryCast(Obj, mRemote.Connection.Info).Parent, mRemote.Container.Info).Parent IsNot Nothing Then
Me.btnShowInheritance.Enabled = True
Else
Me.btnShowInheritance.Enabled = False
End If
Me.btnShowDefaultProperties.Enabled = False
Me.btnShowDefaultInheritance.Enabled = False
Me.btnIcon.Enabled = True
Me.btnHostStatus.Enabled = False
Me.PropertiesVisible = True
End If
Dim conIcon As Icon = mRemote.Connection.Icon.FromString(TryCast(Obj, mRemote.Connection.Info).Icon)
If conIcon IsNot Nothing Then
Me.btnIcon.Image = conIcon.ToBitmap
End If
ElseIf TypeOf Obj Is mRemote.Root.Info Then 'ROOT
Me.PropertiesVisible = True
Me.DefaultPropertiesVisible = False
Me.btnShowProperties.Enabled = True
Me.btnShowInheritance.Enabled = False
Me.btnShowDefaultProperties.Enabled = True
Me.btnShowDefaultInheritance.Enabled = True
Me.btnIcon.Enabled = False
Me.btnHostStatus.Enabled = False
Me.pGrid.SelectedObject = Obj
ElseIf TypeOf Obj Is mRemote.Connection.Info.Inheritance Then 'INHERITANCE
Me.pGrid.SelectedObject = Obj
If Me.InheritanceVisible Then
Me.InheritanceVisible = True
Me.btnShowProperties.Enabled = True
Me.btnShowInheritance.Enabled = True
Me.btnShowDefaultProperties.Enabled = False
Me.btnShowDefaultInheritance.Enabled = False
Me.btnIcon.Enabled = True
Me.btnHostStatus.Enabled = Not TryCast(TryCast(Obj, mRemote.Connection.Info.Inheritance).Parent, mRemote.Connection.Info).IsContainer
Me.InheritanceVisible = True
Dim conIcon As Icon = mRemote.Connection.Icon.FromString(TryCast(TryCast(Obj, mRemote.Connection.Info.Inheritance).Parent, mRemote.Connection.Info).Icon)
If conIcon IsNot Nothing Then
Me.btnIcon.Image = conIcon.ToBitmap
End If
ElseIf Me.DefaultInheritanceVisible Then
Me.btnShowProperties.Enabled = True
Me.btnShowInheritance.Enabled = False
Me.btnShowDefaultProperties.Enabled = True
Me.btnShowDefaultInheritance.Enabled = True
Me.btnIcon.Enabled = False
Me.btnHostStatus.Enabled = False
Me.DefaultInheritanceVisible = True
End If
End If
Me.ShowHideGridItems()
Me.SetHostStatus(Obj)
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "SetPropertyGridObject (UI.Window.Config) failed" & vbNewLine & ex.Message, True)
End Try
End Sub
Public Sub pGrid_SelectedObjectChanged()
Me.ShowHideGridItems()
End Sub
#End Region
#Region "Private Methods"
Private tsCustom As ToolStrip = Nothing
Private Sub Config_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ApplyLanguage()
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 tsDefault As ToolStrip = New ToolStrip
For Each ctrl As System.Windows.Forms.Control In pGrid.Controls
Dim tStrip As ToolStrip = TryCast(ctrl, ToolStrip)
If tStrip IsNot Nothing Then
tsDefault = tStrip
Exit For
End If
Next
tsDefault.AllowMerge = True
tsDefault.Items(tsDefault.Items.Count - 1).Visible = False
ToolStripManager.Merge(tsCustom, tsDefault)
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Load (UI.Window.Config) failed" & 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
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 mRemote.Connection.Info Then
Select Case e.ChangedItem.Label
Case My.Resources.strPropertyNameProtocol
TryCast(Me.pGrid.SelectedObject, mRemote.Connection.Info).SetDefaultPort()
Case My.Resources.strPropertyNameName
App.Runtime.Windows.treeForm.tvConnections.SelectedNode.Text = Me.pGrid.SelectedObject.Name
Case My.Resources.strPropertyNameIcon
Dim conIcon As Icon = mRemote.Connection.Icon.FromString(TryCast(Me.pGrid.SelectedObject, mRemote.Connection.Info).Icon)
If conIcon IsNot Nothing Then
Me.btnIcon.Image = conIcon.ToBitmap
End If
Case My.Resources.strPropertyNamePuttySession
mRemote.Connection.PuttySession.PuttySessions = mRemote.Connection.Protocol.PuttyBase.GetSessions()
Case My.Resources.strPropertyNameAddress
Me.SetHostStatus(Me.pGrid.SelectedObject)
End Select
If TryCast(Me.pGrid.SelectedObject, mRemote.Connection.Info).IsDefault Then
App.Runtime.DefaultConnectionToSettings()
End If
End If
If TypeOf Me.pGrid.SelectedObject Is mRemote.Root.Info Then
Dim rInfo As mRemote.Root.Info = Me.pGrid.SelectedObject
Select Case e.ChangedItem.Label
Case My.Resources.strPasswordProtect
If rInfo.Password = True Then
Dim pw As String = Tools.Misc.PasswordDialog
If pw <> "" Then
rInfo.PasswordString = pw
Else
rInfo.Password = False
End If
End If
Case My.Resources.strPropertyNameName
App.Runtime.Windows.treeForm.tvConnections.SelectedNode.Text = Me.pGrid.SelectedObject.Name
End Select
End If
If TypeOf Me.pGrid.SelectedObject Is mRemote.Connection.Info.Inheritance Then
If TryCast(Me.pGrid.SelectedObject, mRemote.Connection.Info.Inheritance).IsDefault Then
App.Runtime.DefaultInheritanceToSettings()
End If
End If
Me.ShowHideGridItems()
App.Runtime.SaveConnectionsBG()
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "pGrid_PopertyValueChanged (UI.Window.Config) failed" & vbNewLine & ex.Message, True)
End Try
End Sub
Private Sub ShowHideGridItems()
Try
Dim strHide As String = ""
If TypeOf Me.pGrid.SelectedObject Is mRemote.Connection.Info Then
Dim conI As mRemote.Connection.Info = pGrid.SelectedObject
Select Case conI.Protocol
Case mRemote.Connection.Protocol.Protocols.RDP
strHide &= "ExtApp;RenderingEngine;PuttySession;ICAEncryption;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;"
If conI.RDGatewayUsageMethod = mRemote.Connection.Protocol.RDP.RDGatewayUsageMethod.Never Then
strHide &= "RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Else If conI.RDGatewayUseConnectionCredentials Then
strHide &= "RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
End If
Case mRemote.Connection.Protocol.Protocols.VNC
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;PuttySession;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
If conI.VNCAuthMode = mRemote.Connection.Protocol.VNC.AuthMode.AuthVNC Then
strHide &= "Username;Domain;"
End If
If conI.VNCProxyType = mRemote.Connection.Protocol.VNC.ProxyType.ProxyNone Then
strHide &= "VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyUsername;"
End If
Case mRemote.Connection.Protocol.Protocols.SSH1
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.SSH2
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.Telnet
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;Password;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;Username;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.Rlogin
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;Password;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;Username;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.RAW
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;Password;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;Username;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.HTTP
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;PuttySession;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.HTTPS
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;PuttySession;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.ICA
strHide &= "ExtApp;DisplayThemes;DisplayWallpaper;PuttySession;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;UseConsoleSession;RenderingEngine;Port;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.IntApp
strHide &= "CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;PuttySession;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
End Select
If conI.IsDefault = False Then
With conI.Inherit
If .CacheBitmaps Then
strHide &= "CacheBitmaps;"
End If
If .Colors Then
strHide &= "Colors;"
End If
If .Description Then
strHide &= "Description;"
End If
If .DisplayThemes Then
strHide &= "DisplayThemes;"
End If
If .DisplayWallpaper Then
strHide &= "DisplayWallpaper;"
End If
If .Domain Then
strHide &= "Domain;"
End If
If .Icon Then
strHide &= "Icon;"
End If
If .Password Then
strHide &= "Password;"
End If
If .Port Then
strHide &= "Port;"
End If
If .Protocol Then
strHide &= "Protocol;"
End If
If .PuttySession Then
strHide &= "PuttySession;"
End If
If .RedirectDiskDrives Then
strHide &= "RedirectDiskDrives;"
End If
If .RedirectKeys Then
strHide &= "RedirectKeys;"
End If
If .RedirectPorts Then
strHide &= "RedirectPorts;"
End If
If .RedirectPrinters Then
strHide &= "RedirectPrinters;"
End If
If .RedirectSmartCards Then
strHide &= "RedirectSmartCards;"
End If
If .RedirectSound Then
strHide &= "RedirectSound;"
End If
If .Resolution Then
strHide &= "Resolution;"
End If
If .UseConsoleSession Then
strHide &= "UseConsoleSession;"
End If
If .RenderingEngine Then
strHide &= "RenderingEngine;"
End If
If .ICAEncryption Then
strHide &= "ICAEncryption;"
End If
If .RDPAuthenticationLevel Then
strHide &= "RDPAuthenticationLevel;"
End If
If .Username Then
strHide &= "Username;"
End If
If .Panel Then
strHide &= "Panel;"
End If
If conI.IsContainer Then
strHide &= "Hostname;"
End If
If .PreExtApp Then
strHide &= "PreExtApp;"
End If
If .PostExtApp Then
strHide &= "PostExtApp;"
End If
If .MacAddress Then
strHide &= "MacAddress;"
End If
If .UserField Then
strHide &= "UserField;"
End If
If .VNCAuthMode Then
strHide &= "VNCAuthMode;"
End If
If .VNCColors Then
strHide &= "VNCColors;"
End If
If .VNCCompression Then
strHide &= "VNCCompression;"
End If
If .VNCEncoding Then
strHide &= "VNCEncoding;"
End If
If .VNCProxyIP Then
strHide &= "VNCProxyIP;"
End If
If .VNCProxyPassword Then
strHide &= "VNCProxyPassword;"
End If
If .VNCProxyPort Then
strHide &= "VNCProxyPort;"
End If
If .VNCProxyType Then
strHide &= "VNCProxyType;"
End If
If .VNCProxyUsername Then
strHide &= "VNCProxyUsername;"
End If
If .VNCViewOnly Then
strHide &= "VNCViewOnly;"
End If
If .VNCSmartSizeMode Then
strHide &= "VNCSmartSizeMode;"
End If
If .ExtApp Then
strHide &= "ExtApp"
End If
If .RDGatewayHostname Then
strHide &= "RDGatewayHostname"
End If
End With
Else
strHide = "Hostname;Name;"
End If
ElseIf TypeOf Me.pGrid.SelectedObject Is mRemote.Root.Info Then
strHide &= "TreeNode;"
Else
strHide = ";"
End If
Me.pGrid.HiddenProperties = strHide.Split(";")
Me.pGrid.Refresh()
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ShowHideGridItems (UI.Window.Config) failed" & vbNewLine & ex.Message, True)
End Try
End Sub
Private Sub btnShowProperties_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnShowProperties.Click
If TypeOf Me.pGrid.SelectedObject Is mRemote.Connection.Info.Inheritance Then
If TryCast(Me.pGrid.SelectedObject, mRemote.Connection.Info.Inheritance).IsDefault Then
Me.PropertiesVisible = True
Me.InheritanceVisible = False
Me.DefaultPropertiesVisible = False
Me.DefaultInheritanceVisible = False
Me.SetPropertyGridObject(TryCast(App.Runtime.Windows.treeForm.tvConnections.SelectedNode.Tag, mRemote.Root.Info))
Else
Me.PropertiesVisible = True
Me.InheritanceVisible = False
Me.DefaultPropertiesVisible = False
Me.DefaultInheritanceVisible = False
Me.SetPropertyGridObject(TryCast(Me.pGrid.SelectedObject, mRemote.Connection.Info.Inheritance).Parent)
End If
ElseIf TypeOf Me.pGrid.SelectedObject Is mRemote.Connection.Info Then
If TryCast(Me.pGrid.SelectedObject, mRemote.Connection.Info).IsDefault Then
Me.PropertiesVisible = True
Me.InheritanceVisible = False
Me.DefaultPropertiesVisible = False
Me.DefaultInheritanceVisible = False
Me.SetPropertyGridObject(TryCast(App.Runtime.Windows.treeForm.tvConnections.SelectedNode.Tag, mRemote.Root.Info))
End If
End If
End Sub
Private Sub btnShowDefaultProperties_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnShowDefaultProperties.Click
If TypeOf Me.pGrid.SelectedObject Is mRemote.Root.Info Or TypeOf Me.pGrid.SelectedObject Is mRemote.Connection.Info.Inheritance Then
Me.PropertiesVisible = False
Me.InheritanceVisible = False
Me.DefaultPropertiesVisible = True
Me.DefaultInheritanceVisible = False
Me.SetPropertyGridObject(App.Runtime.DefaultConnectionFromSettings())
End If
End Sub
Private Sub btnShowInheritance_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnShowInheritance.Click
If TypeOf Me.pGrid.SelectedObject Is mRemote.Connection.Info Then
Me.PropertiesVisible = False
Me.InheritanceVisible = True
Me.DefaultPropertiesVisible = False
Me.DefaultInheritanceVisible = False
Me.SetPropertyGridObject(TryCast(Me.pGrid.SelectedObject, mRemote.Connection.Info).Inherit)
End If
End Sub
Private Sub btnShowDefaultInheritance_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnShowDefaultInheritance.Click
If TypeOf Me.pGrid.SelectedObject Is mRemote.Root.Info Or TypeOf Me.pGrid.SelectedObject Is mRemote.Connection.Info Then
Me.PropertiesVisible = False
Me.InheritanceVisible = False
Me.DefaultPropertiesVisible = False
Me.DefaultInheritanceVisible = True
Me.SetPropertyGridObject(App.Runtime.DefaultInheritanceFromSettings())
End If
End Sub
Private Sub btnHostStatus_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnHostStatus.Click
SetHostStatus(Me.pGrid.SelectedObject)
End Sub
Private Sub btnIcon_Click(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles btnIcon.MouseUp
Try
If TypeOf Me.pGrid.SelectedObject Is mRemote.Connection.Info Then
Me.cMenIcons.Items.Clear()
For Each iStr As String In mRemote.Connection.Icon.Icons
Dim tI As New ToolStripMenuItem
tI.Text = iStr
tI.Image = mRemote.Connection.Icon.FromString(iStr).ToBitmap
AddHandler tI.Click, AddressOf IconMenu_Click
Me.cMenIcons.Items.Add(tI)
Next
Dim mPos As New Point(PointToScreen(New Point(e.Location.X + Me.pGrid.Width - 100, e.Location.Y)))
Me.cMenIcons.Show(mPos)
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "btnIcon_Click (UI.Window.Config) failed" & vbNewLine & ex.Message, True)
End Try
End Sub
Private Sub IconMenu_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Try
If TypeOf Me.pGrid.SelectedObject Is mRemote.Connection.Info Then
TryCast(Me.pGrid.SelectedObject, mRemote.Connection.Info).Icon = TryCast(sender, ToolStripMenuItem).Text
Dim conIcon As Icon = mRemote.Connection.Icon.FromString(TryCast(Me.pGrid.SelectedObject, mRemote.Connection.Info).Icon)
If conIcon IsNot Nothing Then
Me.btnIcon.Image = conIcon.ToBitmap
End If
App.Runtime.SaveConnectionsBG()
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "IconMenu_Click (UI.Window.Config) failed" & vbNewLine & ex.Message, True)
End Try
End Sub
#End Region
#Region "Host Status (Ping)"
Private HostName As String
Private pThread As Threading.Thread
Private Sub CheckHostAlive()
Dim pingSender As New Ping
Dim pReply As PingReply
Try
pReply = pingSender.Send(HostName)
If pReply.Status = IPStatus.Success Then
If Me.btnHostStatus.Tag = "checking" Then
ShowStatusImage(My.Resources.HostStatus_On)
End If
Else
If Me.btnHostStatus.Tag = "checking" Then
ShowStatusImage(My.Resources.HostStatus_Off)
End If
End If
Catch ex As Exception
If Me.btnHostStatus.Tag = "checking" Then
ShowStatusImage(My.Resources.HostStatus_Off)
End If
End Try
End Sub
Delegate Sub ShowStatusImageCB(ByVal [Image] As Image)
Private Sub ShowStatusImage(ByVal [Image] As Image)
If Me.pGrid.InvokeRequired Then
Dim d As New ShowStatusImageCB(AddressOf ShowStatusImage)
Me.pGrid.Invoke(d, New Object() {[Image]})
Else
Me.btnHostStatus.Image = Image
Me.btnHostStatus.Tag = "checkfinished"
End If
End Sub
Public Sub SetHostStatus(ByVal ConnectionInfo As Object)
Try
If TypeOf ConnectionInfo Is mRemote.Connection.Info Then
'continue
ElseIf TypeOf ConnectionInfo Is mRemote.Connection.Info.Inheritance Then
ConnectionInfo = TryCast(ConnectionInfo, mRemote.Connection.Info.Inheritance).Parent
Else
Me.btnHostStatus.Image = My.Resources.HostStatus_Check
Exit Sub
End If
If TryCast(ConnectionInfo, mRemote.Connection.Info).IsContainer Then
Me.btnHostStatus.Image = My.Resources.HostStatus_Check
Exit Sub
End If
Me.btnHostStatus.Image = My.Resources.HostStatus_Check
Me.btnHostStatus.Tag = "checking"
HostName = TryCast(ConnectionInfo, mRemote.Connection.Info).Hostname
pThread = New Threading.Thread(AddressOf CheckHostAlive)
pThread.IsBackground = True
pThread.Start()
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "SetHostStatus (UI.Window.Config) failed" & vbNewLine & ex.Message, True)
End Try
End Sub
#End Region
End Class
End Namespace
End Namespace