Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 25 additions & 65 deletions TaskbarTool/Helpers/Globals.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,40 +14,35 @@ public static class Globals
public static int WindowsAccentColor;
//public static SettingsClass TaskbarSettings = new SettingsClass();

private static Int32 ColorToInt32(string color)
private static int ColorToInt32(string color)
{
Color thisColor = (Color)ColorConverter.ConvertFromString(color);
var thisColor = (Color)ColorConverter.ConvertFromString(color);
return ColorToInt32(thisColor);
}

private static Int32 ColorToInt32(Color color)
private static int ColorToInt32(Color color)
{
return (Int32)BitConverter.ToInt32(new byte[] { color.R, color.G, color.B, color.A }, 0);
return BitConverter.ToInt32(new[] { color.R, color.G, color.B, color.A }, 0);
}

#region TaskbarColor
public static Int32 GetTaskbarColor(string taskbar)
public static int GetTaskbarColor(string taskbar)
{
if (taskbar == "Main")
{
if (TT.Options.Settings.MainTaskbarStyle.UseWindowsAccentColor)
{
byte[] bytes = BitConverter.GetBytes(WindowsAccentColor);
int colorInt = BitConverter.ToInt32(new byte[] { bytes[0], bytes[1], bytes[2], TT.Options.Settings.MainTaskbarStyle.WindowsAccentAlpha }, 0);
return colorInt;
}
else { return ColorToInt32(TT.Options.Settings.MainTaskbarStyle.GradientColor); }
if (!TT.Options.Settings.MainTaskbarStyle.UseWindowsAccentColor)
return ColorToInt32(TT.Options.Settings.MainTaskbarStyle.GradientColor);
var bytes = BitConverter.GetBytes(WindowsAccentColor);
var colorInt = BitConverter.ToInt32(new[] { bytes[0], bytes[1], bytes[2], TT.Options.Settings.MainTaskbarStyle.WindowsAccentAlpha }, 0);
return colorInt;
}
else
if (TT.Options.Settings.MaximizedTaskbarStyle.UseWindowsAccentColor)
{
if (TT.Options.Settings.MaximizedTaskbarStyle.UseWindowsAccentColor)
{
byte[] bytes = BitConverter.GetBytes(WindowsAccentColor);
int colorInt = BitConverter.ToInt32(new byte[] { bytes[0], bytes[1], bytes[2], TT.Options.Settings.MaximizedTaskbarStyle.WindowsAccentAlpha }, 0);
return colorInt;
}
else { return ColorToInt32(TT.Options.Settings.MaximizedTaskbarStyle.GradientColor); }
var bytes = BitConverter.GetBytes(WindowsAccentColor);
var colorInt = BitConverter.ToInt32(new[] { bytes[0], bytes[1], bytes[2], TT.Options.Settings.MaximizedTaskbarStyle.WindowsAccentAlpha }, 0);
return colorInt;
}
return ColorToInt32(TT.Options.Settings.MaximizedTaskbarStyle.GradientColor);
}

public static void SetTaskbarColor(Color color)
Expand All @@ -58,29 +53,18 @@ public static void SetTaskbarColor(Color color)
public static void SetTaskbarColor(string taskbar, Color color)
{
if (taskbar == "Main")
{
TT.Options.Settings.MainTaskbarStyle.GradientColor = color.ToString();
}
else
{
TT.Options.Settings.MaximizedTaskbarStyle.GradientColor = color.ToString();
}
}
#endregion TaskbarColor

#region AccentFlags
public static int GetAccentFlags(string taskbar)
{
if (taskbar == "Main")
{
if (TT.Options.Settings.MainTaskbarStyle.Colorize) { return 2; }
else { return 0; }
}
else
{
if (TT.Options.Settings.MaximizedTaskbarStyle.Colorize) { return 2; }
else { return 0; }
}
return TT.Options.Settings.MainTaskbarStyle.Colorize || TT.Options.Settings.MaximizedTaskbarStyle.Colorize
? 2
: 0;
}

public static void SetAccentFlags(bool colorize)
Expand All @@ -91,27 +75,18 @@ public static void SetAccentFlags(bool colorize)
public static void SetAccentFlags(string taskbar, bool colorize)
{
if (taskbar == "Main")
{
TT.Options.Settings.MainTaskbarStyle.Colorize = colorize;
}
else
{
TT.Options.Settings.MaximizedTaskbarStyle.Colorize = colorize;
}
}
#endregion AccentFlags

#region AccentState
public static AccentState GetAccentState(string taskbar)
{
if (taskbar == "Main")
{
return (AccentState)TT.Options.Settings.MainTaskbarStyle.AccentState;
}
else
{
return (AccentState)TT.Options.Settings.MaximizedTaskbarStyle.AccentState;
}
return (AccentState) (taskbar == "Main"
? TT.Options.Settings.MainTaskbarStyle.AccentState
: TT.Options.Settings.MaximizedTaskbarStyle.AccentState);
}

public static void SetAccentState(AccentState state)
Expand All @@ -122,13 +97,9 @@ public static void SetAccentState(AccentState state)
public static void SetAccentState(string taskbar, AccentState state)
{
if (taskbar == "Main")
{
TT.Options.Settings.MainTaskbarStyle.AccentState = (byte)state;
}
else
{
TT.Options.Settings.MaximizedTaskbarStyle.AccentState = (byte)state;
}
}
#endregion AccentState

Expand All @@ -141,13 +112,9 @@ public static void SetUseAccentColor(bool use)
public static void SetUseAccentColor(string taskbar, bool use)
{
if (taskbar == "Main")
{
TT.Options.Settings.MainTaskbarStyle.UseWindowsAccentColor = use;
}
else
{
TT.Options.Settings.MaximizedTaskbarStyle.UseWindowsAccentColor = use;
}
}
#endregion UseAccentColor

Expand All @@ -160,13 +127,9 @@ public static void SetWindowsAccentAlpha(byte alpha)
public static void SetWindowsAccentAlpha(string taskbar, byte alpha)
{
if (taskbar == "Main")
{
TT.Options.Settings.MainTaskbarStyle.WindowsAccentAlpha = alpha;
}
else
{
TT.Options.Settings.MaximizedTaskbarStyle.WindowsAccentAlpha = alpha;
}
}
#endregion WindowsAccentAlpha
}
Expand Down Expand Up @@ -262,13 +225,10 @@ public int Color
{
get
{
if (_UseWindowsAccentColor)
{
byte[] bytes = BitConverter.GetBytes(_WindowsAccentColor);
int colorInt = BitConverter.ToInt32(new byte[] { bytes[0], bytes[1], bytes[2], _WindowsAccentAlpha }, 0);
return colorInt;
}
else { return _GradientColor; }
if (!_UseWindowsAccentColor) return _GradientColor;
var bytes = BitConverter.GetBytes(_WindowsAccentColor);
var colorInt = BitConverter.ToInt32(new[] { bytes[0], bytes[1], bytes[2], _WindowsAccentAlpha }, 0);
return colorInt;
}
}
}
Expand Down
62 changes: 32 additions & 30 deletions TaskbarTool/Helpers/Options.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,29 +10,25 @@ public static class TT
public static Options Options = new Options();

// My Documents
private static string MyDocuments = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
private static string FilePath = MyDocuments + "\\TaskbarTools\\Options.xml";
private static readonly string MyDocuments = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
private static readonly string FilePath = MyDocuments + "\\TaskbarTools\\Options.xml";

public static void InitializeOptions()
{
if (!LoadOptions())
{
AssignDefaults();
}
}

public static bool SaveOptions()
{
XmlSerializer serializer = new XmlSerializer(typeof(Options));
var serializer = new XmlSerializer(typeof(Options));

try
{
if (!Directory.Exists(Path.GetDirectoryName(FilePath)))
{
Directory.CreateDirectory(Path.GetDirectoryName(FilePath));
}

using (FileStream fstream = new FileStream(FilePath, FileMode.Create))
using (var fstream = new FileStream(FilePath, FileMode.Create))
{
serializer.Serialize(fstream, Options);
}
Expand All @@ -46,12 +42,12 @@ public static bool SaveOptions()

private static bool LoadOptions()
{
XmlSerializer serializer = new XmlSerializer(typeof(Options));
if (!File.Exists(FilePath)) { return false; }
var serializer = new XmlSerializer(typeof(Options));
if (!File.Exists(FilePath)) return false;

try
{
using (FileStream reader = new FileStream(FilePath, FileMode.Open))
using (var reader = new FileStream(FilePath, FileMode.Open))
{
Options = serializer.Deserialize(reader) as Options;
}
Expand All @@ -67,25 +63,31 @@ private static bool LoadOptions()

private static void AssignDefaults()
{
Options.Settings = new OptionsSettings();
Options.Settings.StartMinimized = false;
Options.Settings.StartWhenLaunched = true;
Options.Settings.StartWithWindows = false;
Options.Settings.UseDifferentSettingsWhenMaximized = true;

Options.Settings.MainTaskbarStyle = new OptionsSettingsMainTaskbarStyle();
Options.Settings.MainTaskbarStyle.AccentState = 3;
Options.Settings.MainTaskbarStyle.GradientColor = "#804080FF";
Options.Settings.MainTaskbarStyle.Colorize = true;
Options.Settings.MainTaskbarStyle.UseWindowsAccentColor = true;
Options.Settings.MainTaskbarStyle.WindowsAccentAlpha = 127;

Options.Settings.MaximizedTaskbarStyle = new OptionsSettingsMaximizedTaskbarStyle();
Options.Settings.MaximizedTaskbarStyle.AccentState = 2;
Options.Settings.MaximizedTaskbarStyle.GradientColor = "#FF000000";
Options.Settings.MaximizedTaskbarStyle.Colorize = false;
Options.Settings.MaximizedTaskbarStyle.UseWindowsAccentColor = true;
Options.Settings.MaximizedTaskbarStyle.WindowsAccentAlpha = 255;
Options.Settings = new OptionsSettings
{
StartMinimized = false,
StartWhenLaunched = true,
StartWithWindows = false,
UseDifferentSettingsWhenMaximized = true,
MainTaskbarStyle = new OptionsSettingsMainTaskbarStyle
{
AccentState = 3,
GradientColor = "#804080FF",
Colorize = true,
UseWindowsAccentColor = true,
WindowsAccentAlpha = 127
},
MaximizedTaskbarStyle = new OptionsSettingsMaximizedTaskbarStyle
{
AccentState = 2,
GradientColor = "#FF000000",
Colorize = false,
UseWindowsAccentColor = true,
WindowsAccentAlpha = 255
}
};


}
}

Expand Down
6 changes: 3 additions & 3 deletions TaskbarTool/Helpers/WindowsAccentColor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ public static Int32 GetColorAsInt()

private static void UpdateColor()
{
string keyName = "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Accent";
int keyColor = (int)Microsoft.Win32.Registry.GetValue(keyName, "StartColorMenu", 00000000);
var keyName = "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Accent";
var keyColor = (int)Microsoft.Win32.Registry.GetValue(keyName, "StartColorMenu", 00000000);

byte[] bytes = BitConverter.GetBytes(keyColor);
var bytes = BitConverter.GetBytes(keyColor);

accentColor = Color.FromArgb(bytes[3], bytes[0], bytes[1], bytes[2]);
}
Expand Down
Loading