New theme service that supports window backdrop.
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using System.Text;
|
||||
using CommunityToolkit.Mvvm.Messaging;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
using Wino.Core.WinUI;
|
||||
using Wino.Core.WinUI.Interfaces;
|
||||
@@ -79,6 +80,13 @@ public partial class App : WinoApplication, IRecipient<NewMailSynchronizationReq
|
||||
{
|
||||
// TODO: Check app relaunch mutex before loading anything.
|
||||
|
||||
// Initialize NewThemeService first to get backdrop settings before creating window
|
||||
var newThemeService = Services.GetService<INewThemeService>();
|
||||
var configService = Services.GetService<IConfigurationService>();
|
||||
|
||||
// Load saved backdrop type before creating window
|
||||
var savedBackdropType = (WindowBackdropType)configService.Get("WindowBackdropTypeKey", (int)WindowBackdropType.Mica);
|
||||
|
||||
MainWindow = new ShellWindow();
|
||||
|
||||
await InitializeServicesAsync();
|
||||
|
||||
@@ -10,10 +10,7 @@
|
||||
Title="ShellWindow"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<winuiex:WindowEx.SystemBackdrop>
|
||||
<!-- TODO: Reach to ThemeService changes. -->
|
||||
<MicaBackdrop />
|
||||
</winuiex:WindowEx.SystemBackdrop>
|
||||
<!-- SystemBackdrop will be set by NewThemeService -->
|
||||
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
xmlns:mailSelectors="using:Wino.Selectors"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:personalization="using:Wino.Core.WinUI.Models.Personalization"
|
||||
xmlns:personalization1="using:Wino.Core.Domain.Models.Personalization"
|
||||
xmlns:selectors="using:Wino.Selectors"
|
||||
xmlns:toolkitExt="using:CommunityToolkit.WinUI"
|
||||
xmlns:viewModelData="using:Wino.Mail.ViewModels.Data"
|
||||
@@ -147,6 +148,26 @@
|
||||
</controls:SettingsExpander.Items>
|
||||
</controls:SettingsExpander>
|
||||
|
||||
<!-- Backdrop Selection -->
|
||||
<controls:SettingsCard Description="Choose the backdrop effect for your app window" Header="Window Backdrop">
|
||||
<controls:SettingsCard.HeaderIcon>
|
||||
<PathIcon Data="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z" />
|
||||
</controls:SettingsCard.HeaderIcon>
|
||||
|
||||
<controls:SettingsCard.Content>
|
||||
<ComboBox
|
||||
Width="150"
|
||||
ItemsSource="{x:Bind ViewModel.AvailableBackdropTypes, Mode=OneWay}"
|
||||
SelectedItem="{x:Bind ViewModel.SelectedBackdropType, Mode=TwoWay}">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate x:DataType="personalization1:BackdropTypeWrapper">
|
||||
<TextBlock Text="{x:Bind DisplayName}" />
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
</controls:SettingsCard.Content>
|
||||
</controls:SettingsCard>
|
||||
|
||||
<!-- Mail spacing. -->
|
||||
<controls:SettingsExpander Description="{x:Bind domain:Translator.SettingsMailSpacing_Description}" Header="{x:Bind domain:Translator.SettingsMailSpacing_Title}">
|
||||
<controls:SettingsExpander.HeaderIcon>
|
||||
|
||||
Reference in New Issue
Block a user