mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Theme list ui improvements
This commit is contained in:
parent
2d92d9e338
commit
f82cabfab1
4 changed files with 154 additions and 9 deletions
|
@ -41,7 +41,19 @@ public static string UserAgent
|
|||
}
|
||||
}
|
||||
|
||||
public static bool UseDarkTheme { get; set; }
|
||||
private static bool useDarkTheme;
|
||||
|
||||
public static bool UseDarkTheme
|
||||
{
|
||||
get
|
||||
{
|
||||
return useDarkTheme && Theme != null;
|
||||
}
|
||||
set
|
||||
{
|
||||
useDarkTheme = value;
|
||||
}
|
||||
}
|
||||
|
||||
private static bool experimentalDarkTheme;
|
||||
|
||||
|
|
21
ShareX/Forms/ApplicationSettingsForm.Designer.cs
generated
21
ShareX/Forms/ApplicationSettingsForm.Designer.cs
generated
|
@ -149,6 +149,8 @@ private void InitializeComponent()
|
|||
this.tpAdvanced = new System.Windows.Forms.TabPage();
|
||||
this.pgSettings = new System.Windows.Forms.PropertyGrid();
|
||||
this.tttvMain = new ShareX.HelpersLib.TabToTreeView();
|
||||
this.btnThemeAdd = new System.Windows.Forms.Button();
|
||||
this.btnThemeRemove = new System.Windows.Forms.Button();
|
||||
this.tcSettings.SuspendLayout();
|
||||
this.tpGeneral.SuspendLayout();
|
||||
this.tpTheme.SuspendLayout();
|
||||
|
@ -348,6 +350,8 @@ private void InitializeComponent()
|
|||
//
|
||||
// tpTheme
|
||||
//
|
||||
this.tpTheme.Controls.Add(this.btnThemeRemove);
|
||||
this.tpTheme.Controls.Add(this.btnThemeAdd);
|
||||
this.tpTheme.Controls.Add(this.cbThemes);
|
||||
this.tpTheme.Controls.Add(this.cbExperimentalDarkTheme);
|
||||
this.tpTheme.Controls.Add(this.btnApplyTheme);
|
||||
|
@ -363,6 +367,7 @@ private void InitializeComponent()
|
|||
this.cbThemes.FormattingEnabled = true;
|
||||
resources.ApplyResources(this.cbThemes, "cbThemes");
|
||||
this.cbThemes.Name = "cbThemes";
|
||||
this.cbThemes.SelectedIndexChanged += new System.EventHandler(this.CbThemes_SelectedIndexChanged);
|
||||
//
|
||||
// cbExperimentalDarkTheme
|
||||
//
|
||||
|
@ -1095,6 +1100,20 @@ private void InitializeComponent()
|
|||
this.tttvMain.TreeViewSize = 175;
|
||||
this.tttvMain.TabChanged += new ShareX.HelpersLib.TabToTreeView.TabChangedEventHandler(this.tttvMain_TabChanged);
|
||||
//
|
||||
// btnThemeAdd
|
||||
//
|
||||
resources.ApplyResources(this.btnThemeAdd, "btnThemeAdd");
|
||||
this.btnThemeAdd.Name = "btnThemeAdd";
|
||||
this.btnThemeAdd.UseVisualStyleBackColor = true;
|
||||
this.btnThemeAdd.Click += new System.EventHandler(this.BtnThemeAdd_Click);
|
||||
//
|
||||
// btnThemeRemove
|
||||
//
|
||||
resources.ApplyResources(this.btnThemeRemove, "btnThemeRemove");
|
||||
this.btnThemeRemove.Name = "btnThemeRemove";
|
||||
this.btnThemeRemove.UseVisualStyleBackColor = true;
|
||||
this.btnThemeRemove.Click += new System.EventHandler(this.BtnThemeRemove_Click);
|
||||
//
|
||||
// ApplicationSettingsForm
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
|
@ -1274,5 +1293,7 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.Button btnApplyTheme;
|
||||
private System.Windows.Forms.PropertyGrid pgTheme;
|
||||
private System.Windows.Forms.ComboBox cbThemes;
|
||||
private System.Windows.Forms.Button btnThemeRemove;
|
||||
private System.Windows.Forms.Button btnThemeAdd;
|
||||
}
|
||||
}
|
|
@ -123,6 +123,7 @@ private void UpdateControls()
|
|||
cbThemes.Items.AddRange(Program.Settings.Themes.ToArray());
|
||||
cbThemes.SelectedIndex = Program.Settings.SelectedTheme;
|
||||
pgTheme.SelectedObject = Program.Settings.Themes[Program.Settings.SelectedTheme];
|
||||
UpdateThemeControls();
|
||||
|
||||
// Integration
|
||||
#if WindowsStore
|
||||
|
@ -440,10 +441,73 @@ private void btnCheckDevBuild_Click(object sender, EventArgs e)
|
|||
|
||||
#region Theme
|
||||
|
||||
private void UpdateThemeControls()
|
||||
{
|
||||
cbThemes.Enabled = btnThemeRemove.Enabled = btnApplyTheme.Enabled = cbThemes.Items.Count > 0;
|
||||
}
|
||||
|
||||
private void CbThemes_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Program.Settings.SelectedTheme = cbThemes.SelectedIndex;
|
||||
|
||||
if (cbThemes.SelectedItem != null)
|
||||
{
|
||||
pgTheme.SelectedObject = cbThemes.SelectedItem.Copy();
|
||||
}
|
||||
else
|
||||
{
|
||||
pgTheme.SelectedObject = null;
|
||||
}
|
||||
|
||||
UpdateThemeControls();
|
||||
}
|
||||
|
||||
private void BtnThemeAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
ShareXTheme theme = new ShareXTheme();
|
||||
theme.ApplyDarkColors();
|
||||
Program.Settings.Themes.Add(theme);
|
||||
cbThemes.Items.Add(theme);
|
||||
int index = Program.Settings.Themes.Count - 1;
|
||||
Program.Settings.SelectedTheme = index;
|
||||
cbThemes.SelectedIndex = index;
|
||||
UpdateThemeControls();
|
||||
}
|
||||
|
||||
private void BtnThemeRemove_Click(object sender, EventArgs e)
|
||||
{
|
||||
int index = cbThemes.SelectedIndex;
|
||||
if (index > -1)
|
||||
{
|
||||
Program.Settings.Themes.RemoveAt(index);
|
||||
cbThemes.Items.RemoveAt(index);
|
||||
if (Program.Settings.Themes.Count > 0)
|
||||
{
|
||||
index = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
index = -1;
|
||||
}
|
||||
Program.Settings.SelectedTheme = index;
|
||||
cbThemes.SelectedIndex = index;
|
||||
pgTheme.SelectedObject = cbThemes.SelectedItem;
|
||||
UpdateThemeControls();
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnApplyTheme_Click(object sender, EventArgs e)
|
||||
{
|
||||
ShareXResources.ApplyTheme(this);
|
||||
Program.MainForm.UpdateTheme();
|
||||
int index = cbThemes.SelectedIndex;
|
||||
if (index > -1)
|
||||
{
|
||||
Program.Settings.SelectedTheme = index;
|
||||
Program.Settings.Themes[index] = (ShareXTheme)pgTheme.SelectedObject;
|
||||
cbThemes.Items[index] = Program.Settings.Themes[index];
|
||||
UpdateThemeControls();
|
||||
ShareXResources.ApplyTheme(this);
|
||||
Program.MainForm.UpdateTheme();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -672,11 +672,59 @@
|
|||
<data name=">>tpGeneral.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="btnThemeRemove.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>296, 64</value>
|
||||
</data>
|
||||
<data name="btnThemeRemove.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>80, 23</value>
|
||||
</data>
|
||||
<data name="btnThemeRemove.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>23</value>
|
||||
</data>
|
||||
<data name="btnThemeRemove.Text" xml:space="preserve">
|
||||
<value>Remove</value>
|
||||
</data>
|
||||
<data name=">>btnThemeRemove.Name" xml:space="preserve">
|
||||
<value>btnThemeRemove</value>
|
||||
</data>
|
||||
<data name=">>btnThemeRemove.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=">>btnThemeRemove.Parent" xml:space="preserve">
|
||||
<value>tpTheme</value>
|
||||
</data>
|
||||
<data name=">>btnThemeRemove.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="btnThemeAdd.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>208, 64</value>
|
||||
</data>
|
||||
<data name="btnThemeAdd.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>80, 23</value>
|
||||
</data>
|
||||
<data name="btnThemeAdd.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>22</value>
|
||||
</data>
|
||||
<data name="btnThemeAdd.Text" xml:space="preserve">
|
||||
<value>Add</value>
|
||||
</data>
|
||||
<data name=">>btnThemeAdd.Name" xml:space="preserve">
|
||||
<value>btnThemeAdd</value>
|
||||
</data>
|
||||
<data name=">>btnThemeAdd.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=">>btnThemeAdd.Parent" xml:space="preserve">
|
||||
<value>tpTheme</value>
|
||||
</data>
|
||||
<data name=">>btnThemeAdd.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="cbThemes.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 64</value>
|
||||
</data>
|
||||
<data name="cbThemes.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>224, 21</value>
|
||||
<value>184, 21</value>
|
||||
</data>
|
||||
<data name="cbThemes.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>21</value>
|
||||
|
@ -691,7 +739,7 @@
|
|||
<value>tpTheme</value>
|
||||
</data>
|
||||
<data name=">>cbThemes.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="cbExperimentalDarkTheme.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -721,7 +769,7 @@
|
|||
<value>tpTheme</value>
|
||||
</data>
|
||||
<data name=">>cbExperimentalDarkTheme.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="btnApplyTheme.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
|
@ -748,7 +796,7 @@
|
|||
<value>tpTheme</value>
|
||||
</data>
|
||||
<data name=">>btnApplyTheme.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="pgTheme.HelpVisible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
|
@ -772,7 +820,7 @@
|
|||
<value>tpTheme</value>
|
||||
</data>
|
||||
<data name=">>pgTheme.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="cbUseDarkTheme.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -802,7 +850,7 @@
|
|||
<value>tpTheme</value>
|
||||
</data>
|
||||
<data name=">>cbUseDarkTheme.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="tpTheme.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 22</value>
|
||||
|
|
Loading…
Reference in a new issue