add dark mode
This commit is contained in:
parent
6b745618e6
commit
6d281e4e44
4 changed files with 36 additions and 10 deletions
|
@ -7,7 +7,6 @@
|
|||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ui:ThemesDictionary Theme="Light"/>
|
||||
<ui:ControlsDictionary />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
|
|
|
@ -8,6 +8,7 @@ using System.Linq;
|
|||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using Windows.Foundation.Collections;
|
||||
using Wpf.Ui.Markup;
|
||||
|
||||
namespace EnvyUpdate
|
||||
{
|
||||
|
@ -18,6 +19,14 @@ namespace EnvyUpdate
|
|||
{
|
||||
protected override void OnStartup(StartupEventArgs e)
|
||||
{
|
||||
Wpf.Ui.Appearance.Accent.ApplySystemAccent();
|
||||
ThemesDictionary themedict = new ThemesDictionary();
|
||||
if (Util.IsDarkTheme())
|
||||
themedict.Theme = Wpf.Ui.Appearance.ThemeType.Dark;
|
||||
else
|
||||
themedict.Theme = Wpf.Ui.Appearance.ThemeType.Light;
|
||||
Application.Current.Resources.MergedDictionaries.Add(themedict);
|
||||
|
||||
// Listen to notification activation
|
||||
ToastNotificationManagerCompat.OnActivated += toastArgs =>
|
||||
{
|
||||
|
|
|
@ -24,6 +24,8 @@ namespace EnvyUpdate
|
|||
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
// Try to get command line arguments
|
||||
try
|
||||
{
|
||||
|
@ -83,11 +85,6 @@ namespace EnvyUpdate
|
|||
|
||||
GlobalVars.isMobile = Util.IsMobile();
|
||||
Debug.LogToFile("INFO Mobile: " + GlobalVars.isMobile);
|
||||
|
||||
InitializeComponent();
|
||||
Wpf.Ui.Appearance.Accent.ApplySystemAccent();
|
||||
|
||||
|
||||
}
|
||||
private void Window_StateChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
|
|
@ -6,13 +6,9 @@ using System.IO;
|
|||
using System.Linq;
|
||||
using System.Management;
|
||||
using System.Net;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Xml.Linq;
|
||||
using Windows.Devices.Radios;
|
||||
using Windows.UI.Xaml.Input;
|
||||
|
||||
namespace EnvyUpdate
|
||||
{
|
||||
|
@ -552,6 +548,31 @@ namespace EnvyUpdate
|
|||
}
|
||||
}
|
||||
|
||||
public static bool IsDarkTheme()
|
||||
{
|
||||
try
|
||||
{
|
||||
Debug.LogToFile("INFO Trying to get app theme...");
|
||||
int res = (int)Registry.GetValue("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", "AppsUseLightTheme", -1);
|
||||
switch (res)
|
||||
{
|
||||
case 0:
|
||||
Debug.LogToFile("INFO Using dark theme.");
|
||||
return true;
|
||||
case 1:
|
||||
Debug.LogToFile("INFO Using light theme.");
|
||||
return false;
|
||||
default:
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Debug.LogToFile("WARN Could not determine theme. Setting light theme.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static void DownloadFile(string fileURL, string savePath)
|
||||
{
|
||||
//TODO Implement downloading
|
||||
|
|
Reference in a new issue