Added new "Dark" theme, renamed previous theme to "Night"

This commit is contained in:
Jaex 2022-08-14 16:11:22 +03:00
parent de1d18d3c8
commit d6bf61aa0b
5 changed files with 75 additions and 64 deletions

View file

@ -1002,5 +1002,15 @@ public static void LockCursorToWindow(Form form)
form.Activated += (sender, e) => Cursor.Clip = form.Bounds;
form.Deactivate += (sender, e) => Cursor.Clip = Rectangle.Empty;
}
public static bool IsDefaultSettings<T>(IEnumerable<T> current, IEnumerable<T> source, Func<T, T, bool> predicate)
{
if (current != null && current.Count() > 0)
{
return current.All(x => source.Any(y => predicate(x, y)));
}
return true;
}
}
}

View file

@ -152,26 +152,26 @@ public Color BorderColor
private ShareXTheme()
{
Name = "Dark";
BackgroundColor = Color.FromArgb(42, 47, 56);
LightBackgroundColor = Color.FromArgb(52, 57, 65);
DarkBackgroundColor = Color.FromArgb(28, 32, 38);
TextColor = Color.FromArgb(235, 235, 235);
BorderColor = Color.FromArgb(28, 32, 38);
CheckerColor = Color.FromArgb(60, 60, 60);
CheckerColor2 = Color.FromArgb(50, 50, 50);
CheckerSize = 15;
LinkColor = Color.FromArgb(166, 212, 255);
MenuHighlightColor = Color.FromArgb(30, 34, 40);
MenuHighlightBorderColor = Color.FromArgb(116, 129, 152);
MenuBorderColor = Color.FromArgb(22, 26, 31);
MenuCheckBackgroundColor = Color.FromArgb(56, 64, 75);
ContextMenuOpacity = 100;
SeparatorLightColor = Color.FromArgb(56, 64, 75);
SeparatorDarkColor = Color.FromArgb(22, 26, 31);
}
public static ShareXTheme DarkTheme => new ShareXTheme();
public static ShareXTheme DarkTheme => new ShareXTheme()
{
Name = "Dark",
BackgroundColor = Color.FromArgb(39, 39, 39),
LightBackgroundColor = Color.FromArgb(46, 46, 46),
DarkBackgroundColor = Color.FromArgb(34, 34, 34),
TextColor = Color.FromArgb(231, 233, 234),
BorderColor = Color.FromArgb(31, 31, 31),
CheckerColor = Color.FromArgb(46, 46, 46),
CheckerColor2 = Color.FromArgb(39, 39, 39),
LinkColor = Color.FromArgb(166, 212, 255),
MenuHighlightColor = Color.FromArgb(46, 46, 46),
MenuHighlightBorderColor = Color.FromArgb(63, 63, 63),
MenuBorderColor = Color.FromArgb(63, 63, 63),
MenuCheckBackgroundColor = Color.FromArgb(51, 51, 51),
SeparatorLightColor = Color.FromArgb(44, 44, 44),
SeparatorDarkColor = Color.FromArgb(31, 31, 31)
};
public static ShareXTheme LightTheme => new ShareXTheme()
{
@ -183,17 +183,34 @@ private ShareXTheme()
BorderColor = Color.FromArgb(201, 201, 201),
CheckerColor = Color.FromArgb(247, 247, 247),
CheckerColor2 = Color.FromArgb(235, 235, 235),
CheckerSize = 15,
LinkColor = Color.FromArgb(166, 212, 255),
MenuHighlightColor = Color.FromArgb(247, 247, 247),
MenuHighlightBorderColor = Color.FromArgb(96, 143, 226),
MenuBorderColor = Color.FromArgb(201, 201, 201),
MenuCheckBackgroundColor = Color.FromArgb(225, 233, 244),
ContextMenuOpacity = 100,
SeparatorLightColor = Color.FromArgb(253, 253, 253),
SeparatorDarkColor = Color.FromArgb(189, 189, 189)
};
public static ShareXTheme NightTheme => new ShareXTheme()
{
Name = "Night",
BackgroundColor = Color.FromArgb(42, 47, 56),
LightBackgroundColor = Color.FromArgb(52, 57, 65),
DarkBackgroundColor = Color.FromArgb(28, 32, 38),
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),
MenuHighlightColor = Color.FromArgb(30, 34, 40),
MenuHighlightBorderColor = Color.FromArgb(116, 129, 152),
MenuBorderColor = Color.FromArgb(22, 26, 31),
MenuCheckBackgroundColor = Color.FromArgb(56, 64, 75),
SeparatorLightColor = Color.FromArgb(56, 64, 75),
SeparatorDarkColor = Color.FromArgb(22, 26, 31)
};
// https://www.nordtheme.com
public static ShareXTheme NordDarkTheme => new ShareXTheme()
{
@ -205,13 +222,11 @@ private ShareXTheme()
BorderColor = Color.FromArgb(30, 38, 54),
CheckerColor = Color.FromArgb(46, 52, 64),
CheckerColor2 = Color.FromArgb(36, 42, 54),
CheckerSize = 15,
LinkColor = Color.FromArgb(136, 192, 208),
MenuHighlightColor = Color.FromArgb(36, 42, 54),
MenuHighlightBorderColor = Color.FromArgb(24, 30, 42),
MenuBorderColor = Color.FromArgb(24, 30, 42),
MenuCheckBackgroundColor = Color.FromArgb(59, 66, 82),
ContextMenuOpacity = 100,
SeparatorLightColor = Color.FromArgb(59, 66, 82),
SeparatorDarkColor = Color.FromArgb(30, 38, 54)
};
@ -227,13 +242,11 @@ private ShareXTheme()
BorderColor = Color.FromArgb(207, 216, 233),
CheckerColor = Color.FromArgb(229, 233, 240),
CheckerColor2 = Color.FromArgb(216, 222, 233),
CheckerSize = 15,
LinkColor = Color.FromArgb(106, 162, 178),
MenuHighlightColor = Color.FromArgb(236, 239, 244),
MenuHighlightBorderColor = Color.FromArgb(207, 216, 233),
MenuBorderColor = Color.FromArgb(216, 222, 233),
MenuCheckBackgroundColor = Color.FromArgb(229, 233, 240),
ContextMenuOpacity = 100,
SeparatorLightColor = Color.FromArgb(236, 239, 244),
SeparatorDarkColor = Color.FromArgb(207, 216, 233)
};
@ -249,20 +262,18 @@ private ShareXTheme()
BorderColor = Color.FromArgb(33, 35, 43),
CheckerColor = Color.FromArgb(40, 42, 54),
CheckerColor2 = Color.FromArgb(36, 38, 48),
CheckerSize = 15,
LinkColor = Color.FromArgb(98, 114, 164),
MenuHighlightColor = Color.FromArgb(36, 38, 48),
MenuHighlightBorderColor = Color.FromArgb(255, 121, 198),
MenuBorderColor = Color.FromArgb(33, 35, 43),
MenuCheckBackgroundColor = Color.FromArgb(45, 47, 61),
ContextMenuOpacity = 100,
SeparatorLightColor = Color.FromArgb(45, 47, 61),
SeparatorDarkColor = Color.FromArgb(33, 35, 43)
};
public static List<ShareXTheme> GetDefaultThemes()
{
return new List<ShareXTheme>() { DarkTheme, LightTheme, NordDarkTheme, NordLightTheme, DraculaTheme };
return new List<ShareXTheme>() { DarkTheme, LightTheme, NightTheme, NordDarkTheme, NordLightTheme, DraculaTheme };
}
public override string ToString()

View file

@ -26,7 +26,6 @@
using ShareX.HelpersLib;
using ShareX.HistoryLib;
using ShareX.Properties;
using ShareX.ScreenCaptureLib;
using ShareX.UploadersLib;
using ShareX.UploadersLib.FileUploaders;
using System;
@ -192,39 +191,42 @@ public static void LoadAllSettings()
private static void ApplicationConfigBackwardCompatibilityTasks()
{
if (Settings.IsUpgradeFrom("11.4.1"))
{
RegionCaptureOptions regionCaptureOptions = DefaultTaskSettings.CaptureSettings.SurfaceOptions;
regionCaptureOptions.AnnotationOptions = new AnnotationOptions();
regionCaptureOptions.LastRegionTool = ShapeType.RegionRectangle;
regionCaptureOptions.LastAnnotationTool = ShapeType.DrawingRectangle;
}
if (Settings.IsUpgradeFrom("11.5.0"))
{
if (File.Exists(Program.ChromeHostManifestFilePath))
{
IntegrationHelpers.CreateChromeExtensionSupport(true);
}
}
if (Settings.IsUpgradeFrom("13.0.2"))
{
Settings.UseCustomTheme = Settings.UseDarkTheme;
}
if (Settings.IsUpgradeFrom("13.3.1") && Settings.Themes != null)
{
Settings.Themes.Add(ShareXTheme.NordDarkTheme);
Settings.Themes.Add(ShareXTheme.NordLightTheme);
Settings.Themes.Add(ShareXTheme.DraculaTheme);
}
if (Settings.IsUpgradeFrom("13.4.0"))
{
DefaultTaskSettings.GeneralSettings.ShowToastNotificationAfterTaskCompleted =
DefaultTaskSettings.GeneralSettings.PopUpNotification != PopUpNotificationType.None;
}
if (Settings.IsUpgradeFrom("14.1.1"))
{
if (Helpers.IsDefaultSettings(Settings.Themes, ShareXTheme.GetDefaultThemes(), (x, y) => x.Name == y.Name))
{
if (!Settings.Themes.IsValidIndex(Settings.SelectedTheme))
{
Settings.SelectedTheme = 0;
}
ShareXTheme selectedTheme = Settings.Themes[Settings.SelectedTheme];
Settings.Themes = ShareXTheme.GetDefaultThemes();
int index = Settings.Themes.FindIndex(x => x.Name.Equals(selectedTheme.Name, StringComparison.OrdinalIgnoreCase));
if (index >= 0)
{
Settings.SelectedTheme = index;
}
else
{
Settings.SelectedTheme = 0;
}
}
}
}
private static void MigrateHistoryFile()

View file

@ -84,7 +84,7 @@ public OCRForm(Bitmap bmp, OCROptions options)
nudScaleFactor.SetValue((decimal)Options.ScaleFactor);
cbSingleLine.Checked = Options.SingleLine;
if (Options.ServiceLinks == null || Options.IsDefaultServiceLinks())
if (Helpers.IsDefaultSettings(Options.ServiceLinks, OCROptions.DefaultServiceLinks, (x, y) => x.Name == y.Name))
{
Options.ServiceLinks = OCROptions.DefaultServiceLinks;
}

View file

@ -24,7 +24,6 @@
#endregion License Information (GPL v3)
using System.Collections.Generic;
using System.Linq;
namespace ShareX
{
@ -38,17 +37,6 @@ public class OCROptions
public List<ServiceLink> ServiceLinks { get; set; } = DefaultServiceLinks;
public int SelectedServiceLink { get; set; } = 0;
public bool IsDefaultServiceLinks()
{
if (ServiceLinks != null && ServiceLinks.Count > 0)
{
List<ServiceLink> defaultServiceLinks = DefaultServiceLinks;
return ServiceLinks.All(x => defaultServiceLinks.Any(y => x.Name == y.Name));
}
return false;
}
public static List<ServiceLink> DefaultServiceLinks => new List<ServiceLink>()
{
new ServiceLink("Google Translate", "https://translate.google.com/?sl=auto&tl=en&text={0}&op=translate"),