From 9253d3ff1cde0135f91ae98f0f7aaee8b6eed059 Mon Sep 17 00:00:00 2001 From: Jaex Date: Mon, 17 Jun 2019 10:03:56 +0300 Subject: [PATCH] Partial dark theme support in application settings form --- ShareX.HelpersLib/ShareXResources.cs | 57 +-- ShareX.HistoryLib/Forms/HistoryForm.cs | 7 +- .../Forms/ApplicationSettingsForm.Designer.cs | 51 ++- ShareX/Forms/ApplicationSettingsForm.cs | 5 +- ShareX/Forms/ApplicationSettingsForm.resx | 355 ++++++++---------- 5 files changed, 213 insertions(+), 262 deletions(-) diff --git a/ShareX.HelpersLib/ShareXResources.cs b/ShareX.HelpersLib/ShareXResources.cs index 08147ce66..55a62e8e5 100644 --- a/ShareX.HelpersLib/ShareXResources.cs +++ b/ShareX.HelpersLib/ShareXResources.cs @@ -60,38 +60,45 @@ public static string UserAgent public static Color CheckerColor1 => UseDarkTheme ? Color.FromArgb(60, 60, 60) : SystemColors.ControlLightLight; public static Color CheckerColor2 => UseDarkTheme ? Color.FromArgb(50, 50, 50) : SystemColors.ControlLight; - public static void ApplyTheme(Control parent) + public static void ApplyTheme(Control control) { - foreach (Control control in parent.Controls) + if (control is Label || + control is CheckBox || + control is RichTextBox || + control is TreeView || + control is ComboBox || + control is NumericUpDown || + control is ListBox || + control is ListView) { - if (control is Label || control is CheckBox || control is RichTextBox) - { - control.ForeColor = TextColor; - control.BackColor = BackgroundColor; - } + control.ForeColor = TextColor; + control.BackColor = BackgroundColor; + } - if (control is Button) - { - control.ForeColor = SystemColors.ControlText; - } + if (control is Button) + { + control.ForeColor = SystemColors.ControlText; + } - if (control is GroupBox) - { - control.ForeColor = TextColor; - } + if (control is GroupBox) + { + control.ForeColor = TextColor; + } - if (control is Form) - { - control.BackColor = BackgroundColor; - } + if (control is Form || control is TabPage) + { + control.BackColor = BackgroundColor; + } - if (control is SplitContainer sc) - { - sc.Panel1.BackColor = BackgroundColor; - sc.Panel2.BackColor = BackgroundColor; - } + if (control is SplitContainer sc) + { + sc.Panel1.BackColor = BackgroundColor; + sc.Panel2.BackColor = BackgroundColor; + } - ApplyTheme(control); + foreach (Control child in control.Controls) + { + ApplyTheme(child); } } } diff --git a/ShareX.HistoryLib/Forms/HistoryForm.cs b/ShareX.HistoryLib/Forms/HistoryForm.cs index 0e7995365..cca76d8b3 100644 --- a/ShareX.HistoryLib/Forms/HistoryForm.cs +++ b/ShareX.HistoryLib/Forms/HistoryForm.cs @@ -78,16 +78,11 @@ public HistoryForm(string historyPath, HistorySettings settings, Action scMain.SplitterDistance = Settings.SplitterDistance; } - UpdateTheme(); + ShareXResources.ApplyTheme(this); Settings.WindowState.AutoHandleFormState(this); } - public void UpdateTheme() - { - ShareXResources.ApplyTheme(this); - } - private void RefreshHistoryItems() { allHistoryItems = GetHistoryItems(); diff --git a/ShareX/Forms/ApplicationSettingsForm.Designer.cs b/ShareX/Forms/ApplicationSettingsForm.Designer.cs index b014970cb..f0f1b4c3a 100644 --- a/ShareX/Forms/ApplicationSettingsForm.Designer.cs +++ b/ShareX/Forms/ApplicationSettingsForm.Designer.cs @@ -33,6 +33,8 @@ private void InitializeComponent() System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ApplicationSettingsForm)); this.tcSettings = new System.Windows.Forms.TabControl(); this.tpGeneral = new System.Windows.Forms.TabPage(); + this.cbUseWhiteShareXIcon = new System.Windows.Forms.CheckBox(); + this.cbUseDarkTheme = new System.Windows.Forms.CheckBox(); this.btnCheckDevBuild = new System.Windows.Forms.Button(); this.cbCheckPreReleaseUpdates = new System.Windows.Forms.CheckBox(); this.cbTrayMiddleClickAction = new System.Windows.Forms.ComboBox(); @@ -102,7 +104,6 @@ private void InitializeComponent() this.chFormat = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.tpUploadRetry = new System.Windows.Forms.TabPage(); this.chkUseSecondaryUploaders = new System.Windows.Forms.CheckBox(); - this.tlpBackupDestinations = new System.Windows.Forms.TableLayoutPanel(); this.gbSecondaryImageUploaders = new System.Windows.Forms.GroupBox(); this.lvSecondaryImageUploaders = new ShareX.HelpersLib.MyListView(); this.chSecondaryImageUploaders = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); @@ -143,8 +144,6 @@ private void InitializeComponent() this.tpAdvanced = new System.Windows.Forms.TabPage(); this.pgSettings = new System.Windows.Forms.PropertyGrid(); this.tttvMain = new ShareX.HelpersLib.TabToTreeView(); - this.cbUseDarkTheme = new System.Windows.Forms.CheckBox(); - this.cbUseWhiteShareXIcon = new System.Windows.Forms.CheckBox(); this.tcSettings.SuspendLayout(); this.tpGeneral.SuspendLayout(); this.tpIntegration.SuspendLayout(); @@ -161,7 +160,6 @@ private void InitializeComponent() this.tpUploadResults.SuspendLayout(); this.gbClipboardFormats.SuspendLayout(); this.tpUploadRetry.SuspendLayout(); - this.tlpBackupDestinations.SuspendLayout(); this.gbSecondaryImageUploaders.SuspendLayout(); this.gbSecondaryFileUploaders.SuspendLayout(); this.gbSecondaryTextUploaders.SuspendLayout(); @@ -216,6 +214,20 @@ private void InitializeComponent() resources.ApplyResources(this.tpGeneral, "tpGeneral"); this.tpGeneral.Name = "tpGeneral"; // + // cbUseWhiteShareXIcon + // + resources.ApplyResources(this.cbUseWhiteShareXIcon, "cbUseWhiteShareXIcon"); + this.cbUseWhiteShareXIcon.Name = "cbUseWhiteShareXIcon"; + this.cbUseWhiteShareXIcon.UseVisualStyleBackColor = true; + this.cbUseWhiteShareXIcon.CheckedChanged += new System.EventHandler(this.CbUseWhiteShareXIcon_CheckedChanged); + // + // cbUseDarkTheme + // + resources.ApplyResources(this.cbUseDarkTheme, "cbUseDarkTheme"); + this.cbUseDarkTheme.Name = "cbUseDarkTheme"; + this.cbUseDarkTheme.UseVisualStyleBackColor = true; + this.cbUseDarkTheme.CheckedChanged += new System.EventHandler(this.CbUseDarkTheme_CheckedChanged); + // // btnCheckDevBuild // resources.ApplyResources(this.btnCheckDevBuild, "btnCheckDevBuild"); @@ -690,6 +702,7 @@ private void InitializeComponent() this.chDescription, this.chFormat}); this.lvClipboardFormats.FullRowSelect = true; + this.lvClipboardFormats.HideSelection = false; this.lvClipboardFormats.Name = "lvClipboardFormats"; this.lvClipboardFormats.UseCompatibleStateImageBehavior = false; this.lvClipboardFormats.View = System.Windows.Forms.View.Details; @@ -706,8 +719,10 @@ private void InitializeComponent() // tpUploadRetry // this.tpUploadRetry.BackColor = System.Drawing.SystemColors.Window; + this.tpUploadRetry.Controls.Add(this.gbSecondaryFileUploaders); + this.tpUploadRetry.Controls.Add(this.gbSecondaryImageUploaders); + this.tpUploadRetry.Controls.Add(this.gbSecondaryTextUploaders); this.tpUploadRetry.Controls.Add(this.chkUseSecondaryUploaders); - this.tpUploadRetry.Controls.Add(this.tlpBackupDestinations); this.tpUploadRetry.Controls.Add(this.cbIfUploadFailRetryOnce); this.tpUploadRetry.Controls.Add(this.nudRetryUpload); resources.ApplyResources(this.tpUploadRetry, "tpUploadRetry"); @@ -720,14 +735,6 @@ private void InitializeComponent() this.chkUseSecondaryUploaders.UseVisualStyleBackColor = true; this.chkUseSecondaryUploaders.CheckedChanged += new System.EventHandler(this.chkUseSecondaryUploaders_CheckedChanged); // - // tlpBackupDestinations - // - resources.ApplyResources(this.tlpBackupDestinations, "tlpBackupDestinations"); - this.tlpBackupDestinations.Controls.Add(this.gbSecondaryImageUploaders, 0, 0); - this.tlpBackupDestinations.Controls.Add(this.gbSecondaryFileUploaders, 2, 0); - this.tlpBackupDestinations.Controls.Add(this.gbSecondaryTextUploaders, 1, 0); - this.tlpBackupDestinations.Name = "tlpBackupDestinations"; - // // gbSecondaryImageUploaders // this.gbSecondaryImageUploaders.Controls.Add(this.lvSecondaryImageUploaders); @@ -771,6 +778,7 @@ private void InitializeComponent() resources.ApplyResources(this.lvSecondaryFileUploaders, "lvSecondaryFileUploaders"); this.lvSecondaryFileUploaders.FullRowSelect = true; this.lvSecondaryFileUploaders.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.lvSecondaryFileUploaders.HideSelection = false; this.lvSecondaryFileUploaders.MultiSelect = false; this.lvSecondaryFileUploaders.Name = "lvSecondaryFileUploaders"; this.lvSecondaryFileUploaders.UseCompatibleStateImageBehavior = false; @@ -795,6 +803,7 @@ private void InitializeComponent() resources.ApplyResources(this.lvSecondaryTextUploaders, "lvSecondaryTextUploaders"); this.lvSecondaryTextUploaders.FullRowSelect = true; this.lvSecondaryTextUploaders.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.lvSecondaryTextUploaders.HideSelection = false; this.lvSecondaryTextUploaders.MultiSelect = false; this.lvSecondaryTextUploaders.Name = "lvSecondaryTextUploaders"; this.lvSecondaryTextUploaders.UseCompatibleStateImageBehavior = false; @@ -1041,20 +1050,6 @@ private void InitializeComponent() this.tttvMain.TreeViewSize = 175; this.tttvMain.TabChanged += new ShareX.HelpersLib.TabToTreeView.TabChangedEventHandler(this.tttvMain_TabChanged); // - // cbUseDarkTheme - // - resources.ApplyResources(this.cbUseDarkTheme, "cbUseDarkTheme"); - this.cbUseDarkTheme.Name = "cbUseDarkTheme"; - this.cbUseDarkTheme.UseVisualStyleBackColor = true; - this.cbUseDarkTheme.CheckedChanged += new System.EventHandler(this.CbUseDarkTheme_CheckedChanged); - // - // cbUseWhiteShareXIcon - // - resources.ApplyResources(this.cbUseWhiteShareXIcon, "cbUseWhiteShareXIcon"); - this.cbUseWhiteShareXIcon.Name = "cbUseWhiteShareXIcon"; - this.cbUseWhiteShareXIcon.UseVisualStyleBackColor = true; - this.cbUseWhiteShareXIcon.CheckedChanged += new System.EventHandler(this.CbUseWhiteShareXIcon_CheckedChanged); - // // ApplicationSettingsForm // resources.ApplyResources(this, "$this"); @@ -1090,7 +1085,6 @@ private void InitializeComponent() this.gbClipboardFormats.ResumeLayout(false); this.tpUploadRetry.ResumeLayout(false); this.tpUploadRetry.PerformLayout(); - this.tlpBackupDestinations.ResumeLayout(false); this.gbSecondaryImageUploaders.ResumeLayout(false); this.gbSecondaryFileUploaders.ResumeLayout(false); this.gbSecondaryTextUploaders.ResumeLayout(false); @@ -1169,7 +1163,6 @@ private void InitializeComponent() private System.Windows.Forms.Button btnOpenScreenshotsFolder; private System.Windows.Forms.CheckBox cbSilentRun; private System.Windows.Forms.NumericUpDown nudRetryUpload; - private System.Windows.Forms.TableLayoutPanel tlpBackupDestinations; private System.Windows.Forms.GroupBox gbSecondaryImageUploaders; private MyListView lvSecondaryImageUploaders; private System.Windows.Forms.GroupBox gbSecondaryFileUploaders; diff --git a/ShareX/Forms/ApplicationSettingsForm.cs b/ShareX/Forms/ApplicationSettingsForm.cs index 1b417aa3d..a69df8b5b 100644 --- a/ShareX/Forms/ApplicationSettingsForm.cs +++ b/ShareX/Forms/ApplicationSettingsForm.cs @@ -43,6 +43,7 @@ public ApplicationSettingsForm() { InitializeControls(); Icon = ShareXResources.Icon; + ShareXResources.ApplyTheme(this); } private void SettingsForm_Shown(object sender, EventArgs e) @@ -176,7 +177,7 @@ private void UpdateControls() nudRetryUpload.SetValue(Program.Settings.MaxUploadFailRetry); chkUseSecondaryUploaders.Checked = Program.Settings.UseSecondaryUploaders; - tlpBackupDestinations.Enabled = Program.Settings.UseSecondaryUploaders; + gbSecondaryImageUploaders.Enabled = gbSecondaryTextUploaders.Enabled = gbSecondaryFileUploaders.Enabled = Program.Settings.UseSecondaryUploaders; Program.Settings.SecondaryImageUploaders.AddRange(Helpers.GetEnums().Where(n => Program.Settings.SecondaryImageUploaders.All(e => e != n))); Program.Settings.SecondaryTextUploaders.AddRange(Helpers.GetEnums().Where(n => Program.Settings.SecondaryTextUploaders.All(e => e != n))); @@ -786,7 +787,7 @@ private void btnClipboardFormatRemove_Click(object sender, EventArgs e) private void chkUseSecondaryUploaders_CheckedChanged(object sender, EventArgs e) { Program.Settings.UseSecondaryUploaders = chkUseSecondaryUploaders.Checked; - tlpBackupDestinations.Enabled = Program.Settings.UseSecondaryUploaders; + gbSecondaryImageUploaders.Enabled = gbSecondaryTextUploaders.Enabled = gbSecondaryFileUploaders.Enabled = Program.Settings.UseSecondaryUploaders; } private void nudRetryUpload_ValueChanged(object sender, EventArgs e) diff --git a/ShareX/Forms/ApplicationSettingsForm.resx b/ShareX/Forms/ApplicationSettingsForm.resx index 6a0c2b2eb..4fc95e7c9 100644 --- a/ShareX/Forms/ApplicationSettingsForm.resx +++ b/ShareX/Forms/ApplicationSettingsForm.resx @@ -1878,6 +1878,159 @@ 1 + + Fill + + + 3, 18 + + + 162, 242 + + + 0 + + + lvSecondaryFileUploaders + + + ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.0.0.0, Culture=neutral, PublicKeyToken=null + + + gbSecondaryFileUploaders + + + 0 + + + 360, 64 + + + 3, 5, 3, 3 + + + 168, 263 + + + 2 + + + Secondary file uploaders + + + gbSecondaryFileUploaders + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tpUploadRetry + + + 0 + + + Fill + + + 3, 18 + + + 162, 242 + + + 0 + + + lvSecondaryImageUploaders + + + ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.0.0.0, Culture=neutral, PublicKeyToken=null + + + gbSecondaryImageUploaders + + + 0 + + + 8, 64 + + + 3, 5, 3, 3 + + + 168, 263 + + + 0 + + + Secondary image uploaders + + + gbSecondaryImageUploaders + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tpUploadRetry + + + 1 + + + Fill + + + 3, 18 + + + 162, 242 + + + 0 + + + lvSecondaryTextUploaders + + + ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.0.0.0, Culture=neutral, PublicKeyToken=null + + + gbSecondaryTextUploaders + + + 0 + + + 184, 64 + + + 3, 5, 3, 3 + + + 168, 263 + + + 1 + + + Secondary text uploaders + + + gbSecondaryTextUploaders + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tpUploadRetry + + + 2 + True @@ -1906,206 +2059,8 @@ tpUploadRetry - 0 - - - Top, Bottom, Left, Right - - 3 - - Fill - - - 3, 18 - - - 156, 242 - - - 0 - - - lvSecondaryImageUploaders - - - ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.0.0.0, Culture=neutral, PublicKeyToken=null - - - gbSecondaryImageUploaders - - - 0 - - - Fill - - - 8, 8 - - - 3, 5, 3, 3 - - - 162, 263 - - - 0 - - - Secondary image uploaders - - - gbSecondaryImageUploaders - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tlpBackupDestinations - - - 0 - - - Fill - - - 3, 18 - - - 158, 242 - - - 0 - - - lvSecondaryFileUploaders - - - ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.0.0.0, Culture=neutral, PublicKeyToken=null - - - gbSecondaryFileUploaders - - - 0 - - - Fill - - - 349, 8 - - - 3, 5, 3, 3 - - - 164, 263 - - - 2 - - - Secondary file uploaders - - - gbSecondaryFileUploaders - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tlpBackupDestinations - - - 1 - - - Fill - - - 3, 18 - - - 161, 242 - - - 0 - - - lvSecondaryTextUploaders - - - ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.0.0.0, Culture=neutral, PublicKeyToken=null - - - gbSecondaryTextUploaders - - - 0 - - - Fill - - - 176, 8 - - - 3, 5, 3, 3 - - - 167, 263 - - - 1 - - - Secondary text uploaders - - - gbSecondaryTextUploaders - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tlpBackupDestinations - - - 2 - - - 3, 56 - - - 5, 5, 5, 5 - - - 1 - - - 521, 279 - - - 3 - - - tlpBackupDestinations - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tpUploadRetry - - - 1 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="gbSecondaryImageUploaders" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gbSecondaryFileUploaders" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="gbSecondaryTextUploaders" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,33,Percent,34,Percent,33" /><Rows Styles="Percent,100" /></TableLayoutSettings> - True @@ -2134,7 +2089,7 @@ tpUploadRetry - 2 + 4 8, 32 @@ -2158,7 +2113,7 @@ tpUploadRetry - 3 + 5 4, 22