Skip to content

Commit

Permalink
Themes changes to ThemeType
Browse files Browse the repository at this point in the history
  • Loading branch information
CrackAndDie committed Feb 9, 2024
1 parent 85f181c commit fc53196
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 38 deletions.
8 changes: 4 additions & 4 deletions Hypocrite.DemoAvalonia/App.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@ protected override void RegisterTypes(IContainerRegistry containerRegistry)
});
containerRegistry.RegisterSingleton<IBaseWindow, MainWindowView>();

containerRegistry.RegisterInstance<IThemeSwitcherService<Themes>>(new ThemeSwitcherService<Themes>(Themes.Dark)
containerRegistry.RegisterInstance<IThemeSwitcherService<ThemeType>>(new ThemeSwitcherService<ThemeType>(ThemeType.Dark)
{
NameOfDictionary = "ThemeHolder",
ThemeSources = new Dictionary<Themes, string>()
ThemeSources = new Dictionary<ThemeType, string>()
{
{ Themes.Dark, "avares:https://Hypocrite.DemoAvalonia/Resources/Themes/DarkTheme.axaml" },
{ Themes.Light, "avares:https://Hypocrite.DemoAvalonia/Resources/Themes/LightTheme.axaml" },
{ ThemeType.Dark, "avares:https://Hypocrite.DemoAvalonia/Resources/Themes/DarkTheme.axaml" },
{ ThemeType.Light, "avares:https://Hypocrite.DemoAvalonia/Resources/Themes/LightTheme.axaml" },
},
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

namespace Hypocrite.DemoAvalonia.Resources.Themes
{
public enum Themes
public enum ThemeType
{
Dark,
Light
Expand Down
14 changes: 7 additions & 7 deletions Hypocrite.DemoAvalonia/ViewModels/MainPageViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public class MainPageViewModel : ViewModelBase
public IBrush? BindableBrush { get; set; }

[Injection]
private IThemeSwitcherService<Themes>? ThemeSwitcherService { get; set; }
private IThemeSwitcherService<ThemeType>? ThemeSwitcherService { get; set; }

public string ChangeThemeTag => "MainPage.ChangeTheme";

Expand All @@ -50,10 +50,10 @@ public override void OnViewAttached()

ChangeThemeCommand = new DelegateCommand(() =>
{
if (Container.IsRegistered<IThemeSwitcherService<Themes>>())
if (Container.IsRegistered<IThemeSwitcherService<ThemeType>>())
{
var service = Container.Resolve<IThemeSwitcherService<Themes>>();
service.ChangeTheme(service.CurrentTheme == Themes.Light ? Themes.Dark : Themes.Light);
var service = Container.Resolve<IThemeSwitcherService<ThemeType>>();
service.ChangeTheme(service.CurrentTheme == ThemeType.Light ? ThemeType.Dark : ThemeType.Light);
LoggingService.Info($"Current theme is {service.CurrentTheme}");
}
});
Expand All @@ -65,14 +65,14 @@ private void SubscribeToThemeChange()
{
SetTheme(ThemeSwitcherService!.CurrentTheme);

EventAggregator.GetEvent<ThemeChangedEvent<Themes>>().Subscribe((a) =>
EventAggregator.GetEvent<ThemeChangedEvent<ThemeType>>().Subscribe((a) =>
{
SetTheme(a.NewTheme);
});

void SetTheme(Themes theme)
void SetTheme(ThemeType theme)
{
BindableBrush = theme == Themes.Dark ? Brushes.Blue : Brushes.BlueViolet;
BindableBrush = theme == ThemeType.Dark ? Brushes.Blue : Brushes.BlueViolet;
}
}

Expand Down
8 changes: 4 additions & 4 deletions Hypocrite.DemoWpf/App.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,13 @@ protected override void RegisterTypes(IContainerRegistry containerRegistry)
});
containerRegistry.RegisterSingleton<IBaseWindow, MainWindowView>();

containerRegistry.RegisterInstance<IThemeSwitcherService<Themes>>(new ThemeSwitcherService<Themes>()
containerRegistry.RegisterInstance<IThemeSwitcherService<ThemeType>>(new ThemeSwitcherService<ThemeType>()
{
NameOfDictionary = "ThemeHolder",
ThemeSources = new Dictionary<Themes, string>()
ThemeSources = new Dictionary<ThemeType, string>()
{
{ Themes.Dark, "/Hypocrite.DemoWpf;component/Resources/Themes/DarkTheme.xaml" },
{ Themes.Light, "/Hypocrite.DemoWpf;component/Resources/Themes/LightTheme.xaml" },
{ ThemeType.Dark, "/Hypocrite.DemoWpf;component/Resources/Themes/DarkTheme.xaml" },
{ ThemeType.Light, "/Hypocrite.DemoWpf;component/Resources/Themes/LightTheme.xaml" },
},
});

Expand Down
2 changes: 1 addition & 1 deletion Hypocrite.DemoWpf/Hypocrite.DemoWpf.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
<Compile Include="Extensions\DialogExtensions.cs" />
<Compile Include="Modules\HeaderModule.cs" />
<Compile Include="Modules\MainModule.cs" />
<Compile Include="Resources\Themes\Themes.cs" />
<Compile Include="Resources\Themes\ThemeType.cs" />
<Compile Include="Styles\Converters\ArcEndPointConverter.cs" />
<Compile Include="Styles\Converters\ArcSizeConverter.cs" />
<Compile Include="Styles\Converters\NonZeroConverter.cs" />
Expand Down
8 changes: 8 additions & 0 deletions Hypocrite.DemoWpf/Resources/Themes/ThemeType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
namespace Hypocrite.DemoWpf.Resources.Themes
{
public enum ThemeType
{
Dark,
Light
}
}
14 changes: 0 additions & 14 deletions Hypocrite.DemoWpf/Resources/Themes/Themes.cs

This file was deleted.

14 changes: 7 additions & 7 deletions Hypocrite.DemoWpf/ViewModels/MainPageViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public class MainPageViewModel : ViewModelBase
public SolidColorBrush BindableBrush { get; set; }

[Injection]
private IThemeSwitcherService<Themes> ThemeSwitcherService { get; set; }
private IThemeSwitcherService<ThemeType> ThemeSwitcherService { get; set; }

public string ChangeThemeTag => "MainPage.ChangeTheme";
public ObservableCollection<Language> Languages => LocalizationManager.Languages;
Expand All @@ -55,10 +55,10 @@ public override void OnViewAttached()

ChangeThemeCommand = new DelegateCommand(() =>
{
if (Container.IsRegistered<IThemeSwitcherService<Themes>>())
if (Container.IsRegistered<IThemeSwitcherService<ThemeType>>())
{
var service = Container.Resolve<IThemeSwitcherService<Themes>>();
service.ChangeTheme(service.CurrentTheme == Themes.Light ? Themes.Dark : Themes.Light);
var service = Container.Resolve<IThemeSwitcherService<ThemeType>>();
service.ChangeTheme(service.CurrentTheme == ThemeType.Light ? ThemeType.Dark : ThemeType.Light);
LoggingService.Info($"Current theme is {service.CurrentTheme}");
}
});
Expand All @@ -70,14 +70,14 @@ private void SubscribeToThemeChange()
{
SetTheme(ThemeSwitcherService.CurrentTheme);

EventAggregator.GetEvent<ThemeChangedEvent<Themes>>().Subscribe((a) =>
EventAggregator.GetEvent<ThemeChangedEvent<ThemeType>>().Subscribe((a) =>
{
SetTheme(a.NewTheme);
});

void SetTheme(Themes theme)
void SetTheme(ThemeType theme)
{
BindableBrush = theme == Themes.Dark ? Brushes.Blue : Brushes.BlueViolet;
BindableBrush = theme == ThemeType.Dark ? Brushes.Blue : Brushes.BlueViolet;
}
}

Expand Down

0 comments on commit fc53196

Please sign in to comment.