fix: AlbumArtThemeColors is not updated when PaletteGeneratorType is changed

This commit is contained in:
Zhe Fang
2025-12-23 20:43:29 -05:00
parent 85b3121479
commit 346de93c3f
2 changed files with 28 additions and 2 deletions

View File

@@ -1,5 +1,7 @@
using BetterLyrics.WinUI3.Enums;
using BetterLyrics.WinUI3.Extensions;
using BetterLyrics.WinUI3.Hooks;
using BetterLyrics.WinUI3.Models;
using BetterLyrics.WinUI3.Models.Settings;
using BetterLyrics.WinUI3.Services.MediaSessionsService;
using BetterLyrics.WinUI3.ViewModels;
@@ -22,7 +24,8 @@ namespace BetterLyrics.WinUI3.Views
/// </summary>
public sealed partial class MusicGalleryWindow : Window,
IRecipient<PropertyChangedMessage<BitmapImage?>>,
IRecipient<PropertyChangedMessage<ElementTheme>>
IRecipient<PropertyChangedMessage<ElementTheme>>,
IRecipient<PropertyChangedMessage<PaletteGeneratorType>>
{
public MusicGalleryWindowViewModel ViewModel { get; private set; } = Ioc.Default.GetRequiredService<MusicGalleryWindowViewModel>();
@@ -85,6 +88,17 @@ namespace BetterLyrics.WinUI3.Views
}
}
public void Receive(PropertyChangedMessage<PaletteGeneratorType> message)
{
if (message.Sender == ViewModel.AppSettings.MusicGallerySettings.LyricsWindowStatus.LyricsBackgroundSettings)
{
if (message.PropertyName == nameof(LyricsBackgroundSettings.PaletteGeneratorType))
{
UpdateAlbumArtThemeColors();
}
}
}
private void NowPlayingBar_SongInfoTapped(object sender, System.EventArgs e)
{
NowPlayingBar.ShowSongInfo = false;

View File

@@ -33,7 +33,8 @@ namespace BetterLyrics.WinUI3.Views
IRecipient<PropertyChangedMessage<BitmapImage?>>,
IRecipient<PropertyChangedMessage<LyricsFontColorType>>,
IRecipient<PropertyChangedMessage<Color>>,
IRecipient<PropertyChangedMessage<TaskbarPlacement>>
IRecipient<PropertyChangedMessage<TaskbarPlacement>>,
IRecipient<PropertyChangedMessage<PaletteGeneratorType>>
{
private ForegroundWindowHook? _fgWindowWatcher = null;
private OverlayInputHelper? _overlayInputHelper;
@@ -631,5 +632,16 @@ namespace BetterLyrics.WinUI3.Views
}
}
}
public void Receive(PropertyChangedMessage<PaletteGeneratorType> message)
{
if (message.Sender == LyricsWindowStatus.LyricsBackgroundSettings)
{
if (message.PropertyName == nameof(LyricsWindowStatus.LyricsBackgroundSettings.PaletteGeneratorType))
{
UpdateAlbumArtThemeColors();
}
}
}
}
}