mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 17:56:51 +13:00
Added ShareXTheme class for preparation of customizable theme colors
This commit is contained in:
parent
56c698a5ae
commit
35fa16a659
15 changed files with 177 additions and 104 deletions
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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" />
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
64
ShareX.HelpersLib/ShareXTheme.cs
Normal file
64
ShareX.HelpersLib/ShareXTheme.cs
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
|
@ -122,7 +122,7 @@ public void UpdateTheme()
|
||||||
{
|
{
|
||||||
if (ShareXResources.UseDarkTheme)
|
if (ShareXResources.UseDarkTheme)
|
||||||
{
|
{
|
||||||
BackColor = ShareXResources.DarkBackgroundColor;
|
BackColor = ShareXResources.Theme.BackgroundColor;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue