mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Added new "Dark" theme, renamed previous theme to "Night"
This commit is contained in:
parent
de1d18d3c8
commit
d6bf61aa0b
5 changed files with 75 additions and 64 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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()
|
||||
|
|
|
@ -26,7 +26,6 @@ You should have received a copy of the GNU General Public License
|
|||
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()
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -24,7 +24,6 @@ You should have received a copy of the GNU General Public License
|
|||
#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"),
|
||||
|
|
Loading…
Reference in a new issue