Added ShareXTheme class for preparation of customizable theme colors

This commit is contained in:
Jaex 2019-09-06 11:18:30 +03:00
parent 56c698a5ae
commit 35fa16a659
15 changed files with 177 additions and 104 deletions

View file

@ -177,8 +177,8 @@ private void UpdateImageSizeLabel()
public void UpdateTheme() public void UpdateTheme()
{ {
lblImageSize.BackColor = ShareXResources.BackgroundColor; lblImageSize.BackColor = ShareXResources.Theme.BackgroundColor;
lblImageSize.ForeColor = ShareXResources.TextColor; lblImageSize.ForeColor = ShareXResources.Theme.TextColor;
} }
public void UpdateCheckers(bool forceUpdate = false) public void UpdateCheckers(bool forceUpdate = false)
@ -189,8 +189,8 @@ public void UpdateCheckers(bool forceUpdate = false)
{ {
if (pbMain.BackgroundImage != null) pbMain.BackgroundImage.Dispose(); if (pbMain.BackgroundImage != null) pbMain.BackgroundImage.Dispose();
pbMain.BackgroundImage = ImageHelpers.CreateCheckerPattern(ShareXResources.CheckerSize, ShareXResources.CheckerSize, pbMain.BackgroundImage = ImageHelpers.CreateCheckerPattern(ShareXResources.Theme.CheckerSize, ShareXResources.Theme.CheckerSize,
ShareXResources.CheckerColor1, ShareXResources.CheckerColor2); ShareXResources.Theme.CheckerColor, ShareXResources.Theme.CheckerColor2);
} }
} }
else else

View file

@ -35,14 +35,14 @@ public ToolStripDarkRenderer() : base(new DarkColorTable())
protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{ {
e.TextColor = ShareXResources.DarkTextColor; e.TextColor = ShareXResources.Theme.TextColor;
base.OnRenderItemText(e); base.OnRenderItemText(e);
} }
protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e)
{ {
e.ArrowColor = ShareXResources.DarkTextColor; e.ArrowColor = ShareXResources.Theme.TextColor;
base.OnRenderArrow(e); base.OnRenderArrow(e);
} }

View file

@ -730,12 +730,12 @@ public static void SupportDarkTheme(this ListView lv)
{ {
if (ShareXResources.UseDarkTheme) if (ShareXResources.UseDarkTheme)
{ {
using (Brush brush = new SolidBrush(ShareXResources.DarkBackgroundColor)) using (Brush brush = new SolidBrush(ShareXResources.Theme.BackgroundColor))
{ {
e.Graphics.FillRectangle(brush, e.Bounds); e.Graphics.FillRectangle(brush, e.Bounds);
} }
TextRenderer.DrawText(e.Graphics, e.Header.Text, e.Font, e.Bounds.LocationOffset(2, 0).SizeOffset(-4, 0), ShareXResources.DarkTextColor, TextRenderer.DrawText(e.Graphics, e.Header.Text, e.Font, e.Bounds.LocationOffset(2, 0).SizeOffset(-4, 0), ShareXResources.Theme.TextColor,
TextFormatFlags.Left | TextFormatFlags.VerticalCenter | TextFormatFlags.EndEllipsis); TextFormatFlags.Left | TextFormatFlags.VerticalCenter | TextFormatFlags.EndEllipsis);
if (e.Bounds.Right < lv.ClientRectangle.Right) if (e.Bounds.Right < lv.ClientRectangle.Right)

View file

@ -45,7 +45,7 @@ public ClipboardContentViewer(bool showCheckBox = false)
if (ShareXResources.ExperimentalDarkTheme) if (ShareXResources.ExperimentalDarkTheme)
{ {
lblQuestion.BackColor = ShareXResources.DarkBorderColor; lblQuestion.BackColor = ShareXResources.Theme.BorderColor;
} }
cbDontShowThisWindow.Visible = showCheckBox; cbDontShowThisWindow.Visible = showCheckBox;

View file

@ -151,7 +151,7 @@ public MyMessageBox(string text, string caption, MessageBoxButtons buttons = Mes
if (ShareXResources.ExperimentalDarkTheme) if (ShareXResources.ExperimentalDarkTheme)
{ {
panel.BackColor = ShareXResources.DarkBorderColor; panel.BackColor = ShareXResources.Theme.BorderColor;
} }
} }

View file

@ -272,6 +272,7 @@
<DependentUpon>TabToTreeView.cs</DependentUpon> <DependentUpon>TabToTreeView.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="NameParser\CodeMenuEntryFilename.cs" /> <Compile Include="NameParser\CodeMenuEntryFilename.cs" />
<Compile Include="ShareXTheme.cs" />
<Compile Include="TextBoxTraceListener.cs" /> <Compile Include="TextBoxTraceListener.cs" />
<Compile Include="SafeStringEnumConverter.cs" /> <Compile Include="SafeStringEnumConverter.cs" />
<Compile Include="UITypeEditors\EnumDescriptionConverter.cs" /> <Compile Include="UITypeEditors\EnumDescriptionConverter.cs" />

View file

@ -41,7 +41,30 @@ public static string UserAgent
} }
} }
public static bool UseDarkTheme { get; set; } private static bool useDarkTheme;
public static bool UseDarkTheme
{
get
{
return useDarkTheme;
}
set
{
useDarkTheme = value;
if (useDarkTheme)
{
Theme.ApplyDarkColors();
}
else
{
Theme.ApplySystemColors();
}
}
}
private static bool experimentalDarkTheme;
public static bool ExperimentalDarkTheme public static bool ExperimentalDarkTheme
{ {
@ -55,28 +78,13 @@ public static bool ExperimentalDarkTheme
} }
} }
private static bool experimentalDarkTheme;
public static bool UseWhiteIcon { get; set; } public static bool UseWhiteIcon { get; set; }
public static Icon Icon => UseWhiteIcon ? Resources.ShareX_Icon_White : Resources.ShareX_Icon; public static Icon Icon => UseWhiteIcon ? Resources.ShareX_Icon_White : Resources.ShareX_Icon;
public static Image Logo => Resources.ShareX_Logo; public static Image Logo => Resources.ShareX_Logo;
public static Image LogoBlack => Resources.ShareX_Logo_Black; public static Image LogoBlack => Resources.ShareX_Logo_Black;
public static Color BackgroundColor => UseDarkTheme ? DarkBackgroundColor : SystemColors.Window; public static ShareXTheme Theme { get; set; } = new ShareXTheme();
public static Color TextColor => UseDarkTheme ? DarkTextColor : SystemColors.ControlText;
public static Color BorderColor => UseDarkTheme ? DarkBorderColor : ProfessionalColors.SeparatorDark;
public static Color CheckerColor1 => UseDarkTheme ? DarkCheckerColor1 : SystemColors.ControlLightLight;
public static Color CheckerColor2 => UseDarkTheme ? DarkCheckerColor2 : SystemColors.ControlLight;
public static int CheckerSize { get; } = 15;
public static Color DarkBackgroundColor { get; } = Color.FromArgb(42, 47, 56);
public static Color DarkBackgroundVariantColor { get; } = ColorHelpers.LighterColor(DarkBackgroundColor, 0.05f);
public static Color DarkTextColor { get; } = Color.FromArgb(235, 235, 235);
public static Color DarkBorderColor { get; } = Color.FromArgb(28, 32, 38);
public static Color DarkCheckerColor1 { get; } = Color.FromArgb(60, 60, 60);
public static Color DarkCheckerColor2 { get; } = Color.FromArgb(50, 50, 50);
public static Color DarkLinkColor { get; } = Color.FromArgb(166, 212, 255);
public static void ApplyTheme(Form form, bool setIcon = true) public static void ApplyTheme(Form form, bool setIcon = true)
{ {
@ -116,63 +124,63 @@ private static void ApplyDarkThemeToControl(Control control)
{ {
case Button btn: case Button btn:
btn.FlatStyle = FlatStyle.Flat; btn.FlatStyle = FlatStyle.Flat;
btn.FlatAppearance.BorderColor = DarkBorderColor; btn.FlatAppearance.BorderColor = Theme.BorderColor;
btn.ForeColor = DarkTextColor; btn.ForeColor = Theme.TextColor;
btn.BackColor = DarkBackgroundVariantColor; btn.BackColor = Theme.BackgroundColor2;
return; return;
case CheckBox cb when cb.Appearance == Appearance.Button: case CheckBox cb when cb.Appearance == Appearance.Button:
cb.FlatStyle = FlatStyle.Flat; cb.FlatStyle = FlatStyle.Flat;
cb.FlatAppearance.BorderColor = DarkBorderColor; cb.FlatAppearance.BorderColor = Theme.BorderColor;
cb.ForeColor = DarkTextColor; cb.ForeColor = Theme.TextColor;
cb.BackColor = DarkBackgroundVariantColor; cb.BackColor = Theme.BackgroundColor2;
return; return;
case TextBox tb: case TextBox tb:
tb.ForeColor = DarkTextColor; tb.ForeColor = Theme.TextColor;
tb.BackColor = DarkBackgroundVariantColor; tb.BackColor = Theme.BackgroundColor2;
tb.BorderStyle = BorderStyle.FixedSingle; tb.BorderStyle = BorderStyle.FixedSingle;
return; return;
case ComboBox cb: case ComboBox cb:
cb.FlatStyle = FlatStyle.Flat; cb.FlatStyle = FlatStyle.Flat;
cb.ForeColor = DarkTextColor; cb.ForeColor = Theme.TextColor;
cb.BackColor = DarkBackgroundVariantColor; cb.BackColor = Theme.BackgroundColor2;
return; return;
case ListBox lb: case ListBox lb:
lb.ForeColor = DarkTextColor; lb.ForeColor = Theme.TextColor;
lb.BackColor = DarkBackgroundVariantColor; lb.BackColor = Theme.BackgroundColor2;
return; return;
case ListView lv: case ListView lv:
lv.ForeColor = DarkTextColor; lv.ForeColor = Theme.TextColor;
lv.BackColor = DarkBackgroundVariantColor; lv.BackColor = Theme.BackgroundColor2;
lv.SupportDarkTheme(); lv.SupportDarkTheme();
return; return;
case SplitContainer sc: case SplitContainer sc:
sc.Panel1.BackColor = DarkBackgroundColor; sc.Panel1.BackColor = Theme.BackgroundColor;
sc.Panel2.BackColor = DarkBackgroundColor; sc.Panel2.BackColor = Theme.BackgroundColor;
break; break;
case PropertyGrid pg: case PropertyGrid pg:
pg.CategoryForeColor = DarkTextColor; pg.CategoryForeColor = Theme.TextColor;
pg.CategorySplitterColor = DarkBackgroundColor; pg.CategorySplitterColor = Theme.BackgroundColor;
pg.LineColor = DarkBackgroundColor; pg.LineColor = Theme.BackgroundColor;
pg.SelectedItemWithFocusForeColor = DarkBackgroundColor; pg.SelectedItemWithFocusForeColor = Theme.BackgroundColor;
pg.SelectedItemWithFocusBackColor = DarkTextColor; pg.SelectedItemWithFocusBackColor = Theme.TextColor;
pg.ViewForeColor = DarkTextColor; pg.ViewForeColor = Theme.TextColor;
pg.ViewBackColor = DarkBackgroundVariantColor; pg.ViewBackColor = Theme.BackgroundColor2;
pg.ViewBorderColor = DarkBorderColor; pg.ViewBorderColor = Theme.BorderColor;
pg.HelpForeColor = DarkTextColor; pg.HelpForeColor = Theme.TextColor;
pg.HelpBackColor = DarkBackgroundColor; pg.HelpBackColor = Theme.BackgroundColor;
pg.HelpBorderColor = DarkBorderColor; pg.HelpBorderColor = Theme.BorderColor;
return; return;
case DataGridView dgv: case DataGridView dgv:
dgv.BackgroundColor = DarkBackgroundVariantColor; dgv.BackgroundColor = Theme.BackgroundColor2;
dgv.GridColor = DarkBorderColor; dgv.GridColor = Theme.BorderColor;
dgv.DefaultCellStyle.BackColor = DarkBackgroundVariantColor; dgv.DefaultCellStyle.BackColor = Theme.BackgroundColor2;
dgv.DefaultCellStyle.SelectionBackColor = DarkBackgroundVariantColor; dgv.DefaultCellStyle.SelectionBackColor = Theme.BackgroundColor2;
dgv.DefaultCellStyle.ForeColor = DarkTextColor; dgv.DefaultCellStyle.ForeColor = Theme.TextColor;
dgv.DefaultCellStyle.SelectionForeColor = DarkTextColor; dgv.DefaultCellStyle.SelectionForeColor = Theme.TextColor;
dgv.ColumnHeadersDefaultCellStyle.BackColor = DarkBackgroundColor; dgv.ColumnHeadersDefaultCellStyle.BackColor = Theme.BackgroundColor;
dgv.ColumnHeadersDefaultCellStyle.SelectionBackColor = DarkBackgroundColor; dgv.ColumnHeadersDefaultCellStyle.SelectionBackColor = Theme.BackgroundColor;
dgv.ColumnHeadersDefaultCellStyle.ForeColor = DarkTextColor; dgv.ColumnHeadersDefaultCellStyle.ForeColor = Theme.TextColor;
dgv.ColumnHeadersDefaultCellStyle.SelectionForeColor = DarkTextColor; dgv.ColumnHeadersDefaultCellStyle.SelectionForeColor = Theme.TextColor;
dgv.EnableHeadersVisualStyles = false; dgv.EnableHeadersVisualStyles = false;
break; break;
case ToolStrip ts: case ToolStrip ts:
@ -180,12 +188,12 @@ private static void ApplyDarkThemeToControl(Control control)
ApplyDarkThemeToToolStripItemCollection(ts.Items); ApplyDarkThemeToToolStripItemCollection(ts.Items);
return; return;
case LinkLabel ll: case LinkLabel ll:
ll.LinkColor = DarkLinkColor; ll.LinkColor = Theme.LinkColor;
break; break;
} }
control.ForeColor = DarkTextColor; control.ForeColor = Theme.TextColor;
control.BackColor = DarkBackgroundColor; control.BackColor = Theme.BackgroundColor;
foreach (Control child in control.Controls) foreach (Control child in control.Controls)
{ {

View file

@ -0,0 +1,64 @@
#region License Information (GPL v3)
/*
ShareX - A program that allows you to take screenshots and share any file type
Copyright (c) 2007-2019 ShareX Team
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Optionally you can also view the license at <http://www.gnu.org/licenses/>.
*/
#endregion License Information (GPL v3)
using System.Drawing;
using System.Windows.Forms;
namespace ShareX.HelpersLib
{
public class ShareXTheme
{
public Color BackgroundColor { get; set; }
public Color BackgroundColor2 { get; set; }
public Color TextColor { get; set; }
public Color BorderColor { get; set; }
public Color CheckerColor { get; set; }
public Color CheckerColor2 { get; set; }
public int CheckerSize { get; set; } = 15;
public Color LinkColor { get; set; }
public void ApplySystemColors()
{
BackgroundColor = SystemColors.Window;
//BackgroundColor2 =
TextColor = SystemColors.ControlText;
BorderColor = ProfessionalColors.SeparatorDark;
CheckerColor = SystemColors.ControlLightLight;
CheckerColor2 = SystemColors.ControlLight;
//LinkColor =
}
public void ApplyDarkColors()
{
BackgroundColor = Color.FromArgb(42, 47, 56);
BackgroundColor2 = ColorHelpers.LighterColor(BackgroundColor, 0.05f);
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);
}
}
}

View file

@ -59,11 +59,11 @@ public ImageHistoryForm(string historyPath, ImageHistorySettings settings, Actio
if (ShareXResources.ExperimentalDarkTheme) if (ShareXResources.ExperimentalDarkTheme)
{ {
ilvImages.BorderStyle = BorderStyle.None; ilvImages.BorderStyle = BorderStyle.None;
ilvImages.Colors.BackColor = ShareXResources.DarkBackgroundVariantColor; ilvImages.Colors.BackColor = ShareXResources.Theme.BackgroundColor2;
ilvImages.Colors.BorderColor = ShareXResources.DarkBorderColor; ilvImages.Colors.BorderColor = ShareXResources.Theme.BorderColor;
ilvImages.Colors.ForeColor = ShareXResources.DarkTextColor; ilvImages.Colors.ForeColor = ShareXResources.Theme.TextColor;
ilvImages.Colors.SelectedForeColor = ShareXResources.DarkTextColor; ilvImages.Colors.SelectedForeColor = ShareXResources.Theme.TextColor;
ilvImages.Colors.UnFocusedForeColor = ShareXResources.DarkTextColor; ilvImages.Colors.UnFocusedForeColor = ShareXResources.Theme.TextColor;
} }
him = new HistoryItemManager(uploadFile, editImage); him = new HistoryItemManager(uploadFile, editImage);

View file

@ -153,8 +153,8 @@ public RegionCaptureForm(RegionCaptureMode mode, RegionCaptureOptions options, I
if (ShareXResources.UseDarkTheme) if (ShareXResources.UseDarkTheme)
{ {
canvasBackgroundColor = ShareXResources.DarkBackgroundColor; canvasBackgroundColor = ShareXResources.Theme.BackgroundColor;
canvasBorderPen = new Pen(ShareXResources.DarkBorderColor); canvasBorderPen = new Pen(ShareXResources.Theme.BorderColor);
} }
else else
{ {
@ -324,8 +324,8 @@ internal void InitBackground(Image canvas, bool centerCanvas = true)
{ {
Rectangle sourceRect = new Rectangle(0, 0, Canvas.Width, Canvas.Height); Rectangle sourceRect = new Rectangle(0, 0, Canvas.Width, Canvas.Height);
using (Image checkers = ImageHelpers.DrawCheckers(Canvas.Width, Canvas.Height, ShareXResources.CheckerSize, using (Image checkers = ImageHelpers.DrawCheckers(Canvas.Width, Canvas.Height, ShareXResources.Theme.CheckerSize,
ShareXResources.CheckerColor1, ShareXResources.CheckerColor2)) ShareXResources.Theme.CheckerColor, ShareXResources.Theme.CheckerColor2))
{ {
g.DrawImage(checkers, sourceRect); g.DrawImage(checkers, sourceRect);
} }

View file

@ -49,12 +49,12 @@ public void UpdateTheme()
{ {
if (ShareXResources.UseDarkTheme) if (ShareXResources.UseDarkTheme)
{ {
dgvNews.BackgroundColor = ShareXResources.DarkBackgroundColor; dgvNews.BackgroundColor = ShareXResources.Theme.BackgroundColor;
dgvNews.DefaultCellStyle.BackColor = dgvNews.DefaultCellStyle.SelectionBackColor = ShareXResources.DarkBackgroundColor; dgvNews.DefaultCellStyle.BackColor = dgvNews.DefaultCellStyle.SelectionBackColor = ShareXResources.Theme.BackgroundColor;
dgvNews.DefaultCellStyle.ForeColor = dgvNews.DefaultCellStyle.SelectionForeColor = ShareXResources.DarkTextColor; dgvNews.DefaultCellStyle.ForeColor = dgvNews.DefaultCellStyle.SelectionForeColor = ShareXResources.Theme.TextColor;
dgvNews.AlternatingRowsDefaultCellStyle.BackColor = dgvNews.AlternatingRowsDefaultCellStyle.SelectionBackColor = dgvNews.AlternatingRowsDefaultCellStyle.BackColor = dgvNews.AlternatingRowsDefaultCellStyle.SelectionBackColor =
ColorHelpers.LighterColor(ShareXResources.DarkBackgroundColor, 0.02f); ColorHelpers.LighterColor(ShareXResources.Theme.BackgroundColor, 0.02f);
dgvNews.GridColor = ShareXResources.DarkBorderColor; dgvNews.GridColor = ShareXResources.Theme.BorderColor;
} }
else else
{ {
@ -69,7 +69,7 @@ public void UpdateTheme()
foreach (DataGridViewRow row in dgvNews.Rows) foreach (DataGridViewRow row in dgvNews.Rows)
{ {
row.Cells[2].Style.ForeColor = row.Cells[2].Style.SelectionForeColor = row.Cells[2].Style.ForeColor = row.Cells[2].Style.SelectionForeColor =
ShareXResources.UseDarkTheme ? ShareXResources.DarkTextColor : SystemColors.ControlText; ShareXResources.UseDarkTheme ? ShareXResources.Theme.TextColor : SystemColors.ControlText;
} }
} }
@ -203,7 +203,7 @@ private void dgvNews_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
if (newsItem != null && !string.IsNullOrEmpty(newsItem.URL)) if (newsItem != null && !string.IsNullOrEmpty(newsItem.URL))
{ {
row.Cells[e.ColumnIndex].Style.ForeColor = row.Cells[e.ColumnIndex].Style.SelectionForeColor = row.Cells[e.ColumnIndex].Style.ForeColor = row.Cells[e.ColumnIndex].Style.SelectionForeColor =
ShareXResources.UseDarkTheme ? ShareXResources.DarkTextColor : SystemColors.ControlText; ShareXResources.UseDarkTheme ? ShareXResources.Theme.TextColor : SystemColors.ControlText;
} }
} }

View file

@ -205,11 +205,11 @@ public void UpdateTheme()
{ {
if (ShareXResources.UseDarkTheme) if (ShareXResources.UseDarkTheme)
{ {
lblTitle.ForeColor = ShareXResources.DarkTextColor; lblTitle.ForeColor = ShareXResources.Theme.TextColor;
lblTitle.TextShadowColor = ShareXResources.DarkBorderColor; lblTitle.TextShadowColor = ShareXResources.Theme.BorderColor;
pThumbnail.PanelColor = ShareXResources.DarkBorderColor; pThumbnail.PanelColor = ShareXResources.Theme.BorderColor;
ttMain.BackColor = ShareXResources.DarkBackgroundColor; ttMain.BackColor = ShareXResources.Theme.BackgroundColor;
ttMain.ForeColor = ShareXResources.DarkTextColor; ttMain.ForeColor = ShareXResources.Theme.TextColor;
} }
else else
{ {

View file

@ -122,7 +122,7 @@ public void UpdateTheme()
{ {
if (ShareXResources.UseDarkTheme) if (ShareXResources.UseDarkTheme)
{ {
BackColor = ShareXResources.DarkBackgroundColor; BackColor = ShareXResources.Theme.BackgroundColor;
} }
else else
{ {

View file

@ -792,19 +792,19 @@ private void UpdateTheme()
tsMain.DrawCustomBorder = false; tsMain.DrawCustomBorder = false;
cmsTray.Renderer = new ToolStripDarkRenderer(); cmsTray.Renderer = new ToolStripDarkRenderer();
cmsTaskInfo.Renderer = new ToolStripDarkRenderer(); cmsTaskInfo.Renderer = new ToolStripDarkRenderer();
ttMain.BackColor = ShareXResources.DarkBackgroundColor; ttMain.BackColor = ShareXResources.Theme.BackgroundColor;
ttMain.ForeColor = ShareXResources.DarkTextColor; ttMain.ForeColor = ShareXResources.Theme.TextColor;
lvUploads.BackColor = ShareXResources.DarkBackgroundColor; lvUploads.BackColor = ShareXResources.Theme.BackgroundColor;
lvUploads.ForeColor = ShareXResources.DarkTextColor; lvUploads.ForeColor = ShareXResources.Theme.TextColor;
lblListViewTip.ForeColor = ShareXResources.DarkTextColor; lblListViewTip.ForeColor = ShareXResources.Theme.TextColor;
scMain.SplitterColor = ShareXResources.DarkBackgroundColor; scMain.SplitterColor = ShareXResources.Theme.BackgroundColor;
scMain.SplitterLineColor = ShareXResources.DarkBorderColor; scMain.SplitterLineColor = ShareXResources.Theme.BorderColor;
pThumbnailView.BackColor = ShareXResources.DarkBackgroundColor; pThumbnailView.BackColor = ShareXResources.Theme.BackgroundColor;
lblThumbnailViewTip.ForeColor = ShareXResources.DarkTextColor; lblThumbnailViewTip.ForeColor = ShareXResources.Theme.TextColor;
flpSocialButtons.BackColor = ShareXResources.DarkBackgroundColor; flpSocialButtons.BackColor = ShareXResources.Theme.BackgroundColor;
btnCloseNews.FlatAppearance.BorderColor = ShareXResources.DarkBorderColor; btnCloseNews.FlatAppearance.BorderColor = ShareXResources.Theme.BorderColor;
btnCloseNews.ForeColor = ShareXResources.DarkTextColor; btnCloseNews.ForeColor = ShareXResources.Theme.TextColor;
btnCloseNews.BackColor = ShareXResources.DarkBackgroundVariantColor; btnCloseNews.BackColor = ShareXResources.Theme.BackgroundColor2;
} }
else else
{ {

View file

@ -75,7 +75,7 @@ public NotificationForm(int duration, int fadeDuration, ContentAlignment placeme
if (config.Image != null) if (config.Image != null)
{ {
config.Image = ImageHelpers.ResizeImageLimit(config.Image, size); config.Image = ImageHelpers.ResizeImageLimit(config.Image, size);
Color backgroundColor = ShareXResources.UseDarkTheme ? ShareXResources.DarkBackgroundColor : SystemColors.Window; Color backgroundColor = ShareXResources.UseDarkTheme ? ShareXResources.Theme.BackgroundColor : SystemColors.Window;
config.Image = ImageHelpers.FillBackground(config.Image, backgroundColor); config.Image = ImageHelpers.FillBackground(config.Image, backgroundColor);
size = new Size(config.Image.Width + 2, config.Image.Height + 2); size = new Size(config.Image.Width + 2, config.Image.Height + 2);
} }
@ -177,7 +177,7 @@ protected override void OnPaint(PaintEventArgs e)
TextRenderer.DrawText(g, ToastConfig.Text, textFont, textRect.LocationOffset(1), Color.White, TextFormatFlags.Left | TextFormatFlags.EndEllipsis); TextRenderer.DrawText(g, ToastConfig.Text, textFont, textRect.LocationOffset(1), Color.White, TextFormatFlags.Left | TextFormatFlags.EndEllipsis);
} }
Color borderColor = ShareXResources.UseDarkTheme ? ShareXResources.DarkBorderColor : SystemColors.ControlText; Color borderColor = ShareXResources.UseDarkTheme ? ShareXResources.Theme.BorderColor : SystemColors.ControlText;
using (Pen borderPen = new Pen(borderColor)) using (Pen borderPen = new Pen(borderColor))
{ {
g.DrawRectangleProper(borderPen, rect); g.DrawRectangleProper(borderPen, rect);