mirror of
https://github.com/Hofknecht/SystemTrayMenu.git
synced 2024-05-17 02:43:08 +12:00
[Feature] USB - Portable user.config and relative folder (#158), version 1.0.17.38
This commit is contained in:
parent
b7038b5780
commit
5db49aebd0
|
@ -8,22 +8,36 @@ namespace SystemTrayMenu
|
||||||
|
|
||||||
internal static class AppColors
|
internal static class AppColors
|
||||||
{
|
{
|
||||||
internal static Color SelectedItem;
|
internal static Color SelectedItem { get; set; }
|
||||||
internal static Color DarkModeSelecetedItem;
|
|
||||||
internal static Color SelectedItemBorder;
|
|
||||||
internal static Color DarkModeSelectedItemBorder;
|
|
||||||
internal static Color OpenFolder;
|
|
||||||
internal static Color DarkModeOpenFolder;
|
|
||||||
internal static Color OpenFolderBorder;
|
|
||||||
internal static Color DarkModeOpenFolderBorder;
|
|
||||||
internal static Color Warning;
|
|
||||||
internal static Color DarkModeWarning;
|
|
||||||
internal static Color Title;
|
|
||||||
internal static Color DarkModeTitle;
|
|
||||||
|
|
||||||
internal static Color Background;
|
internal static Color DarkModeSelecetedItem { get; set; }
|
||||||
internal static Color DarkModeBackground;
|
|
||||||
internal static Color SearchField;
|
internal static Color SelectedItemBorder { get; set; }
|
||||||
internal static Color DarkModeSearchField;
|
|
||||||
|
internal static Color DarkModeSelectedItemBorder { get; set; }
|
||||||
|
|
||||||
|
internal static Color OpenFolder { get; set; }
|
||||||
|
|
||||||
|
internal static Color DarkModeOpenFolder { get; set; }
|
||||||
|
|
||||||
|
internal static Color OpenFolderBorder { get; set; }
|
||||||
|
|
||||||
|
internal static Color DarkModeOpenFolderBorder { get; set; }
|
||||||
|
|
||||||
|
internal static Color Warning { get; set; }
|
||||||
|
|
||||||
|
internal static Color DarkModeWarning { get; set; }
|
||||||
|
|
||||||
|
internal static Color Title { get; set; }
|
||||||
|
|
||||||
|
internal static Color DarkModeTitle { get; set; }
|
||||||
|
|
||||||
|
internal static Color Background { get; set; }
|
||||||
|
|
||||||
|
internal static Color DarkModeBackground { get; set; }
|
||||||
|
|
||||||
|
internal static Color SearchField { get; set; }
|
||||||
|
|
||||||
|
internal static Color DarkModeSearchField { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
15
Config/ColorAndCode.cs
Normal file
15
Config/ColorAndCode.cs
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// <copyright file="ColorAndCode.cs" company="PlaceholderCompany">
|
||||||
|
// Copyright (c) PlaceholderCompany. All rights reserved.
|
||||||
|
// </copyright>
|
||||||
|
|
||||||
|
namespace SystemTrayMenu
|
||||||
|
{
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
|
internal struct ColorAndCode
|
||||||
|
{
|
||||||
|
public Color Color { get; set; }
|
||||||
|
|
||||||
|
public string HtmlColorCode { get; set; }
|
||||||
|
}
|
||||||
|
}
|
143
Config/Config.cs
143
Config/Config.cs
|
@ -188,48 +188,129 @@ namespace SystemTrayMenu
|
||||||
|
|
||||||
private static void InitializeColors()
|
private static void InitializeColors()
|
||||||
{
|
{
|
||||||
ColorConverter c = new ColorConverter();
|
ColorConverter converter = new ColorConverter();
|
||||||
Settings s = Settings.Default;
|
ColorAndCode colorAndCode = default;
|
||||||
s.ColorSelectedItem = SetColor(c, ref AppColors.SelectedItem, Color.FromArgb(204, 232, 255), s.ColorSelectedItem);
|
bool changed = false;
|
||||||
s.ColorDarkModeSelecetedItem = SetColor(c, ref AppColors.DarkModeSelecetedItem, Color.FromArgb(51, 51, 51), s.ColorDarkModeSelecetedItem);
|
|
||||||
s.ColorSelectedItemBorder = SetColor(c, ref AppColors.SelectedItemBorder, Color.FromArgb(153, 209, 255), s.ColorSelectedItemBorder);
|
colorAndCode.HtmlColorCode = Settings.Default.ColorSelectedItem;
|
||||||
s.ColorDarkModeSelectedItemBorder = SetColor(c, ref AppColors.DarkModeSelectedItemBorder, Color.FromArgb(20, 29, 75), s.ColorDarkModeSelectedItemBorder);
|
colorAndCode.Color = Color.FromArgb(204, 232, 255);
|
||||||
s.ColorOpenFolder = SetColor(c, ref AppColors.OpenFolder, Color.FromArgb(194, 245, 222), s.ColorOpenFolder);
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
s.ColorDarkModeOpenFolder = SetColor(c, ref AppColors.DarkModeOpenFolder, Color.FromArgb(20, 65, 42), s.ColorDarkModeOpenFolder);
|
Settings.Default.ColorSelectedItem = colorAndCode.HtmlColorCode;
|
||||||
s.ColorOpenFolderBorder = SetColor(c, ref AppColors.OpenFolderBorder, Color.FromArgb(153, 255, 165), s.ColorOpenFolderBorder);
|
AppColors.SelectedItem = colorAndCode.Color;
|
||||||
s.ColorDarkModeOpenFolderBorder = SetColor(c, ref AppColors.DarkModeOpenFolderBorder, Color.FromArgb(20, 75, 85), s.ColorDarkModeOpenFolderBorder);
|
|
||||||
s.ColorWarning = SetColor(c, ref AppColors.Warning, Color.FromArgb(255, 204, 232), s.ColorWarning);
|
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeSelecetedItem;
|
||||||
s.ColorDarkModeWarning = SetColor(c, ref AppColors.DarkModeWarning, Color.FromArgb(75, 24, 52), s.ColorDarkModeWarning);
|
colorAndCode.Color = Color.FromArgb(51, 51, 51);
|
||||||
s.ColorTitle = SetColor(c, ref AppColors.Title, Color.Azure, s.ColorTitle);
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
s.ColorDarkModeTitle = SetColor(c, ref AppColors.DarkModeTitle, Color.FromArgb(43, 43, 43), s.ColorDarkModeTitle);
|
Settings.Default.ColorDarkModeSelecetedItem = colorAndCode.HtmlColorCode;
|
||||||
s.ColorSearchField = SetColor(c, ref AppColors.SearchField, Color.FromArgb(255, 255, 255), s.ColorSearchField);
|
AppColors.DarkModeSelecetedItem = colorAndCode.Color;
|
||||||
s.ColorDarkModeSearchField = SetColor(c, ref AppColors.DarkModeSearchField, Color.FromArgb(25, 25, 25), s.ColorDarkModeSearchField);
|
|
||||||
s.ColorBackground = SetColor(c, ref AppColors.Background, Color.FromArgb(255, 255, 255), s.ColorBackground);
|
colorAndCode.HtmlColorCode = Settings.Default.ColorSelectedItemBorder;
|
||||||
s.ColorDarkModeBackground = SetColor(c, ref AppColors.DarkModeBackground, Color.FromArgb(32, 32, 32), s.ColorDarkModeBackground);
|
colorAndCode.Color = Color.FromArgb(153, 209, 255);
|
||||||
s.Save();
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorSelectedItemBorder = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.SelectedItemBorder = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeSelectedItemBorder;
|
||||||
|
colorAndCode.Color = Color.FromArgb(20, 29, 75);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorDarkModeSelectedItemBorder = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.DarkModeSelectedItemBorder = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorOpenFolder;
|
||||||
|
colorAndCode.Color = Color.FromArgb(194, 245, 222);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorOpenFolder = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.OpenFolder = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeOpenFolder;
|
||||||
|
colorAndCode.Color = Color.FromArgb(20, 65, 42);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorDarkModeOpenFolder = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.DarkModeOpenFolder = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorOpenFolderBorder;
|
||||||
|
colorAndCode.Color = Color.FromArgb(153, 255, 165);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorOpenFolderBorder = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.OpenFolderBorder = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeOpenFolderBorder;
|
||||||
|
colorAndCode.Color = Color.FromArgb(20, 75, 85);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorDarkModeOpenFolderBorder = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.DarkModeOpenFolderBorder = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorWarning;
|
||||||
|
colorAndCode.Color = Color.FromArgb(255, 204, 232);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorWarning = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.Warning = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeWarning;
|
||||||
|
colorAndCode.Color = Color.FromArgb(75, 24, 52);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorDarkModeWarning = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.DarkModeWarning = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorTitle;
|
||||||
|
colorAndCode.Color = Color.Azure;
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorTitle = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.Title = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeTitle;
|
||||||
|
colorAndCode.Color = Color.FromArgb(43, 43, 43);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorDarkModeTitle = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.DarkModeTitle = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorSearchField;
|
||||||
|
colorAndCode.Color = Color.FromArgb(255, 255, 255);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorSearchField = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.SearchField = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeSearchField;
|
||||||
|
colorAndCode.Color = Color.FromArgb(25, 25, 25);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorDarkModeSearchField = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.DarkModeSearchField = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorBackground;
|
||||||
|
colorAndCode.Color = Color.FromArgb(255, 255, 255);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorBackground = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.Background = colorAndCode.Color;
|
||||||
|
|
||||||
|
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeBackground;
|
||||||
|
colorAndCode.Color = Color.FromArgb(32, 32, 32);
|
||||||
|
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||||
|
Settings.Default.ColorDarkModeBackground = colorAndCode.HtmlColorCode;
|
||||||
|
AppColors.DarkModeBackground = colorAndCode.Color;
|
||||||
|
|
||||||
|
if (changed)
|
||||||
|
{
|
||||||
|
Settings.Default.Save();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string SetColor(
|
private static ColorAndCode ProcessColorAndCode(
|
||||||
ColorConverter colorConverter,
|
ColorConverter colorConverter,
|
||||||
ref Color appColor,
|
ColorAndCode colorAndCode,
|
||||||
Color colorDefault,
|
ref bool changedHtmlColorCode)
|
||||||
string colorHtmlCode)
|
|
||||||
{
|
{
|
||||||
string colorHtmlCodeCorrected = colorHtmlCode;
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
appColor = (Color)colorConverter.ConvertFromString(colorHtmlCode);
|
colorAndCode.Color = (Color)colorConverter.ConvertFromString(colorAndCode.HtmlColorCode);
|
||||||
}
|
}
|
||||||
catch (ArgumentException ex)
|
catch (ArgumentException ex)
|
||||||
{
|
{
|
||||||
Log.Warn($"colorHtmlCode {colorHtmlCode}", ex);
|
Log.Warn($"HtmlColorCode {colorAndCode.HtmlColorCode}", ex);
|
||||||
appColor = colorDefault;
|
colorAndCode.HtmlColorCode = ColorTranslator.ToHtml(colorAndCode.Color);
|
||||||
colorHtmlCodeCorrected = ColorTranslator.ToHtml(colorDefault);
|
changedHtmlColorCode = true;
|
||||||
Settings.Default.Save();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return colorHtmlCodeCorrected;
|
return colorAndCode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,11 +8,9 @@ namespace SystemTrayMenu
|
||||||
|
|
||||||
internal static class MenuDefines
|
internal static class MenuDefines
|
||||||
{
|
{
|
||||||
internal const int Scrollspeed = 4;
|
|
||||||
internal const int MenusMax = 50;
|
internal const int MenusMax = 50;
|
||||||
internal const int LengthMax = 37;
|
internal const int LengthMax = 37;
|
||||||
internal static readonly Color File = Color.White;
|
internal const int Scrollspeed = 4;
|
||||||
internal static readonly Color Folder = Color.White;
|
|
||||||
|
|
||||||
public static Color ColorSelectedItem
|
public static Color ColorSelectedItem
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,5 +39,5 @@ using System.Runtime.InteropServices;
|
||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.17.37")]
|
[assembly: AssemblyVersion("1.0.17.38")]
|
||||||
[assembly: AssemblyFileVersion("1.0.17.37")]
|
[assembly: AssemblyFileVersion("1.0.17.38")]
|
||||||
|
|
|
@ -33,19 +33,6 @@ namespace SystemTrayMenu.Properties
|
||||||
SettingsDictionary = new Dictionary<string, SettingStruct>();
|
SettingsDictionary = new Dictionary<string, SettingStruct>();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets override.
|
|
||||||
/// </summary>
|
|
||||||
public override string ApplicationName
|
|
||||||
{
|
|
||||||
get => System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name;
|
|
||||||
|
|
||||||
set
|
|
||||||
{
|
|
||||||
// do nothing
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the setting key this is returning must set before the settings are used.
|
/// Gets the setting key this is returning must set before the settings are used.
|
||||||
/// e.g. <c>Properties.Settings.Default.SettingsKey = @"C:\temp\user.config";</c>.
|
/// e.g. <c>Properties.Settings.Default.SettingsKey = @"C:\temp\user.config";</c>.
|
||||||
|
@ -56,6 +43,19 @@ namespace SystemTrayMenu.Properties
|
||||||
$"SystemTrayMenu"),
|
$"SystemTrayMenu"),
|
||||||
$"user-{Environment.MachineName}.config");
|
$"user-{Environment.MachineName}.config");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets override.
|
||||||
|
/// </summary>
|
||||||
|
public override string ApplicationName
|
||||||
|
{
|
||||||
|
get => Assembly.GetExecutingAssembly().ManifestModule.Name;
|
||||||
|
|
||||||
|
set
|
||||||
|
{
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static string ConfigPathAssembly => Path.Combine(
|
private static string ConfigPathAssembly => Path.Combine(
|
||||||
Directory.GetParent(Assembly.GetEntryAssembly().Location).FullName,
|
Directory.GetParent(Assembly.GetEntryAssembly().Location).FullName,
|
||||||
$"user.config");
|
$"user.config");
|
||||||
|
|
Loading…
Reference in a new issue