diff --git a/Screenbox.Core/ViewModels/AllVideosPageViewModel.cs b/Screenbox.Core/ViewModels/AllVideosPageViewModel.cs
index b2b47a7c0..5477a50db 100644
--- a/Screenbox.Core/ViewModels/AllVideosPageViewModel.cs
+++ b/Screenbox.Core/ViewModels/AllVideosPageViewModel.cs
@@ -70,11 +70,5 @@ private void Play(MediaViewModel media)
if (Videos.Count == 0) return;
Messenger.SendQueueAndPlay(media, Videos, true);
}
-
- [RelayCommand]
- private void PlayNext(MediaViewModel media)
- {
- Messenger.SendPlayNext(media);
- }
}
}
diff --git a/Screenbox.Core/ViewModels/CommonViewModel.cs b/Screenbox.Core/ViewModels/CommonViewModel.cs
index 61399f911..22606aa45 100644
--- a/Screenbox.Core/ViewModels/CommonViewModel.cs
+++ b/Screenbox.Core/ViewModels/CommonViewModel.cs
@@ -5,6 +5,7 @@
using CommunityToolkit.Mvvm.Messaging;
using CommunityToolkit.Mvvm.Messaging.Messages;
using Screenbox.Core.Enums;
+using Screenbox.Core.Helpers;
using Screenbox.Core.Messages;
using Screenbox.Core.Services;
using System;
@@ -82,6 +83,12 @@ public bool TryGetPageState(string pageTypeName, int backStackDepth, out object
return _pageStates.TryGetValue(pageTypeName + backStackDepth, out state);
}
+ [RelayCommand]
+ private void PlayNext(MediaViewModel media)
+ {
+ Messenger.SendPlayNext(media);
+ }
+
[RelayCommand]
private void OpenAlbum(AlbumViewModel? album)
{
diff --git a/Screenbox.Core/ViewModels/HomePageViewModel.cs b/Screenbox.Core/ViewModels/HomePageViewModel.cs
index 81e86ccde..3e18e2f6a 100644
--- a/Screenbox.Core/ViewModels/HomePageViewModel.cs
+++ b/Screenbox.Core/ViewModels/HomePageViewModel.cs
@@ -275,12 +275,6 @@ private void Play(MediaViewModel media)
}
}
- [RelayCommand]
- private void PlayNext(MediaViewModel media)
- {
- Messenger.SendPlayNext(media);
- }
-
[RelayCommand]
private void Remove(MediaViewModel media)
{
diff --git a/Screenbox.Core/ViewModels/SongsPageViewModel.cs b/Screenbox.Core/ViewModels/SongsPageViewModel.cs
index 8f9129ec2..bdff774a5 100644
--- a/Screenbox.Core/ViewModels/SongsPageViewModel.cs
+++ b/Screenbox.Core/ViewModels/SongsPageViewModel.cs
@@ -201,11 +201,5 @@ private void Play(MediaViewModel media)
if (Songs.Count == 0) return;
Messenger.SendQueueAndPlay(media, Songs);
}
-
- [RelayCommand]
- private void PlayNext(MediaViewModel media)
- {
- Messenger.SendPlayNext(media);
- }
}
}
diff --git a/Screenbox/App.xaml b/Screenbox/App.xaml
index 001a0945c..ca6eab49a 100644
--- a/Screenbox/App.xaml
+++ b/Screenbox/App.xaml
@@ -38,15 +38,11 @@
-
+ x:Key="EmptyObjectToVisibilityConverter"
+ EmptyValue="Collapsed"
+ NotEmptyValue="Visible" />
+ Visibility="{x:Bind ThumbnailSource, Converter={StaticResource EmptyObjectToVisibilityConverter}, ConverterParameter=true, Mode=OneWay}">
+
+
diff --git a/Screenbox/Pages/AlbumDetailsPage.xaml b/Screenbox/Pages/AlbumDetailsPage.xaml
index 19ad4c5fe..be3dfd927 100644
--- a/Screenbox/Pages/AlbumDetailsPage.xaml
+++ b/Screenbox/Pages/AlbumDetailsPage.xaml
@@ -2,6 +2,7 @@
x:Class="Screenbox.Pages.AlbumDetailsPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:commands="using:Screenbox.Commands"
xmlns:controls="using:Screenbox.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:extensions="using:Screenbox.Controls.Extensions"
@@ -23,6 +24,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -81,7 +118,7 @@
+ Visibility="{x:Bind ViewModel.Source.AlbumArt, Mode=OneWay, Converter={StaticResource EmptyObjectToVisibilityConverter}, ConverterParameter=true}">
+
diff --git a/Screenbox/Pages/AllVideosPage.xaml b/Screenbox/Pages/AllVideosPage.xaml
index d1495c3e5..7bedd71ed 100644
--- a/Screenbox/Pages/AllVideosPage.xaml
+++ b/Screenbox/Pages/AllVideosPage.xaml
@@ -3,7 +3,6 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:commands="using:Screenbox.Commands"
- xmlns:controls="using:Screenbox.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:interactions="using:Screenbox.Controls.Interactions"
xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
@@ -12,7 +11,6 @@
xmlns:strings="using:Screenbox.Strings"
xmlns:triggers="using:CommunityToolkit.WinUI"
xmlns:ui="using:CommunityToolkit.WinUI"
- xmlns:viewModels="using:Screenbox.Core.ViewModels"
mc:Ignorable="d">
@@ -28,7 +26,7 @@
Icon="{ui:SymbolIcon Symbol=Play}"
Text="{strings:Resources Key=Play}" />
+ Visibility="{Binding Key.AlbumArt, Converter={StaticResource EmptyObjectToVisibilityConverter}, ConverterParameter=true}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -332,6 +369,7 @@
AlternateBackground="{ThemeResource CardBackgroundFillColorDefaultBrush}"
AlternateBorderBrush="{ThemeResource CardStrokeColorDefaultBrush}"
AlternateBorderThickness="1" />
+
diff --git a/Screenbox/Pages/HomePage.xaml b/Screenbox/Pages/HomePage.xaml
index 0b7922393..5f29fb050 100644
--- a/Screenbox/Pages/HomePage.xaml
+++ b/Screenbox/Pages/HomePage.xaml
@@ -30,7 +30,7 @@
Icon="{ui:SymbolIcon Symbol=Play}"
Text="{strings:Resources Key=Play}" />
+
+
+ Visibility="{x:Bind ViewModel.Media.Thumbnail, Mode=OneWay, Converter={StaticResource EmptyObjectToVisibilityConverter}, ConverterParameter=true}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -156,7 +198,7 @@
AlternateBackground="{ThemeResource CardBackgroundFillColorDefaultBrush}"
AlternateBorderBrush="{ThemeResource CardStrokeColorDefaultBrush}"
AlternateBorderThickness="1" />
-
+
diff --git a/Screenbox/Pages/Search/SongSearchResultPage.xaml b/Screenbox/Pages/Search/SongSearchResultPage.xaml
index 39e9b0270..9e158c183 100644
--- a/Screenbox/Pages/Search/SongSearchResultPage.xaml
+++ b/Screenbox/Pages/Search/SongSearchResultPage.xaml
@@ -2,6 +2,7 @@
x:Class="Screenbox.Pages.SongSearchResultPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:commands="using:Screenbox.Commands"
xmlns:controls="using:Screenbox.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:extensions="using:Screenbox.Controls.Extensions"
@@ -13,6 +14,49 @@
xmlns:triggers="using:CommunityToolkit.WinUI"
xmlns:ui="using:CommunityToolkit.WinUI"
mc:Ignorable="d">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -59,7 +103,7 @@
AlternateBackground="{ThemeResource CardBackgroundFillColorDefaultBrush}"
AlternateBorderBrush="{ThemeResource CardStrokeColorDefaultBrush}"
AlternateBorderThickness="1" />
-
+
diff --git a/Screenbox/Pages/Search/SongSearchResultPage.xaml.cs b/Screenbox/Pages/Search/SongSearchResultPage.xaml.cs
index a16cc0a01..fab72c9b2 100644
--- a/Screenbox/Pages/Search/SongSearchResultPage.xaml.cs
+++ b/Screenbox/Pages/Search/SongSearchResultPage.xaml.cs
@@ -14,7 +14,7 @@ namespace Screenbox.Pages
///
public sealed partial class SongSearchResultPage : Page
{
- internal SearchResultPageViewModel? ViewModel { get; set; }
+ internal SearchResultPageViewModel? ViewModel { get; private set; }
internal CommonViewModel Common { get; }
diff --git a/Screenbox/Pages/SettingsPage.xaml b/Screenbox/Pages/SettingsPage.xaml
index 5f58450d8..4f471fc0f 100644
--- a/Screenbox/Pages/SettingsPage.xaml
+++ b/Screenbox/Pages/SettingsPage.xaml
@@ -323,7 +323,7 @@
Margin="{StaticResource SettingsCardMargin}"
Header="{strings:Resources Key=SettingsGesturesHeader}"
HeaderIcon="{ui:FontIcon Glyph=}"
- Visibility="{x:Bind helpers:SystemInformation.IsXbox, Converter={StaticResource InverseBoolToVisibilityConverter}}">
+ Visibility="{x:Bind helpers:SystemInformation.IsXbox, Converter={StaticResource BoolToVisibilityConverter}, ConverterParameter=true}">
diff --git a/Screenbox/Pages/SongsPage.xaml b/Screenbox/Pages/SongsPage.xaml
index 25efecebe..8685e3453 100644
--- a/Screenbox/Pages/SongsPage.xaml
+++ b/Screenbox/Pages/SongsPage.xaml
@@ -33,7 +33,7 @@
Icon="{ui:SymbolIcon Symbol=Play}"
Text="{strings:Resources Key=Play}" />
+
+
+ /// Looks up a localized string similar to: Show album
+ ///
+ public static string ShowAlbum
+ {
+ get
+ {
+ return _resourceLoader.GetString("ShowAlbum");
+ }
+ }
+ #endregion
+
+ #region ShowArtist
+ ///
+ /// Looks up a localized string similar to: Show artist
+ ///
+ public static string ShowArtist
+ {
+ get
+ {
+ return _resourceLoader.GetString("ShowArtist");
+ }
+ }
+ #endregion
}
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("DotNetPlus.ReswPlus", "2.1.3")]
@@ -3227,6 +3253,8 @@ public enum KeyEnum
File,
MusicLibrary,
VideoLibrary,
+ ShowAlbum,
+ ShowArtist,
}
private static ResourceLoader _resourceLoader;
diff --git a/Screenbox/Strings/en-US/Resources.resw b/Screenbox/Strings/en-US/Resources.resw
index 81190e9c3..77e0ab3cf 100644
--- a/Screenbox/Strings/en-US/Resources.resw
+++ b/Screenbox/Strings/en-US/Resources.resw
@@ -869,4 +869,10 @@
Videos
+
+ Show album
+
+
+ Show artist
+
\ No newline at end of file