From ad5173241f92155f9ba880b4c1597133b9204fe7 Mon Sep 17 00:00:00 2001 From: Jaex Date: Mon, 24 Jun 2019 20:59:48 +0300 Subject: [PATCH] Apply dark theme to toolstrips too --- ShareX.HelpersLib/ShareXResources.cs | 20 +++++++++++++++++++ ShareX.HistoryLib/Forms/ImageHistoryForm.cs | 2 +- ShareX.ScreenCaptureLib/Forms/StickerForm.cs | 2 +- .../Shapes/ShapeManagerMenu.cs | 2 ++ ShareX/Forms/ActionsToolbarForm.cs | 2 +- 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/ShareX.HelpersLib/ShareXResources.cs b/ShareX.HelpersLib/ShareXResources.cs index 3d2c0af97..1976dc1c8 100644 --- a/ShareX.HelpersLib/ShareXResources.cs +++ b/ShareX.HelpersLib/ShareXResources.cs @@ -116,6 +116,10 @@ private static void ApplyThemeToControl(Control control) dgv.ColumnHeadersDefaultCellStyle.SelectionForeColor = TextColor; dgv.EnableHeadersVisualStyles = false; break; + case ToolStrip ts: + ts.Renderer = new ToolStripDarkRenderer(); + ApplyThemeToToolStripItemCollection(ts.Items); + return; case LinkLabel ll: ll.LinkColor = Color.FromArgb(166, 212, 255); break; @@ -129,5 +133,21 @@ private static void ApplyThemeToControl(Control control) ApplyThemeToControl(child); } } + + private static void ApplyThemeToToolStripItemCollection(ToolStripItemCollection collection) + { + foreach (ToolStripItem tsi in collection) + { + switch (tsi) + { + case ToolStripControlHost tsch: + ApplyThemeToControl(tsch.Control); + break; + case ToolStripDropDownItem tsddi: + ApplyThemeToToolStripItemCollection(tsddi.DropDownItems); + break; + } + } + } } } \ No newline at end of file diff --git a/ShareX.HistoryLib/Forms/ImageHistoryForm.cs b/ShareX.HistoryLib/Forms/ImageHistoryForm.cs index 8fad3f535..dba12ed46 100644 --- a/ShareX.HistoryLib/Forms/ImageHistoryForm.cs +++ b/ShareX.HistoryLib/Forms/ImageHistoryForm.cs @@ -48,12 +48,12 @@ public partial class ImageHistoryForm : Form public ImageHistoryForm(string historyPath, ImageHistorySettings settings, Action uploadFile = null, Action editImage = null) { InitializeComponent(); + tsMain.Renderer = new ToolStripRoundedEdgeRenderer(); ShareXResources.ApplyThemeToForm(this); HistoryPath = historyPath; Settings = settings; - tsMain.Renderer = new ToolStripRoundedEdgeRenderer(); ilvImages.View = (View)Settings.ViewMode; ilvImages.ThumbnailSize = Settings.ThumbnailSize; diff --git a/ShareX.ScreenCaptureLib/Forms/StickerForm.cs b/ShareX.ScreenCaptureLib/Forms/StickerForm.cs index 3dc00a67b..73e8d6f44 100644 --- a/ShareX.ScreenCaptureLib/Forms/StickerForm.cs +++ b/ShareX.ScreenCaptureLib/Forms/StickerForm.cs @@ -49,9 +49,9 @@ public StickerForm(List stickerPacks, int selectedStickerPack, StickerSize = stickerSize; InitializeComponent(); + tsMain.Renderer = new ToolStripRoundedEdgeRenderer(); ShareXResources.ApplyThemeToForm(this); - tsMain.Renderer = new ToolStripRoundedEdgeRenderer(); tsnudSize.NumericUpDownControl.Minimum = 16; tsnudSize.NumericUpDownControl.Maximum = 256; tsnudSize.NumericUpDownControl.Increment = 16; diff --git a/ShareX.ScreenCaptureLib/Shapes/ShapeManagerMenu.cs b/ShareX.ScreenCaptureLib/Shapes/ShapeManagerMenu.cs index 8980e0b4b..f4a2dc996 100644 --- a/ShareX.ScreenCaptureLib/Shapes/ShapeManagerMenu.cs +++ b/ShareX.ScreenCaptureLib/Shapes/ShapeManagerMenu.cs @@ -1050,6 +1050,8 @@ internal void CreateToolbar() tsMain.PerformLayout(); menuForm.ResumeLayout(false); + ShareXResources.ApplyThemeToForm(menuForm); + menuForm.Show(Form); UpdateMenu(); diff --git a/ShareX/Forms/ActionsToolbarForm.cs b/ShareX/Forms/ActionsToolbarForm.cs index 00af9caf4..ae392ff56 100644 --- a/ShareX/Forms/ActionsToolbarForm.cs +++ b/ShareX/Forms/ActionsToolbarForm.cs @@ -60,6 +60,7 @@ public static ActionsToolbarForm Instance private ActionsToolbarForm() { InitializeComponent(); + ShareXResources.ApplyThemeToForm(this); } private void InitializeComponent() @@ -74,7 +75,6 @@ private void InitializeComponent() BackColor = SystemColors.ActiveBorder; ClientSize = new Size(284, 261); FormBorderStyle = FormBorderStyle.None; - Icon = ShareXResources.Icon; ShowInTaskbar = false; StartPosition = FormStartPosition.Manual; Text = "ShareX - Actions toolbar";