diff --git a/mRemoteV1/Config/Settings/SettingsLoader.cs b/mRemoteV1/Config/Settings/SettingsLoader.cs index 09f106cb0..fcc93d9e2 100644 --- a/mRemoteV1/Config/Settings/SettingsLoader.cs +++ b/mRemoteV1/Config/Settings/SettingsLoader.cs @@ -5,7 +5,6 @@ using WeifenLuo.WinFormsUI.Docking; using mRemoteNG.App; using System.Threading; using System.Globalization; -using mRemoteNG.Themes; using mRemoteNG.Connection.Protocol; using mRemoteNG.App.Info; using mRemoteNG.Messages; diff --git a/mRemoteV1/Resources/Language/Language.Designer.cs b/mRemoteV1/Resources/Language/Language.Designer.cs index 07d45796e..067299bdc 100644 --- a/mRemoteV1/Resources/Language/Language.Designer.cs +++ b/mRemoteV1/Resources/Language/Language.Designer.cs @@ -19,7 +19,7 @@ namespace mRemoteNG { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Language { diff --git a/mRemoteV1/Resources/Language/Language.resx b/mRemoteV1/Resources/Language/Language.resx index 153f071e4..06c729829 100644 --- a/mRemoteV1/Resources/Language/Language.resx +++ b/mRemoteV1/Resources/Language/Language.resx @@ -2591,4 +2591,5 @@ This page will walk you through the process of upgrading your connections file o No themes are loaded, check that the default mremoteNG themes exist in the slash themes folder + \ No newline at end of file diff --git a/mRemoteV1/Themes/ExtendedColorPalette.cs b/mRemoteV1/Themes/ExtendedColorPalette.cs index 44d81a675..dfaa7e0c7 100644 --- a/mRemoteV1/Themes/ExtendedColorPalette.cs +++ b/mRemoteV1/Themes/ExtendedColorPalette.cs @@ -1,8 +1,5 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Drawing; -using System.Linq; -using System.Text; namespace mRemoteNG.Themes { @@ -19,7 +16,7 @@ namespace mRemoteNG.Themes key = _key; value = _value; } - public String Key + public string Key { get { @@ -51,8 +48,8 @@ namespace mRemoteNG.Themes { #region Private Variables //Collection for color values that are not loaded by dock panels (list, buttons,panel content, etc) - private Dictionary _extendedColors; - private Dictionary _default; + private Dictionary _extendedColors; + private Dictionary _default; #endregion #region Constructors @@ -77,25 +74,20 @@ namespace mRemoteNG.Themes /// /// /// - public Color getColor(String colorKey) + public Color getColor(string colorKey) { - Color retColor= Color.Empty; - - retColor = _extendedColors.ContainsKey(colorKey) ? _extendedColors[colorKey]:Color.Empty; + var retColor = _extendedColors.ContainsKey(colorKey) ? _extendedColors[colorKey]:Color.Empty; //Invisible colors are not good, might indicate missing color from the palette as is represented by 00000000 - if(retColor == Color.Empty || retColor.A == 0) + if (retColor != Color.Empty && retColor.A != 0) return retColor; + if(_default != null) { - if(_default != null) - { - retColor = _default.ContainsKey(colorKey) ? _default[colorKey] : Color.Empty; - } - //why are we here?, just avoid a crash - if(retColor == Color.Empty) - { - //Fail to pink , because why not - retColor = Color.Pink; - } - + retColor = _default.ContainsKey(colorKey) ? _default[colorKey] : Color.Empty; + } + //why are we here?, just avoid a crash + if(retColor == Color.Empty) + { + //Fail to pink , because why not + retColor = Color.Pink; } return retColor; @@ -122,7 +114,7 @@ namespace mRemoteNG.Themes _extendedColors[colorKey]= inColor; } - public Dictionary DefaultColorPalette + public Dictionary DefaultColorPalette { get { @@ -135,7 +127,7 @@ namespace mRemoteNG.Themes } - public Dictionary ExtColorPalette + public Dictionary ExtColorPalette { get { diff --git a/mRemoteV1/Themes/MremoteNGPaletteManipulator.cs b/mRemoteV1/Themes/MremoteNGPaletteManipulator.cs index 3c320e064..adca1727b 100644 --- a/mRemoteV1/Themes/MremoteNGPaletteManipulator.cs +++ b/mRemoteV1/Themes/MremoteNGPaletteManipulator.cs @@ -1,16 +1,8 @@ -using mRemoteNG.Themes; -using System; -using System.Collections; -using System.Collections.Generic; -using System.Configuration; +using System.Collections; using System.Drawing; using System.Globalization; using System.IO; -using System.Linq; -using System.Resources; -using System.Text; using System.Xml; -using System.Xml.Linq; namespace mRemoteNG.Themes { @@ -35,16 +27,17 @@ namespace mRemoteNG.Themes //Load the colors for the mRemoteNG own components as Dockpanel only have a menus and docks palette public ExtendedColorPalette getColors() { - ExtendedColorPalette newPalette = new ExtendedColorPalette(); + var newPalette = new ExtendedColorPalette(); newPalette.setDefault(_defaultPalette); - ResourceSet resourceSet = mRemoteNG.ColorMapTheme.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, true); + var resourceSet = ColorMapTheme.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, true); // foreach (DictionaryEntry entry in resourceSet) { - string colorName = entry.Key.ToString(); - String xmlQueryPath = (String)entry.Value; - XmlNodeList colorNodeList = _xml.DocumentElement.FirstChild.SelectNodes(xmlQueryPath); - String color = colorNodeList.Count > 0 ? colorNodeList[0].Value : null; + var colorName = entry.Key.ToString(); + var xmlQueryPath = (string)entry.Value; + if (_xml.DocumentElement == null) continue; + var colorNodeList = _xml.DocumentElement.FirstChild.SelectNodes(xmlQueryPath); + var color = colorNodeList != null && colorNodeList.Count > 0 ? colorNodeList[0].Value : null; if (color != null ) { newPalette.addColor(colorName , ColorTranslator.FromHtml($"#{color}")); @@ -62,23 +55,20 @@ namespace mRemoteNG.Themes /// public byte[] mergePalette(ExtendedColorPalette colorPalette) { - ResourceSet resourceSet = mRemoteNG.ColorMapTheme.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, true); + var resourceSet = ColorMapTheme.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, true); foreach (DictionaryEntry entry in resourceSet) { - string colorName = entry.Key.ToString(); - String xmlQueryPath = (String)entry.Value; - XmlNodeList colorNodeList = _xml.DocumentElement.FirstChild.SelectNodes(xmlQueryPath); - if(colorNodeList.Count > 0) - { - Color paletteColor = colorPalette.getColor(colorName); - colorNodeList[0].Value = string.Format("FF{0:X2}{1:X2}{2:X2}", paletteColor.R, paletteColor.G, paletteColor.B); - } - + var colorName = entry.Key.ToString(); + var xmlQueryPath = (string)entry.Value; + var colorNodeList = _xml.DocumentElement?.FirstChild.SelectNodes(xmlQueryPath); + if (colorNodeList == null || colorNodeList.Count <= 0) continue; + var paletteColor = colorPalette.getColor(colorName); + colorNodeList[0].Value = $"FF{paletteColor.R:X2}{paletteColor.G:X2}{paletteColor.B:X2}"; } - MemoryStream ms = new MemoryStream(); + var ms = new MemoryStream(); _xml.Save(ms); - byte[] bytes = ms.ToArray(); + var bytes = ms.ToArray(); return bytes; } diff --git a/mRemoteV1/Themes/ThemeInfo.cs b/mRemoteV1/Themes/ThemeInfo.cs index 6b17c9345..1fa032699 100644 --- a/mRemoteV1/Themes/ThemeInfo.cs +++ b/mRemoteV1/Themes/ThemeInfo.cs @@ -1,7 +1,5 @@ -using mRemoteNG.Tools; using System; using System.ComponentModel; -using System.Drawing; using System.Linq; using WeifenLuo.WinFormsUI.Docking; @@ -51,13 +49,17 @@ namespace mRemoteNG.Themes #region Public Methods public object Clone() { - ThemeInfo clonedObj; - ExtendedColorPalette extPalette = new ExtendedColorPalette(); - extPalette.ExtColorPalette = _extendedPalette.ExtColorPalette.ToDictionary(entry => entry.Key,entry => entry.Value); - extPalette.DefaultColorPalette = _extendedPalette.DefaultColorPalette; - clonedObj = new ThemeInfo(_name, _theme, _URI, _version, extPalette); - clonedObj.IsExtendable = _isExtendable; - clonedObj.IsThemeBase = _isThemeBase; + var extPalette = new ExtendedColorPalette + { + ExtColorPalette = + _extendedPalette.ExtColorPalette.ToDictionary(entry => entry.Key, entry => entry.Value), + DefaultColorPalette = _extendedPalette.DefaultColorPalette + }; + var clonedObj = new ThemeInfo(_name, _theme, _URI, _version, extPalette) + { + IsExtendable = _isExtendable, + IsThemeBase = _isThemeBase + }; return clonedObj; } @@ -72,7 +74,7 @@ namespace mRemoteNG.Themes get { return _name; } set { - if (_name == value) + if (string.Equals(_name, value, StringComparison.InvariantCulture)) { return; } @@ -85,7 +87,7 @@ namespace mRemoteNG.Themes get { return _theme; } set { - if (_theme == value) + if (value != null && _theme == value) { return; } @@ -98,7 +100,7 @@ namespace mRemoteNG.Themes get { return _URI; } set { - if (_URI == value) + if (value != null && _URI == value) { return; } @@ -111,7 +113,7 @@ namespace mRemoteNG.Themes get { return _version; } set { - if (_version == value) + if (Equals(_version, value)) { return; } @@ -124,7 +126,7 @@ namespace mRemoteNG.Themes get { return _extendedPalette; } set { - if (_extendedPalette == value) + if (_extendedPalette != null && _extendedPalette == value) { return; } diff --git a/mRemoteV1/Themes/ThemeManager.cs b/mRemoteV1/Themes/ThemeManager.cs index 2401ae15b..772cd4e27 100644 --- a/mRemoteV1/Themes/ThemeManager.cs +++ b/mRemoteV1/Themes/ThemeManager.cs @@ -1,7 +1,6 @@ using System.Collections; using System.Collections.Generic; using System.ComponentModel; -using System.Drawing; using System.IO; using System.Linq; using WeifenLuo.WinFormsUI.Docking; @@ -18,8 +17,8 @@ namespace mRemoteNG.Themes private ThemeInfo _activeTheme; private Hashtable themes; - private bool _themeActive = false; - private static ThemeManager themeInstance = null; + private bool _themeActive; + private static ThemeManager themeInstance; #endregion @@ -33,8 +32,8 @@ namespace mRemoteNG.Themes private void SetActive() { - if (themes[mRemoteNG.Settings.Default.ThemeName] != null) - ActiveTheme = (ThemeInfo) themes[mRemoteNG.Settings.Default.ThemeName]; + if (themes[Settings.Default.ThemeName] != null) + ActiveTheme = (ThemeInfo) themes[Settings.Default.ThemeName]; else ActiveTheme = DefaultTheme; } @@ -211,7 +210,7 @@ namespace mRemoteNG.Themes } } - public ThemeInfo DefaultTheme + private ThemeInfo DefaultTheme { get { diff --git a/mRemoteV1/Tools/DesignModeTest.cs b/mRemoteV1/Tools/DesignModeTest.cs index 6c6b55f67..17c04eb30 100644 --- a/mRemoteV1/Tools/DesignModeTest.cs +++ b/mRemoteV1/Tools/DesignModeTest.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; +using System.Reflection; //Taken from https://www.codeproject.com/Tips/447319/Resolve-DesignMode-for-a-user-control @@ -27,17 +24,14 @@ namespace mRemoteNG.Tools /// True if in design mode, otherwise false private static bool ResolveDesignMode(System.Windows.Forms.Control control) { - System.Reflection.PropertyInfo designModeProperty; - bool designMode; - // Get the protected property - designModeProperty = control.GetType().GetProperty( - "DesignMode", - System.Reflection.BindingFlags.Instance - | System.Reflection.BindingFlags.NonPublic); + var designModeProperty = control.GetType().GetProperty( + "DesignMode", + BindingFlags.Instance + | BindingFlags.NonPublic); // Get the controls DesignMode value - designMode = (bool)designModeProperty.GetValue(control, null); + var designMode = designModeProperty != null && (bool)designModeProperty.GetValue(control, null); // Test the parent if it exists if (control.Parent != null) diff --git a/mRemoteV1/Tools/ScanHost.cs b/mRemoteV1/Tools/ScanHost.cs index 987a97229..d7c4fa67b 100644 --- a/mRemoteV1/Tools/ScanHost.cs +++ b/mRemoteV1/Tools/ScanHost.cs @@ -1,6 +1,5 @@ using System; using System.Collections; -using System.Windows.Forms; using mRemoteNG.App; using mRemoteNG.Connection.Protocol.Http; using mRemoteNG.Connection.Protocol.RDP; diff --git a/mRemoteV1/UI/Controls/Base/NGButton.cs b/mRemoteV1/UI/Controls/Base/NGButton.cs index 6d640c068..b57a90050 100644 --- a/mRemoteV1/UI/Controls/Base/NGButton.cs +++ b/mRemoteV1/UI/Controls/Base/NGButton.cs @@ -1,5 +1,4 @@ using mRemoteNG.Themes; -using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Text; @@ -21,7 +20,7 @@ namespace mRemoteNG.UI.Controls.Base OUT } - public NGButton() : base() + public NGButton() { ThemeManager.getInstance().ThemeChanged += OnCreateControl; } @@ -106,7 +105,7 @@ 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.DrawRectangle(new Pen(border, 1), 0, 0, Width - 1, Height - 1); e.Graphics.SmoothingMode = SmoothingMode.AntiAlias; e.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias; //Warning. the app doesnt use many images in buttons so this positions are kinda tailored just for the used by the app @@ -117,7 +116,7 @@ namespace mRemoteNG.UI.Controls.Base e.Graphics.DrawImageUnscaled(Image, Width / 2 - (int)stringSize.Width / 2 - Image.Width + 2, Height / 2 - Image.Height/2); } - TextRenderer.DrawText(e.Graphics, this.Text, Font, ClientRectangle, fore, TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter); + TextRenderer.DrawText(e.Graphics, Text, Font, ClientRectangle, fore, TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter); } } } diff --git a/mRemoteV1/UI/Controls/Base/NGCheckBox.cs b/mRemoteV1/UI/Controls/Base/NGCheckBox.cs index 1a64a83ab..1019e10f4 100644 --- a/mRemoteV1/UI/Controls/Base/NGCheckBox.cs +++ b/mRemoteV1/UI/Controls/Base/NGCheckBox.cs @@ -1,11 +1,5 @@ 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 @@ -15,7 +9,7 @@ namespace mRemoteNG.UI.Controls.Base { private ThemeManager _themeManager; - public NGCheckBox() : base() + public NGCheckBox() { ThemeManager.getInstance().ThemeChanged += OnCreateControl; } @@ -35,36 +29,32 @@ namespace mRemoteNG.UI.Controls.Base base.OnCreateControl(); if (Tools.DesignModeTest.IsInDesignMode(this)) return; _themeManager = ThemeManager.getInstance(); - if (_themeManager.ThemingActive) + if (!_themeManager.ThemingActive) return; + _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) return; + _mice = MouseState.DOWN; + Invalidate(); + }; + MouseUp += (sender, args) => { _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(); - }; Invalidate(); - } + }; + + Invalidate(); } @@ -76,17 +66,16 @@ namespace mRemoteNG.UI.Controls.Base return; } //Get the colors - Color back; Color fore; Color glyph; - Color checkBack; Color checkBorder; - back = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Background"); + var back = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Background"); if (Enabled) { glyph = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Glyph"); fore = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Text"); + // ReSharper disable once SwitchStatementMissingSomeCases switch (_mice) { case MouseState.HOVER: @@ -110,9 +99,9 @@ namespace mRemoteNG.UI.Controls.Base e.Graphics.Clear(Parent.BackColor); - using (Pen p = new Pen(checkBorder)) + using (var p = new Pen(checkBorder)) { - Rectangle boxRect = new Rectangle(0, Height / 2 - 7, 11, 11); + var boxRect = new Rectangle(0, Height / 2 - 7, 11, 11); e.Graphics.FillRectangle(new SolidBrush(back), boxRect); e.Graphics.DrawRectangle(p, boxRect); } @@ -122,7 +111,7 @@ namespace mRemoteNG.UI.Controls.Base e.Graphics.DrawString("ü", new Font("Wingdings", 9f), new SolidBrush(glyph), -1, 1); } - Rectangle textRect = new Rectangle(16, 0, Width - 16, Height); + var 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/NGComboBox.cs b/mRemoteV1/UI/Controls/Base/NGComboBox.cs index cb7f7b6bf..aa4cb8d55 100644 --- a/mRemoteV1/UI/Controls/Base/NGComboBox.cs +++ b/mRemoteV1/UI/Controls/Base/NGComboBox.cs @@ -1,16 +1,12 @@ using mRemoteNG.Themes; -using System; -using System.Collections.Generic; using System.Drawing; -using System.Linq; -using System.Text; using System.Windows.Forms; namespace mRemoteNG.UI.Controls.Base { //Extended ComboBox class, the NGComboBox onPaint completely repaint the control as does the item painting //warning: THe DropDown style rendering is glitchy in this control, only use DropDownList or correct the rendering method - class NGComboBox : ComboBox + internal class NGComboBox : ComboBox { private ThemeManager _themeManager; public enum MouseState @@ -21,7 +17,7 @@ namespace mRemoteNG.UI.Controls.Base } public MouseState _mice { get; set; } - public NGComboBox() : base() + public NGComboBox() { ThemeManager.getInstance().ThemeChanged += OnCreateControl; } @@ -31,47 +27,43 @@ namespace mRemoteNG.UI.Controls.Base base.OnCreateControl(); if (Tools.DesignModeTest.IsInDesignMode(this)) return; _themeManager = ThemeManager.getInstance(); - if (_themeManager.ThemingActive) + if (!_themeManager.ThemingActive) return; + _themeManager = ThemeManager.getInstance(); + BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Background"); + ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Foreground"); + DrawMode = DrawMode.OwnerDrawFixed; + SetStyle(ControlStyles.OptimizedDoubleBuffer | + ControlStyles.UserPaint, true); + DrawItem += NG_DrawItem; + _mice = MouseState.OUT; + MouseEnter += (sender, args) => { - _themeManager = ThemeManager.getInstance(); - BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Background"); - ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Foreground"); - DrawMode = DrawMode.OwnerDrawFixed; - SetStyle(ControlStyles.OptimizedDoubleBuffer | - ControlStyles.UserPaint, true); - DrawItem += NG_DrawItem; - _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(); - }; + _mice = MouseState.HOVER; Invalidate(); - } + }; + MouseLeave += (sender, args) => + { + _mice = MouseState.OUT; + Invalidate(); + }; + MouseDown += (sender, args) => + { + if (args.Button != MouseButtons.Left) return; + _mice = MouseState.DOWN; + Invalidate(); + }; + MouseUp += (sender, args) => + { + _mice = MouseState.OUT; + + Invalidate(); + }; + Invalidate(); } private void NG_DrawItem(object sender, DrawItemEventArgs e) { - int index = e.Index >= 0 ? e.Index : 0; + var index = e.Index >= 0 ? e.Index : 0; Brush itemBrush= new SolidBrush(_themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Foreground")); if ((e.State & DrawItemState.Selected) == DrawItemState.Selected) @@ -88,7 +80,7 @@ namespace mRemoteNG.UI.Controls.Base { if (Items[index].GetType().GetProperty(DisplayMember) != null) { - e.Graphics.DrawString(Items[index].GetType().GetProperty(DisplayMember).GetValue(Items[index],null).ToString(), e.Font, itemBrush, e.Bounds, StringFormat.GenericDefault); + e.Graphics.DrawString(Items[index].GetType().GetProperty(DisplayMember)?.GetValue(Items[index],null).ToString(), e.Font, itemBrush, e.Bounds, StringFormat.GenericDefault); } } e.DrawFocusRectangle(); @@ -103,11 +95,11 @@ namespace mRemoteNG.UI.Controls.Base return; } //Colors - Color Border = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Border"); - Color Back = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Background"); - Color Fore = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Foreground"); - Color ButtBack = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Button_Background"); - Color ButtFore = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Button_Foreground"); + var Border = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Border"); + var Back = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Background"); + var Fore = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Foreground"); + var ButtBack = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Button_Background"); + var ButtFore = _themeManager.ActiveTheme.ExtendedPalette.getColor("ComboBox_Button_Foreground"); if (_mice == MouseState.HOVER) { @@ -126,13 +118,13 @@ namespace mRemoteNG.UI.Controls.Base e.Graphics.Clear(Back); //Border - using (Pen p = new Pen(Border)) + using (var p = new Pen(Border)) { - Rectangle boxRect = new Rectangle(0, 0, Width - 1, Height - 1); + var boxRect = new Rectangle(0, 0, Width - 1, Height - 1); e.Graphics.DrawRectangle(p, boxRect); } //Button - using (SolidBrush b = new SolidBrush(ButtBack)) + using (var b = new SolidBrush(ButtBack)) { e.Graphics.FillRectangle(b, Width - 18, 2, 16, Height - 4); } @@ -141,7 +133,7 @@ namespace mRemoteNG.UI.Controls.Base e.Graphics.DrawString("q", new Font("Wingdings 3", 8f), new SolidBrush(ButtFore), Width-17, Height/2 -5); //Text - Rectangle textRect = new Rectangle(2, 2, Width - 20, Height - 4); + var textRect = new Rectangle(2, 2, Width - 20, Height - 4); TextRenderer.DrawText(e.Graphics, Text, Font, textRect, Fore, Back, TextFormatFlags.Left | TextFormatFlags.VerticalCenter); } } diff --git a/mRemoteV1/UI/Controls/Base/NGGroupBox.cs b/mRemoteV1/UI/Controls/Base/NGGroupBox.cs index 52483dbcf..093b61239 100644 --- a/mRemoteV1/UI/Controls/Base/NGGroupBox.cs +++ b/mRemoteV1/UI/Controls/Base/NGGroupBox.cs @@ -1,11 +1,6 @@ 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 { @@ -40,33 +35,33 @@ namespace mRemoteNG.UI.Controls.Base 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"); + var titleColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("GroupBox_Foreground"); + //var backColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("GroupBox_Backgorund"); + var 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"); + //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; + //var state = Enabled ? GroupBoxState.Normal : GroupBoxState.Disabled; + var flags = TextFormatFlags.PreserveGraphicsTranslateTransform | TextFormatFlags.PreserveGraphicsClipping | TextFormatFlags.TextBoxControl |TextFormatFlags.WordBreak; - if (!this.ShowKeyboardCues) + if (!ShowKeyboardCues) flags |= TextFormatFlags.HidePrefix; - if (this.RightToLeft == RightToLeft.Yes) + if (RightToLeft == RightToLeft.Yes) flags |= TextFormatFlags.RightToLeft | TextFormatFlags.Right; //No clear backgorund, this control is transparently //e.Graphics.FillRectangle(new SolidBrush(backColor), 0, 0, Width, Height); - Rectangle bounds = new Rectangle(0, 0, base.Width, base.Height); - Rectangle rectangle = bounds; + var bounds = new Rectangle(0, 0, Width, Height); + var rectangle = bounds; rectangle.Width -= 8; - Size size = TextRenderer.MeasureText(e.Graphics, Text, Font, new Size(rectangle.Width, rectangle.Height), flags); + var 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) @@ -79,7 +74,7 @@ namespace mRemoteNG.UI.Controls.Base rectangle.Inflate(2, 0); using (var pen = new Pen(lineColor)) { - int num = bounds.Top + (Font.Height / 2); + var 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 diff --git a/mRemoteV1/UI/Controls/Base/NGLabel.cs b/mRemoteV1/UI/Controls/Base/NGLabel.cs index fcbc61258..2e49dc461 100644 --- a/mRemoteV1/UI/Controls/Base/NGLabel.cs +++ b/mRemoteV1/UI/Controls/Base/NGLabel.cs @@ -14,7 +14,7 @@ namespace mRemoteNG.UI.Controls.Base private ThemeManager _themeManager; - public NGLabel() : base() + public NGLabel() { ThemeManager.getInstance().ThemeChanged += OnCreateControl; } @@ -46,7 +46,7 @@ namespace mRemoteNG.UI.Controls.Base } else { - Color disabledtextLabel = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Disabled_Foreground"); + var disabledtextLabel = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Disabled_Foreground"); TextRenderer.DrawText(e.Graphics, this.Text, Font, ClientRectangle, disabledtextLabel, TextFormatFlags.Left | TextFormatFlags.VerticalCenter); } diff --git a/mRemoteV1/UI/Controls/Base/NGListView.cs b/mRemoteV1/UI/Controls/Base/NGListView.cs index f8dfe7025..f42f03086 100644 --- a/mRemoteV1/UI/Controls/Base/NGListView.cs +++ b/mRemoteV1/UI/Controls/Base/NGListView.cs @@ -1,17 +1,12 @@ using BrightIdeasSoftware; using mRemoteNG.Themes; -using System; -using System.Collections.Generic; using System.Drawing; -using System.Linq; -using System.Text; -using System.Windows.Forms; namespace mRemoteNG.UI.Controls.Base { //Simple coloring of ObjectListView //This is subclassed to avoid repeating the code in multiple places - class NGListView : ObjectListView + internal class NGListView : ObjectListView { private CellBorderDecoration deco; @@ -19,7 +14,7 @@ namespace mRemoteNG.UI.Controls.Base public bool DecorateLines { get; set; } = true; - public NGListView() : base() + public NGListView() { ThemeManager.getInstance().ThemeChanged += OnCreateControl; } @@ -32,41 +27,38 @@ namespace mRemoteNG.UI.Controls.Base base.OnCreateControl(); if (Tools.DesignModeTest.IsInDesignMode(this)) return; - ThemeManager _themeManager = ThemeManager.getInstance(); - if (_themeManager.ThemingActive) + var _themeManager = ThemeManager.getInstance(); + if (!_themeManager.ThemingActive) return; + //List back color + BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Background"); + ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Foreground"); + //Selected item + SelectedBackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Selected_Background"); + SelectedForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Selected_Foreground"); + + //Header style + HeaderUsesThemes = false; + var headerStylo = new HeaderFormatStyle(); + headerStylo.Normal.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Header_Background"); + headerStylo.Normal.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Header_Foreground"); + HeaderFormatStyle = headerStylo; + //Border style + if(DecorateLines) { - - //List back color - BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Background"); - ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Foreground"); - //Selected item - SelectedBackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Selected_Background"); - SelectedForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Selected_Foreground"); - - //Header style - HeaderUsesThemes = false; - HeaderFormatStyle headerStylo = new HeaderFormatStyle(); - headerStylo.Normal.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Header_Background"); - headerStylo.Normal.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Header_Foreground"); - HeaderFormatStyle = headerStylo; - //Border style - if(DecorateLines) + UseCellFormatEvents = true; + GridLines = false; + deco = new CellBorderDecoration { - UseCellFormatEvents = true; - GridLines = false; - deco = new CellBorderDecoration(); - deco.BorderPen = new Pen(_themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Border")); - deco.FillBrush = null; - deco.BoundsPadding = Size.Empty; - deco.CornerRounding = 0; - FormatCell += NGListView_FormatCell; - } - if (Items != null && Items.Count != 0) - BuildList(); - Invalidate(); - + BorderPen = new Pen(_themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Border")), + FillBrush = null, + BoundsPadding = Size.Empty, + CornerRounding = 0 + }; + FormatCell += NGListView_FormatCell; } - + if (Items != null && Items.Count != 0) + BuildList(); + Invalidate(); } private void NGListView_FormatCell(object sender, FormatCellEventArgs e) diff --git a/mRemoteV1/UI/Controls/Base/NGNumericUpDown.cs b/mRemoteV1/UI/Controls/Base/NGNumericUpDown.cs index d4807a252..370b19ac8 100644 --- a/mRemoteV1/UI/Controls/Base/NGNumericUpDown.cs +++ b/mRemoteV1/UI/Controls/Base/NGNumericUpDown.cs @@ -1,16 +1,13 @@ using mRemoteNG.Themes; using System; -using System.Collections.Generic; using System.Drawing; -using System.Linq; -using System.Text; using System.Windows.Forms; namespace mRemoteNG.UI.Controls.Base { //Repaint of the NumericUpDown, the composite control buttons are replaced because the //original ones cannot be themed due to protected inheritance - class NGNumericUpDown : NumericUpDown + internal class NGNumericUpDown : NumericUpDown { private ThemeManager _themeManager; @@ -25,33 +22,32 @@ namespace mRemoteNG.UI.Controls.Base protected override void OnCreateControl() { base.OnCreateControl(); - if (!Tools.DesignModeTest.IsInDesignMode(this)) + if (Tools.DesignModeTest.IsInDesignMode(this)) return; + _themeManager = ThemeManager.getInstance(); + if (!_themeManager.ThemingActive) return; + ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground"); + BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); + SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true); + //Hide those nonthemable butons + Controls[0].Hide(); + //Add new themable buttons + Up = new NGButton { - _themeManager = ThemeManager.getInstance(); - if (_themeManager.ThemingActive) - { - ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground"); - BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); - SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true); - //Hide those nonthemable butons - Controls[0].Hide(); - //Add new themable buttons - Up = new NGButton(); - Up.Text = "p"; - Up.Font = new Font("Wingdings 3", 6f); - Up.SetBounds(Width - 17, 1, 16, Height / 2 - 1); - Up.Click += Up_Click; - Down = new NGButton(); - Down.Text = "q"; - Down.Font = new Font("Wingdings 3", 6f); - Down.SetBounds(Width - 17, Height/2, 16, Height / 2 - 1); - Down.Click += Down_Click; - Controls.Add(Up); - Controls.Add(Down); - Invalidate(); - } - } - + Text = "p", + Font = new Font("Wingdings 3", 6f) + }; + Up.SetBounds(Width - 17, 1, 16, Height / 2 - 1); + Up.Click += Up_Click; + Down = new NGButton + { + Text = "q", + Font = new Font("Wingdings 3", 6f) + }; + Down.SetBounds(Width - 17, Height/2, 16, Height / 2 - 1); + Down.Click += Down_Click; + Controls.Add(Up); + Controls.Add(Down); + Invalidate(); } private void Down_Click(object sender, EventArgs e) @@ -72,7 +68,7 @@ namespace mRemoteNG.UI.Controls.Base _themeManager = ThemeManager.getInstance(); if (_themeManager.ThemingActive) { - if (base.Enabled) + if (Enabled) { ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground"); BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); @@ -92,16 +88,11 @@ namespace mRemoteNG.UI.Controls.Base protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); - if (!Tools.DesignModeTest.IsInDesignMode(this)) - { - if (_themeManager.ThemingActive) - { - //Fix Border - if (BorderStyle != BorderStyle.None) - e.Graphics.DrawRectangle(new Pen(_themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Border"), 1), 0, 0, base.Width - 1, base.Height - 1); - } - } - + if (Tools.DesignModeTest.IsInDesignMode(this)) return; + if (!_themeManager.ThemingActive) return; + //Fix Border + if (BorderStyle != BorderStyle.None) + e.Graphics.DrawRectangle(new Pen(_themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Border"), 1), 0, 0, Width - 1, Height - 1); } diff --git a/mRemoteV1/UI/Controls/Base/NGProgressBar.cs b/mRemoteV1/UI/Controls/Base/NGProgressBar.cs index db42f1ccb..5a10cd9c9 100644 --- a/mRemoteV1/UI/Controls/Base/NGProgressBar.cs +++ b/mRemoteV1/UI/Controls/Base/NGProgressBar.cs @@ -1,21 +1,17 @@ using mRemoteNG.Themes; -using System; -using System.Collections.Generic; using System.Drawing; -using System.Linq; -using System.Text; using System.Windows.Forms; namespace mRemoteNG.UI.Controls.Base { // Repaint of a ProgressBar on a flat style - class NGProgressBar : ProgressBar + internal class NGProgressBar : ProgressBar { private ThemeManager _themeManager; - public NGProgressBar() : base() + public NGProgressBar() { ThemeManager.getInstance().ThemeChanged += OnCreateControl; } @@ -23,17 +19,12 @@ namespace mRemoteNG.UI.Controls.Base protected override void OnCreateControl() { base.OnCreateControl(); - if (!Tools.DesignModeTest.IsInDesignMode(this)) - { - _themeManager = ThemeManager.getInstance(); - if (_themeManager.ThemingActive) - { - SetStyle(ControlStyles.UserPaint, true); - SetStyle(ControlStyles.OptimizedDoubleBuffer, true); - Invalidate(); - } - } - + if (Tools.DesignModeTest.IsInDesignMode(this)) return; + _themeManager = ThemeManager.getInstance(); + if (!_themeManager.ThemingActive) return; + SetStyle(ControlStyles.UserPaint, true); + SetStyle(ControlStyles.OptimizedDoubleBuffer, true); + Invalidate(); } protected override void OnPaint(PaintEventArgs e) @@ -43,8 +34,8 @@ namespace mRemoteNG.UI.Controls.Base base.OnPaint(e); return; } - Color progressFill = _themeManager.ActiveTheme.ExtendedPalette.getColor("ProgressBar_Fill"); - Color back = _themeManager.ActiveTheme.ExtendedPalette.getColor("ProgressBar_Background"); + var progressFill = _themeManager.ActiveTheme.ExtendedPalette.getColor("ProgressBar_Fill"); + var back = _themeManager.ActiveTheme.ExtendedPalette.getColor("ProgressBar_Background"); var doneProgress = (int)(e.ClipRectangle.Width * ((double)Value / Maximum)); e.Graphics.FillRectangle(new SolidBrush(progressFill), 0, 0, doneProgress, e.ClipRectangle.Height); e.Graphics.FillRectangle(new SolidBrush(back), doneProgress, 0, e.ClipRectangle.Width, e.ClipRectangle.Height); diff --git a/mRemoteV1/UI/Controls/Base/NGRadioButton.cs b/mRemoteV1/UI/Controls/Base/NGRadioButton.cs index 3539f8cf3..f5282dfde 100644 --- a/mRemoteV1/UI/Controls/Base/NGRadioButton.cs +++ b/mRemoteV1/UI/Controls/Base/NGRadioButton.cs @@ -1,10 +1,6 @@ using mRemoteNG.Themes; -using System; -using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D; -using System.Linq; -using System.Text; using System.Windows.Forms; namespace mRemoteNG.UI.Controls.Base @@ -17,7 +13,7 @@ namespace mRemoteNG.UI.Controls.Base private Rectangle circle; private Rectangle circle_small; // Constructor - public NGRadioButton() :base() + public NGRadioButton() { // Init circle_small = new Rectangle(4, 4, 6, 6 ); @@ -26,55 +22,49 @@ namespace mRemoteNG.UI.Controls.Base } - public enum MouseState + private enum MouseState { HOVER, DOWN, OUT } - public MouseState _mice { get; set; } + private MouseState _mice { get; set; } protected override void OnCreateControl() { base.OnCreateControl(); - if (!Tools.DesignModeTest.IsInDesignMode(this)) + if (Tools.DesignModeTest.IsInDesignMode(this)) return; + _themeManager = ThemeManager.getInstance(); + if (!_themeManager.ThemingActive) return; + // Allows for Overlaying + SetStyle(ControlStyles.SupportsTransparentBackColor, true); + BackColor = Color.Transparent; + _mice = MouseState.OUT; + MouseEnter += (sender, args) => { - _themeManager = ThemeManager.getInstance(); - if (_themeManager.ThemingActive) - { - // Allows for Overlaying - SetStyle(ControlStyles.SupportsTransparentBackColor, true); - BackColor = Color.Transparent; - _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; + _mice = MouseState.HOVER; + Invalidate(); + }; + MouseLeave += (sender, args) => + { + _mice = MouseState.OUT; + Invalidate(); + }; + MouseDown += (sender, args) => + { + if (args.Button != MouseButtons.Left) return; + _mice = MouseState.DOWN; + Invalidate(); + }; + MouseUp += (sender, args) => + { + _mice = MouseState.OUT; - Invalidate(); - }; - Invalidate(); - } - } + Invalidate(); + }; + Invalidate(); } @@ -87,13 +77,13 @@ namespace mRemoteNG.UI.Controls.Base return; } // Init - Graphics g = e.Graphics; + var g = e.Graphics; g.SmoothingMode = SmoothingMode.AntiAlias; - Color fore = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Text"); - Color outline = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Border"); - Color centerBack = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Background"); - Color center = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Glyph"); + var fore = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Text"); + var outline = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Border"); + var centerBack = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Background"); + Color center; // Overlay Graphic e.Graphics.Clear(Parent.BackColor); @@ -120,7 +110,7 @@ namespace mRemoteNG.UI.Controls.Base fore = _themeManager.ActiveTheme.ExtendedPalette.getColor("CheckBox_Text_Disabled"); } - Rectangle textRect = new Rectangle(16, Padding.Top, Width - 16, Height); + var textRect = new Rectangle(16, Padding.Top, Width - 16, Height); TextRenderer.DrawText(e.Graphics, Text, Font, textRect, fore, Parent.BackColor, TextFormatFlags.PathEllipsis); g.FillEllipse(new SolidBrush(centerBack), circle); diff --git a/mRemoteV1/UI/Controls/Base/NGTextBox.cs b/mRemoteV1/UI/Controls/Base/NGTextBox.cs index bccd5ad8f..0e99e1979 100644 --- a/mRemoteV1/UI/Controls/Base/NGTextBox.cs +++ b/mRemoteV1/UI/Controls/Base/NGTextBox.cs @@ -1,11 +1,5 @@ using mRemoteNG.Themes; using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Diagnostics; -using System.Drawing; -using System.Linq; -using System.Text; using System.Windows.Forms; namespace mRemoteNG.UI.Controls.Base @@ -16,7 +10,7 @@ namespace mRemoteNG.UI.Controls.Base { private ThemeManager _themeManager; - public NGTextBox() : base() + public NGTextBox() { ThemeManager.getInstance().ThemeChanged += OnCreateControl; } @@ -24,17 +18,12 @@ namespace mRemoteNG.UI.Controls.Base protected override void OnCreateControl() { base.OnCreateControl(); - if (!Tools.DesignModeTest.IsInDesignMode(this)) - { - _themeManager = ThemeManager.getInstance(); - if (_themeManager.ThemingActive) - { - ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground"); - BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); - Invalidate(); - } - } - + if (Tools.DesignModeTest.IsInDesignMode(this)) return; + _themeManager = ThemeManager.getInstance(); + if (!_themeManager.ThemingActive) return; + ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground"); + BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); + Invalidate(); } @@ -46,7 +35,7 @@ namespace mRemoteNG.UI.Controls.Base _themeManager = ThemeManager.getInstance(); if(_themeManager.ThemingActive) { - if (base.Enabled) + if (Enabled) { ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground"); BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); diff --git a/mRemoteV1/UI/Controls/ExternalToolsToolStrip.cs b/mRemoteV1/UI/Controls/ExternalToolsToolStrip.cs index 0dee16a54..5595980fc 100644 --- a/mRemoteV1/UI/Controls/ExternalToolsToolStrip.cs +++ b/mRemoteV1/UI/Controls/ExternalToolsToolStrip.cs @@ -3,7 +3,6 @@ using System.ComponentModel; using System.Windows.Forms; using mRemoteNG.App; using mRemoteNG.Messages; -using mRemoteNG.Themes; using mRemoteNG.Tools; using mRemoteNG.Tree; diff --git a/mRemoteV1/UI/Controls/IPTextBox.cs b/mRemoteV1/UI/Controls/IPTextBox.cs index 09b003ecd..bde3f5f54 100644 --- a/mRemoteV1/UI/Controls/IPTextBox.cs +++ b/mRemoteV1/UI/Controls/IPTextBox.cs @@ -2,9 +2,7 @@ * http://www.codeproject.com/Articles/11576/IP-TextBox * Original Author: mawnkay */ -using mRemoteNG.Themes; using System; -using System.Drawing; using System.Windows.Forms; namespace mRemoteNG.UI.Controls @@ -88,11 +86,9 @@ namespace mRemoteNG.UI.Controls private void ApplyTheme() { - if (!Tools.DesignModeTest.IsInDesignMode(this)) - { - if (Themes.ThemeManager.getInstance().ThemingActive) - this.panel1.BackColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); - } + if (Tools.DesignModeTest.IsInDesignMode(this)) return; + if (Themes.ThemeManager.getInstance().ThemingActive) + panel1.BackColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); } protected override void Dispose( bool disposing ) { @@ -111,126 +107,126 @@ namespace mRemoteNG.UI.Controls /// the contents of this method with the code editor. private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - this.panel1 = new System.Windows.Forms.Panel(); - this.label3 = new Base.NGLabel(); - this.label2 = new Base.NGLabel(); - this.Octet4 = new Base.NGTextBox(); - this.Octet3 = new Base.NGTextBox(); - this.Octet2 = new Base.NGTextBox(); - this.label1 = new Base.NGLabel(); - this.Octet1 = new Base.NGTextBox(); - this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.panel1.SuspendLayout(); - this.SuspendLayout(); + components = new System.ComponentModel.Container(); + panel1 = new Panel(); + label3 = new Base.NGLabel(); + label2 = new Base.NGLabel(); + Octet4 = new Base.NGTextBox(); + Octet3 = new Base.NGTextBox(); + Octet2 = new Base.NGTextBox(); + label1 = new Base.NGLabel(); + Octet1 = new Base.NGTextBox(); + toolTip1 = new System.Windows.Forms.ToolTip(components); + panel1.SuspendLayout(); + SuspendLayout(); // // panel1 // - this.panel1.BackColor = System.Drawing.SystemColors.Window; - this.panel1.Controls.Add(this.Octet4); - this.panel1.Controls.Add(this.Octet3); - this.panel1.Controls.Add(this.Octet2); - this.panel1.Controls.Add(this.Octet1); - this.panel1.Controls.Add(this.label2); - this.panel1.Controls.Add(this.label1); - this.panel1.Controls.Add(this.label3); - this.panel1.Font = new System.Drawing.Font("Segoe UI", 9F); - this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(124, 18); - this.panel1.TabIndex = 0; + panel1.BackColor = System.Drawing.SystemColors.Window; + panel1.Controls.Add(Octet4); + panel1.Controls.Add(Octet3); + panel1.Controls.Add(Octet2); + panel1.Controls.Add(Octet1); + panel1.Controls.Add(label2); + panel1.Controls.Add(label1); + panel1.Controls.Add(label3); + panel1.Font = new System.Drawing.Font("Segoe UI", 9F); + panel1.Location = new System.Drawing.Point(0, 0); + panel1.Name = "panel1"; + panel1.Size = new System.Drawing.Size(124, 18); + panel1.TabIndex = 0; // // label3 // - this.label3.Location = new System.Drawing.Point(23, 1); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(8, 13); - this.label3.TabIndex = 6; - this.label3.Text = "."; + label3.Location = new System.Drawing.Point(23, 1); + label3.Name = "label3"; + label3.Size = new System.Drawing.Size(8, 13); + label3.TabIndex = 6; + label3.Text = "."; // // label2 // - this.label2.Location = new System.Drawing.Point(86, 2); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(8, 13); - this.label2.TabIndex = 5; - this.label2.Text = "."; + label2.Location = new System.Drawing.Point(86, 2); + label2.Name = "label2"; + label2.Size = new System.Drawing.Size(8, 13); + label2.TabIndex = 5; + label2.Text = "."; // // Octet4 // - this.Octet4.BackColor = System.Drawing.SystemColors.Menu; - this.Octet4.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.Octet4.Font = new System.Drawing.Font("Segoe UI", 9F); - this.Octet4.Location = new System.Drawing.Point(95, 1); - this.Octet4.MaxLength = 3; - this.Octet4.Name = "Octet4"; - this.Octet4.Size = new System.Drawing.Size(24, 16); - this.Octet4.TabIndex = 4; - this.Octet4.TabStop = false; - this.Octet4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.Octet4.Enter += new System.EventHandler(this.Box_Enter); - this.Octet4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Box4_KeyPress); + Octet4.BackColor = System.Drawing.SystemColors.Menu; + Octet4.BorderStyle = System.Windows.Forms.BorderStyle.None; + Octet4.Font = new System.Drawing.Font("Segoe UI", 9F); + Octet4.Location = new System.Drawing.Point(95, 1); + Octet4.MaxLength = 3; + Octet4.Name = "Octet4"; + Octet4.Size = new System.Drawing.Size(24, 16); + Octet4.TabIndex = 4; + Octet4.TabStop = false; + Octet4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + Octet4.Enter += new System.EventHandler(Box_Enter); + Octet4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(Box4_KeyPress); // // Octet3 // - this.Octet3.BackColor = System.Drawing.SystemColors.Menu; - this.Octet3.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.Octet3.Font = new System.Drawing.Font("Segoe UI", 9F); - this.Octet3.Location = new System.Drawing.Point(63, 1); - this.Octet3.MaxLength = 3; - this.Octet3.Name = "Octet3"; - this.Octet3.Size = new System.Drawing.Size(24, 16); - this.Octet3.TabIndex = 3; - this.Octet3.TabStop = false; - this.Octet3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.Octet3.Enter += new System.EventHandler(this.Box_Enter); - this.Octet3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Box3_KeyPress); + Octet3.BackColor = System.Drawing.SystemColors.Menu; + Octet3.BorderStyle = System.Windows.Forms.BorderStyle.None; + Octet3.Font = new System.Drawing.Font("Segoe UI", 9F); + Octet3.Location = new System.Drawing.Point(63, 1); + Octet3.MaxLength = 3; + Octet3.Name = "Octet3"; + Octet3.Size = new System.Drawing.Size(24, 16); + Octet3.TabIndex = 3; + Octet3.TabStop = false; + Octet3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + Octet3.Enter += new System.EventHandler(Box_Enter); + Octet3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(Box3_KeyPress); // // Octet2 // - this.Octet2.BackColor = System.Drawing.SystemColors.Menu; - this.Octet2.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.Octet2.Font = new System.Drawing.Font("Segoe UI", 9F); - this.Octet2.Location = new System.Drawing.Point(32, 1); - this.Octet2.MaxLength = 3; - this.Octet2.Name = "Octet2"; - this.Octet2.Size = new System.Drawing.Size(24, 16); - this.Octet2.TabIndex = 2; - this.Octet2.TabStop = false; - this.Octet2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.Octet2.Enter += new System.EventHandler(this.Box_Enter); - this.Octet2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Box2_KeyPress); + Octet2.BackColor = System.Drawing.SystemColors.Menu; + Octet2.BorderStyle = System.Windows.Forms.BorderStyle.None; + Octet2.Font = new System.Drawing.Font("Segoe UI", 9F); + Octet2.Location = new System.Drawing.Point(32, 1); + Octet2.MaxLength = 3; + Octet2.Name = "Octet2"; + Octet2.Size = new System.Drawing.Size(24, 16); + Octet2.TabIndex = 2; + Octet2.TabStop = false; + Octet2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + Octet2.Enter += new System.EventHandler(Box_Enter); + Octet2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(Box2_KeyPress); // // label1 // - this.label1.Location = new System.Drawing.Point(55, 2); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(8, 13); - this.label1.TabIndex = 1; - this.label1.Text = "."; + label1.Location = new System.Drawing.Point(55, 2); + label1.Name = "label1"; + label1.Size = new System.Drawing.Size(8, 13); + label1.TabIndex = 1; + label1.Text = "."; // // Octet1 // - this.Octet1.BackColor = System.Drawing.SystemColors.Menu; - this.Octet1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.Octet1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.Octet1.Location = new System.Drawing.Point(1, 1); - this.Octet1.MaxLength = 3; - this.Octet1.Name = "Octet1"; - this.Octet1.Size = new System.Drawing.Size(24, 16); - this.Octet1.TabIndex = 1; - this.Octet1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.Octet1.Enter += new System.EventHandler(this.Box_Enter); - this.Octet1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Box1_KeyPress); + Octet1.BackColor = System.Drawing.SystemColors.Menu; + Octet1.BorderStyle = System.Windows.Forms.BorderStyle.None; + Octet1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + Octet1.Location = new System.Drawing.Point(1, 1); + Octet1.MaxLength = 3; + Octet1.Name = "Octet1"; + Octet1.Size = new System.Drawing.Size(24, 16); + Octet1.TabIndex = 1; + Octet1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + Octet1.Enter += new System.EventHandler(Box_Enter); + Octet1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(Box1_KeyPress); // // IPTextBox // - this.Controls.Add(this.panel1); - this.Name = "IPTextBox"; - this.Size = new System.Drawing.Size(124, 18); - this.panel1.ResumeLayout(false); - this.panel1.PerformLayout(); - this.ResumeLayout(false); + Controls.Add(panel1); + Name = "IPTextBox"; + Size = new System.Drawing.Size(124, 18); + panel1.ResumeLayout(false); + panel1.PerformLayout(); + ResumeLayout(false); } #endregion @@ -284,21 +280,19 @@ namespace mRemoteNG.UI.Controls //If we are not overwriting the whole text else if(Octet1.SelectionLength != Octet1.Text.Length) - { - //Check that the new Text value will be a valid + { + //Check that the new Text value will be a valid // ip octet then move on to next box - if(Octet1.Text.Length == 2) - { - if(!IsValid(Octet1.Text + e.KeyChar)) - { - Octet1.SelectAll(); - e.Handled = true; - } - else - { - Octet2.Focus(); - } - } + if (Octet1.Text.Length != 2) return; + if(!IsValid(Octet1.Text + e.KeyChar)) + { + Octet1.SelectAll(); + e.Handled = true; + } + else + { + Octet2.Focus(); + } } } //Do nothing if the keypress is not numeral, backspace, or '.' @@ -329,18 +323,16 @@ namespace mRemoteNG.UI.Controls } else if(Octet2.SelectionLength != Octet2.Text.Length) { - if(Octet2.Text.Length == 2) - { - if(!IsValid(Octet2.Text + e.KeyChar)) - { - Octet2.SelectAll(); - e.Handled = true; - } - else - { - Octet3.Focus(); - } - } + if (Octet2.Text.Length != 2) return; + if(!IsValid(Octet2.Text + e.KeyChar)) + { + Octet2.SelectAll(); + e.Handled = true; + } + else + { + Octet3.Focus(); + } } else if(Octet2.Text.Length == 0 && e.KeyChar == 8) { @@ -376,18 +368,16 @@ namespace mRemoteNG.UI.Controls } else if(Octet3.SelectionLength != Octet3.Text.Length) { - if(Octet3.Text.Length == 2) - { - if(!IsValid(Octet3.Text + e.KeyChar)) - { - Octet3.SelectAll(); - e.Handled = true; - } - else - { - Octet4.Focus(); - } - } + if (Octet3.Text.Length != 2) return; + if(!IsValid(Octet3.Text + e.KeyChar)) + { + Octet3.SelectAll(); + e.Handled = true; + } + else + { + Octet4.Focus(); + } } else if(Octet3.Text.Length == 0 && e.KeyChar == 8) { @@ -411,14 +401,10 @@ namespace mRemoteNG.UI.Controls { if(Octet4.SelectionLength != Octet4.Text.Length) { - if(Octet4.Text.Length == 2) - { - if(!IsValid(Octet4.Text + e.KeyChar)) - { - Octet4.SelectAll(); - e.Handled = true; - } - } + if (Octet4.Text.Length != 2) return; + if (IsValid(Octet4.Text + e.KeyChar)) return; + Octet4.SelectAll(); + e.Handled = true; } else if(Octet4.Text.Length == 0 && e.KeyChar == 8) { diff --git a/mRemoteV1/UI/Controls/PageSequence/SequencedControl.cs b/mRemoteV1/UI/Controls/PageSequence/SequencedControl.cs index 0c680b801..8a9111d0e 100644 --- a/mRemoteV1/UI/Controls/PageSequence/SequencedControl.cs +++ b/mRemoteV1/UI/Controls/PageSequence/SequencedControl.cs @@ -9,7 +9,7 @@ namespace mRemoteNG.UI.Controls.PageSequence public event EventHandler Previous; public event SequencedPageReplcementRequestHandler PageReplacementRequested; - public SequencedControl() : base() + public SequencedControl() { Themes.ThemeManager.getInstance().ThemeChanged += ApplyTheme; } @@ -19,13 +19,11 @@ namespace mRemoteNG.UI.Controls.PageSequence Next?.Invoke(this, EventArgs.Empty); } - public virtual void ApplyTheme() + protected virtual void ApplyTheme() { - if (Themes.ThemeManager.getInstance().ThemingActive) - { - BackColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); - ForeColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); - } + if (!Themes.ThemeManager.getInstance().ThemingActive) return; + BackColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); + ForeColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); } protected virtual void RaisePreviousPageEvent() diff --git a/mRemoteV1/UI/Controls/QuickConnectToolStrip.cs b/mRemoteV1/UI/Controls/QuickConnectToolStrip.cs index fe77ee861..79411bcc7 100644 --- a/mRemoteV1/UI/Controls/QuickConnectToolStrip.cs +++ b/mRemoteV1/UI/Controls/QuickConnectToolStrip.cs @@ -8,7 +8,6 @@ using mRemoteNG.Connection.Protocol; using mRemoteNG.Container; using mRemoteNG.Themes; using mRemoteNG.Tools; -using System.Drawing; namespace mRemoteNG.UI.Controls { @@ -134,13 +133,11 @@ namespace mRemoteNG.UI.Controls private void ApplyTheme() { - if (_themeManager.ThemingActive) - { - vsToolStripExtender.SetStyle(_mnuQuickConnectProtocol, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme); - vsToolStripExtender.SetStyle(_mnuConnections, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme); - _cmbQuickConnect.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); - _cmbQuickConnect.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground"); - } + if (!_themeManager.ThemingActive) return; + vsToolStripExtender.SetStyle(_mnuQuickConnectProtocol, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme); + vsToolStripExtender.SetStyle(_mnuConnections, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme); + _cmbQuickConnect.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); + _cmbQuickConnect.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground"); } #region Quick Connect @@ -235,7 +232,6 @@ namespace mRemoteNG.UI.Controls private void ConnectionsMenuItem_MouseUp(object sender, MouseEventArgs e) { if (e.Button != MouseButtons.Left) return; - if (((ToolStripMenuItem)sender).Tag is ContainerInfo) return; var tag = ((ToolStripMenuItem)sender).Tag as ConnectionInfo; if (tag != null) { diff --git a/mRemoteV1/UI/Controls/SecureTextBox.cs b/mRemoteV1/UI/Controls/SecureTextBox.cs index 1ff59567c..d07e2ef4d 100644 --- a/mRemoteV1/UI/Controls/SecureTextBox.cs +++ b/mRemoteV1/UI/Controls/SecureTextBox.cs @@ -1,5 +1,4 @@ using System.Security; -using System.Windows.Forms; using mRemoteNG.Security; using mRemoteNG.UI.Controls.Base; diff --git a/mRemoteV1/UI/Forms/CompositeCredentialRepoUnlockerForm.Designer.cs b/mRemoteV1/UI/Forms/CompositeCredentialRepoUnlockerForm.Designer.cs index d77fbc9fc..24e30c077 100644 --- a/mRemoteV1/UI/Forms/CompositeCredentialRepoUnlockerForm.Designer.cs +++ b/mRemoteV1/UI/Forms/CompositeCredentialRepoUnlockerForm.Designer.cs @@ -1,6 +1,6 @@ namespace mRemoteNG.UI.Forms { - partial class CompositeCredentialRepoUnlockerForm + sealed partial class CompositeCredentialRepoUnlockerForm { /// /// Required designer variable. diff --git a/mRemoteV1/UI/Forms/CompositeCredentialRepoUnlockerForm.cs b/mRemoteV1/UI/Forms/CompositeCredentialRepoUnlockerForm.cs index fb98840f9..68da119a0 100644 --- a/mRemoteV1/UI/Forms/CompositeCredentialRepoUnlockerForm.cs +++ b/mRemoteV1/UI/Forms/CompositeCredentialRepoUnlockerForm.cs @@ -7,7 +7,7 @@ using mRemoteNG.Credential.Repositories; namespace mRemoteNG.UI.Forms { - public partial class CompositeCredentialRepoUnlockerForm : Form + public sealed partial class CompositeCredentialRepoUnlockerForm : Form { private readonly CompositeRepositoryUnlocker _repositoryUnlocker; @@ -24,13 +24,11 @@ namespace mRemoteNG.UI.Forms Themes.ThemeManager.getInstance().ThemeChanged += ApplyTheme; } - public virtual void ApplyTheme() + private void ApplyTheme() { - if (Themes.ThemeManager.getInstance().ThemingActive) - { - BackColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); - ForeColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); - } + if (!Themes.ThemeManager.getInstance().ThemingActive) return; + BackColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); + ForeColor = Themes.ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); } private void buttonUnlock_Click(object sender, EventArgs e) diff --git a/mRemoteV1/UI/Forms/CredentialManagerForm.cs b/mRemoteV1/UI/Forms/CredentialManagerForm.cs index 96fdf7ec3..35a992b9e 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerForm.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerForm.cs @@ -46,11 +46,9 @@ namespace mRemoteNG.UI.Forms } private void ApplyTheme() { - if (Themes.ThemeManager.getInstance().ThemingActive) - { - BackColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); - ForeColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); - } + if (!ThemeManager.getInstance().ThemingActive) return; + BackColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); + ForeColor = ThemeManager.getInstance().ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); } private void ApplyLanguage() diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialEditorPage.Designer.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialEditorPage.Designer.cs index be3505902..80ff6115c 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialEditorPage.Designer.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialEditorPage.Designer.cs @@ -2,7 +2,7 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages { - partial class CredentialEditorPage + sealed partial class CredentialEditorPage { /// /// Required designer variable. diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialEditorPage.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialEditorPage.cs index a7522b845..45188fdc5 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialEditorPage.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialEditorPage.cs @@ -3,11 +3,10 @@ using System.Windows.Forms; using mRemoteNG.Credential; using mRemoteNG.Security; using mRemoteNG.UI.Controls.PageSequence; -using mRemoteNG.Themes; namespace mRemoteNG.UI.Forms.CredentialManagerPages { - public partial class CredentialEditorPage : SequencedControl + public sealed partial class CredentialEditorPage : SequencedControl { private readonly ICredentialRecord _credentialRecord; private readonly ICredentialRepository _credentialRepository; diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.Designer.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.Designer.cs index 355f73854..561663bdb 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.Designer.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.Designer.cs @@ -2,7 +2,7 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages { - partial class CredentialListPage + sealed partial class CredentialListPage { /// /// Required designer variable. diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.cs index eef7ea8ba..d627ba64a 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.cs @@ -7,11 +7,10 @@ using BrightIdeasSoftware; using mRemoteNG.Credential; using mRemoteNG.Tree; using mRemoteNG.UI.Controls.PageSequence; -using mRemoteNG.Themes; namespace mRemoteNG.UI.Forms.CredentialManagerPages { - public partial class CredentialListPage : SequencedControl, ICredentialManagerPage + public sealed partial class CredentialListPage : SequencedControl, ICredentialManagerPage { private readonly ICredentialRepositoryList _credentialRepositoryList; diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs index 85cc77d73..b690be9c5 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs @@ -3,7 +3,7 @@ using mRemoteNG.Themes; namespace mRemoteNG.UI.Forms.CredentialManagerPages { - partial class CredentialRepositoriesPage + sealed partial class CredentialRepositoriesPage { /// /// Required designer variable. diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs index 195244876..153ee0e88 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs @@ -7,11 +7,10 @@ using mRemoteNG.UI.Controls; using mRemoteNG.UI.Controls.PageSequence; using mRemoteNG.UI.Forms.CredentialManagerPages.CredentialRepositoryEditorPages; using mRemoteNG.UI.Forms.CredentialManagerPages.CredentialRepositorySelectors; -using mRemoteNG.Themes; namespace mRemoteNG.UI.Forms.CredentialManagerPages { - public partial class CredentialRepositoriesPage : SequencedControl, ICredentialManagerPage + public sealed partial class CredentialRepositoriesPage : SequencedControl, ICredentialManagerPage { private readonly ICredentialRepositoryList _providerCatalog; private readonly UnlockerFormFactory _unlockerFactory; diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositorySelectionPage.Designer.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositorySelectionPage.Designer.cs index e69c814c5..c2570fa14 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositorySelectionPage.Designer.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositorySelectionPage.Designer.cs @@ -3,7 +3,7 @@ using mRemoteNG.Themes; namespace mRemoteNG.UI.Forms.CredentialManagerPages { - partial class CredentialRepositorySelectionPage + sealed partial class CredentialRepositorySelectionPage { /// /// Required designer variable. diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositorySelectionPage.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositorySelectionPage.cs index a5308f97f..53166e929 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositorySelectionPage.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositorySelectionPage.cs @@ -2,11 +2,10 @@ using System.Windows.Forms; using mRemoteNG.Credential; using mRemoteNG.UI.Controls.PageSequence; -using mRemoteNG.Themes; namespace mRemoteNG.UI.Forms.CredentialManagerPages { - public partial class CredentialRepositorySelectionPage : SequencedControl + public sealed partial class CredentialRepositorySelectionPage : SequencedControl { public CredentialRepositorySelectionPage(ICredentialRepositoryList credentialRepositoryList) { diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoryTypeSelectionPage.Designer.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoryTypeSelectionPage.Designer.cs index 9cc6d4218..b11bd0595 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoryTypeSelectionPage.Designer.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoryTypeSelectionPage.Designer.cs @@ -2,7 +2,7 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages { - partial class CredentialRepositoryTypeSelectionPage + sealed partial class CredentialRepositoryTypeSelectionPage { /// /// Required designer variable. diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoryTypeSelectionPage.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoryTypeSelectionPage.cs index f57d3d3a0..2e5cd31c7 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoryTypeSelectionPage.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoryTypeSelectionPage.cs @@ -7,11 +7,10 @@ using mRemoteNG.Credential.Repositories; using mRemoteNG.UI.Controls; using mRemoteNG.UI.Controls.PageSequence; using mRemoteNG.UI.Forms.CredentialManagerPages.CredentialRepositoryEditorPages; -using mRemoteNG.Themes; namespace mRemoteNG.UI.Forms.CredentialManagerPages { - public partial class CredentialRepositoryTypeSelectionPage : SequencedControl + public sealed partial class CredentialRepositoryTypeSelectionPage : SequencedControl { private readonly ICredentialRepositoryList _repositoryList; diff --git a/mRemoteV1/UI/Forms/frmMain.cs b/mRemoteV1/UI/Forms/frmMain.cs index c394f4b05..fb5ae7e0c 100644 --- a/mRemoteV1/UI/Forms/frmMain.cs +++ b/mRemoteV1/UI/Forms/frmMain.cs @@ -1,5 +1,4 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; diff --git a/mRemoteV1/UI/Window/ActiveDirectoryImportWindow.cs b/mRemoteV1/UI/Window/ActiveDirectoryImportWindow.cs index 398ec2c44..4e21ae3be 100644 --- a/mRemoteV1/UI/Window/ActiveDirectoryImportWindow.cs +++ b/mRemoteV1/UI/Window/ActiveDirectoryImportWindow.cs @@ -4,7 +4,6 @@ using System.Windows.Forms; using WeifenLuo.WinFormsUI.Docking; using mRemoteNG.App; using mRemoteNG.Container; -using System.Drawing; namespace mRemoteNG.UI.Window { @@ -26,7 +25,7 @@ namespace mRemoteNG.UI.Window #endregion - public new void ApplyTheme() + private new void ApplyTheme() { base.ApplyTheme(); } diff --git a/mRemoteV1/UI/Window/BaseWindow.cs b/mRemoteV1/UI/Window/BaseWindow.cs index bf6f86567..7eabc1f98 100644 --- a/mRemoteV1/UI/Window/BaseWindow.cs +++ b/mRemoteV1/UI/Window/BaseWindow.cs @@ -1,6 +1,4 @@ using mRemoteNG.Themes; -using mRemoteNG.UI.Forms; -using System.Drawing; using WeifenLuo.WinFormsUI.Docking; // ReSharper disable UnusedAutoPropertyAccessor.Global @@ -10,18 +8,11 @@ namespace mRemoteNG.UI.Window public class BaseWindow : DockContent { #region Private Variables - private WindowType _WindowType; - private DockContent _DockPnl; + //private WindowType _WindowType; + //private DockContent _DockPnl; private ThemeManager _themeManager; #endregion - #region Constructors - public BaseWindow() - { - //InitializeComponent(); - } - #endregion - #region Public Properties protected WindowType WindowType { get; set; } @@ -33,24 +24,18 @@ namespace mRemoteNG.UI.Window #region Public Methods public void SetFormText(string t) { - this.Text = t; - this.TabText = t; + Text = t; + TabText = t; } #endregion - #region Private Methods - public new void ApplyTheme() + internal new void ApplyTheme() { - - if (!Tools.DesignModeTest.IsInDesignMode(this)) - { - _themeManager = ThemeManager.getInstance(); - if (_themeManager.ThemingActive) - { - this.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); - this.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); - } - } + if (Tools.DesignModeTest.IsInDesignMode(this)) return; + _themeManager = ThemeManager.getInstance(); + if (!_themeManager.ThemingActive) return; + BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Dialog_Background"); + ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Dialog_Foreground"); } diff --git a/mRemoteV1/UI/Window/ConnectionTreeWindow.cs b/mRemoteV1/UI/Window/ConnectionTreeWindow.cs index 83c5740ea..78f68eb6c 100644 --- a/mRemoteV1/UI/Window/ConnectionTreeWindow.cs +++ b/mRemoteV1/UI/Window/ConnectionTreeWindow.cs @@ -1,6 +1,5 @@ using mRemoteNG.App; using mRemoteNG.Connection; -using mRemoteNG.Container; using mRemoteNG.Tree; using System; using System.Collections.Generic; @@ -77,23 +76,21 @@ namespace mRemoteNG.UI.Window txtSearch.Text = Language.strSearchPrompt; } - private void ApplyTheme() + private new void ApplyTheme() { - if(_themeManager.ThemingActive) - { - vsToolStripExtender.SetStyle(msMain, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme); - vsToolStripExtender.SetStyle(_contextMenu, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme); - //Treelistview need to be manually themed - olvConnections.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TreeView_Background"); - olvConnections.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TreeView_Foreground"); - olvConnections.SelectedBackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Treeview_SelectedItem_Active_Background"); - olvConnections.SelectedForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Treeview_SelectedItem_Active_Foreground"); - olvConnections.UnfocusedSelectedBackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Treeview_SelectedItem_Inactive_Background"); - olvConnections.UnfocusedSelectedForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Treeview_SelectedItem_Inactive_Foreground"); - //There is a border around txtSearch that dont theme well - txtSearch.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); - txtSearch.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground"); - } + if (!_themeManager.ThemingActive) return; + vsToolStripExtender.SetStyle(msMain, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme); + vsToolStripExtender.SetStyle(_contextMenu, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme); + //Treelistview need to be manually themed + olvConnections.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TreeView_Background"); + olvConnections.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TreeView_Foreground"); + olvConnections.SelectedBackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Treeview_SelectedItem_Active_Background"); + olvConnections.SelectedForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Treeview_SelectedItem_Active_Foreground"); + olvConnections.UnfocusedSelectedBackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Treeview_SelectedItem_Inactive_Background"); + olvConnections.UnfocusedSelectedForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("Treeview_SelectedItem_Inactive_Foreground"); + //There is a border around txtSearch that dont theme well + txtSearch.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background"); + txtSearch.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground"); } #endregion diff --git a/mRemoteV1/UI/Window/ExternalToolsWindow.cs b/mRemoteV1/UI/Window/ExternalToolsWindow.cs index 36449028e..cadeae918 100644 --- a/mRemoteV1/UI/Window/ExternalToolsWindow.cs +++ b/mRemoteV1/UI/Window/ExternalToolsWindow.cs @@ -7,9 +7,6 @@ using mRemoteNG.Tools; using WeifenLuo.WinFormsUI.Docking; using mRemoteNG.UI.Forms; using mRemoteNG.Themes; -using System.Drawing; -using BrightIdeasSoftware; -using mRemoteNG.UI.Controls; namespace mRemoteNG.UI.Window { @@ -228,29 +225,27 @@ namespace mRemoteNG.UI.Window private new void ApplyTheme() { - if(_themeManager.ThemingActive) - { - vsToolStripExtender.SetStyle(ToolStrip, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme); - vsToolStripExtender.SetStyle(ToolsContextMenuStrip, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme); - //Apply the extended palette + if (!_themeManager.ThemingActive) return; + 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; - PropertiesGroupBox.BackColor = _themeManager.ActiveTheme.Theme.ColorPalette.CommandBarMenuDefault.Background; - PropertiesGroupBox.ForeColor = _themeManager.ActiveTheme.Theme.ColorPalette.CommandBarMenuDefault.Text; - //Toollist grouping - ToolsListObjView.AlwaysGroupByColumn = this.FilenameColumnHeader; - } + 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; + //Toollist grouping + ToolsListObjView.AlwaysGroupByColumn = this.FilenameColumnHeader; } private void UpdateToolsListObjView(ExternalTool selectTool = null) - { - try + { + var selectedTools = new List(); + try { - var selectedTools = new List(); - if (selectTool == null) + if (selectTool == null) { - foreach (Object listViewItem in ToolsListObjView.SelectedObjects) + foreach (var listViewItem in ToolsListObjView.SelectedObjects) { var externalTool = listViewItem as ExternalTool; if (externalTool != null) @@ -273,7 +268,7 @@ namespace mRemoteNG.UI.Window { Runtime.MessageCollector.AddExceptionMessage("UI.Window.ExternalTools.PopulateToolsListObjView()", ex); } - } + } private void LaunchTool() { diff --git a/mRemoteV1/UI/Window/PortScanWindow.cs b/mRemoteV1/UI/Window/PortScanWindow.cs index 370bf1451..8e9bb83ca 100644 --- a/mRemoteV1/UI/Window/PortScanWindow.cs +++ b/mRemoteV1/UI/Window/PortScanWindow.cs @@ -8,7 +8,6 @@ using mRemoteNG.Container; using mRemoteNG.Messages; using mRemoteNG.Tools; using static mRemoteNG.Tools.MiscTools; -using System.Drawing; namespace mRemoteNG.UI.Window { @@ -25,7 +24,7 @@ namespace mRemoteNG.UI.Window } #endregion - public new void ApplyTheme() + private new void ApplyTheme() { base.ApplyTheme(); }