diff --git a/mRemoteV1/Resources/Themes/ColorMapTheme.Designer.cs b/mRemoteV1/Resources/Themes/ColorMapTheme.Designer.cs
index 89c9eed16..691e92c03 100644
--- a/mRemoteV1/Resources/Themes/ColorMapTheme.Designer.cs
+++ b/mRemoteV1/Resources/Themes/ColorMapTheme.Designer.cs
@@ -168,6 +168,87 @@ namespace mRemoteNG {
}
}
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxBackground']/Background/@Source.
+ ///
+ internal static string CheckBox_Background {
+ get {
+ return ResourceManager.GetString("CheckBox_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxBorder']/Background/@Source.
+ ///
+ internal static string CheckBox_Border {
+ get {
+ return ResourceManager.GetString("CheckBox_Border", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxBorderDisabled']/Background/@Source.
+ ///
+ internal static string CheckBox_Border_Disabled {
+ get {
+ return ResourceManager.GetString("CheckBox_Border_Disabled", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxBorderHover']/Background/@Source.
+ ///
+ internal static string CheckBox_Border_Hover {
+ get {
+ return ResourceManager.GetString("CheckBox_Border_Hover", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxBorderPressed']/Background/@Source.
+ ///
+ internal static string CheckBox_Border_Pressed {
+ get {
+ return ResourceManager.GetString("CheckBox_Border_Pressed", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxGlyph']/Background/@Source.
+ ///
+ internal static string CheckBox_Glyph {
+ get {
+ return ResourceManager.GetString("CheckBox_Glyph", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxGlyphDisabled']/Background/@Source.
+ ///
+ internal static string CheckBox_Glyph_Disabled {
+ get {
+ return ResourceManager.GetString("CheckBox_Glyph_Disabled", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxText']/Background/@Source.
+ ///
+ internal static string CheckBox_Text {
+ get {
+ return ResourceManager.GetString("CheckBox_Text", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxTextDisabled']/Background/@Source.
+ ///
+ internal static string CheckBox_Text_Disabled {
+ get {
+ return ResourceManager.GetString("CheckBox_Text_Disabled", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to /Themes/Theme/Category[@Name='Text Editor Text Marker Items']/Color[@Name='compiler error']/Background/@Source.
///
@@ -186,6 +267,60 @@ namespace mRemoteNG {
}
}
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabActiveBackground']/Background/@Source.
+ ///
+ internal static string GroupBox_Backgorund {
+ get {
+ return ResourceManager.GetString("GroupBox_Backgorund", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabInactiveBackground']/Background/@Source.
+ ///
+ internal static string GroupBox_Disabled_Background {
+ get {
+ return ResourceManager.GetString("GroupBox_Disabled_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabInactiveText']/Background/@Source.
+ ///
+ internal static string GroupBox_Disabled_Foreground {
+ get {
+ return ResourceManager.GetString("GroupBox_Disabled_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabInactiveBorder']/Background/@Source.
+ ///
+ internal static string GroupBox_Disabled_Line {
+ get {
+ return ResourceManager.GetString("GroupBox_Disabled_Line", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabActiveText']/Background/@Source.
+ ///
+ internal static string GroupBox_Foreground {
+ get {
+ return ResourceManager.GetString("GroupBox_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabActiveBorder']/Background/@Source.
+ ///
+ internal static string GroupBox_Line {
+ get {
+ return ResourceManager.GetString("GroupBox_Line", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListBackground']/Background/@Source.
///
diff --git a/mRemoteV1/Resources/Themes/ColorMapTheme.resx b/mRemoteV1/Resources/Themes/ColorMapTheme.resx
index 7845c074e..5ac7269be 100644
--- a/mRemoteV1/Resources/Themes/ColorMapTheme.resx
+++ b/mRemoteV1/Resources/Themes/ColorMapTheme.resx
@@ -153,12 +153,57 @@
/Themes/Theme/Category[@Name='CommonControls']/Color[@Name='ButtonPressed']/Foreground/@Source
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxBackground']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxBorder']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxBorderDisabled']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxBorderHover']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxBorderPressed']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxGlyph']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxGlyphDisabled']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxText']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='CheckBoxTextDisabled']/Background/@Source
+
/Themes/Theme/Category[@Name='Text Editor Text Marker Items']/Color[@Name='compiler error']/Background/@Source
/Themes/Theme/Category[@Name='Text Editor Text Marker Items']/Color[@Name='compiler error']/Foreground/@Source
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabActiveBackground']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabInactiveBackground']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabInactiveText']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabInactiveBorder']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabActiveText']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='InnerTabActiveBorder']/Background/@Source
+
/Themes/Theme/Category[@Name='Cider']/Color[@Name='ListBackground']/Background/@Source
diff --git a/mRemoteV1/Resources/Themes/darcula.vstheme b/mRemoteV1/Resources/Themes/darcula.vstheme
index 01619f317..0633cbe28 100644
--- a/mRemoteV1/Resources/Themes/darcula.vstheme
+++ b/mRemoteV1/Resources/Themes/darcula.vstheme
@@ -614,8 +614,8 @@
-
-
+
+
@@ -661,7 +661,7 @@
-
+
@@ -2550,7 +2550,7 @@
-
+
@@ -2611,10 +2611,10 @@
-
+
-
+
@@ -2623,7 +2623,7 @@
-
+
@@ -2758,10 +2758,10 @@
-
+
-
+
@@ -8049,7 +8049,7 @@
-
+
diff --git a/mRemoteV1/Resources/Themes/vs2015blue.vstheme b/mRemoteV1/Resources/Themes/vs2015blue.vstheme
index 08b065fe2..ce567bfa1 100644
--- a/mRemoteV1/Resources/Themes/vs2015blue.vstheme
+++ b/mRemoteV1/Resources/Themes/vs2015blue.vstheme
@@ -24,7 +24,7 @@
-
+
diff --git a/mRemoteV1/Resources/Themes/vs2015dark.vstheme b/mRemoteV1/Resources/Themes/vs2015dark.vstheme
index 1bc0aa9dd..e22f6e178 100644
--- a/mRemoteV1/Resources/Themes/vs2015dark.vstheme
+++ b/mRemoteV1/Resources/Themes/vs2015dark.vstheme
@@ -721,7 +721,7 @@
-
+
diff --git a/mRemoteV1/Themes/MremoteNGPaletteLoader.cs b/mRemoteV1/Themes/MremoteNGPaletteLoader.cs
index c24b8d08a..7712e6fb3 100644
--- a/mRemoteV1/Themes/MremoteNGPaletteLoader.cs
+++ b/mRemoteV1/Themes/MremoteNGPaletteLoader.cs
@@ -44,7 +44,6 @@ namespace mRemoteNG.Themes
string colorName = entry.Key.ToString();
String xmlQueryPath = (String)entry.Value;
XmlNodeList colorNodeList = _xml.DocumentElement.FirstChild.SelectNodes(xmlQueryPath);
- //XmlNodeList colorNodeList = _xml.SelectNodes("/Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemSelectedBorder']/Background/@Source");
String color = colorNodeList.Count > 0 ? colorNodeList[0].Value : null;
if (color != null )
{
diff --git a/mRemoteV1/UI/Controls/Base/NGButton.cs b/mRemoteV1/UI/Controls/Base/NGButton.cs
index bbf5fc027..3f9550ccd 100644
--- a/mRemoteV1/UI/Controls/Base/NGButton.cs
+++ b/mRemoteV1/UI/Controls/Base/NGButton.cs
@@ -1,6 +1,8 @@
using mRemoteNG.Themes;
using System.ComponentModel;
using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Drawing.Text;
using System.Windows.Forms;
namespace mRemoteNG.UI.Controls.Base
@@ -54,8 +56,11 @@ namespace mRemoteNG.UI.Controls.Base
protected override void OnPaint(PaintEventArgs e)
{
- base.OnPaint(e);
- if (DesignMode) return;
+ if (DesignMode)
+ {
+ base.OnPaint(e);
+ return;
+ }
Color back;
Color fore;
Color border;
@@ -89,6 +94,8 @@ namespace mRemoteNG.UI.Controls.Base
}
e.Graphics.FillRectangle(new SolidBrush(back), e.ClipRectangle);
e.Graphics.DrawRectangle(new Pen(border, 1), 0, 0, base.Width - 1, base.Height - 1);
+ e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
+ e.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
TextRenderer.DrawText(e.Graphics, this.Text, Font, ClientRectangle, fore, TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter);
}
}
diff --git a/mRemoteV1/UI/Controls/Base/NGCheckBox.cs b/mRemoteV1/UI/Controls/Base/NGCheckBox.cs
new file mode 100644
index 000000000..944f7726a
--- /dev/null
+++ b/mRemoteV1/UI/Controls/Base/NGCheckBox.cs
@@ -0,0 +1,122 @@
+using mRemoteNG.Themes;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Drawing.Text;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace mRemoteNG.UI.Controls.Base
+{
+ class NGCheckBox : CheckBox
+ {
+ private ThemeManager _themeManager;
+
+ public enum MouseState
+ {
+ HOVER,
+ DOWN,
+ OUT
+ }
+
+ public MouseState _mice { get; set; }
+
+
+ protected override void OnCreateControl()
+ {
+ base.OnCreateControl();
+ if (DesignMode) return;
+ _themeManager = ThemeManager.getInstance();
+ _mice = MouseState.OUT;
+ MouseEnter += (sender, args) =>
+ {
+ _mice = MouseState.HOVER;
+ Invalidate();
+ };
+ MouseLeave += (sender, args) =>
+ {
+ _mice = MouseState.OUT;
+ Invalidate();
+ };
+ MouseDown += (sender, args) =>
+ {
+ if (args.Button == MouseButtons.Left)
+ {
+ _mice = MouseState.DOWN;
+ Invalidate();
+ }
+ };
+ MouseUp += (sender, args) =>
+ {
+ _mice = MouseState.OUT;
+
+ Invalidate();
+ };
+ }
+
+
+ protected override void OnPaint(PaintEventArgs e)
+ {
+ if (DesignMode)
+ {
+ base.OnPaint(e);
+ return;
+ }
+ //Get the colors
+ Color back;
+ Color fore;
+ Color glyph;
+ Color checkBack;
+ Color checkBorder;
+
+ back = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Background");
+ if (Enabled)
+ {
+ glyph = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Glyph");
+ fore = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Text");
+ switch (_mice)
+ {
+ case MouseState.HOVER:
+ checkBorder = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Border_Hover");
+ break;
+ case MouseState.DOWN:
+ checkBorder = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Border_Pressed");
+ break;
+ default:
+ checkBorder = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Border");
+ break;
+ }
+ }
+ else
+ {
+
+ fore = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Text_Disabled");
+ glyph = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Glyph_Disabled");
+ checkBorder = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Border_Disabled");
+ }
+
+ e.Graphics.Clear(Parent.BackColor);
+
+ using (Pen p = new Pen(checkBorder))
+ {
+ Rectangle boxRect = new Rectangle(0, Height / 2 - 7, 11, 11);
+ e.Graphics.FillRectangle(new SolidBrush(back), boxRect);
+ e.Graphics.DrawRectangle(p, boxRect);
+ }
+
+ if (Checked)
+ {
+ e.Graphics.DrawString("ü", new Font("Wingdings", 9f), new SolidBrush(glyph), -1, 1);
+ }
+
+ Rectangle textRect = new Rectangle(16, 0, Width - 16, Height);
+ TextRenderer.DrawText(e.Graphics, Text, Font, textRect, fore, Parent.BackColor, TextFormatFlags.PathEllipsis);
+
+
+ }
+
+ }
+}
+
diff --git a/mRemoteV1/UI/Controls/Base/NGGroupBox.cs b/mRemoteV1/UI/Controls/Base/NGGroupBox.cs
new file mode 100644
index 000000000..d79260023
--- /dev/null
+++ b/mRemoteV1/UI/Controls/Base/NGGroupBox.cs
@@ -0,0 +1,84 @@
+using mRemoteNG.Themes;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using System.Windows.Forms.VisualStyles;
+
+namespace mRemoteNG.UI.Controls.Base
+{
+ //Groupbox is colored using the innerTab colors as the vstheme doesnt have explicit groupbox palettes (at least completes)
+ class NGGroupBox : GroupBox
+ {
+ private ThemeManager _themeManager;
+
+ protected override void OnCreateControl()
+ {
+ base.OnCreateControl();
+ if (DesignMode) return;
+ _themeManager = ThemeManager.getInstance();
+ }
+
+ protected override void OnPaint(PaintEventArgs e)
+ {
+ if (DesignMode)
+ {
+ base.OnPaint(e);
+ return;
+ }
+ //Reusing the textbox colors
+ Color titleColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("GroupBox_Foreground");
+ Color backColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("GroupBox_Backgorund");
+ Color lineColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("GroupBox_Line");
+
+ if (!Enabled)
+ {
+ titleColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("GroupBox_Disabled_Foreground");
+ backColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("GroupBox_Disabled_Background");
+ lineColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("GroupBox_Disabled_Line");
+ }
+
+
+ GroupBoxState state = base.Enabled ? GroupBoxState.Normal : GroupBoxState.Disabled;
+ TextFormatFlags flags = TextFormatFlags.PreserveGraphicsTranslateTransform | TextFormatFlags.PreserveGraphicsClipping | TextFormatFlags.TextBoxControl |TextFormatFlags.WordBreak;
+
+ if (!this.ShowKeyboardCues)
+ flags |= TextFormatFlags.HidePrefix;
+ if (this.RightToLeft == RightToLeft.Yes)
+ flags |= TextFormatFlags.RightToLeft | TextFormatFlags.Right;
+
+
+ Rectangle bounds = new Rectangle(0, 0, base.Width, base.Height);
+ Rectangle rectangle = bounds;
+ rectangle.Width -= 8;
+ Size size = TextRenderer.MeasureText(e.Graphics, Text, Font, new Size(rectangle.Width, rectangle.Height), flags);
+ rectangle.Width = size.Width;
+ rectangle.Height = size.Height;
+ if ((flags & TextFormatFlags.Right) == TextFormatFlags.Right)
+ rectangle.X = (bounds.Right - rectangle.Width) - 8;
+ else
+ rectangle.X += 8;
+ TextRenderer.DrawText(e.Graphics, Text, Font, rectangle, titleColor, flags);
+
+ if (rectangle.Width > 0)
+ rectangle.Inflate(2, 0);
+ using (var pen = new Pen(lineColor))
+ {
+ int num = bounds.Top + (Font.Height / 2);
+ //Left line
+ e.Graphics.DrawLine(pen, bounds.Left + Padding.Left , num - Padding.Top, bounds.Left + Padding.Left, bounds.Height - Padding.Bottom);
+ //Bottom line
+ e.Graphics.DrawLine(pen, bounds.Left + Padding.Left, bounds.Height - Padding.Bottom, bounds.Width -Padding.Right, bounds.Height -Padding.Bottom);
+ //Beside text line
+ e.Graphics.DrawLine(pen, bounds.Left +Padding.Left, num - Padding.Top, rectangle.X - 3, num - Padding.Top);
+ //Top line cutted
+ e.Graphics.DrawLine(pen, rectangle.X + rectangle.Width + 2, num - Padding.Top, bounds.Width - Padding.Right, num - Padding.Top);
+ //Right line
+ e.Graphics.DrawLine(pen, bounds.Width - Padding.Right, num - Padding.Top, bounds.Width - Padding.Right, bounds.Height - Padding.Bottom);
+ }
+ RaisePaintEvent(this, e);
+ }
+ }
+}
diff --git a/mRemoteV1/UI/Controls/Base/NGLabel.cs b/mRemoteV1/UI/Controls/Base/NGLabel.cs
index 531de87e1..634bd8d60 100644
--- a/mRemoteV1/UI/Controls/Base/NGLabel.cs
+++ b/mRemoteV1/UI/Controls/Base/NGLabel.cs
@@ -1,5 +1,7 @@
using mRemoteNG.Themes;
using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Drawing.Text;
using System.Windows.Forms;
namespace mRemoteNG.UI.Controls.Base
@@ -21,8 +23,14 @@ namespace mRemoteNG.UI.Controls.Base
protected override void OnPaint(PaintEventArgs e)
{
- base.OnPaint(e);
- if (DesignMode) return;
+ if (DesignMode)
+ {
+ base.OnPaint(e);
+ return;
+ }
+
+ e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
+ e.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
if (Enabled)
{
TextRenderer.DrawText(e.Graphics, this.Text, Font, ClientRectangle, ForeColor, TextFormatFlags.Left | TextFormatFlags.VerticalCenter);
diff --git a/mRemoteV1/UI/Controls/Base/NGTextBox.cs b/mRemoteV1/UI/Controls/Base/NGTextBox.cs
new file mode 100644
index 000000000..27678d470
--- /dev/null
+++ b/mRemoteV1/UI/Controls/Base/NGTextBox.cs
@@ -0,0 +1,45 @@
+using mRemoteNG.Themes;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace mRemoteNG.UI.Controls.Base
+{
+ //This class is only minimally themed as textboxes onPaint are hard to theme (system controls most of the drawing process
+ class NGTextBox : TextBox
+ {
+ private ThemeManager _themeManager;
+
+ protected override void OnCreateControl()
+ {
+ base.OnCreateControl();
+ if (DesignMode) return;
+ _themeManager = ThemeManager.getInstance();
+ BorderStyle = BorderStyle.FixedSingle;
+ }
+
+
+ protected override void OnEnabledChanged(EventArgs e)
+ {
+ if (DesignMode) return;
+ _themeManager = ThemeManager.getInstance();
+ if (base.Enabled)
+ {
+ ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground");
+ BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background");
+ }
+ else
+ {
+ BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Disabled_Background");
+ }
+ base.OnEnabledChanged(e);
+ Invalidate();
+ }
+
+
+ }
+}
diff --git a/mRemoteV1/UI/Forms/OptionsPages/ThemePage.cs b/mRemoteV1/UI/Forms/OptionsPages/ThemePage.cs
index 4289495ed..d4c435001 100644
--- a/mRemoteV1/UI/Forms/OptionsPages/ThemePage.cs
+++ b/mRemoteV1/UI/Forms/OptionsPages/ThemePage.cs
@@ -49,8 +49,8 @@ namespace mRemoteNG.UI.Forms.OptionsPages
{
base.SaveSettings();
- _themeManager.SaveThemes(_themeList);
- Settings.Default.ThemeName = _themeManager.ActiveTheme.Name;
+ //_themeManager.SaveThemes(_themeList);
+ //Settings.Default.ThemeName = _themeManager.ActiveTheme.Name;
Settings.Default.Save();
}
diff --git a/mRemoteV1/UI/Window/ExternalToolsWindow.Designer.cs b/mRemoteV1/UI/Window/ExternalToolsWindow.Designer.cs
index 96e733532..7d900e63a 100644
--- a/mRemoteV1/UI/Window/ExternalToolsWindow.Designer.cs
+++ b/mRemoteV1/UI/Window/ExternalToolsWindow.Designer.cs
@@ -4,370 +4,398 @@ namespace mRemoteNG.UI.Window
public partial class ExternalToolsWindow : BaseWindow
{
#region Windows Form Designer generated code
- internal System.Windows.Forms.ColumnHeader FilenameColumnHeader;
- internal System.Windows.Forms.ColumnHeader ArgumentsColumnHeader;
- internal System.Windows.Forms.GroupBox PropertiesGroupBox;
- internal System.Windows.Forms.TextBox DisplayNameTextBox;
+ internal BrightIdeasSoftware.OLVColumn FilenameColumnHeader;
+ internal BrightIdeasSoftware.OLVColumn DisplayNameColumnHeader;
+ internal BrightIdeasSoftware.OLVColumn ArgumentsColumnHeader;
+ internal BrightIdeasSoftware.OLVColumn WaitForExitColumnHeader;
+ internal BrightIdeasSoftware.OLVColumn TryToIntegrateColumnHeader;
+ internal Controls.Base.NGGroupBox PropertiesGroupBox;
+ internal Controls.Base.NGTextBox DisplayNameTextBox;
internal Controls.Base.NGLabel DisplayNameLabel;
- internal System.Windows.Forms.TextBox ArgumentsCheckBox;
- internal System.Windows.Forms.TextBox FilenameTextBox;
+ internal Controls.Base.NGTextBox ArgumentsCheckBox;
+ internal Controls.Base.NGTextBox FilenameTextBox;
internal Controls.Base.NGLabel ArgumentsLabel;
internal Controls.Base.NGLabel FilenameLabel;
- internal Controls.Base.NGButton BrowseButton;
- internal System.Windows.Forms.ColumnHeader DisplayNameColumnHeader;
+ internal Controls.Base.NGButton BrowseButton;
internal System.Windows.Forms.ContextMenuStrip ToolsContextMenuStrip;
- private System.ComponentModel.Container components = null;
internal System.Windows.Forms.ToolStripMenuItem NewToolMenuItem;
internal System.Windows.Forms.ToolStripMenuItem DeleteToolMenuItem;
internal System.Windows.Forms.ToolStripSeparator ToolStripSeparator1;
- internal System.Windows.Forms.ToolStripMenuItem LaunchToolMenuItem;
- internal System.Windows.Forms.ColumnHeader WaitForExitColumnHeader;
- internal System.Windows.Forms.CheckBox WaitForExitCheckBox;
+ internal System.Windows.Forms.ToolStripMenuItem LaunchToolMenuItem;
+ internal Controls.Base.NGCheckBox WaitForExitCheckBox;
internal Controls.Base.NGLabel OptionsLabel;
- internal System.Windows.Forms.CheckBox TryToIntegrateCheckBox;
- internal System.Windows.Forms.ColumnHeader TryToIntegrateColumnHeader;
- internal System.Windows.Forms.ListView ToolsListView;
+ internal Controls.Base.NGCheckBox TryToIntegrateCheckBox;
+
+ internal BrightIdeasSoftware.ObjectListView ToolsListObjView;
private void InitializeComponent()
{
- this.components = new System.ComponentModel.Container();
- this.Load += new System.EventHandler(ExternalTools_Load);
- base.FormClosed += new System.Windows.Forms.FormClosedEventHandler(ExternalTools_FormClosed);
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ExternalToolsWindow));
- this.ToolsListView = new System.Windows.Forms.ListView();
- this.ToolsListView.SelectedIndexChanged += new System.EventHandler(this.ToolsListView_SelectedIndexChanged);
- this.ToolsListView.DoubleClick += new System.EventHandler(this.ToolsListView_DoubleClick);
- this.DisplayNameColumnHeader = (System.Windows.Forms.ColumnHeader) (new System.Windows.Forms.ColumnHeader());
- this.FilenameColumnHeader = (System.Windows.Forms.ColumnHeader) (new System.Windows.Forms.ColumnHeader());
- this.ArgumentsColumnHeader = (System.Windows.Forms.ColumnHeader) (new System.Windows.Forms.ColumnHeader());
- this.WaitForExitColumnHeader = (System.Windows.Forms.ColumnHeader) (new System.Windows.Forms.ColumnHeader());
- this.TryToIntegrateColumnHeader = (System.Windows.Forms.ColumnHeader) (new System.Windows.Forms.ColumnHeader());
- this.ToolsContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
- this.NewToolMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.NewToolMenuItem.Click += new System.EventHandler(this.NewTool_Click);
- this.DeleteToolMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.DeleteToolMenuItem.Click += new System.EventHandler(this.DeleteTool_Click);
- this.ToolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
- this.LaunchToolMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.LaunchToolMenuItem.Click += new System.EventHandler(this.LaunchTool_Click);
- this.PropertiesGroupBox = new System.Windows.Forms.GroupBox();
- this.TryToIntegrateCheckBox = new System.Windows.Forms.CheckBox();
- this.TryToIntegrateCheckBox.Click += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
- this.TryToIntegrateCheckBox.CheckedChanged += new System.EventHandler(this.TryToIntegrateCheckBox_CheckedChanged);
- this.OptionsLabel = new Controls.Base.NGLabel();
- this.WaitForExitCheckBox = new System.Windows.Forms.CheckBox();
- this.WaitForExitCheckBox.LostFocus += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
- this.WaitForExitCheckBox.Click += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
- this.BrowseButton = new Controls.Base.NGButton();
- this.BrowseButton.LostFocus += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
- this.BrowseButton.Click += new System.EventHandler(this.BrowseButton_Click);
- this.ArgumentsCheckBox = new System.Windows.Forms.TextBox();
- this.ArgumentsCheckBox.LostFocus += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
- this.FilenameTextBox = new System.Windows.Forms.TextBox();
- this.FilenameTextBox.LostFocus += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
- this.DisplayNameTextBox = new System.Windows.Forms.TextBox();
- this.DisplayNameTextBox.LostFocus += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
- this.ArgumentsLabel = new Controls.Base.NGLabel();
- this.FilenameLabel = new UI.Controls.Base.NGLabel();
- this.DisplayNameLabel = new Controls.Base.NGLabel();
- this.ToolStripContainer = new System.Windows.Forms.ToolStripContainer();
- this.ToolStrip = new System.Windows.Forms.ToolStrip();
- this.NewToolToolstripButton = new System.Windows.Forms.ToolStripButton();
- this.NewToolToolstripButton.Click += new System.EventHandler(this.NewTool_Click);
- this.DeleteToolToolstripButton = new System.Windows.Forms.ToolStripButton();
- this.DeleteToolToolstripButton.Click += new System.EventHandler(this.DeleteTool_Click);
- this.ToolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
- this.LaunchToolToolstripButton = new System.Windows.Forms.ToolStripButton();
- this.LaunchToolToolstripButton.Click += new System.EventHandler(this.LaunchTool_Click);
- this.ToolsContextMenuStrip.SuspendLayout();
- this.PropertiesGroupBox.SuspendLayout();
- this.ToolStripContainer.ContentPanel.SuspendLayout();
- this.ToolStripContainer.TopToolStripPanel.SuspendLayout();
- this.ToolStripContainer.SuspendLayout();
- this.ToolStrip.SuspendLayout();
- this.SuspendLayout();
- //
- //Theming support
- //
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ExternalToolsWindow));
+ this.ToolsListObjView = new BrightIdeasSoftware.ObjectListView();
+ this.DisplayNameColumnHeader = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ this.FilenameColumnHeader = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ this.ArgumentsColumnHeader = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ this.WaitForExitColumnHeader = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ this.TryToIntegrateColumnHeader = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ this.ToolsContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.NewToolMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.DeleteToolMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.ToolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+ this.LaunchToolMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.PropertiesGroupBox = new mRemoteNG.UI.Controls.Base.NGGroupBox();
+ this.TryToIntegrateCheckBox = new mRemoteNG.UI.Controls.Base.NGCheckBox();
+ this.OptionsLabel = new mRemoteNG.UI.Controls.Base.NGLabel();
+ this.WaitForExitCheckBox = new mRemoteNG.UI.Controls.Base.NGCheckBox();
+ this.BrowseButton = new mRemoteNG.UI.Controls.Base.NGButton();
+ this.ArgumentsCheckBox = new mRemoteNG.UI.Controls.Base.NGTextBox();
+ this.FilenameTextBox = new mRemoteNG.UI.Controls.Base.NGTextBox();
+ this.DisplayNameTextBox = new mRemoteNG.UI.Controls.Base.NGTextBox();
+ this.ArgumentsLabel = new mRemoteNG.UI.Controls.Base.NGLabel();
+ this.FilenameLabel = new mRemoteNG.UI.Controls.Base.NGLabel();
+ this.DisplayNameLabel = new mRemoteNG.UI.Controls.Base.NGLabel();
+ this.ToolStripContainer = new System.Windows.Forms.ToolStripContainer();
+ this.ToolStrip = new System.Windows.Forms.ToolStrip();
+ this.NewToolToolstripButton = new System.Windows.Forms.ToolStripButton();
+ this.DeleteToolToolstripButton = new System.Windows.Forms.ToolStripButton();
+ this.ToolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
+ this.LaunchToolToolstripButton = new System.Windows.Forms.ToolStripButton();
this.vsToolStripExtender = new WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender(this.components);
- //
- //ToolsListView
- //
- this.ToolsListView.Anchor = (System.Windows.Forms.AnchorStyles) (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right);
- this.ToolsListView.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.ToolsListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {this.DisplayNameColumnHeader, this.FilenameColumnHeader, this.ArgumentsColumnHeader, this.WaitForExitColumnHeader, this.TryToIntegrateColumnHeader});
- this.ToolsListView.ContextMenuStrip = this.ToolsContextMenuStrip;
- this.ToolsListView.FullRowSelect = true;
- this.ToolsListView.GridLines = true;
- this.ToolsListView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
- this.ToolsListView.HideSelection = false;
- this.ToolsListView.Location = new System.Drawing.Point(0, 0);
- this.ToolsListView.Name = "ToolsListView";
- this.ToolsListView.Size = new System.Drawing.Size(684, 157);
- this.ToolsListView.Sorting = System.Windows.Forms.SortOrder.Ascending;
- this.ToolsListView.TabIndex = 0;
- this.ToolsListView.UseCompatibleStateImageBehavior = false;
- this.ToolsListView.View = System.Windows.Forms.View.Details;
- //
- //DisplayNameColumnHeader
- //
- this.DisplayNameColumnHeader.Text = "Display Name";
- this.DisplayNameColumnHeader.Width = 130;
- //
- //FilenameColumnHeader
- //
- this.FilenameColumnHeader.Text = "Filename";
- this.FilenameColumnHeader.Width = 200;
- //
- //ArgumentsColumnHeader
- //
- this.ArgumentsColumnHeader.Text = "Arguments";
- this.ArgumentsColumnHeader.Width = 160;
- //
- //WaitForExitColumnHeader
- //
- this.WaitForExitColumnHeader.Text = "Wait for exit";
- this.WaitForExitColumnHeader.Width = 75;
- //
- //TryToIntegrateColumnHeader
- //
- this.TryToIntegrateColumnHeader.Text = "Try To Integrate";
- this.TryToIntegrateColumnHeader.Width = 95;
- //
- //ToolsContextMenuStrip
- //
- this.ToolsContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {this.NewToolMenuItem, this.DeleteToolMenuItem, this.ToolStripSeparator1, this.LaunchToolMenuItem});
- this.ToolsContextMenuStrip.Name = "cMenApps";
- this.ToolsContextMenuStrip.Size = new System.Drawing.Size(221, 76);
- //
- //NewToolMenuItem
- //
- this.NewToolMenuItem.Image = Resources.ExtApp_Add;
- this.NewToolMenuItem.Name = "NewToolMenuItem";
- this.NewToolMenuItem.ShortcutKeys = (System.Windows.Forms.Keys) (System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.F4);
- this.NewToolMenuItem.Size = new System.Drawing.Size(220, 22);
- this.NewToolMenuItem.Text = "New External Tool";
- //
- //DeleteToolMenuItem
- //
- this.DeleteToolMenuItem.Image = Resources.ExtApp_Delete;
- this.DeleteToolMenuItem.Name = "DeleteToolMenuItem";
- this.DeleteToolMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete;
- this.DeleteToolMenuItem.Size = new System.Drawing.Size(220, 22);
- this.DeleteToolMenuItem.Text = "Delete External Tool...";
- //
- //ToolStripSeparator1
- //
- this.ToolStripSeparator1.Name = "ToolStripSeparator1";
- this.ToolStripSeparator1.Size = new System.Drawing.Size(217, 6);
- //
- //LaunchToolMenuItem
- //
- this.LaunchToolMenuItem.Image = Resources.ExtApp_Start;
- this.LaunchToolMenuItem.Name = "LaunchToolMenuItem";
- this.LaunchToolMenuItem.Size = new System.Drawing.Size(220, 22);
- this.LaunchToolMenuItem.Text = "Launch External Tool";
- //
- //PropertiesGroupBox
- //
- this.PropertiesGroupBox.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right);
- this.PropertiesGroupBox.Controls.Add(this.TryToIntegrateCheckBox);
- this.PropertiesGroupBox.Controls.Add(this.OptionsLabel);
- this.PropertiesGroupBox.Controls.Add(this.WaitForExitCheckBox);
- this.PropertiesGroupBox.Controls.Add(this.BrowseButton);
- this.PropertiesGroupBox.Controls.Add(this.ArgumentsCheckBox);
- this.PropertiesGroupBox.Controls.Add(this.FilenameTextBox);
- this.PropertiesGroupBox.Controls.Add(this.DisplayNameTextBox);
- this.PropertiesGroupBox.Controls.Add(this.ArgumentsLabel);
- this.PropertiesGroupBox.Controls.Add(this.FilenameLabel);
- this.PropertiesGroupBox.Controls.Add(this.DisplayNameLabel);
- this.PropertiesGroupBox.Enabled = false;
- this.PropertiesGroupBox.Location = new System.Drawing.Point(3, 163);
- this.PropertiesGroupBox.Name = "PropertiesGroupBox";
- this.PropertiesGroupBox.Size = new System.Drawing.Size(678, 132);
- this.PropertiesGroupBox.TabIndex = 1;
- this.PropertiesGroupBox.TabStop = false;
- this.PropertiesGroupBox.Text = "External Tool Properties";
- //
- //TryToIntegrateCheckBox
- //
- this.TryToIntegrateCheckBox.AutoSize = true;
- this.TryToIntegrateCheckBox.Location = new System.Drawing.Point(280, 106);
- this.TryToIntegrateCheckBox.Name = "TryToIntegrateCheckBox";
- this.TryToIntegrateCheckBox.Size = new System.Drawing.Size(97, 17);
- this.TryToIntegrateCheckBox.TabIndex = 9;
- this.TryToIntegrateCheckBox.Text = "Try to integrate";
- this.TryToIntegrateCheckBox.UseVisualStyleBackColor = true;
- //
- //OptionsLabel
- //
- this.OptionsLabel.AutoSize = true;
- this.OptionsLabel.Location = new System.Drawing.Point(58, 107);
- this.OptionsLabel.Name = "OptionsLabel";
- this.OptionsLabel.Size = new System.Drawing.Size(46, 13);
- this.OptionsLabel.TabIndex = 7;
- this.OptionsLabel.Text = "Options:";
- this.OptionsLabel.TextAlign = System.Drawing.ContentAlignment.TopRight;
- //
- //WaitForExitCheckBox
- //
- this.WaitForExitCheckBox.AutoSize = true;
- this.WaitForExitCheckBox.Location = new System.Drawing.Point(110, 106);
- this.WaitForExitCheckBox.Name = "WaitForExitCheckBox";
- this.WaitForExitCheckBox.Size = new System.Drawing.Size(82, 17);
- this.WaitForExitCheckBox.TabIndex = 8;
- this.WaitForExitCheckBox.Text = "Wait for exit";
- this.WaitForExitCheckBox.UseVisualStyleBackColor = true;
- //
- //BrowseButton
- //
- this.BrowseButton.Anchor = (System.Windows.Forms.AnchorStyles) (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right);
- this.BrowseButton.Location = new System.Drawing.Point(574, 45);
- this.BrowseButton.Name = "BrowseButton";
- this.BrowseButton.Size = new System.Drawing.Size(95, 23);
- this.BrowseButton.TabIndex = 4;
- this.BrowseButton.Text = "Browse...";
- this.BrowseButton.UseVisualStyleBackColor = true;
- //
- //ArgumentsCheckBox
- //
- this.ArgumentsCheckBox.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right);
- this.ArgumentsCheckBox.Location = new System.Drawing.Point(110, 76);
- this.ArgumentsCheckBox.Name = "ArgumentsCheckBox";
- this.ArgumentsCheckBox.Size = new System.Drawing.Size(559, 20);
- this.ArgumentsCheckBox.TabIndex = 6;
- //
- //FilenameTextBox
- //
- this.FilenameTextBox.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right);
- this.FilenameTextBox.Location = new System.Drawing.Point(110, 47);
- this.FilenameTextBox.Name = "FilenameTextBox";
- this.FilenameTextBox.Size = new System.Drawing.Size(458, 20);
- this.FilenameTextBox.TabIndex = 3;
- //
- //DisplayNameTextBox
- //
- this.DisplayNameTextBox.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right);
- this.DisplayNameTextBox.Location = new System.Drawing.Point(110, 19);
- this.DisplayNameTextBox.Name = "DisplayNameTextBox";
- this.DisplayNameTextBox.Size = new System.Drawing.Size(559, 20);
- this.DisplayNameTextBox.TabIndex = 1;
- //
- //ArgumentsLabel
- //
- this.ArgumentsLabel.AutoSize = true;
- this.ArgumentsLabel.Location = new System.Drawing.Point(44, 79);
- this.ArgumentsLabel.Name = "ArgumentsLabel";
- this.ArgumentsLabel.Size = new System.Drawing.Size(60, 13);
- this.ArgumentsLabel.TabIndex = 5;
- this.ArgumentsLabel.Text = "Arguments:";
- this.ArgumentsLabel.TextAlign = System.Drawing.ContentAlignment.TopRight;
- //
- //FilenameLabel
- //
- this.FilenameLabel.AutoSize = true;
- this.FilenameLabel.Location = new System.Drawing.Point(52, 50);
- this.FilenameLabel.Name = "FilenameLabel";
- this.FilenameLabel.Size = new System.Drawing.Size(52, 13);
- this.FilenameLabel.TabIndex = 2;
- this.FilenameLabel.Text = "Filename:";
- this.FilenameLabel.TextAlign = System.Drawing.ContentAlignment.TopRight;
- //
- //DisplayNameLabel
- //
- this.DisplayNameLabel.AutoSize = true;
- this.DisplayNameLabel.Location = new System.Drawing.Point(29, 22);
- this.DisplayNameLabel.Name = "DisplayNameLabel";
- this.DisplayNameLabel.Size = new System.Drawing.Size(75, 13);
- this.DisplayNameLabel.TabIndex = 0;
- this.DisplayNameLabel.Text = "Display Name:";
- this.DisplayNameLabel.TextAlign = System.Drawing.ContentAlignment.TopRight;
- //
- //ToolStripContainer
- //
- //
- //ToolStripContainer.ContentPanel
- //
- this.ToolStripContainer.ContentPanel.Controls.Add(this.PropertiesGroupBox);
- this.ToolStripContainer.ContentPanel.Controls.Add(this.ToolsListView);
- this.ToolStripContainer.ContentPanel.Size = new System.Drawing.Size(684, 298);
- this.ToolStripContainer.Dock = System.Windows.Forms.DockStyle.Fill;
- this.ToolStripContainer.Location = new System.Drawing.Point(0, 0);
- this.ToolStripContainer.Name = "ToolStripContainer";
- this.ToolStripContainer.Size = new System.Drawing.Size(684, 323);
- this.ToolStripContainer.TabIndex = 0;
- this.ToolStripContainer.Text = "ToolStripContainer";
- //
- //ToolStripContainer.TopToolStripPanel
- //
- this.ToolStripContainer.TopToolStripPanel.Controls.Add(this.ToolStrip);
- //
- //ToolStrip
- //
- this.ToolStrip.Dock = System.Windows.Forms.DockStyle.None;
- this.ToolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
- this.ToolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {this.NewToolToolstripButton, this.DeleteToolToolstripButton, this.ToolStripSeparator2, this.LaunchToolToolstripButton});
- this.ToolStrip.Location = new System.Drawing.Point(3, 0);
- this.ToolStrip.Name = "ToolStrip";
- this.ToolStrip.Size = new System.Drawing.Size(186, 25);
- this.ToolStrip.TabIndex = 0;
- //
- //NewToolToolstripButton
- //
- this.NewToolToolstripButton.Image = Resources.ExtApp_Add;
- this.NewToolToolstripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.NewToolToolstripButton.Name = "NewToolToolstripButton";
- this.NewToolToolstripButton.Size = new System.Drawing.Size(51, 22);
- this.NewToolToolstripButton.Text = "New";
- //
- //DeleteToolToolstripButton
- //
- this.DeleteToolToolstripButton.Image = Resources.ExtApp_Delete;
- this.DeleteToolToolstripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.DeleteToolToolstripButton.Name = "DeleteToolToolstripButton";
- this.DeleteToolToolstripButton.Size = new System.Drawing.Size(60, 22);
- this.DeleteToolToolstripButton.Text = "Delete";
- //
- //ToolStripSeparator2
- //
- this.ToolStripSeparator2.Name = "ToolStripSeparator2";
- this.ToolStripSeparator2.Size = new System.Drawing.Size(6, 25);
- //
- //LaunchToolToolstripButton
- //
- this.LaunchToolToolstripButton.Image = Resources.ExtApp_Start;
- this.LaunchToolToolstripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.LaunchToolToolstripButton.Name = "LaunchToolToolstripButton";
- this.LaunchToolToolstripButton.Size = new System.Drawing.Size(66, 22);
- this.LaunchToolToolstripButton.Text = "Launch";
- //
- //ExternalTools
- //
- this.ClientSize = new System.Drawing.Size(684, 323);
- this.Controls.Add(this.ToolStripContainer);
- this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, System.Convert.ToByte(0));
- this.Icon = (System.Drawing.Icon) (resources.GetObject("$this.Icon"));
- this.Name = "ExternalTools";
- this.TabText = "External Applications";
- this.Text = "External Tools";
- this.ToolsContextMenuStrip.ResumeLayout(false);
- this.PropertiesGroupBox.ResumeLayout(false);
- this.PropertiesGroupBox.PerformLayout();
- this.ToolStripContainer.ContentPanel.ResumeLayout(false);
- this.ToolStripContainer.TopToolStripPanel.ResumeLayout(false);
- this.ToolStripContainer.TopToolStripPanel.PerformLayout();
- this.ToolStripContainer.ResumeLayout(false);
- this.ToolStripContainer.PerformLayout();
- this.ToolStrip.ResumeLayout(false);
- this.ToolStrip.PerformLayout();
- this.ResumeLayout(false);
-
+ ((System.ComponentModel.ISupportInitialize)(this.ToolsListObjView)).BeginInit();
+ this.ToolsContextMenuStrip.SuspendLayout();
+ this.PropertiesGroupBox.SuspendLayout();
+ this.ToolStripContainer.ContentPanel.SuspendLayout();
+ this.ToolStripContainer.TopToolStripPanel.SuspendLayout();
+ this.ToolStripContainer.SuspendLayout();
+ this.ToolStrip.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // ToolsListObjView
+ //
+ this.ToolsListObjView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.ToolsListObjView.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.ToolsListObjView.CellEditUseWholeCell = false;
+ this.ToolsListObjView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.DisplayNameColumnHeader,
+ this.FilenameColumnHeader,
+ this.ArgumentsColumnHeader,
+ this.WaitForExitColumnHeader,
+ this.TryToIntegrateColumnHeader});
+ this.ToolsListObjView.ContextMenuStrip = this.ToolsContextMenuStrip;
+ this.ToolsListObjView.Cursor = System.Windows.Forms.Cursors.Default;
+ this.ToolsListObjView.FullRowSelect = true;
+ this.ToolsListObjView.GridLines = true;
+ this.ToolsListObjView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
+ this.ToolsListObjView.HideSelection = false;
+ this.ToolsListObjView.Location = new System.Drawing.Point(0, 0);
+ this.ToolsListObjView.Name = "ToolsListObjView";
+ this.ToolsListObjView.Size = new System.Drawing.Size(684, 157);
+ this.ToolsListObjView.Sorting = System.Windows.Forms.SortOrder.Ascending;
+ this.ToolsListObjView.TabIndex = 0;
+ this.ToolsListObjView.UseCompatibleStateImageBehavior = false;
+ this.ToolsListObjView.View = System.Windows.Forms.View.Details;
+ this.ToolsListObjView.SelectedIndexChanged += new System.EventHandler(this.ToolsListObjView_SelectedIndexChanged);
+ this.ToolsListObjView.DoubleClick += new System.EventHandler(this.ToolsListObjView_DoubleClick);
+ //
+ // DisplayNameColumnHeader
+ //
+ this.DisplayNameColumnHeader.AspectName = "DisplayName";
+ this.DisplayNameColumnHeader.Text = "Display Name";
+ this.DisplayNameColumnHeader.Width = 130;
+ //
+ // FilenameColumnHeader
+ //
+ this.FilenameColumnHeader.AspectName = "FileName";
+ this.FilenameColumnHeader.Text = "Filename";
+ this.FilenameColumnHeader.Width = 200;
+ //
+ // ArgumentsColumnHeader
+ //
+ this.ArgumentsColumnHeader.AspectName = "Arguments";
+ this.ArgumentsColumnHeader.FillsFreeSpace = true;
+ this.ArgumentsColumnHeader.Text = "Arguments";
+ this.ArgumentsColumnHeader.Width = 160;
+ //
+ // WaitForExitColumnHeader
+ //
+ this.WaitForExitColumnHeader.AspectName = "WaitForExit";
+ this.WaitForExitColumnHeader.Text = "Wait for exit";
+ this.WaitForExitColumnHeader.Width = 95;
+ //
+ // TryToIntegrateColumnHeader
+ //
+ this.TryToIntegrateColumnHeader.AspectName = "TryIntegrate";
+ this.TryToIntegrateColumnHeader.Text = "Try To Integrate";
+ this.TryToIntegrateColumnHeader.Width = 95;
+ //
+ // ToolsContextMenuStrip
+ //
+ this.ToolsContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.NewToolMenuItem,
+ this.DeleteToolMenuItem,
+ this.ToolStripSeparator1,
+ this.LaunchToolMenuItem});
+ this.ToolsContextMenuStrip.Name = "cMenApps";
+ this.ToolsContextMenuStrip.Size = new System.Drawing.Size(220, 76);
+ //
+ // NewToolMenuItem
+ //
+ this.NewToolMenuItem.Image = global::mRemoteNG.Resources.ExtApp_Add;
+ this.NewToolMenuItem.Name = "NewToolMenuItem";
+ this.NewToolMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.F4)));
+ this.NewToolMenuItem.Size = new System.Drawing.Size(219, 22);
+ this.NewToolMenuItem.Text = "New External Tool";
+ this.NewToolMenuItem.Click += new System.EventHandler(this.NewTool_Click);
+ //
+ // DeleteToolMenuItem
+ //
+ this.DeleteToolMenuItem.Image = global::mRemoteNG.Resources.ExtApp_Delete;
+ this.DeleteToolMenuItem.Name = "DeleteToolMenuItem";
+ this.DeleteToolMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete;
+ this.DeleteToolMenuItem.Size = new System.Drawing.Size(219, 22);
+ this.DeleteToolMenuItem.Text = "Delete External Tool...";
+ this.DeleteToolMenuItem.Click += new System.EventHandler(this.DeleteTool_Click);
+ //
+ // ToolStripSeparator1
+ //
+ this.ToolStripSeparator1.Name = "ToolStripSeparator1";
+ this.ToolStripSeparator1.Size = new System.Drawing.Size(216, 6);
+ //
+ // LaunchToolMenuItem
+ //
+ this.LaunchToolMenuItem.Image = global::mRemoteNG.Resources.ExtApp_Start;
+ this.LaunchToolMenuItem.Name = "LaunchToolMenuItem";
+ this.LaunchToolMenuItem.Size = new System.Drawing.Size(219, 22);
+ this.LaunchToolMenuItem.Text = "Launch External Tool";
+ this.LaunchToolMenuItem.Click += new System.EventHandler(this.LaunchTool_Click);
+ //
+ // PropertiesGroupBox
+ //
+ this.PropertiesGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.PropertiesGroupBox.Controls.Add(this.TryToIntegrateCheckBox);
+ this.PropertiesGroupBox.Controls.Add(this.OptionsLabel);
+ this.PropertiesGroupBox.Controls.Add(this.WaitForExitCheckBox);
+ this.PropertiesGroupBox.Controls.Add(this.BrowseButton);
+ this.PropertiesGroupBox.Controls.Add(this.ArgumentsCheckBox);
+ this.PropertiesGroupBox.Controls.Add(this.FilenameTextBox);
+ this.PropertiesGroupBox.Controls.Add(this.DisplayNameTextBox);
+ this.PropertiesGroupBox.Controls.Add(this.ArgumentsLabel);
+ this.PropertiesGroupBox.Controls.Add(this.FilenameLabel);
+ this.PropertiesGroupBox.Controls.Add(this.DisplayNameLabel);
+ this.PropertiesGroupBox.Enabled = false;
+ this.PropertiesGroupBox.Location = new System.Drawing.Point(0, 153);
+ this.PropertiesGroupBox.Name = "PropertiesGroupBox";
+ this.PropertiesGroupBox.Size = new System.Drawing.Size(684, 145);
+ this.PropertiesGroupBox.TabIndex = 1;
+ this.PropertiesGroupBox.TabStop = false;
+ this.PropertiesGroupBox.Text = "External Tool Properties";
+ //
+ // TryToIntegrateCheckBox
+ //
+ this.TryToIntegrateCheckBox._mice = mRemoteNG.UI.Controls.Base.NGCheckBox.MouseState.HOVER;
+ this.TryToIntegrateCheckBox.AutoSize = true;
+ this.TryToIntegrateCheckBox.Location = new System.Drawing.Point(280, 106);
+ this.TryToIntegrateCheckBox.Name = "TryToIntegrateCheckBox";
+ this.TryToIntegrateCheckBox.Size = new System.Drawing.Size(103, 17);
+ this.TryToIntegrateCheckBox.TabIndex = 9;
+ this.TryToIntegrateCheckBox.Text = "Try to integrate";
+ this.TryToIntegrateCheckBox.UseVisualStyleBackColor = true;
+ this.TryToIntegrateCheckBox.CheckedChanged += new System.EventHandler(this.TryToIntegrateCheckBox_CheckedChanged);
+ this.TryToIntegrateCheckBox.Click += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
+ //
+ // OptionsLabel
+ //
+ this.OptionsLabel.AutoSize = true;
+ this.OptionsLabel.Location = new System.Drawing.Point(51, 107);
+ this.OptionsLabel.Name = "OptionsLabel";
+ this.OptionsLabel.Size = new System.Drawing.Size(52, 13);
+ this.OptionsLabel.TabIndex = 7;
+ this.OptionsLabel.Text = "Options:";
+ this.OptionsLabel.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ //
+ // WaitForExitCheckBox
+ //
+ this.WaitForExitCheckBox._mice = mRemoteNG.UI.Controls.Base.NGCheckBox.MouseState.HOVER;
+ this.WaitForExitCheckBox.AutoSize = true;
+ this.WaitForExitCheckBox.Location = new System.Drawing.Point(110, 106);
+ this.WaitForExitCheckBox.Name = "WaitForExitCheckBox";
+ this.WaitForExitCheckBox.Size = new System.Drawing.Size(89, 17);
+ this.WaitForExitCheckBox.TabIndex = 8;
+ this.WaitForExitCheckBox.Text = "Wait for exit";
+ this.WaitForExitCheckBox.UseVisualStyleBackColor = true;
+ this.WaitForExitCheckBox.Click += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
+ this.WaitForExitCheckBox.LostFocus += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
+ //
+ // BrowseButton
+ //
+ this.BrowseButton._mice = mRemoteNG.UI.Controls.Base.NGButton.MouseState.HOVER;
+ this.BrowseButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.BrowseButton.Location = new System.Drawing.Point(580, 45);
+ this.BrowseButton.Name = "BrowseButton";
+ this.BrowseButton.Size = new System.Drawing.Size(95, 23);
+ this.BrowseButton.TabIndex = 4;
+ this.BrowseButton.Text = "Browse...";
+ this.BrowseButton.UseVisualStyleBackColor = true;
+ this.BrowseButton.Click += new System.EventHandler(this.BrowseButton_Click);
+ this.BrowseButton.LostFocus += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
+ //
+ // ArgumentsCheckBox
+ //
+ this.ArgumentsCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.ArgumentsCheckBox.Location = new System.Drawing.Point(110, 76);
+ this.ArgumentsCheckBox.Name = "ArgumentsCheckBox";
+ this.ArgumentsCheckBox.Size = new System.Drawing.Size(565, 22);
+ this.ArgumentsCheckBox.TabIndex = 6;
+ this.ArgumentsCheckBox.LostFocus += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
+ //
+ // FilenameTextBox
+ //
+ this.FilenameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.FilenameTextBox.Location = new System.Drawing.Point(110, 47);
+ this.FilenameTextBox.Name = "FilenameTextBox";
+ this.FilenameTextBox.Size = new System.Drawing.Size(464, 22);
+ this.FilenameTextBox.TabIndex = 3;
+ this.FilenameTextBox.LostFocus += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
+ //
+ // DisplayNameTextBox
+ //
+ this.DisplayNameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.DisplayNameTextBox.Location = new System.Drawing.Point(110, 19);
+ this.DisplayNameTextBox.Name = "DisplayNameTextBox";
+ this.DisplayNameTextBox.Size = new System.Drawing.Size(565, 22);
+ this.DisplayNameTextBox.TabIndex = 1;
+ this.DisplayNameTextBox.LostFocus += new System.EventHandler(this.PropertyControl_ChangedOrLostFocus);
+ //
+ // ArgumentsLabel
+ //
+ this.ArgumentsLabel.AutoSize = true;
+ this.ArgumentsLabel.Location = new System.Drawing.Point(33, 79);
+ this.ArgumentsLabel.Name = "ArgumentsLabel";
+ this.ArgumentsLabel.Size = new System.Drawing.Size(66, 13);
+ this.ArgumentsLabel.TabIndex = 5;
+ this.ArgumentsLabel.Text = "Arguments:";
+ this.ArgumentsLabel.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ //
+ // FilenameLabel
+ //
+ this.FilenameLabel.AutoSize = true;
+ this.FilenameLabel.Location = new System.Drawing.Point(44, 50);
+ this.FilenameLabel.Name = "FilenameLabel";
+ this.FilenameLabel.Size = new System.Drawing.Size(56, 13);
+ this.FilenameLabel.TabIndex = 2;
+ this.FilenameLabel.Text = "Filename:";
+ this.FilenameLabel.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ //
+ // DisplayNameLabel
+ //
+ this.DisplayNameLabel.AutoSize = true;
+ this.DisplayNameLabel.Location = new System.Drawing.Point(21, 22);
+ this.DisplayNameLabel.Name = "DisplayNameLabel";
+ this.DisplayNameLabel.Size = new System.Drawing.Size(79, 13);
+ this.DisplayNameLabel.TabIndex = 0;
+ this.DisplayNameLabel.Text = "Display Name:";
+ this.DisplayNameLabel.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ //
+ // ToolStripContainer
+ //
+ //
+ // ToolStripContainer.ContentPanel
+ //
+ this.ToolStripContainer.ContentPanel.Controls.Add(this.PropertiesGroupBox);
+ this.ToolStripContainer.ContentPanel.Controls.Add(this.ToolsListObjView);
+ this.ToolStripContainer.ContentPanel.Size = new System.Drawing.Size(684, 298);
+ this.ToolStripContainer.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.ToolStripContainer.Location = new System.Drawing.Point(0, 0);
+ this.ToolStripContainer.Name = "ToolStripContainer";
+ this.ToolStripContainer.Size = new System.Drawing.Size(684, 323);
+ this.ToolStripContainer.TabIndex = 0;
+ this.ToolStripContainer.Text = "ToolStripContainer";
+ //
+ // ToolStripContainer.TopToolStripPanel
+ //
+ this.ToolStripContainer.TopToolStripPanel.BackColor = System.Drawing.SystemColors.Control;
+ this.ToolStripContainer.TopToolStripPanel.Controls.Add(this.ToolStrip);
+ //
+ // ToolStrip
+ //
+ this.ToolStrip.Dock = System.Windows.Forms.DockStyle.None;
+ this.ToolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
+ this.ToolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.NewToolToolstripButton,
+ this.DeleteToolToolstripButton,
+ this.ToolStripSeparator2,
+ this.LaunchToolToolstripButton});
+ this.ToolStrip.Location = new System.Drawing.Point(3, 0);
+ this.ToolStrip.Name = "ToolStrip";
+ this.ToolStrip.Size = new System.Drawing.Size(186, 25);
+ this.ToolStrip.TabIndex = 0;
+ //
+ // NewToolToolstripButton
+ //
+ this.NewToolToolstripButton.Image = global::mRemoteNG.Resources.ExtApp_Add;
+ this.NewToolToolstripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.NewToolToolstripButton.Name = "NewToolToolstripButton";
+ this.NewToolToolstripButton.Size = new System.Drawing.Size(51, 22);
+ this.NewToolToolstripButton.Text = "New";
+ this.NewToolToolstripButton.Click += new System.EventHandler(this.NewTool_Click);
+ //
+ // DeleteToolToolstripButton
+ //
+ this.DeleteToolToolstripButton.Image = global::mRemoteNG.Resources.ExtApp_Delete;
+ this.DeleteToolToolstripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.DeleteToolToolstripButton.Name = "DeleteToolToolstripButton";
+ this.DeleteToolToolstripButton.Size = new System.Drawing.Size(60, 22);
+ this.DeleteToolToolstripButton.Text = "Delete";
+ this.DeleteToolToolstripButton.Click += new System.EventHandler(this.DeleteTool_Click);
+ //
+ // ToolStripSeparator2
+ //
+ this.ToolStripSeparator2.Name = "ToolStripSeparator2";
+ this.ToolStripSeparator2.Size = new System.Drawing.Size(6, 25);
+ //
+ // LaunchToolToolstripButton
+ //
+ this.LaunchToolToolstripButton.Image = global::mRemoteNG.Resources.ExtApp_Start;
+ this.LaunchToolToolstripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.LaunchToolToolstripButton.Name = "LaunchToolToolstripButton";
+ this.LaunchToolToolstripButton.Size = new System.Drawing.Size(66, 22);
+ this.LaunchToolToolstripButton.Text = "Launch";
+ this.LaunchToolToolstripButton.Click += new System.EventHandler(this.LaunchTool_Click);
+ //
+ // vsToolStripExtender
+ //
+ this.vsToolStripExtender.DefaultRenderer = null;
+ //
+ // ExternalToolsWindow
+ //
+ this.ClientSize = new System.Drawing.Size(684, 323);
+ this.Controls.Add(this.ToolStripContainer);
+ this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Name = "ExternalToolsWindow";
+ this.TabText = "External Applications";
+ this.Text = "External Tools";
+ this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.ExternalTools_FormClosed);
+ this.Load += new System.EventHandler(this.ExternalTools_Load);
+ ((System.ComponentModel.ISupportInitialize)(this.ToolsListObjView)).EndInit();
+ this.ToolsContextMenuStrip.ResumeLayout(false);
+ this.PropertiesGroupBox.ResumeLayout(false);
+ this.PropertiesGroupBox.PerformLayout();
+ this.ToolStripContainer.ContentPanel.ResumeLayout(false);
+ this.ToolStripContainer.TopToolStripPanel.ResumeLayout(false);
+ this.ToolStripContainer.TopToolStripPanel.PerformLayout();
+ this.ToolStripContainer.ResumeLayout(false);
+ this.ToolStripContainer.PerformLayout();
+ this.ToolStrip.ResumeLayout(false);
+ this.ToolStrip.PerformLayout();
+ this.ResumeLayout(false);
+
}
internal System.Windows.Forms.ToolStripContainer ToolStripContainer;
internal System.Windows.Forms.ToolStrip ToolStrip;
@@ -377,5 +405,7 @@ namespace mRemoteNG.UI.Window
internal System.Windows.Forms.ToolStripButton LaunchToolToolstripButton;
private WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender vsToolStripExtender;
#endregion
+
+ private System.ComponentModel.IContainer components;
}
}
diff --git a/mRemoteV1/UI/Window/ExternalToolsWindow.cs b/mRemoteV1/UI/Window/ExternalToolsWindow.cs
index 7cbb6afa6..43336b19a 100644
--- a/mRemoteV1/UI/Window/ExternalToolsWindow.cs
+++ b/mRemoteV1/UI/Window/ExternalToolsWindow.cs
@@ -8,6 +8,8 @@ using WeifenLuo.WinFormsUI.Docking;
using mRemoteNG.UI.Forms;
using mRemoteNG.Themes;
using System.Drawing;
+using BrightIdeasSoftware;
+using mRemoteNG.UI.Controls;
namespace mRemoteNG.UI.Window
{
@@ -19,21 +21,22 @@ namespace mRemoteNG.UI.Window
public ExternalToolsWindow()
{
- InitializeComponent();
-
+ InitializeComponent();
WindowType = WindowType.ExternalApps;
DockPnl = new DockContent();
_themeManager = ThemeManager.getInstance();
- ApplyTheme();
_externalAppsSaver = new ExternalAppsSaver();
}
-
+
+
+
#region Private Methods
#region Event Handlers
- private void ExternalTools_Load(object sender, EventArgs e)
+ private void ExternalTools_Load(object sender, EventArgs e)
{
ApplyLanguage();
- UpdateToolsListView();
+ ApplyTheme();
+ UpdateToolsListObjView();
}
private void ExternalTools_FormClosed(object sender, FormClosedEventArgs e)
@@ -47,7 +50,7 @@ namespace mRemoteNG.UI.Window
{
var externalTool = new ExternalTool(Language.strExternalToolDefaultName);
Runtime.ExternalToolsService.ExternalTools.Add(externalTool);
- UpdateToolsListView(externalTool);
+ UpdateToolsListObjView(externalTool);
DisplayNameTextBox.Focus();
}
catch (Exception ex)
@@ -61,13 +64,13 @@ namespace mRemoteNG.UI.Window
try
{
string message;
- if (ToolsListView.SelectedItems.Count == 1)
+ if (ToolsListObjView.SelectedItems.Count == 1)
{
- message = string.Format(Language.strConfirmDeleteExternalTool, ToolsListView.SelectedItems[0].Text);
+ message = string.Format(Language.strConfirmDeleteExternalTool, ToolsListObjView.SelectedItems[0].Text);
}
- else if (ToolsListView.SelectedItems.Count > 1)
+ else if (ToolsListObjView.SelectedItems.Count > 1)
{
- message = string.Format(Language.strConfirmDeleteExternalToolMultiple, ToolsListView.SelectedItems.Count);
+ message = string.Format(Language.strConfirmDeleteExternalToolMultiple, ToolsListObjView.SelectedItems.Count);
}
else
{
@@ -79,14 +82,14 @@ namespace mRemoteNG.UI.Window
return;
}
- foreach (ListViewItem listViewItem in ToolsListView.SelectedItems)
+ foreach (Object toDeleteObj in ToolsListObjView.SelectedObjects)
{
- var externalTool = listViewItem.Tag as ExternalTool;
+ var externalTool = toDeleteObj as ExternalTool;
if (externalTool == null) continue;
Runtime.ExternalToolsService.ExternalTools.Remove(externalTool);
- listViewItem.Remove();
}
- }
+ UpdateToolsListObjView();
+ }
catch (Exception ex)
{
Runtime.MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.DeleteTool_Click() failed.", ex);
@@ -98,14 +101,14 @@ namespace mRemoteNG.UI.Window
LaunchTool();
}
- private void ToolsListView_SelectedIndexChanged(object sender, EventArgs e)
+ private void ToolsListObjView_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
- if (ToolsListView.SelectedItems.Count == 1)
+ if (ToolsListObjView.SelectedItems.Count == 1)
{
PropertiesGroupBox.Enabled = true;
- _selectedTool = ToolsListView.SelectedItems[0].Tag as ExternalTool;
+ _selectedTool = ToolsListObjView.SelectedObjects[0] as ExternalTool;
if (_selectedTool == null)
{
return;
@@ -124,13 +127,13 @@ namespace mRemoteNG.UI.Window
}
catch (Exception ex)
{
- Runtime.MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.ToolsListView_SelectedIndexChanged() failed.", ex);
+ Runtime.MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.ToolsListObjView_SelectedIndexChanged() failed.", ex);
}
}
- private void ToolsListView_DoubleClick(object sender, EventArgs e)
+ private void ToolsListObjView_DoubleClick(object sender, EventArgs e)
{
- if (ToolsListView.SelectedItems.Count > 0)
+ if (ToolsListObjView.SelectedItems.Count > 0)
{
LaunchTool();
}
@@ -151,7 +154,7 @@ namespace mRemoteNG.UI.Window
_selectedTool.WaitForExit = WaitForExitCheckBox.Checked;
_selectedTool.TryIntegrate = TryToIntegrateCheckBox.Checked;
- UpdateToolsListView();
+ UpdateToolsListObjView();
}
catch (Exception ex)
{
@@ -225,39 +228,38 @@ namespace mRemoteNG.UI.Window
private void ApplyTheme()
{
vsToolStripExtender.SetStyle(ToolStrip, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme);
+ vsToolStripExtender.SetStyle(ToolsContextMenuStrip, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme);
//Apply the extended palette
- ToolStripContainer.TopToolStripPanel.BackColor= _themeManager.ActiveTheme.Theme.ColorPalette.CommandBarMenuDefault.Background;
- ToolStripContainer.TopToolStripPanel.ForeColor= _themeManager.ActiveTheme.Theme.ColorPalette.CommandBarMenuDefault.Text;
+ ToolStripContainer.TopToolStripPanel.BackColor = _themeManager.ActiveTheme.Theme.ColorPalette.CommandBarMenuDefault.Background;
+ ToolStripContainer.TopToolStripPanel.ForeColor = _themeManager.ActiveTheme.Theme.ColorPalette.CommandBarMenuDefault.Text;
PropertiesGroupBox.BackColor = _themeManager.ActiveTheme.Theme.ColorPalette.CommandBarMenuDefault.Background;
PropertiesGroupBox.ForeColor = _themeManager.ActiveTheme.Theme.ColorPalette.CommandBarMenuDefault.Text;
- DisplayNameTextBox.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Background");
- DisplayNameTextBox.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Foreground");
- FilenameTextBox.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Background");
- FilenameTextBox.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Foreground");
- ArgumentsCheckBox.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Background");
- ArgumentsCheckBox.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Foreground");
- BrowseButton.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Button_Background");
- BrowseButton.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Button_Foreground");
- ToolsListView.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Background");
- ToolsListView.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Header_Foreground");
-
- //Experimental
-
+ //Toollist coloring
+ ToolsListObjView.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Background");
+ ToolsListObjView.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Foreground");
+ ToolsListObjView.SelectedBackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Selected_Background");
+ ToolsListObjView.SelectedForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Selected_Foreground");
+ ToolsListObjView.HeaderUsesThemes = false;
+ ToolsListObjView.AlwaysGroupByColumn = this.FilenameColumnHeader;
+ HeaderFormatStyle headerStylo = new HeaderFormatStyle();
+ headerStylo.Normal.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Header_Background");
+ headerStylo.Normal.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Header_Foreground");
+ ToolsListObjView.HeaderFormatStyle = headerStylo;
}
- private void UpdateToolsListView(ExternalTool selectTool = null)
+ private void UpdateToolsListObjView(ExternalTool selectTool = null)
{
try
{
var selectedTools = new List();
if (selectTool == null)
{
- foreach (ListViewItem listViewItem in ToolsListView.SelectedItems)
+ foreach (Object listViewItem in ToolsListObjView.SelectedObjects)
{
- var externalTool = listViewItem.Tag as ExternalTool;
+ var externalTool = listViewItem as ExternalTool;
if (externalTool != null)
{
selectedTools.Add(externalTool);
@@ -269,43 +271,25 @@ namespace mRemoteNG.UI.Window
selectedTools.Add(selectTool);
}
- ToolsListView.BeginUpdate();
- ToolsListView.Items.Clear();
-
- foreach (var externalTool in Runtime.ExternalToolsService.ExternalTools)
- {
- var listViewItem = new ListViewItem {Text = externalTool.DisplayName};
- listViewItem.SubItems.Add(externalTool.FileName);
- listViewItem.SubItems.Add(externalTool.Arguments);
- listViewItem.SubItems.Add(externalTool.WaitForExit.ToString());
- listViewItem.SubItems.Add(externalTool.TryIntegrate.ToString());
- listViewItem.Tag = externalTool;
-
- ToolsListView.Items.Add(listViewItem);
-
- if (selectedTools.Contains(externalTool))
- {
- listViewItem.Selected = true;
- }
- }
-
- ToolsListView.EndUpdate();
+ ToolsListObjView.BeginUpdate();
+ ToolsListObjView.Items.Clear();
+ ToolsListObjView.SetObjects(Runtime.ExternalToolsService.ExternalTools);
+ ToolsListObjView.EndUpdate();
}
catch (Exception ex)
{
- Runtime.MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.PopulateToolsListView()", ex);
+ Runtime.MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.PopulateToolsListObjView()", ex);
}
}
private void LaunchTool()
{
- try
- {
- foreach (ListViewItem listViewItem in ToolsListView.SelectedItems)
+ try
+ {
+ foreach (Object listViewObject in ToolsListObjView.SelectedObjects)
{
- var externalTool = listViewItem.Tag as ExternalTool;
-
- externalTool?.Start();
+
+ ((ExternalTool)listViewObject).Start();
}
}
catch (Exception ex)
@@ -316,4 +300,6 @@ namespace mRemoteNG.UI.Window
#endregion
}
}
+
+
\ No newline at end of file
diff --git a/mRemoteV1/UI/Window/ExternalToolsWindow.resx b/mRemoteV1/UI/Window/ExternalToolsWindow.resx
index f2d94fc4b..be385a189 100644
--- a/mRemoteV1/UI/Window/ExternalToolsWindow.resx
+++ b/mRemoteV1/UI/Window/ExternalToolsWindow.resx
@@ -112,21 +112,24 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
+ 177, 17
+
+
+ 357, 17
+
+
17, 17
-
- 197, 17
-
-
+
54
-
+
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj
index 206746b2c..c3c4abad0 100644
--- a/mRemoteV1/mRemoteV1.csproj
+++ b/mRemoteV1/mRemoteV1.csproj
@@ -344,9 +344,18 @@
Component
+
+ Component
+
+
+ Component
+
Component
+
+ Component
+
Component