mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Added light preset theme, added reset button to theme tab to load presets
This commit is contained in:
parent
ee0ffd3eef
commit
cb17f12fed
5 changed files with 106 additions and 45 deletions
|
@ -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()
|
||||
|
|
10
ShareX/Forms/ApplicationSettingsForm.Designer.cs
generated
10
ShareX/Forms/ApplicationSettingsForm.Designer.cs
generated
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -672,8 +672,32 @@
|
|||
<data name=">>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=">>btnThemeReset.Name" xml:space="preserve">
|
||||
<value>btnThemeReset</value>
|
||||
</data>
|
||||
<data name=">>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=">>btnThemeReset.Parent" xml:space="preserve">
|
||||
<value>tpTheme</value>
|
||||
</data>
|
||||
<data name=">>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=">>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=">>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=">>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=">>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=">>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=">>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=">>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=">>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>
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue