Added light preset theme, added reset button to theme tab to load presets

This commit is contained in:
Jaex 2019-09-11 19:51:40 +03:00
parent ee0ffd3eef
commit cb17f12fed
5 changed files with 106 additions and 45 deletions

View file

@ -23,10 +23,10 @@ You should have received a copy of the GNU General Public License
#endregion License Information (GPL v3)
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms;
namespace ShareX.HelpersLib
{
@ -80,37 +80,57 @@ public class ShareXTheme
public ShareXTheme()
{
ApplyDarkColors();
}
public void ApplySystemColors()
{
BackgroundColor = SystemColors.Window;
//BackgroundColor2 =
TextColor = SystemColors.ControlText;
BorderColor = ProfessionalColors.SeparatorDark;
CheckerColor = SystemColors.ControlLightLight;
CheckerColor2 = SystemColors.ControlLight;
//LinkColor =
public static ShareXTheme GetDarkTheme()
{
return new ShareXTheme()
{
Name = "Dark",
BackgroundColor = Color.FromArgb(42, 47, 56),
LightBackgroundColor = Color.FromArgb(52, 57, 65),
DarkBackgroundColor = Color.FromArgb(28, 32, 38),
TextColor = Color.FromArgb(235, 235, 235),
BorderColor = Color.FromArgb(28, 32, 38),
CheckerColor = Color.FromArgb(60, 60, 60),
CheckerColor2 = Color.FromArgb(50, 50, 50),
CheckerSize = 15,
LinkColor = Color.FromArgb(166, 212, 255),
MenuHighlightColor = Color.FromArgb(30, 34, 40),
MenuHighlightBorderColor = Color.FromArgb(116, 129, 152),
MenuBorderColor = Color.FromArgb(22, 26, 31),
MenuCheckBackgroundColor = Color.FromArgb(56, 64, 75),
SeparatorLightColor = Color.FromArgb(56, 64, 75),
SeparatorDarkColor = Color.FromArgb(22, 26, 31)
};
}
public void ApplyDarkColors()
public static ShareXTheme GetLightTheme()
{
Name = "Dark";
BackgroundColor = Color.FromArgb(42, 47, 56);
LightBackgroundColor = Color.FromArgb(52, 57, 65);
DarkBackgroundColor = Color.FromArgb(28, 32, 38);
TextColor = Color.FromArgb(235, 235, 235);
BorderColor = Color.FromArgb(28, 32, 38);
CheckerColor = Color.FromArgb(60, 60, 60);
CheckerColor2 = Color.FromArgb(50, 50, 50);
LinkColor = Color.FromArgb(166, 212, 255);
MenuHighlightColor = Color.FromArgb(255, 30, 34, 40);
MenuHighlightBorderColor = Color.FromArgb(255, 116, 129, 152);
MenuBorderColor = Color.FromArgb(255, 22, 26, 31);
MenuCheckBackgroundColor = Color.FromArgb(255, 56, 64, 75);
SeparatorLightColor = Color.FromArgb(255, 56, 64, 75);
SeparatorDarkColor = Color.FromArgb(255, 22, 26, 31);
return new ShareXTheme()
{
Name = "Light",
BackgroundColor = Color.FromArgb(242, 242, 242),
LightBackgroundColor = Color.FromArgb(247, 247, 247),
DarkBackgroundColor = Color.FromArgb(235, 235, 235),
TextColor = Color.FromArgb(69, 69, 69),
BorderColor = Color.FromArgb(201, 201, 201),
CheckerColor = Color.FromArgb(60, 60, 60),
CheckerColor2 = Color.FromArgb(50, 50, 50),
CheckerSize = 15,
LinkColor = Color.FromArgb(166, 212, 255),
MenuHighlightColor = Color.FromArgb(247, 247, 247),
MenuHighlightBorderColor = Color.FromArgb(96, 143, 226),
MenuBorderColor = Color.FromArgb(201, 201, 201),
MenuCheckBackgroundColor = Color.FromArgb(225, 233, 244),
SeparatorLightColor = Color.FromArgb(253, 253, 253),
SeparatorDarkColor = Color.FromArgb(189, 189, 189)
};
}
public static List<ShareXTheme> GetPresets()
{
return new List<ShareXTheme>() { GetDarkTheme(), GetLightTheme() };
}
public override string ToString()

View file

@ -152,6 +152,7 @@ private void InitializeComponent()
this.tpAdvanced = new System.Windows.Forms.TabPage();
this.pgSettings = new System.Windows.Forms.PropertyGrid();
this.tttvMain = new ShareX.HelpersLib.TabToTreeView();
this.btnThemeReset = new System.Windows.Forms.Button();
this.tcSettings.SuspendLayout();
this.tpGeneral.SuspendLayout();
this.tpTheme.SuspendLayout();
@ -351,6 +352,7 @@ private void InitializeComponent()
//
// tpTheme
//
this.tpTheme.Controls.Add(this.btnThemeReset);
this.tpTheme.Controls.Add(this.eiTheme);
this.tpTheme.Controls.Add(this.btnThemeRemove);
this.tpTheme.Controls.Add(this.btnThemeAdd);
@ -1125,6 +1127,13 @@ private void InitializeComponent()
this.tttvMain.TreeViewSize = 175;
this.tttvMain.TabChanged += new ShareX.HelpersLib.TabToTreeView.TabChangedEventHandler(this.tttvMain_TabChanged);
//
// btnThemeReset
//
resources.ApplyResources(this.btnThemeReset, "btnThemeReset");
this.btnThemeReset.Name = "btnThemeReset";
this.btnThemeReset.UseVisualStyleBackColor = true;
this.btnThemeReset.Click += new System.EventHandler(this.BtnThemeReset_Click);
//
// ApplicationSettingsForm
//
resources.ApplyResources(this, "$this");
@ -1307,5 +1316,6 @@ private void InitializeComponent()
private System.Windows.Forms.Button btnThemeRemove;
private System.Windows.Forms.Button btnThemeAdd;
private ExportImportControl eiTheme;
private System.Windows.Forms.Button btnThemeReset;
}
}

View file

@ -434,7 +434,7 @@ private void btnCheckDevBuild_Click(object sender, EventArgs e)
private void UpdateThemeControls()
{
cbExperimentalDarkTheme.Enabled = btnThemeAdd.Enabled = pgTheme.Enabled = eiTheme.Enabled = Program.Settings.UseDarkTheme;
cbExperimentalDarkTheme.Enabled = btnThemeAdd.Enabled = btnThemeReset.Enabled = pgTheme.Enabled = eiTheme.Enabled = Program.Settings.UseDarkTheme;
cbThemes.Enabled = btnThemeRemove.Enabled = btnApplyTheme.Enabled = Program.Settings.UseDarkTheme && cbThemes.Items.Count > 0;
}
@ -490,8 +490,7 @@ private void CbThemes_SelectedIndexChanged(object sender, EventArgs e)
private void BtnThemeAdd_Click(object sender, EventArgs e)
{
ShareXTheme theme = new ShareXTheme();
theme.ApplyDarkColors();
ShareXTheme theme = ShareXTheme.GetDarkTheme();
AddTheme(theme);
}
@ -517,6 +516,17 @@ private void BtnThemeRemove_Click(object sender, EventArgs e)
}
}
private void BtnThemeReset_Click(object sender, EventArgs e)
{
Program.Settings.Themes = ShareXTheme.GetPresets();
Program.Settings.SelectedTheme = 0;
cbThemes.Items.Clear();
cbThemes.Items.AddRange(Program.Settings.Themes.ToArray());
cbThemes.SelectedIndex = Program.Settings.SelectedTheme;
pgTheme.SelectedObject = Program.Settings.Themes[Program.Settings.SelectedTheme].Copy();
}
private void BtnApplyTheme_Click(object sender, EventArgs e)
{
int index = cbThemes.SelectedIndex;

View file

@ -672,8 +672,32 @@
<data name="&gt;&gt;tpGeneral.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="btnThemeReset.Location" type="System.Drawing.Point, System.Drawing">
<value>384, 40</value>
</data>
<data name="btnThemeReset.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 23</value>
</data>
<data name="btnThemeReset.TabIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="btnThemeReset.Text" xml:space="preserve">
<value>Reset</value>
</data>
<data name="&gt;&gt;btnThemeReset.Name" xml:space="preserve">
<value>btnThemeReset</value>
</data>
<data name="&gt;&gt;btnThemeReset.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnThemeReset.Parent" xml:space="preserve">
<value>tpTheme</value>
</data>
<data name="&gt;&gt;btnThemeReset.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="eiTheme.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 352</value>
<value>280, 352</value>
</data>
<data name="eiTheme.Size" type="System.Drawing.Size, System.Drawing">
<value>185, 24</value>
@ -691,7 +715,7 @@
<value>tpTheme</value>
</data>
<data name="&gt;&gt;eiTheme.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="btnThemeRemove.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@ -718,7 +742,7 @@
<value>tpTheme</value>
</data>
<data name="&gt;&gt;btnThemeRemove.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="btnThemeAdd.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@ -745,7 +769,7 @@
<value>tpTheme</value>
</data>
<data name="&gt;&gt;btnThemeAdd.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="cbThemes.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 40</value>
@ -766,7 +790,7 @@
<value>tpTheme</value>
</data>
<data name="&gt;&gt;cbThemes.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="cbExperimentalDarkTheme.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -796,7 +820,7 @@
<value>tpTheme</value>
</data>
<data name="&gt;&gt;cbExperimentalDarkTheme.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<data name="btnApplyTheme.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@ -805,7 +829,7 @@
<value>16, 352</value>
</data>
<data name="btnApplyTheme.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 24</value>
<value>184, 24</value>
</data>
<data name="btnApplyTheme.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -823,7 +847,7 @@
<value>tpTheme</value>
</data>
<data name="&gt;&gt;btnApplyTheme.ZOrder" xml:space="preserve">
<value>5</value>
<value>6</value>
</data>
<data name="pgTheme.HelpVisible" type="System.Boolean, mscorlib">
<value>False</value>
@ -832,7 +856,7 @@
<value>16, 72</value>
</data>
<data name="pgTheme.Size" type="System.Drawing.Size, System.Drawing">
<value>360, 272</value>
<value>448, 272</value>
</data>
<data name="pgTheme.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -847,7 +871,7 @@
<value>tpTheme</value>
</data>
<data name="&gt;&gt;pgTheme.ZOrder" xml:space="preserve">
<value>6</value>
<value>7</value>
</data>
<data name="cbUseDarkTheme.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -877,7 +901,7 @@
<value>tpTheme</value>
</data>
<data name="&gt;&gt;cbUseDarkTheme.ZOrder" xml:space="preserve">
<value>7</value>
<value>8</value>
</data>
<data name="tpTheme.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>

View file

@ -782,10 +782,7 @@ public void UpdateTheme()
{
if (Program.Settings.Themes == null || Program.Settings.Themes.Count == 0)
{
Program.Settings.Themes = new List<ShareXTheme>();
ShareXTheme theme = new ShareXTheme();
theme.ApplyDarkColors();
Program.Settings.Themes.Add(theme);
Program.Settings.Themes = ShareXTheme.GetPresets();
Program.Settings.SelectedTheme = 0;
}