diff --git a/mRemoteV1/Resources/Themes/ColorMapTheme.Designer.cs b/mRemoteV1/Resources/Themes/ColorMapTheme.Designer.cs
new file mode 100644
index 000000000..8510e08c9
--- /dev/null
+++ b/mRemoteV1/Resources/Themes/ColorMapTheme.Designer.cs
@@ -0,0 +1,405 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace mRemoteNG {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // 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.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class ColorMapTheme {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal ColorMapTheme() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("mRemoteNG.Resources.Themes.ColorMapTheme", typeof(ColorMapTheme).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='Button']/Background/@Source.
+ ///
+ internal static string Button_Background {
+ get {
+ return ResourceManager.GetString("Button_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='ButtonBorder']/Background/@Source.
+ ///
+ internal static string Button_Button_Border {
+ get {
+ return ResourceManager.GetString("Button_Button_Border", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='Button']/Foreground/@Source.
+ ///
+ internal static string Button_Foreground {
+ get {
+ return ResourceManager.GetString("Button_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='ButtonHover']/Background/@Source.
+ ///
+ internal static string Button_Hover_Background {
+ get {
+ return ResourceManager.GetString("Button_Hover_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='ButtonHover']/Foreground/@Source.
+ ///
+ internal static string Button_Hover_Foreground {
+ get {
+ return ResourceManager.GetString("Button_Hover_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='ButtonPressed']/Background/@Source.
+ ///
+ internal static string Button_Pressed_Background {
+ get {
+ return ResourceManager.GetString("Button_Pressed_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='ButtonPressed']/Foreground/@Source.
+ ///
+ internal static string Button_Pressed_Foreground {
+ get {
+ return ResourceManager.GetString("Button_Pressed_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='TextEditorTextMarkerItems']/Color[@Name='compilererror']/Background/@Source.
+ ///
+ internal static string ErrorText_Background {
+ get {
+ return ResourceManager.GetString("ErrorText_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='TextEditorTextMarkerItems']/Color[@Name='compilererror']/Foreground/@Source.
+ ///
+ internal static string ErrorText_Foreground {
+ get {
+ return ResourceManager.GetString("ErrorText_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListBackground']/Background/@Source.
+ ///
+ internal static string List_Background {
+ get {
+ return ResourceManager.GetString("List_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListHeader']/Background/@Source.
+ ///
+ internal static string List_Header_Background {
+ get {
+ return ResourceManager.GetString("List_Header_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListHeader']/Foreground/@Source.
+ ///
+ internal static string List_Header_Foreground {
+ get {
+ return ResourceManager.GetString("List_Header_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItem']/Background/@Source.
+ ///
+ internal static string List_Item_Background {
+ get {
+ return ResourceManager.GetString("List_Item_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemBorder']/Background/@Source.
+ ///
+ internal static string List_Item_Border {
+ get {
+ return ResourceManager.GetString("List_Item_Border", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemDisabled']/Background/@Source.
+ ///
+ internal static string List_Item_Disabled_Background {
+ get {
+ return ResourceManager.GetString("List_Item_Disabled_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemDisabledBorder']/Background/@Source.
+ ///
+ internal static string List_Item_Disabled_Border {
+ get {
+ return ResourceManager.GetString("List_Item_Disabled_Border", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemDisabled']/Foreground/@Source.
+ ///
+ internal static string List_Item_Disabled_Foreground {
+ get {
+ return ResourceManager.GetString("List_Item_Disabled_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItem']/Foreground/@Source.
+ ///
+ internal static string List_Item_Foreground {
+ get {
+ return ResourceManager.GetString("List_Item_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemSelected']/Background/@Source.
+ ///
+ internal static string List_Item_Selected_Background {
+ get {
+ return ResourceManager.GetString("List_Item_Selected_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemSelectedBorder']/Background/@Source.
+ ///
+ internal static string List_Item_Selected_Border {
+ get {
+ return ResourceManager.GetString("List_Item_Selected_Border", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemSelected']/Foreground/@Source.
+ ///
+ internal static string List_Item_Selected_Foreground {
+ get {
+ return ResourceManager.GetString("List_Item_Selected_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBackground']/Background/@Source.
+ ///
+ internal static string TextBox_Background {
+ get {
+ return ResourceManager.GetString("TextBox_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBorder']/Background/@Source.
+ ///
+ internal static string TextBox_Border {
+ get {
+ return ResourceManager.GetString("TextBox_Border", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBorderDisabled']/Background/@Source.
+ ///
+ internal static string TextBox_Border_Disabled {
+ get {
+ return ResourceManager.GetString("TextBox_Border_Disabled", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBorderFocused']/Background/@Source.
+ ///
+ internal static string TextBox_Border_Focused {
+ get {
+ return ResourceManager.GetString("TextBox_Border_Focused", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBackgroundDisabled']/Background/@Source.
+ ///
+ internal static string TextBox_Disabled_Background {
+ get {
+ return ResourceManager.GetString("TextBox_Disabled_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxTextDisabled']/Background/@Source.
+ ///
+ internal static string TextBox_Disabled_Foreground {
+ get {
+ return ResourceManager.GetString("TextBox_Disabled_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBackgroundFocused']/Background/@Source.
+ ///
+ internal static string TextBox_Focused_Background {
+ get {
+ return ResourceManager.GetString("TextBox_Focused_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxTextFocused']/Background/@Source.
+ ///
+ internal static string TextBox_Focused_Foreground {
+ get {
+ return ResourceManager.GetString("TextBox_Focused_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxText']/Background/@Source.
+ ///
+ internal static string TextBox_Foreground {
+ get {
+ return ResourceManager.GetString("TextBox_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='TreeView']/Color[@Name='Background']/Background/@Source.
+ ///
+ internal static string TreeView_Background {
+ get {
+ return ResourceManager.GetString("TreeView_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='TreeView']/Color[@Name='Background']/Foreground/@Source.
+ ///
+ internal static string TreeView_Foreground {
+ get {
+ return ResourceManager.GetString("TreeView_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='TreeView']/Color[@Name='SelectedItemActive']/Background/@Source.
+ ///
+ internal static string Treeview_SelectedItem_Active_Background {
+ get {
+ return ResourceManager.GetString("Treeview_SelectedItem_Active_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='TreeView']/Color[@Name='SelectedItemActive']/Foreground/@Source.
+ ///
+ internal static string Treeview_SelectedItem_Active_Foreground {
+ get {
+ return ResourceManager.GetString("Treeview_SelectedItem_Active_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='TreeView']/Color[@Name='SelectedItemInactive']/Background/@Source.
+ ///
+ internal static string Treeview_SelectedItem_Inactive_Background {
+ get {
+ return ResourceManager.GetString("Treeview_SelectedItem_Inactive_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='TreeView']/Color[@Name='SelectedItemInactive']/Foreground/@Source.
+ ///
+ internal static string Treeview_SelectedItem_Inactive_Foreground {
+ get {
+ return ResourceManager.GetString("Treeview_SelectedItem_Inactive_Foreground", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='TextEditorTextMarkerItems']/Color[@Name='compilerwarning']/Background/@Source.
+ ///
+ internal static string WarningText_Background {
+ get {
+ return ResourceManager.GetString("WarningText_Background", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /Themes/Theme/Category[@Name='TextEditorTextMarkerItem']/Color[@Name='/compilerwarning']/Foreground/@Source.
+ ///
+ internal static string WarningText_Foreground {
+ get {
+ return ResourceManager.GetString("WarningText_Foreground", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/mRemoteV1/Resources/Themes/ColorMapTheme.resx b/mRemoteV1/Resources/Themes/ColorMapTheme.resx
new file mode 100644
index 000000000..1a3f09d3c
--- /dev/null
+++ b/mRemoteV1/Resources/Themes/ColorMapTheme.resx
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='Button']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='ButtonBorder']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='Button']/Foreground/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='ButtonHover']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='ButtonHover']/Foreground/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='ButtonPressed']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='ButtonPressed']/Foreground/@Source
+
+
+ /Themes/Theme/Category[@Name='TextEditorTextMarkerItems']/Color[@Name='compilererror']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='TextEditorTextMarkerItems']/Color[@Name='compilererror']/Foreground/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListBackground']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListHeader']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListHeader']/Foreground/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItem']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemBorder']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemDisabled']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemDisabledBorder']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemDisabled']/Foreground/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItem']/Foreground/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemSelected']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemSelectedBorder']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='Cider']/Color[@Name='ListItemSelected']/Foreground/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBackground']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBorder']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBorderDisabled']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBorderFocused']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBackgroundDisabled']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxTextDisabled']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxBackgroundFocused']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxTextFocused']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='CommonControls']/Color[@Name='TextBoxText']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='TreeView']/Color[@Name='Background']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='TreeView']/Color[@Name='Background']/Foreground/@Source
+
+
+ /Themes/Theme/Category[@Name='TreeView']/Color[@Name='SelectedItemActive']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='TreeView']/Color[@Name='SelectedItemActive']/Foreground/@Source
+
+
+ /Themes/Theme/Category[@Name='TreeView']/Color[@Name='SelectedItemInactive']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='TreeView']/Color[@Name='SelectedItemInactive']/Foreground/@Source
+
+
+ /Themes/Theme/Category[@Name='TextEditorTextMarkerItems']/Color[@Name='compilerwarning']/Background/@Source
+
+
+ /Themes/Theme/Category[@Name='TextEditorTextMarkerItem']/Color[@Name='/compilerwarning']/Foreground/@Source
+
+
\ No newline at end of file
diff --git a/mRemoteV1/Themes/ExtendedColorPalette.cs b/mRemoteV1/Themes/ExtendedColorPalette.cs
index e498709e5..577898d3b 100644
--- a/mRemoteV1/Themes/ExtendedColorPalette.cs
+++ b/mRemoteV1/Themes/ExtendedColorPalette.cs
@@ -6,78 +6,60 @@ using System.Text;
namespace mRemoteNG.Themes
{
-
- public class BasicPalette
- {
- public Color Background { get; set; }
- public Color Foreground { get; set; }
- }
- public class TreeViewPalette : BasicPalette
- {
- public BasicPalette SelectedItemActive { get; set; }
- public BasicPalette SelectedItemInactive { get; set; }
- }
-
- public class ListPalette : BasicPalette
- {
- public BasicPalette ListItem { get; set; }
- public BasicPalette ListHeader { get; set; }
- public Color ListItemBorder { get; set; }
- public Color ListItemSelectedBorder { get; set; }
- public BasicPalette ListItemSelected { get; set; }
- public BasicPalette ListItemDisabled { get; set; }
- public Color ListItemDisabledBorder { get; set; }
-
- }
-
- public class ButtonPalette : BasicPalette
- {
- public Color ButtonBorder { get; set; }
- public BasicPalette ButtonPressed { get; set; }
- public BasicPalette ButtonHover { get; set; }
-
- }
- public class TextBoxPalette : BasicPalette
- {
- public Color TextBoxBorder { get; set; }
- public Color TextBoxBorderDisabled { get; set; }
- public Color TextBoxBorderFocused { get; set; }
- public BasicPalette TextBoxFocused { get; set; }
- public BasicPalette TextBoxDisabled { get; set; }
-
- }
-
-
public class ExtendedColorPalette
{
- public TreeViewPalette TreeViewPalette { get; set; }
- public ListPalette ListPalette { get; set; }
- public ButtonPalette ButtonPalette { get; set; }
- public BasicPalette ErrorText { get; set; }
- public BasicPalette WarningText { get; set; }
- public TextBoxPalette TextBoxPalette { get; set; }
+ #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;
+ #endregion
+ #region Constructors
public ExtendedColorPalette()
{
- TreeViewPalette = new TreeViewPalette();
- TreeViewPalette.SelectedItemActive = new BasicPalette();
- TreeViewPalette.SelectedItemInactive = new BasicPalette();
- ListPalette = new ListPalette();
- ListPalette.ListItem = new BasicPalette();
- ListPalette.ListHeader = new BasicPalette();
- ListPalette.ListItemSelected = new BasicPalette();
- ListPalette.ListItemDisabled = new BasicPalette();
- ButtonPalette = new ButtonPalette();
- ButtonPalette.ButtonPressed = new BasicPalette();
- ButtonPalette.ButtonHover = new BasicPalette();
- ErrorText = new BasicPalette();
- WarningText = new BasicPalette();
- TextBoxPalette = new TextBoxPalette();
- TextBoxPalette.TextBoxFocused = new BasicPalette();
- TextBoxPalette.TextBoxDisabled = new BasicPalette();
+ _extendedColors = new Dictionary();
+ _default = new Dictionary(); // If this is the default palette, it will not have a default-default palette
+
+ }
+ #endregion
+
+ #region Public Methods
+ // Set the default theme, that theme should contain all color values used by the application
+ public void setDefault(ExtendedColorPalette inPalettte)
+ {
+ _default = inPalettte._extendedColors;
+ }
+ #endregion
+
+ public Color getColor(String colorKey)
+ {
+ Color retColor= Color.Empty;
+
+ retColor = _extendedColors[colorKey];
+ if(retColor == Color.Empty)
+ {
+ if(_default != null)
+ {
+ retColor = _default[colorKey];
+ }
+ //why are we here?, just avoid a crash
+ if(retColor == Color.Empty)
+ {
+ //Fail to pink , because why not
+ retColor = Color.Pink;
+ }
+
+ }
+ return retColor;
}
+ public void addColor(String colorKey,Color inColor)
+ {
+ _extendedColors.Add(colorKey, inColor);
+ }
+
}
-
}
+
+
\ No newline at end of file
diff --git a/mRemoteV1/Themes/MremoteNGPaletteLoader.cs b/mRemoteV1/Themes/MremoteNGPaletteLoader.cs
index 81635afcd..c24b8d08a 100644
--- a/mRemoteV1/Themes/MremoteNGPaletteLoader.cs
+++ b/mRemoteV1/Themes/MremoteNGPaletteLoader.cs
@@ -1,9 +1,15 @@
-using System;
+using mRemoteNG.Themes;
+using System;
+using System.Collections;
using System.Collections.Generic;
+using System.Configuration;
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
@@ -11,77 +17,43 @@ namespace mRemoteNG.Themes
//Class to extract the rest of the required theme colors for MremoteNG from the vstheme file
public class MremoteNGPaletteLoader
{
- private XDocument _xml;
+ private XmlDocument _xml;
+ private ExtendedColorPalette _defaultPalette;
- public MremoteNGPaletteLoader(byte[] file)
+
+
+ //warning, defaultpalette should always contain all the values, because when is loaded there is no default palette (parameter is null
+ public MremoteNGPaletteLoader(byte[] file, ExtendedColorPalette defaultPalette = null )
{
- _xml = XDocument.Load(new StreamReader(new MemoryStream(file)));
+ _xml = new XmlDocument();
+ _xml.LoadXml(new StreamReader(new MemoryStream(file)).ReadToEnd());
+ _defaultPalette = defaultPalette ?? new ExtendedColorPalette();
}
+
+
+ //Load the colors for the mRemoteNG own components as Dockpanel only have a menus and docks palette
public ExtendedColorPalette getColors()
{
- ExtendedColorPalette palette = new ExtendedColorPalette();
- //List tree colors
- palette.TreeViewPalette.Background= ColorTranslatorFromHtml("TreeView", "Background",false);
- palette.TreeViewPalette.Foreground= ColorTranslatorFromHtml("TreeView", "Background",true);
- palette.TreeViewPalette.SelectedItemActive.Background= ColorTranslatorFromHtml("TreeView", "SelectedItemActive", false);
- palette.TreeViewPalette.SelectedItemActive.Foreground= ColorTranslatorFromHtml("TreeView", "SelectedItemActive", true);
- palette.TreeViewPalette.SelectedItemInactive.Background= ColorTranslatorFromHtml("TreeView", "SelectedItemInactive", false);
- palette.TreeViewPalette.SelectedItemInactive.Foreground= ColorTranslatorFromHtml("TreeView", "SelectedItemInactive", true);
- //List items colors, used for config and external tools
- palette.ListPalette.Background= ColorTranslatorFromHtml("Cider", "ListBackground", false);
- palette.ListPalette.ListItem.Foreground= ColorTranslatorFromHtml("Cider", "ListItem", true);
- palette.ListPalette.ListItem.Background= ColorTranslatorFromHtml("Cider", "ListItem", false);
- palette.ListPalette.ListHeader.Foreground= ColorTranslatorFromHtml("Cider", "ListHeader", true);
- palette.ListPalette.ListHeader.Background= ColorTranslatorFromHtml("Cider", "ListHeader", false);
- palette.ListPalette.ListItemBorder= ColorTranslatorFromHtml("Cider", "ListItemBorder", false);
- palette.ListPalette.ListItemSelectedBorder= ColorTranslatorFromHtml("Cider", "ListItemSelectedBorder", false);
- palette.ListPalette.ListItemSelected.Foreground= ColorTranslatorFromHtml("Cider", "ListItemSelected", true);
- palette.ListPalette.ListItemSelected.Background= ColorTranslatorFromHtml("Cider", "ListItemSelected", false);
- palette.ListPalette.ListItemDisabled.Foreground= ColorTranslatorFromHtml("Cider", "ListItemDisabled", true);
- palette.ListPalette.ListItemDisabled.Background= ColorTranslatorFromHtml("Cider", "ListItemDisabled", false);
- palette.ListPalette.ListItemDisabledBorder = ColorTranslatorFromHtml("Cider", "ListItemDisabledBorder", false);
- //Button colors
- palette.ButtonPalette.Background = ColorTranslatorFromHtml("CommonControls", "Button", false);
- palette.ButtonPalette.Foreground = ColorTranslatorFromHtml("CommonControls", "Button", true);
- palette.ButtonPalette.ButtonBorder = ColorTranslatorFromHtml("CommonControls", "ButtonBorder", false);
- palette.ButtonPalette.ButtonPressed.Background = ColorTranslatorFromHtml("CommonControls", "ButtonPressed", false);
- palette.ButtonPalette.ButtonPressed.Foreground= ColorTranslatorFromHtml("CommonControls", "ButtonPressed", true);
- palette.ButtonPalette.ButtonHover.Background = ColorTranslatorFromHtml("CommonControls", "ButtonHover", false);
- palette.ButtonPalette.ButtonHover.Foreground = ColorTranslatorFromHtml("CommonControls", "ButtonHover", true);
- //Button colors
- palette.WarningText.Background = ColorTranslatorFromHtml("Text Editor Text Marker Items", "compiler warning", false);
- palette.WarningText.Foreground = ColorTranslatorFromHtml("Text Editor Text Marker Items", "compiler warning", true);
- palette.ErrorText.Background = ColorTranslatorFromHtml("Text Editor Text Marker Items", "compiler error", false);
- palette.ErrorText.Foreground = ColorTranslatorFromHtml("Text Editor Text Marker Items", "compiler error", true);
- //Text box colors
- palette.TextBoxPalette.Background = ColorTranslatorFromHtml("CommonControls", "TextBoxBackground", false);
- palette.TextBoxPalette.Foreground = ColorTranslatorFromHtml("CommonControls", "TextBoxText", false);
- palette.TextBoxPalette.TextBoxBorder = ColorTranslatorFromHtml("CommonControls", "TextBoxBorder", false);
- palette.TextBoxPalette.TextBoxBorderDisabled = ColorTranslatorFromHtml("CommonControls", "TextBoxBorderDisabled", false);
- palette.TextBoxPalette.TextBoxBorderFocused = ColorTranslatorFromHtml("CommonControls", "TextBoxBorderFocused", false);
- palette.TextBoxPalette.TextBoxDisabled.Background = ColorTranslatorFromHtml("CommonControls", "TextBoxBackgroundDisabled", false);
- palette.TextBoxPalette.TextBoxDisabled.Foreground = ColorTranslatorFromHtml("CommonControls", "TextBoxTextDisabled", false);
- palette.TextBoxPalette.TextBoxFocused.Background = ColorTranslatorFromHtml("CommonControls", "TextBoxBackgroundFocused", false);
- palette.TextBoxPalette.TextBoxFocused.Foreground = ColorTranslatorFromHtml("CommonControls", "TextBoxTextFocused", false);
-
-
- return palette;
- }
-
- //This code is taken from VS2012PaletteFactory WeifenLuo
- private Color ColorTranslatorFromHtml(string category,string name, bool foreground = false)
- {
- var color = _xml.Root.Element("Theme")
- .Elements("Category").FirstOrDefault(item => item.Attribute("Name").Value == category)?
- .Elements("Color").FirstOrDefault(item => item.Attribute("Name").Value == name)?
- .Element(foreground ? "Foreground" : "Background").Attribute("Source").Value;
- if (color == null)
+ ExtendedColorPalette newPalette = new ExtendedColorPalette();
+ newPalette.setDefault(_defaultPalette);
+ ResourceSet resourceSet = mRemoteNG.ColorMapTheme.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, true);
+ //
+ foreach (DictionaryEntry entry in resourceSet)
{
- return Color.Transparent;
- }
+ 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 )
+ {
+ newPalette.addColor(colorName , ColorTranslator.FromHtml($"#{color}"));
+ }
+ }
- return ColorTranslator.FromHtml($"#{color}");
+ return newPalette;
}
+
}
}
diff --git a/mRemoteV1/Themes/ThemeManager.cs b/mRemoteV1/Themes/ThemeManager.cs
index 007f7c49a..eea5996f5 100644
--- a/mRemoteV1/Themes/ThemeManager.cs
+++ b/mRemoteV1/Themes/ThemeManager.cs
@@ -53,18 +53,23 @@ namespace mRemoteNG.Themes
//Load the files in theme folder first, to incluide vstheme light as default
string[] themeFiles = Directory.GetFiles(Path.Combine(App.Info.SettingsFileInfo.SettingsPath, "themes"), "*.vstheme");
-
+ string defaultThemeURL = Directory.GetFiles(Path.Combine(App.Info.SettingsFileInfo.SettingsPath, "themes"), "vs2015light"+".vstheme")[0];
+ //First we load the default theme, its vs2015light
+ ThemeInfo defaultTheme = ThemeSerializer.LoadFromXmlFile(defaultThemeURL);
+ themes.Add(defaultTheme.Name, defaultTheme);
+ //Then the rest
foreach (string themeFile in themeFiles)
{
- ThemeInfo extTheme = ThemeSerializer.LoadFromXmlFile(themeFile);
- if (extTheme.Theme != null)
+ //filter default one
+ ThemeInfo extTheme = ThemeSerializer.LoadFromXmlFile(themeFile, defaultTheme);
+ if (extTheme.Theme != null && !themes.ContainsKey(extTheme.Name) )
{
themes.Add(extTheme.Name, extTheme);
}
}
- //Load the embedded themes, extended palettes are taken from the vs2015 themes
+ //Load the embedded themes, extended palettes are taken from the vs2015 themes, trying to match the color theme
ThemeInfo vs2003 = new ThemeInfo("Vs2003", new VS2003Theme(), "", VisualStudioToolStripExtender.VsVersion.Vs2003, ((ThemeInfo)themes["vs2015light"]).ExtendedPalette);
themes.Add("Vs2003", vs2003);
ThemeInfo vs2005 = new ThemeInfo("Vs2005", new VS2005Theme(), "", VisualStudioToolStripExtender.VsVersion.Vs2005, ((ThemeInfo)themes["vs2015light"]).ExtendedPalette);
@@ -129,7 +134,7 @@ namespace mRemoteNG.Themes
{
get
{
- return (ThemeInfo) themes["vs2015light"];
+ return (ThemeInfo) themes["vs2015blue"];
}
}
diff --git a/mRemoteV1/Themes/ThemeSerializer.cs b/mRemoteV1/Themes/ThemeSerializer.cs
index 71565aab3..168875b46 100644
--- a/mRemoteV1/Themes/ThemeSerializer.cs
+++ b/mRemoteV1/Themes/ThemeSerializer.cs
@@ -18,13 +18,16 @@ namespace mRemoteNG.Themes
}
- public static ThemeInfo LoadFromXmlFile(string filename)
+ public static ThemeInfo LoadFromXmlFile(string filename, ThemeInfo defaultTheme=null)
{
byte[] bytes = File.ReadAllBytes(filename);
+ //Load the dockpanel part
MremoteNGThemeBase themeBaseLoad= new MremoteNGThemeBase(bytes);
- MremoteNGPaletteLoader colorFactory = new MremoteNGPaletteLoader(bytes);
- ExtendedColorPalette extColorPalette = colorFactory.getColors();
- ThemeInfo loadedTheme = new ThemeInfo(Path.GetFileNameWithoutExtension(filename), themeBaseLoad, filename, VisualStudioToolStripExtender.VsVersion.Vs2015, extColorPalette);
+ //Load the mremote part
+ MremoteNGPaletteLoader extColorLoader;
+ //Cause we cannot default the theme for the default theme
+ extColorLoader = new MremoteNGPaletteLoader(bytes, defaultTheme ==null ? null:defaultTheme.ExtendedPalette);
+ ThemeInfo loadedTheme = new ThemeInfo(Path.GetFileNameWithoutExtension(filename), themeBaseLoad, filename, VisualStudioToolStripExtender.VsVersion.Vs2015, extColorLoader.getColors());
return loadedTheme;
}
diff --git a/mRemoteV1/UI/Window/ConfigWindow.cs b/mRemoteV1/UI/Window/ConfigWindow.cs
index 0dbe6c871..b46fda72a 100644
--- a/mRemoteV1/UI/Window/ConfigWindow.cs
+++ b/mRemoteV1/UI/Window/ConfigWindow.cs
@@ -610,17 +610,17 @@ namespace mRemoteNG.UI.Window
private void ApplyTheme()
{
- _pGrid.BackColor = _themeManager.ActiveTheme.ExtendedPalette.TextBoxPalette.Background;
- _pGrid.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.TextBoxPalette.Foreground;
- _pGrid.ViewBackColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItem.Background;
- _pGrid.ViewForeColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItem.Foreground;
- _pGrid.LineColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItemBorder;
- _pGrid.HelpBackColor = _themeManager.ActiveTheme.ExtendedPalette.TextBoxPalette.Background;
- _pGrid.HelpForeColor = _themeManager.ActiveTheme.ExtendedPalette.TextBoxPalette.Foreground;
- _pGrid.CategoryForeColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListHeader.Foreground;
- _pGrid.CommandsDisabledLinkColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItemDisabled.Foreground;
- _pGrid.CommandsBackColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItemDisabled.Background;
- _pGrid.CommandsForeColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItemDisabled.Foreground;
+ _pGrid.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background");
+ _pGrid.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground");
+ _pGrid.ViewBackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Background");
+ _pGrid.ViewForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Foreground");
+ _pGrid.LineColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Border");
+ _pGrid.HelpBackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background");
+ _pGrid.HelpForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Foreground");
+ _pGrid.CategoryForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Header_Background");
+ _pGrid.CommandsDisabledLinkColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Disabled_Foreground");
+ _pGrid.CommandsBackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Disabled_Background");
+ _pGrid.CommandsForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Disabled_Foreground");
diff --git a/mRemoteV1/UI/Window/ConnectionTreeWindow.cs b/mRemoteV1/UI/Window/ConnectionTreeWindow.cs
index 59bbd3266..7c996c9e7 100644
--- a/mRemoteV1/UI/Window/ConnectionTreeWindow.cs
+++ b/mRemoteV1/UI/Window/ConnectionTreeWindow.cs
@@ -81,12 +81,12 @@ namespace mRemoteNG.UI.Window
{
vsToolStripExtender.SetStyle(msMain, _themeManager.ActiveTheme.Version, _themeManager.ActiveTheme.Theme);
//Treelistview need to be manually themed
- olvConnections.BackColor = _themeManager.ActiveTheme.ExtendedPalette.TreeViewPalette.Background;
- olvConnections.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.TreeViewPalette.Foreground;
- olvConnections.SelectedBackColor = _themeManager.ActiveTheme.ExtendedPalette.TreeViewPalette.SelectedItemActive.Background;
- olvConnections.SelectedForeColor = _themeManager.ActiveTheme.ExtendedPalette.TreeViewPalette.SelectedItemActive.Foreground;
- olvConnections.UnfocusedSelectedBackColor = _themeManager.ActiveTheme.ExtendedPalette.TreeViewPalette.SelectedItemInactive.Background;
- olvConnections.UnfocusedSelectedForeColor = _themeManager.ActiveTheme.ExtendedPalette.TreeViewPalette.SelectedItemInactive.Foreground;
+ 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");
}
#endregion
diff --git a/mRemoteV1/UI/Window/ErrorAndInfoWindow.cs b/mRemoteV1/UI/Window/ErrorAndInfoWindow.cs
index f6eec5829..36741b21f 100644
--- a/mRemoteV1/UI/Window/ErrorAndInfoWindow.cs
+++ b/mRemoteV1/UI/Window/ErrorAndInfoWindow.cs
@@ -52,8 +52,8 @@ namespace mRemoteNG.UI.Window
#region Private Methods
private void ApplyTheme()
{
- lvErrorCollector.BackColor = _themeManager.ActiveTheme.ExtendedPalette.TextBoxPalette.Background;
- lvErrorCollector.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.TextBoxPalette.Foreground;
+ lvErrorCollector.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("TextBox_Background");
+ lvErrorCollector.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("List_Item_Selected_Foreground");
}
@@ -194,17 +194,17 @@ namespace mRemoteNG.UI.Window
break;
case MessageClass.WarningMsg:
pbError.Image = Resources.Warning;
- pnlErrorMsg.BackColor = _themeManager.ActiveTheme.ExtendedPalette.WarningText.Background;
- pnlErrorMsg.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.WarningText.Foreground;
- txtMsgText.BackColor = _themeManager.ActiveTheme.ExtendedPalette.WarningText.Background;
- txtMsgText.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.WarningText.Foreground;
+ pnlErrorMsg.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("WarningText_Background");
+ pnlErrorMsg.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor ("WarningText_Foreground");
+ txtMsgText.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("WarningText_Background");
+ txtMsgText.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("WarningText_Foreground");
break;
case MessageClass.ErrorMsg:
pbError.Image = Resources._Error;
- pnlErrorMsg.BackColor = _themeManager.ActiveTheme.ExtendedPalette.ErrorText.Background;
- pnlErrorMsg.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.ErrorText.Foreground;
- txtMsgText.BackColor = _themeManager.ActiveTheme.ExtendedPalette.ErrorText.Background;
- txtMsgText.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.ErrorText.Foreground;
+ pnlErrorMsg.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("ErrorText_Background");
+ pnlErrorMsg.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("ErrorText_Foreground");
+ txtMsgText.BackColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("ErrorText_Background");
+ txtMsgText.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.getColor("ErrorText_Foreground");
break;
}
diff --git a/mRemoteV1/UI/Window/ExternalToolsWindow.cs b/mRemoteV1/UI/Window/ExternalToolsWindow.cs
index 6c37a2952..f6e3d1829 100644
--- a/mRemoteV1/UI/Window/ExternalToolsWindow.cs
+++ b/mRemoteV1/UI/Window/ExternalToolsWindow.cs
@@ -230,16 +230,16 @@ namespace mRemoteNG.UI.Window
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.ListPalette.ListItem.Background;
- DisplayNameTextBox.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItem.Foreground;
- FilenameTextBox.BackColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItem.Background;
- FilenameTextBox.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItem.Foreground;
- ArgumentsCheckBox.BackColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItem.Background;
- ArgumentsCheckBox.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItem.Foreground;
- BrowseButton.BackColor = _themeManager.ActiveTheme.ExtendedPalette.ButtonPalette.Background;
- BrowseButton.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.ButtonPalette.Foreground;
- ToolsListView.BackColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItem.Background;
- ToolsListView.ForeColor = _themeManager.ActiveTheme.ExtendedPalette.ListPalette.ListItem.Foreground;
+ 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");
}
diff --git a/mRemoteV1/app.config b/mRemoteV1/app.config
index 8fafe4924..b6f4fc11c 100644
--- a/mRemoteV1/app.config
+++ b/mRemoteV1/app.config
@@ -6,6 +6,7 @@
+
@@ -655,6 +656,122 @@
+
+
+ /TreeView/Background/Background/@Source
+
+
+ /TreeView/Background/Foreground/@Source
+
+
+ /TreeView/SelectedItemActive/Background/@Source
+
+
+ /TreeView/SelectedItemActive/Foreground/@Source
+
+
+ /TreeView/SelectedItemInactive/Background/@Source
+
+
+ /TreeView/SelectedItemInactive/Foreground/@Source
+
+
+ /Cider/ListBackground/Background/@Source
+
+
+ /Cider/ListItem/Foreground/@Source
+
+
+ /Cider/ListItem/Background/@Source
+
+
+ /Cider/ListItemBorder/Background/@Source
+
+
+ /Cider/ListHeader/Background/@Source
+
+
+ /Cider/ListHeader/Foreground/@Source
+
+
+ /Cider/ListItemSelectedBorder/Background/@Source
+
+
+ /Cider/ListItemSelected/Foreground/@Source
+
+
+ /Cider/ListItemSelected/Background/@Source
+
+
+ /Cider/ListItemDisabled/Foreground/@Source
+
+
+ /Cider/ListItemDisabled/Background/@Source
+
+
+ /Cider/ListItemDisabledBorder/Background/@Source
+
+
+ /CommonControls/Button/Background/@Source
+
+
+ /CommonControls/Button/Foreground/@Source
+
+
+ /CommonControls/ButtonBorder/Background/@Source
+
+
+ /CommonControls/ButtonPressed/Background/@Source
+
+
+ /CommonControls/ButtonPressed/Foreground/@Source
+
+
+ /CommonControls/ButtonHover/Background/@Source
+
+
+ /CommonControls/ButtonHover/Foreground/@Source
+
+
+ /TextEditorTextMarkerItems/compilerwarning/Background/@Source
+
+
+ /TextEditorTextMarkerItems/compilerwarning/Foreground/@Source
+
+
+ /TextEditorTextMarkerItems/compilererror/Background/@Source
+
+
+ /TextEditorTextMarkerItems/compilererror/Foreground/@Source
+
+
+ /CommonControls/TextBoxBackground/Background/@Source
+
+
+ /CommonControls/TextBoxText/Background/@Source
+
+
+ /CommonControls/TextBoxBorder/Background/@Source
+
+
+ /CommonControls/TextBoxBorderDisabled/Background/@Source
+
+
+ /CommonControls/TextBoxBorderFocused/Background/@Source
+
+
+ /CommonControls/TextBoxBackgroundDisabled/Background/@Source
+
+
+ /CommonControls/TextBoxTextDisabled/Background/@Source
+
+
+ /CommonControls/TextBoxBackgroundFocused/Background/@Source
+
+
+ /CommonControls/TextBoxTextFocused/Background/@Source
+
+
https://mremoteng.org/
diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj
index 6b2d50728..04f7286a6 100644
--- a/mRemoteV1/mRemoteV1.csproj
+++ b/mRemoteV1/mRemoteV1.csproj
@@ -248,6 +248,11 @@
+
+ True
+ True
+ ColorMapTheme.resx
+
@@ -761,6 +766,11 @@
+
+ ResXFileCodeGenerator
+ ColorMapTheme.Designer.cs
+ mRemoteNG
+
CredentialRecordListView.cs
@@ -982,7 +992,18 @@
-
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
Designer