From 9c089bed37876feebf2536d06a786fcede7a72d0 Mon Sep 17 00:00:00 2001 From: Riley McArdle Date: Sun, 17 Nov 2013 21:23:00 -0600 Subject: [PATCH] Code cleanup of external tools. --- mRemoteV1/App/App.Runtime.vb | 19 +- mRemoteV1/Forms/frmMain.Designer.vb | 4 +- mRemoteV1/Forms/frmMain.vb | 1 - mRemoteV1/Language/Language.Designer.vb | 18 + mRemoteV1/Language/Language.resx | 6 + mRemoteV1/My Project/Resources.Designer.vb | 7 - mRemoteV1/My Project/Resources.resx | 4 - .../Images_FamFamFam/application_link.png | Bin 701 -> 0 bytes mRemoteV1/Tools/ExternalTool.vb | 15 +- mRemoteV1/UI/UI.Window.Connection.vb | 2 +- mRemoteV1/UI/UI.Window.ExternalApps.vb | 503 ------------------ .../UI/UI.Window.ExternalTools.Designer.vb | 356 +++++++++++++ ...Apps.resx => UI.Window.ExternalTools.resx} | 6 +- mRemoteV1/UI/UI.Window.ExternalTools.vb | 224 ++++++++ mRemoteV1/UI/UI.Window.Tree.Designer.vb | 2 +- mRemoteV1/UI/UI.Window.Tree.vb | 3 +- mRemoteV1/mRemoteV1.vbproj | 10 +- 17 files changed, 635 insertions(+), 545 deletions(-) delete mode 100644 mRemoteV1/Resources/Images_FamFamFam/application_link.png delete mode 100644 mRemoteV1/UI/UI.Window.ExternalApps.vb create mode 100644 mRemoteV1/UI/UI.Window.ExternalTools.Designer.vb rename mRemoteV1/UI/{UI.Window.ExternalApps.resx => UI.Window.ExternalTools.resx} (95%) create mode 100644 mRemoteV1/UI/UI.Window.ExternalTools.vb diff --git a/mRemoteV1/App/App.Runtime.vb b/mRemoteV1/App/App.Runtime.vb index 31b137b60..73b488346 100644 --- a/mRemoteV1/App/App.Runtime.vb +++ b/mRemoteV1/App/App.Runtime.vb @@ -234,7 +234,7 @@ Namespace App Public Shared adimportPanel As New DockContent Public Shared helpForm As UI.Window.Help Public Shared helpPanel As New DockContent - Public Shared externalappsForm As UI.Window.ExternalApps + Public Shared externalappsForm As UI.Window.ExternalTools Public Shared externalappsPanel As New DockContent Public Shared portscanForm As UI.Window.PortScan Public Shared portscanPanel As New DockContent @@ -294,7 +294,7 @@ Namespace App helpForm.Show(frmMain.pnlDock) Case UI.Window.Type.ExternalApps If externalappsForm Is Nothing OrElse externalappsForm.IsDisposed Then - externalappsForm = New UI.Window.ExternalApps(externalappsPanel) + externalappsForm = New UI.Window.ExternalTools(externalappsPanel) externalappsPanel = externalappsForm End If @@ -1904,21 +1904,6 @@ Namespace App #End Region #Region "External Apps" - Public Shared Sub GetExtApps() - Array.Clear(Tools.ExternalToolsTypeConverter.ExternalTools, 0, Tools.ExternalToolsTypeConverter.ExternalTools.Length) - Array.Resize(Tools.ExternalToolsTypeConverter.ExternalTools, ExternalTools.Count + 1) - - Dim i As Integer = 0 - - For Each extA As Tools.ExternalTool In ExternalTools - Tools.ExternalToolsTypeConverter.ExternalTools(i) = extA.DisplayName - - i += 1 - Next - - Tools.ExternalToolsTypeConverter.ExternalTools(i) = "" - End Sub - Public Shared Function GetExtAppByName(ByVal Name As String) As Tools.ExternalTool For Each extA As Tools.ExternalTool In ExternalTools If extA.DisplayName = Name Then diff --git a/mRemoteV1/Forms/frmMain.Designer.vb b/mRemoteV1/Forms/frmMain.Designer.vb index 180395144..49bbed854 100644 --- a/mRemoteV1/Forms/frmMain.Designer.vb +++ b/mRemoteV1/Forms/frmMain.Designer.vb @@ -484,7 +484,7 @@ Partial Class frmMain ' 'mMenViewExtAppsToolbar ' - Me.mMenViewExtAppsToolbar.Image = Global.mRemoteNG.My.Resources.Resources.application_link + Me.mMenViewExtAppsToolbar.Image = Global.mRemoteNG.My.Resources.Resources.ExtApp Me.mMenViewExtAppsToolbar.Name = "mMenViewExtAppsToolbar" Me.mMenViewExtAppsToolbar.Size = New System.Drawing.Size(228, 22) Me.mMenViewExtAppsToolbar.Text = "External Applications Toolbar" @@ -526,7 +526,7 @@ Partial Class frmMain ' 'mMenToolsExternalApps ' - Me.mMenToolsExternalApps.Image = Global.mRemoteNG.My.Resources.Resources.application_link + Me.mMenToolsExternalApps.Image = Global.mRemoteNG.My.Resources.Resources.ExtApp Me.mMenToolsExternalApps.Name = "mMenToolsExternalApps" Me.mMenToolsExternalApps.Size = New System.Drawing.Size(184, 22) Me.mMenToolsExternalApps.Text = "External Applications" diff --git a/mRemoteV1/Forms/frmMain.vb b/mRemoteV1/Forms/frmMain.vb index 723350d04..119033f0f 100644 --- a/mRemoteV1/Forms/frmMain.vb +++ b/mRemoteV1/Forms/frmMain.vb @@ -64,7 +64,6 @@ Public Class frmMain Tools.IeBrowserEmulation.Register() Startup.GetConnectionIcons() - GetExtApps() Windows.treePanel.Focus() Tree.Node.TreeView = Windows.treeForm.tvConnections diff --git a/mRemoteV1/Language/Language.Designer.vb b/mRemoteV1/Language/Language.Designer.vb index 9ff4dacfd..bb5fb4f9f 100644 --- a/mRemoteV1/Language/Language.Designer.vb +++ b/mRemoteV1/Language/Language.Designer.vb @@ -361,6 +361,15 @@ Namespace My End Get End Property + ''' + ''' Looks up a localized string similar to &Launch. + ''' + Friend Shared ReadOnly Property strButtonLaunch() As String + Get + Return ResourceManager.GetString("strButtonLaunch", resourceCulture) + End Get + End Property + ''' ''' Looks up a localized string similar to Launch PuTTY. ''' @@ -1689,6 +1698,15 @@ Namespace My End Get End Property + ''' + ''' Looks up a localized string similar to New External Tool. + ''' + Friend Shared ReadOnly Property strExternalToolDefaultName() As String + Get + Return ResourceManager.GetString("strExternalToolDefaultName", resourceCulture) + End Get + End Property + ''' ''' Looks up a localized string similar to Includes icons by [FAMFAMFAM]. ''' diff --git a/mRemoteV1/Language/Language.resx b/mRemoteV1/Language/Language.resx index 2b63de599..86282cae0 100644 --- a/mRemoteV1/Language/Language.resx +++ b/mRemoteV1/Language/Language.resx @@ -216,6 +216,9 @@ Inheritance + + &Launch + Launch PuTTY @@ -675,6 +678,9 @@ See the Microsoft Support article at http://support.microsoft.com/kb/811833 for Ext. App + + New External Tool + Includes icons by [FAMFAMFAM] diff --git a/mRemoteV1/My Project/Resources.Designer.vb b/mRemoteV1/My Project/Resources.Designer.vb index 707e4c42d..fa2d77d9a 100644 --- a/mRemoteV1/My Project/Resources.Designer.vb +++ b/mRemoteV1/My Project/Resources.Designer.vb @@ -88,13 +88,6 @@ Namespace My.Resources End Get End Property - Friend ReadOnly Property application_link() As System.Drawing.Bitmap - Get - Dim obj As Object = ResourceManager.GetObject("application_link", resourceCulture) - Return CType(obj,System.Drawing.Bitmap) - End Get - End Property - Friend ReadOnly Property application_side_tree() As System.Drawing.Bitmap Get Dim obj As Object = ResourceManager.GetObject("application_side_tree", resourceCulture) diff --git a/mRemoteV1/My Project/Resources.resx b/mRemoteV1/My Project/Resources.resx index 10b5a14cc..d5e0b4854 100644 --- a/mRemoteV1/My Project/Resources.resx +++ b/mRemoteV1/My Project/Resources.resx @@ -451,9 +451,6 @@ ..\Resources\Images_FamFamFam\key_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Images_FamFamFam\application_link.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\Images_FamFamFam\application_side_tree.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -478,7 +475,6 @@ ..\resources\images_famfamfam\page_copy.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\icons\rdcman_icon.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/mRemoteV1/Resources/Images_FamFamFam/application_link.png b/mRemoteV1/Resources/Images_FamFamFam/application_link.png deleted file mode 100644 index f8fbb3ed94ca7686a3acc052b06f2d8ea4034a4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 701 zcmV;u0z&gFy@`WU!f)*0Mw4O9TnqBr{Y-GHDVuib)O%q7o!E zKlFxCD=Me;C78Guop0xOj_&HYpW_Dm*t+3@`&{>Re&;#QbB+dp=6|HIxRxBDrUi@fE_t7hH*d!sYoQrtW@#bM76y@j{#K^yGu+Y%mKB@Gh?6AT=?YQ30NZKe^FU`jD8!o`SZhpef2|bb8oqiKx}PSX=Ml zPpyStYfYXXpH2?}Y{RJJ!2oi<&p};TK}S+S+g$})Z3*j525N|?ZghFxdh>+}pxvhG zGk`)6rXB-{4Ai03Fi?wD)KO4x$=GO0Jb&iKa}_{G#Q{4z9Iy-OF-d*(m3BeRA&BbK z^=B$Txc7MvKx%ipc$rQk6bd1cNFW#tVzpdGZF38^haSzwg)nqF-C@mC?4t@`l4KbR zED(uAP_0%`sZ@~5<@oh{JdRSS#JxhHz`fDY(Oa5JbMN<#=5;m;pU;Ql$_i!!0hrBZ z*ladLqfvM~9^R7|U^9XUg3!=7qi^>B;cyr;Gcz0@NfL}kBQlu`ip3)G`8-mo6!&OG z0KeZa(!a2D?#>(jWtk`Zu%CBwz)9;x96LS&gTVlc#ll5Bc_&U^-~hYbUf=g;9bv_m z_?>N1J()~yE-x=57K_24C(^PW7KQHHYn09vi~kY2ApYBHIAPfkv@9S(=c)EgTc jvoejazDXX 1 - Prompt = String.Format(My.Language.strConfirmDeleteExternalToolMultiple, lvApps.SelectedItems.Count) - End Select - - If MsgBox(Prompt, MsgBoxStyle.Question Or MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then - For Each lvItem As ListViewItem In lvApps.SelectedItems - ExternalTools.Remove(lvItem.Tag) - lvItem.Tag = Nothing - lvItem.Remove() - Next - - RefreshToolbar() - End If - Catch ex As Exception - MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "RemoveApps failed (UI.Window.ExternalApps)" & vbNewLine & ex.Message, True) - End Try - End Sub - - Private Sub StartApp() - Try - For Each lvItem As ListViewItem In lvApps.SelectedItems - TryCast(lvItem.Tag, mRemoteNG.Tools.ExternalTool).Start() - Next - Catch ex As Exception - MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "StartApp failed (UI.Window.ExternalApps" & vbNewLine & ex.Message, True) - End Try - End Sub - - Private Sub RefreshToolbar() - frmMain.AddExternalToolsToToolBar() - App.Runtime.GetExtApps() - End Sub -#End Region - -#Region "Form Stuff" - Private Sub ExternalApps_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - ApplyLanguage() - LoadApps() - End Sub - - Private Shared Sub ExternalApps_FormClosed(sender As System.Object, e As FormClosedEventArgs) Handles MyBase.FormClosed - mRemoteNG.Config.Settings.Save.SaveExternalAppsToXML() - End Sub - - Private Sub ApplyLanguage() - clmDisplayName.Text = My.Language.strColumnDisplayName - clmFilename.Text = My.Language.strColumnFilename - clmArguments.Text = My.Language.strColumnArguments - clmWaitForExit.Text = My.Language.strColumnWaitForExit - cMenAppsAdd.Text = My.Language.strMenuNewExternalTool - cMenAppsRemove.Text = My.Language.strMenuDeleteExternalTool - cMenAppsStart.Text = My.Language.strMenuLaunchExternalTool - grpEditor.Text = My.Language.strGroupboxExternalToolProperties - Label4.Text = My.Language.strLabelOptions - chkWaitForExit.Text = My.Language.strCheckboxWaitForExit - chkTryIntegrate.Text = My.Language.strTryIntegrate - btnBrowse.Text = My.Language.strButtonBrowse - Label3.Text = My.Language.strLabelArguments - Label2.Text = My.Language.strLabelFilename - Label1.Text = My.Language.strLabelDisplayName - dlgOpenFile.Filter = My.Language.strFilterApplication & "|*.exe|" & My.Language.strFilterAll & "|*.*" - TabText = My.Language.strMenuExternalTools - Text = My.Language.strMenuExternalTools - End Sub - - Private Sub lvApps_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lvApps.DoubleClick - If lvApps.SelectedItems.Count > 0 Then - StartApp() - End If - End Sub - - Private Sub lvApps_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lvApps.SelectedIndexChanged - If lvApps.SelectedItems.Count = 1 Then - Me.grpEditor.Enabled = True - GetAppProperties(lvApps.SelectedItems(0).Tag) - Else - Me.grpEditor.Enabled = False - End If - End Sub - - Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click - If dlgOpenFile.ShowDialog = System.Windows.Forms.DialogResult.OK Then - txtFilename.Text = dlgOpenFile.FileName - End If - End Sub - - Private Sub ApplicationEditorField_ChangedOrLostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDisplayName.LostFocus, txtArguments.LostFocus, txtFilename.LostFocus, btnBrowse.LostFocus, chkWaitForExit.LostFocus, chkWaitForExit.Click, chkTryIntegrate.Click - SetAppProperties(_SelApp) - End Sub - - Private Sub chkTryIntegrate_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkTryIntegrate.CheckedChanged - If chkTryIntegrate.Checked Then - chkWaitForExit.Checked = False - chkWaitForExit.Enabled = False - Else - chkWaitForExit.Enabled = True - End If - End Sub -#End Region - -#Region "Menu" - Private Sub cMenAppsAddApp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenAppsAdd.Click - AddNewApp() - End Sub - - Private Sub cMenAppsRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenAppsRemove.Click - RemoveApps() - End Sub - - Private Sub cMenAppsStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenAppsStart.Click - StartApp() - End Sub -#End Region - - End Class - End Namespace -End Namespace \ No newline at end of file diff --git a/mRemoteV1/UI/UI.Window.ExternalTools.Designer.vb b/mRemoteV1/UI/UI.Window.ExternalTools.Designer.vb new file mode 100644 index 000000000..8aed4c864 --- /dev/null +++ b/mRemoteV1/UI/UI.Window.ExternalTools.Designer.vb @@ -0,0 +1,356 @@ +Namespace UI + Namespace Window + Partial Public Class ExternalTools + Inherits Base +#Region " Windows Form Designer generated code " + Friend WithEvents FilenameColumnHeader As System.Windows.Forms.ColumnHeader + Friend WithEvents ArgumentsColumnHeader As System.Windows.Forms.ColumnHeader + Friend WithEvents PropertiesGroupBox As System.Windows.Forms.GroupBox + Friend WithEvents DisplayNameTextBox As System.Windows.Forms.TextBox + Friend WithEvents DisplayNameLabel As System.Windows.Forms.Label + Friend WithEvents ArgumentsCheckBox As System.Windows.Forms.TextBox + Friend WithEvents FilenameTextBox As System.Windows.Forms.TextBox + Friend WithEvents ArgumentsLabel As System.Windows.Forms.Label + Friend WithEvents FilenameLabel As System.Windows.Forms.Label + Friend WithEvents BrowseButton As System.Windows.Forms.Button + Friend WithEvents DisplayNameColumnHeader As System.Windows.Forms.ColumnHeader + Friend WithEvents ToolsContextMenuStrip As System.Windows.Forms.ContextMenuStrip + Private components As System.ComponentModel.IContainer + Friend WithEvents NewToolMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DeleteToolMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents LaunchToolMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents WaitForExitColumnHeader As System.Windows.Forms.ColumnHeader + Friend WithEvents WaitForExitCheckBox As System.Windows.Forms.CheckBox + Friend WithEvents OptionsLabel As System.Windows.Forms.Label + Friend WithEvents TryToIntegrateCheckBox As System.Windows.Forms.CheckBox + Friend WithEvents TryToIntegrateColumnHeader As System.Windows.Forms.ColumnHeader + Friend WithEvents ToolsListView As System.Windows.Forms.ListView + + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(ExternalTools)) + Me.ToolsListView = New System.Windows.Forms.ListView() + Me.DisplayNameColumnHeader = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.FilenameColumnHeader = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ArgumentsColumnHeader = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.WaitForExitColumnHeader = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.TryToIntegrateColumnHeader = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ToolsContextMenuStrip = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.NewToolMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DeleteToolMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.LaunchToolMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PropertiesGroupBox = New System.Windows.Forms.GroupBox() + Me.TryToIntegrateCheckBox = New System.Windows.Forms.CheckBox() + Me.OptionsLabel = New System.Windows.Forms.Label() + Me.WaitForExitCheckBox = New System.Windows.Forms.CheckBox() + Me.BrowseButton = New System.Windows.Forms.Button() + Me.ArgumentsCheckBox = New System.Windows.Forms.TextBox() + Me.FilenameTextBox = New System.Windows.Forms.TextBox() + Me.DisplayNameTextBox = New System.Windows.Forms.TextBox() + Me.ArgumentsLabel = New System.Windows.Forms.Label() + Me.FilenameLabel = New System.Windows.Forms.Label() + Me.DisplayNameLabel = New System.Windows.Forms.Label() + Me.ToolStripContainer = New System.Windows.Forms.ToolStripContainer() + Me.ToolStrip = New System.Windows.Forms.ToolStrip() + Me.NewToolToolstripButton = New System.Windows.Forms.ToolStripButton() + Me.DeleteToolToolstripButton = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.LaunchToolToolstripButton = New System.Windows.Forms.ToolStripButton() + Me.ToolsContextMenuStrip.SuspendLayout() + Me.PropertiesGroupBox.SuspendLayout() + Me.ToolStripContainer.ContentPanel.SuspendLayout() + Me.ToolStripContainer.TopToolStripPanel.SuspendLayout() + Me.ToolStripContainer.SuspendLayout() + Me.ToolStrip.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolsListView + ' + Me.ToolsListView.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.ToolsListView.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.ToolsListView.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.DisplayNameColumnHeader, Me.FilenameColumnHeader, Me.ArgumentsColumnHeader, Me.WaitForExitColumnHeader, Me.TryToIntegrateColumnHeader}) + Me.ToolsListView.ContextMenuStrip = Me.ToolsContextMenuStrip + Me.ToolsListView.FullRowSelect = True + Me.ToolsListView.GridLines = True + Me.ToolsListView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable + Me.ToolsListView.HideSelection = False + Me.ToolsListView.Location = New System.Drawing.Point(0, 0) + Me.ToolsListView.Name = "ToolsListView" + Me.ToolsListView.Size = New System.Drawing.Size(684, 157) + Me.ToolsListView.Sorting = System.Windows.Forms.SortOrder.Ascending + Me.ToolsListView.TabIndex = 0 + Me.ToolsListView.UseCompatibleStateImageBehavior = False + Me.ToolsListView.View = System.Windows.Forms.View.Details + ' + 'DisplayNameColumnHeader + ' + Me.DisplayNameColumnHeader.Text = "Display Name" + Me.DisplayNameColumnHeader.Width = 130 + ' + 'FilenameColumnHeader + ' + Me.FilenameColumnHeader.Text = "Filename" + Me.FilenameColumnHeader.Width = 200 + ' + 'ArgumentsColumnHeader + ' + Me.ArgumentsColumnHeader.Text = "Arguments" + Me.ArgumentsColumnHeader.Width = 160 + ' + 'WaitForExitColumnHeader + ' + Me.WaitForExitColumnHeader.Text = "Wait for exit" + Me.WaitForExitColumnHeader.Width = 75 + ' + 'TryToIntegrateColumnHeader + ' + Me.TryToIntegrateColumnHeader.Text = "Try To Integrate" + Me.TryToIntegrateColumnHeader.Width = 95 + ' + 'ToolsContextMenuStrip + ' + Me.ToolsContextMenuStrip.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NewToolMenuItem, Me.DeleteToolMenuItem, Me.ToolStripSeparator1, Me.LaunchToolMenuItem}) + Me.ToolsContextMenuStrip.Name = "cMenApps" + Me.ToolsContextMenuStrip.Size = New System.Drawing.Size(221, 76) + ' + 'NewToolMenuItem + ' + Me.NewToolMenuItem.Image = Global.mRemoteNG.My.Resources.Resources.ExtApp_Add + Me.NewToolMenuItem.Name = "NewToolMenuItem" + Me.NewToolMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Shift Or System.Windows.Forms.Keys.F4), System.Windows.Forms.Keys) + Me.NewToolMenuItem.Size = New System.Drawing.Size(220, 22) + Me.NewToolMenuItem.Text = "New External Tool" + ' + 'DeleteToolMenuItem + ' + Me.DeleteToolMenuItem.Image = Global.mRemoteNG.My.Resources.Resources.ExtApp_Delete + Me.DeleteToolMenuItem.Name = "DeleteToolMenuItem" + Me.DeleteToolMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete + Me.DeleteToolMenuItem.Size = New System.Drawing.Size(220, 22) + Me.DeleteToolMenuItem.Text = "Delete External Tool..." + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(217, 6) + ' + 'LaunchToolMenuItem + ' + Me.LaunchToolMenuItem.Image = Global.mRemoteNG.My.Resources.Resources.ExtApp_Start + Me.LaunchToolMenuItem.Name = "LaunchToolMenuItem" + Me.LaunchToolMenuItem.Size = New System.Drawing.Size(220, 22) + Me.LaunchToolMenuItem.Text = "Launch External Tool" + ' + 'PropertiesGroupBox + ' + Me.PropertiesGroupBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.PropertiesGroupBox.Controls.Add(Me.TryToIntegrateCheckBox) + Me.PropertiesGroupBox.Controls.Add(Me.OptionsLabel) + Me.PropertiesGroupBox.Controls.Add(Me.WaitForExitCheckBox) + Me.PropertiesGroupBox.Controls.Add(Me.BrowseButton) + Me.PropertiesGroupBox.Controls.Add(Me.ArgumentsCheckBox) + Me.PropertiesGroupBox.Controls.Add(Me.FilenameTextBox) + Me.PropertiesGroupBox.Controls.Add(Me.DisplayNameTextBox) + Me.PropertiesGroupBox.Controls.Add(Me.ArgumentsLabel) + Me.PropertiesGroupBox.Controls.Add(Me.FilenameLabel) + Me.PropertiesGroupBox.Controls.Add(Me.DisplayNameLabel) + Me.PropertiesGroupBox.Enabled = False + Me.PropertiesGroupBox.Location = New System.Drawing.Point(3, 163) + Me.PropertiesGroupBox.Name = "PropertiesGroupBox" + Me.PropertiesGroupBox.Size = New System.Drawing.Size(678, 132) + Me.PropertiesGroupBox.TabIndex = 1 + Me.PropertiesGroupBox.TabStop = False + Me.PropertiesGroupBox.Text = "External Tool Properties" + ' + 'TryToIntegrateCheckBox + ' + Me.TryToIntegrateCheckBox.AutoSize = True + Me.TryToIntegrateCheckBox.Location = New System.Drawing.Point(280, 106) + Me.TryToIntegrateCheckBox.Name = "TryToIntegrateCheckBox" + Me.TryToIntegrateCheckBox.Size = New System.Drawing.Size(97, 17) + Me.TryToIntegrateCheckBox.TabIndex = 9 + Me.TryToIntegrateCheckBox.Text = "Try to integrate" + Me.TryToIntegrateCheckBox.UseVisualStyleBackColor = True + ' + 'OptionsLabel + ' + Me.OptionsLabel.AutoSize = True + Me.OptionsLabel.Location = New System.Drawing.Point(58, 107) + Me.OptionsLabel.Name = "OptionsLabel" + Me.OptionsLabel.Size = New System.Drawing.Size(46, 13) + Me.OptionsLabel.TabIndex = 7 + Me.OptionsLabel.Text = "Options:" + Me.OptionsLabel.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'WaitForExitCheckBox + ' + Me.WaitForExitCheckBox.AutoSize = True + Me.WaitForExitCheckBox.Location = New System.Drawing.Point(110, 106) + Me.WaitForExitCheckBox.Name = "WaitForExitCheckBox" + Me.WaitForExitCheckBox.Size = New System.Drawing.Size(82, 17) + Me.WaitForExitCheckBox.TabIndex = 8 + Me.WaitForExitCheckBox.Text = "Wait for exit" + Me.WaitForExitCheckBox.UseVisualStyleBackColor = True + ' + 'BrowseButton + ' + Me.BrowseButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.BrowseButton.Location = New System.Drawing.Point(574, 45) + Me.BrowseButton.Name = "BrowseButton" + Me.BrowseButton.Size = New System.Drawing.Size(95, 23) + Me.BrowseButton.TabIndex = 4 + Me.BrowseButton.Text = "Browse..." + Me.BrowseButton.UseVisualStyleBackColor = True + ' + 'ArgumentsCheckBox + ' + Me.ArgumentsCheckBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.ArgumentsCheckBox.Location = New System.Drawing.Point(110, 76) + Me.ArgumentsCheckBox.Name = "ArgumentsCheckBox" + Me.ArgumentsCheckBox.Size = New System.Drawing.Size(559, 20) + Me.ArgumentsCheckBox.TabIndex = 6 + ' + 'FilenameTextBox + ' + Me.FilenameTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.FilenameTextBox.Location = New System.Drawing.Point(110, 47) + Me.FilenameTextBox.Name = "FilenameTextBox" + Me.FilenameTextBox.Size = New System.Drawing.Size(458, 20) + Me.FilenameTextBox.TabIndex = 3 + ' + 'DisplayNameTextBox + ' + Me.DisplayNameTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.DisplayNameTextBox.Location = New System.Drawing.Point(110, 19) + Me.DisplayNameTextBox.Name = "DisplayNameTextBox" + Me.DisplayNameTextBox.Size = New System.Drawing.Size(559, 20) + Me.DisplayNameTextBox.TabIndex = 1 + ' + 'ArgumentsLabel + ' + Me.ArgumentsLabel.AutoSize = True + Me.ArgumentsLabel.Location = New System.Drawing.Point(44, 79) + Me.ArgumentsLabel.Name = "ArgumentsLabel" + Me.ArgumentsLabel.Size = New System.Drawing.Size(60, 13) + Me.ArgumentsLabel.TabIndex = 5 + Me.ArgumentsLabel.Text = "Arguments:" + Me.ArgumentsLabel.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'FilenameLabel + ' + Me.FilenameLabel.AutoSize = True + Me.FilenameLabel.Location = New System.Drawing.Point(52, 50) + Me.FilenameLabel.Name = "FilenameLabel" + Me.FilenameLabel.Size = New System.Drawing.Size(52, 13) + Me.FilenameLabel.TabIndex = 2 + Me.FilenameLabel.Text = "Filename:" + Me.FilenameLabel.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'DisplayNameLabel + ' + Me.DisplayNameLabel.AutoSize = True + Me.DisplayNameLabel.Location = New System.Drawing.Point(29, 22) + Me.DisplayNameLabel.Name = "DisplayNameLabel" + Me.DisplayNameLabel.Size = New System.Drawing.Size(75, 13) + Me.DisplayNameLabel.TabIndex = 0 + Me.DisplayNameLabel.Text = "Display Name:" + Me.DisplayNameLabel.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'ToolStripContainer + ' + ' + 'ToolStripContainer.ContentPanel + ' + Me.ToolStripContainer.ContentPanel.Controls.Add(Me.PropertiesGroupBox) + Me.ToolStripContainer.ContentPanel.Controls.Add(Me.ToolsListView) + Me.ToolStripContainer.ContentPanel.Size = New System.Drawing.Size(684, 298) + Me.ToolStripContainer.Dock = System.Windows.Forms.DockStyle.Fill + Me.ToolStripContainer.Location = New System.Drawing.Point(0, 0) + Me.ToolStripContainer.Name = "ToolStripContainer" + Me.ToolStripContainer.Size = New System.Drawing.Size(684, 323) + Me.ToolStripContainer.TabIndex = 0 + Me.ToolStripContainer.Text = "ToolStripContainer" + ' + 'ToolStripContainer.TopToolStripPanel + ' + Me.ToolStripContainer.TopToolStripPanel.Controls.Add(Me.ToolStrip) + ' + 'ToolStrip + ' + Me.ToolStrip.Dock = System.Windows.Forms.DockStyle.None + Me.ToolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden + Me.ToolStrip.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NewToolToolstripButton, Me.DeleteToolToolstripButton, Me.ToolStripSeparator2, Me.LaunchToolToolstripButton}) + Me.ToolStrip.Location = New System.Drawing.Point(3, 0) + Me.ToolStrip.Name = "ToolStrip" + Me.ToolStrip.Size = New System.Drawing.Size(186, 25) + Me.ToolStrip.TabIndex = 0 + ' + 'NewToolToolstripButton + ' + Me.NewToolToolstripButton.Image = Global.mRemoteNG.My.Resources.Resources.ExtApp_Add + Me.NewToolToolstripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.NewToolToolstripButton.Name = "NewToolToolstripButton" + Me.NewToolToolstripButton.Size = New System.Drawing.Size(51, 22) + Me.NewToolToolstripButton.Text = "New" + ' + 'DeleteToolToolstripButton + ' + Me.DeleteToolToolstripButton.Image = Global.mRemoteNG.My.Resources.Resources.ExtApp_Delete + Me.DeleteToolToolstripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.DeleteToolToolstripButton.Name = "DeleteToolToolstripButton" + Me.DeleteToolToolstripButton.Size = New System.Drawing.Size(60, 22) + Me.DeleteToolToolstripButton.Text = "Delete" + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + ' + 'LaunchToolToolstripButton + ' + Me.LaunchToolToolstripButton.Image = Global.mRemoteNG.My.Resources.Resources.ExtApp_Start + Me.LaunchToolToolstripButton.ImageTransparentColor = System.Drawing.Color.Magenta + Me.LaunchToolToolstripButton.Name = "LaunchToolToolstripButton" + Me.LaunchToolToolstripButton.Size = New System.Drawing.Size(66, 22) + Me.LaunchToolToolstripButton.Text = "Launch" + ' + 'ExternalTools + ' + Me.ClientSize = New System.Drawing.Size(684, 323) + Me.Controls.Add(Me.ToolStripContainer) + Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "ExternalTools" + Me.TabText = "External Applications" + Me.Text = "External Tools" + Me.ToolsContextMenuStrip.ResumeLayout(False) + Me.PropertiesGroupBox.ResumeLayout(False) + Me.PropertiesGroupBox.PerformLayout() + Me.ToolStripContainer.ContentPanel.ResumeLayout(False) + Me.ToolStripContainer.TopToolStripPanel.ResumeLayout(False) + Me.ToolStripContainer.TopToolStripPanel.PerformLayout() + Me.ToolStripContainer.ResumeLayout(False) + Me.ToolStripContainer.PerformLayout() + Me.ToolStrip.ResumeLayout(False) + Me.ToolStrip.PerformLayout() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents ToolStripContainer As System.Windows.Forms.ToolStripContainer + Friend WithEvents ToolStrip As System.Windows.Forms.ToolStrip + Friend WithEvents NewToolToolstripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents DeleteToolToolstripButton As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents LaunchToolToolstripButton As System.Windows.Forms.ToolStripButton +#End Region + End Class + End Namespace +End Namespace diff --git a/mRemoteV1/UI/UI.Window.ExternalApps.resx b/mRemoteV1/UI/UI.Window.ExternalTools.resx similarity index 95% rename from mRemoteV1/UI/UI.Window.ExternalApps.resx rename to mRemoteV1/UI/UI.Window.ExternalTools.resx index af8ff0fea..f2d94fc4b 100644 --- a/mRemoteV1/UI/UI.Window.ExternalApps.resx +++ b/mRemoteV1/UI/UI.Window.ExternalTools.resx @@ -117,11 +117,11 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 - - 119, 17 + + 197, 17 54 diff --git a/mRemoteV1/UI/UI.Window.ExternalTools.vb b/mRemoteV1/UI/UI.Window.ExternalTools.vb new file mode 100644 index 000000000..61e3945ca --- /dev/null +++ b/mRemoteV1/UI/UI.Window.ExternalTools.vb @@ -0,0 +1,224 @@ +Imports mRemoteNG.App +Imports WeifenLuo.WinFormsUI.Docking +Imports mRemoteNG.App.Runtime +Imports mRemoteNG.My + +Namespace UI + Namespace Window + Public Class ExternalTools + Inherits Base +#Region "Constructors" + Public Sub New(ByVal panel As DockContent) + InitializeComponent() + + WindowType = Type.ExternalApps + DockPnl = panel + End Sub +#End Region + +#Region "Private Fields" + Private _selectedTool As Tools.ExternalTool = Nothing +#End Region + +#Region "Private Methods" +#Region "Event Handlers" + Private Sub ExternalTools_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load + ApplyLanguage() + UpdateToolsListView() + End Sub + + Private Shared Sub ExternalTools_FormClosed(sender As System.Object, e As FormClosedEventArgs) Handles MyBase.FormClosed + mRemoteNG.Config.Settings.Save.SaveExternalAppsToXML() + End Sub + + Private Sub NewTool_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles NewToolMenuItem.Click, NewToolToolstripButton.Click + Try + Dim externalTool As New Tools.ExternalTool(Language.strExternalToolDefaultName) + Runtime.ExternalTools.Add(externalTool) + UpdateToolsListView(externalTool) + DisplayNameTextBox.Focus() + Catch ex As Exception + MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.NewTool_Click() failed.", ex, , True) + End Try + End Sub + + Private Sub DeleteTool_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles DeleteToolMenuItem.Click, DeleteToolToolstripButton.Click + Try + Dim message As String + Select Case ToolsListView.SelectedItems.Count + Case Is = 1 + message = String.Format(Language.strConfirmDeleteExternalTool, ToolsListView.SelectedItems(0).Text) + Case Is > 1 + message = String.Format(Language.strConfirmDeleteExternalToolMultiple, ToolsListView.SelectedItems.Count) + Case Else + Return + End Select + + If Not MsgBox(message, MsgBoxStyle.Question Or MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then Return + + For Each listViewItem As ListViewItem In ToolsListView.SelectedItems + Dim externalTool As Tools.ExternalTool = TryCast(listViewItem.Tag, Tools.ExternalTool) + If externalTool Is Nothing Then Continue For + + Runtime.ExternalTools.Remove(listViewItem.Tag) + listViewItem.Remove() + Next + Catch ex As Exception + MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.DeleteTool_Click() failed.", ex, , True) + End Try + End Sub + + Private Sub LaunchTool_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles LaunchToolMenuItem.Click, LaunchToolToolstripButton.Click + LaunchTool() + End Sub + + Private Sub ToolsListView_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As EventArgs) Handles ToolsListView.SelectedIndexChanged + Try + If ToolsListView.SelectedItems.Count = 1 Then + PropertiesGroupBox.Enabled = True + _selectedTool = TryCast(ToolsListView.SelectedItems(0).Tag, Tools.ExternalTool) + If _selectedTool Is Nothing Then Return + + With _selectedTool + DisplayNameTextBox.Text = .DisplayName + FilenameTextBox.Text = .FileName + ArgumentsCheckBox.Text = .Arguments + WaitForExitCheckBox.Checked = .WaitForExit + TryToIntegrateCheckBox.Checked = .TryIntegrate + End With + Else + PropertiesGroupBox.Enabled = False + End If + Catch ex As Exception + MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.ToolsListView_SelectedIndexChanged() failed.", ex, , True) + End Try + End Sub + + Private Sub ToolsListView_DoubleClick(ByVal sender As Object, ByVal e As EventArgs) Handles ToolsListView.DoubleClick + If ToolsListView.SelectedItems.Count > 0 Then LaunchTool() + End Sub + + Private Sub PropertyControl_ChangedOrLostFocus(ByVal sender As Object, ByVal e As EventArgs) Handles DisplayNameTextBox.LostFocus, ArgumentsCheckBox.LostFocus, FilenameTextBox.LostFocus, BrowseButton.LostFocus, WaitForExitCheckBox.LostFocus, WaitForExitCheckBox.Click, TryToIntegrateCheckBox.Click + If _selectedTool Is Nothing Then Return + + Try + With _selectedTool + .DisplayName = DisplayNameTextBox.Text + .FileName = FilenameTextBox.Text + .Arguments = ArgumentsCheckBox.Text + .WaitForExit = WaitForExitCheckBox.Checked + .TryIntegrate = TryToIntegrateCheckBox.Checked + End With + + UpdateToolsListView() + Catch ex As Exception + MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.PropertyControl_ChangedOrLostFocus() failed.", ex, , True) + End Try + End Sub + + Private Sub BrowseButton_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles BrowseButton.Click + Try + Using browseDialog As New OpenFileDialog() + With browseDialog + .Filter = String.Join("|", New String() {Language.strFilterApplication, "*.exe", Language.strFilterAll, "*.*"}) + If .ShowDialog = DialogResult.OK Then FilenameTextBox.Text = .FileName + End With + End Using + Catch ex As Exception + MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.BrowseButton_Click() failed.", ex, , True) + End Try + End Sub + + Private Sub TryToIntegrateCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As EventArgs) Handles TryToIntegrateCheckBox.CheckedChanged + If TryToIntegrateCheckBox.Checked Then + WaitForExitCheckBox.Enabled = False + WaitForExitCheckBox.Checked = False + Else + WaitForExitCheckBox.Enabled = True + End If + End Sub +#End Region + + Private Sub ApplyLanguage() + Text = Language.strMenuExternalTools + TabText = Language.strMenuExternalTools + + NewToolToolstripButton.Text = Language.strButtonNew + DeleteToolToolstripButton.Text = Language.strOptionsKeyboardButtonDelete + LaunchToolToolstripButton.Text = Language.strButtonLaunch + + DisplayNameColumnHeader.Text = Language.strColumnDisplayName + FilenameColumnHeader.Text = Language.strColumnFilename + ArgumentsColumnHeader.Text = Language.strColumnArguments + WaitForExitColumnHeader.Text = Language.strColumnWaitForExit + TryToIntegrateCheckBox.Text = Language.strTryIntegrate + + PropertiesGroupBox.Text = Language.strGroupboxExternalToolProperties + + DisplayNameLabel.Text = Language.strLabelDisplayName + FilenameLabel.Text = Language.strLabelFilename + ArgumentsLabel.Text = Language.strLabelArguments + OptionsLabel.Text = Language.strLabelOptions + WaitForExitCheckBox.Text = Language.strCheckboxWaitForExit + BrowseButton.Text = Language.strButtonBrowse + + NewToolMenuItem.Text = Language.strMenuNewExternalTool + DeleteToolMenuItem.Text = Language.strMenuDeleteExternalTool + LaunchToolMenuItem.Text = Language.strMenuLaunchExternalTool + End Sub + + Private Sub UpdateToolsListView(Optional ByVal selectTool As Tools.ExternalTool = Nothing) + Try + Dim selectedTools As New List(Of Tools.ExternalTool) + If selectTool Is Nothing Then + For Each listViewItem As ListViewItem In ToolsListView.SelectedItems + Dim externalTool As Tools.ExternalTool = TryCast(listViewItem.Tag, Tools.ExternalTool) + If externalTool IsNot Nothing Then selectedTools.Add(externalTool) + Next + Else + selectedTools.Add(selectTool) + End If + + ToolsListView.BeginUpdate() + ToolsListView.Items.Clear() + + For Each externalTool As Tools.ExternalTool In Runtime.ExternalTools + Dim listViewItem As New ListViewItem + With listViewItem + .Text = externalTool.DisplayName + .SubItems.Add(externalTool.FileName) + .SubItems.Add(externalTool.Arguments) + .SubItems.Add(externalTool.WaitForExit) + .SubItems.Add(externalTool.TryIntegrate) + .Tag = externalTool + End With + + ToolsListView.Items.Add(listViewItem) + + If selectedTools.Contains(externalTool) Then listViewItem.Selected = True + Next + + ToolsListView.EndUpdate() + + frmMain.AddExternalToolsToToolBar() + Catch ex As Exception + MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.PopulateToolsListView()", ex, , True) + End Try + End Sub + + Private Sub LaunchTool() + Try + For Each listViewItem As ListViewItem In ToolsListView.SelectedItems + Dim externalTool As Tools.ExternalTool = TryCast(listViewItem.Tag, Tools.ExternalTool) + If externalTool Is Nothing Then Continue For + + externalTool.Start() + Next + Catch ex As Exception + MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.LaunchTool() failed.", ex, , True) + End Try + End Sub +#End Region + End Class + End Namespace +End Namespace \ No newline at end of file diff --git a/mRemoteV1/UI/UI.Window.Tree.Designer.vb b/mRemoteV1/UI/UI.Window.Tree.Designer.vb index 887807918..e512fa181 100644 --- a/mRemoteV1/UI/UI.Window.Tree.Designer.vb +++ b/mRemoteV1/UI/UI.Window.Tree.Designer.vb @@ -300,7 +300,7 @@ ' 'cMenTreeToolsExternalApps ' - Me.cMenTreeToolsExternalApps.Image = Global.mRemoteNG.My.Resources.Resources.application_link + Me.cMenTreeToolsExternalApps.Image = Global.mRemoteNG.My.Resources.Resources.ExtApp Me.cMenTreeToolsExternalApps.Name = "cMenTreeToolsExternalApps" Me.cMenTreeToolsExternalApps.Size = New System.Drawing.Size(186, 22) Me.cMenTreeToolsExternalApps.Text = "External Applications" diff --git a/mRemoteV1/UI/UI.Window.Tree.vb b/mRemoteV1/UI/UI.Window.Tree.vb index db95ec550..0d8bebd28 100644 --- a/mRemoteV1/UI/UI.Window.Tree.vb +++ b/mRemoteV1/UI/UI.Window.Tree.vb @@ -1,3 +1,4 @@ +Imports mRemoteNG.App Imports mRemoteNG.My Imports WeifenLuo.WinFormsUI.Docking Imports mRemoteNG.App.Runtime @@ -758,7 +759,7 @@ Namespace UI cMenTreeToolsExternalApps.DropDownItems.Clear() 'add ext apps - For Each extA As Tools.ExternalTool In ExternalTools + For Each extA As Tools.ExternalTool In Runtime.ExternalTools Dim nItem As New ToolStripMenuItem nItem.Text = extA.DisplayName nItem.Tag = extA diff --git a/mRemoteV1/mRemoteV1.vbproj b/mRemoteV1/mRemoteV1.vbproj index d9333f4be..dd6da23d0 100644 --- a/mRemoteV1/mRemoteV1.vbproj +++ b/mRemoteV1/mRemoteV1.vbproj @@ -403,7 +403,10 @@ UI.Window.Export.vb - + + UI.Window.ExternalTools.vb + + Form @@ -575,8 +578,8 @@ UI.Window.ErrorsAndInfos.vb Designer - - UI.Window.ExternalApps.vb + + UI.Window.ExternalTools.vb Designer @@ -1001,7 +1004,6 @@ PreserveNewest -