mirror of
https://github.com/FroggMaster/CreamInstaller.git
synced 2026-06-12 19:11:25 -07:00
Dark Mode / Hyperlink Color Fix
- Fixes hard to read hyperlinks in Dark Mode
This commit is contained in:
@@ -5,6 +5,9 @@ using System.Windows.Forms;
|
|||||||
|
|
||||||
namespace CreamInstaller.Utility;
|
namespace CreamInstaller.Utility;
|
||||||
|
|
||||||
|
// To Do:
|
||||||
|
// - Change the darkmode button to a checkbox
|
||||||
|
// - Default to dark mode
|
||||||
internal static class ThemeManager
|
internal static class ThemeManager
|
||||||
{
|
{
|
||||||
// VS-like dark colors
|
// VS-like dark colors
|
||||||
@@ -14,6 +17,7 @@ internal static class ThemeManager
|
|||||||
private static readonly Color DarkFore = ColorTranslator.FromHtml("#D4D4D4");
|
private static readonly Color DarkFore = ColorTranslator.FromHtml("#D4D4D4");
|
||||||
private static readonly Color DarkForeDim = ColorTranslator.FromHtml("#9CA3AF");
|
private static readonly Color DarkForeDim = ColorTranslator.FromHtml("#9CA3AF");
|
||||||
private static readonly Color Accent = ColorTranslator.FromHtml("#0E639C");
|
private static readonly Color Accent = ColorTranslator.FromHtml("#0E639C");
|
||||||
|
private static readonly Color DarkLink = ColorTranslator.FromHtml("#64B5F6"); // Pastel light blue for hyperlinks (improved readability)
|
||||||
private static readonly Color LightBack = SystemColors.Control;
|
private static readonly Color LightBack = SystemColors.Control;
|
||||||
private static readonly Color LightBackAlt = SystemColors.ControlLightLight;
|
private static readonly Color LightBackAlt = SystemColors.ControlLightLight;
|
||||||
private static readonly Color LightFore = SystemColors.ControlText;
|
private static readonly Color LightFore = SystemColors.ControlText;
|
||||||
@@ -66,6 +70,13 @@ internal static class ThemeManager
|
|||||||
cb.BackColor = DarkBack;
|
cb.BackColor = DarkBack;
|
||||||
cb.ForeColor = DarkFore;
|
cb.ForeColor = DarkFore;
|
||||||
break;
|
break;
|
||||||
|
case LinkLabel ll:
|
||||||
|
ll.BackColor = DarkBack;
|
||||||
|
ll.ForeColor = DarkFore; // normal text
|
||||||
|
ll.LinkColor = DarkLink;
|
||||||
|
ll.ActiveLinkColor = Color.White; // high contrast when pressed
|
||||||
|
ll.VisitedLinkColor = DarkLink; // keep consistent
|
||||||
|
break;
|
||||||
case Label lbl:
|
case Label lbl:
|
||||||
lbl.BackColor = DarkBack;
|
lbl.BackColor = DarkBack;
|
||||||
lbl.ForeColor = DarkFore;
|
lbl.ForeColor = DarkFore;
|
||||||
@@ -110,6 +121,14 @@ internal static class ThemeManager
|
|||||||
cb.BackColor = LightBack;
|
cb.BackColor = LightBack;
|
||||||
cb.ForeColor = LightFore;
|
cb.ForeColor = LightFore;
|
||||||
break;
|
break;
|
||||||
|
case LinkLabel ll:
|
||||||
|
ll.BackColor = LightBack;
|
||||||
|
ll.ForeColor = LightFore;
|
||||||
|
// allow system defaults for link colors
|
||||||
|
ll.LinkColor = SystemColors.HotTrack;
|
||||||
|
ll.ActiveLinkColor = SystemColors.Highlight;
|
||||||
|
ll.VisitedLinkColor = SystemColors.HotTrack;
|
||||||
|
break;
|
||||||
case Label lbl:
|
case Label lbl:
|
||||||
lbl.BackColor = LightBack;
|
lbl.BackColor = LightBack;
|
||||||
lbl.ForeColor = LightFore;
|
lbl.ForeColor = LightFore;
|
||||||
|
|||||||
Reference in New Issue
Block a user