Updated playlist view name. Added custom title bar.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
using Harmonia.Core.Extensions;
|
using Harmonia.Core.Extensions;
|
||||||
using Harmonia.WinUI.Caching;
|
using Harmonia.WinUI.Caching;
|
||||||
using Harmonia.WinUI.Storage;
|
using Harmonia.WinUI.Storage;
|
||||||
using Harmonia.WinUI.ViewModels;
|
using Harmonia.WinUI.ViewModels;
|
||||||
@@ -23,7 +23,7 @@ public partial class App : Application
|
|||||||
//services.AddSingleton<MainViewModel>();
|
//services.AddSingleton<MainViewModel>();
|
||||||
services.AddSingleton<PlayerViewModel>();
|
services.AddSingleton<PlayerViewModel>();
|
||||||
services.AddSingleton<PlayingSongViewModel>();
|
services.AddSingleton<PlayingSongViewModel>();
|
||||||
services.AddSingleton<PlaylistViewModel>();
|
services.AddSingleton<PlaylistDetailViewModel>();
|
||||||
|
|
||||||
services.AddSingleton<IAudioBitmapImageCache, AudioBitmapImageCache>();
|
services.AddSingleton<IAudioBitmapImageCache, AudioBitmapImageCache>();
|
||||||
services.AddSingleton<IStorageProvider, WindowsStorageProvider>();
|
services.AddSingleton<IStorageProvider, WindowsStorageProvider>();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>net10.0-windows10.0.26100.0</TargetFramework>
|
<TargetFramework>net10.0-windows10.0.26100.0</TargetFramework>
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
<Page Update="Views\PlayingSongView.xaml">
|
<Page Update="Views\PlayingSongView.xaml">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
<Page Update="Views\PlaylistView.xaml">
|
<Page Update="Views\PlaylistDetailView.xaml">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
<Page Update="Views\PlayerView.xaml">
|
<Page Update="Views\PlayerView.xaml">
|
||||||
|
|||||||
@@ -11,15 +11,29 @@
|
|||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="Harmonia.WinUI">
|
Title="Harmonia.WinUI">
|
||||||
|
|
||||||
|
<Window.SystemBackdrop>
|
||||||
|
<MicaBackdrop />
|
||||||
|
</Window.SystemBackdrop>
|
||||||
|
|
||||||
<!--<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
<!--<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
||||||
<Button x:Name="myButton" Click="myButton_Click">Click Me</Button>
|
<Button x:Name="myButton" Click="myButton_Click">Click Me</Button>
|
||||||
</StackPanel>-->
|
</StackPanel>-->
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"></RowDefinition>
|
||||||
<RowDefinition Height="*"></RowDefinition>
|
<RowDefinition Height="*"></RowDefinition>
|
||||||
<RowDefinition Height="Auto"></RowDefinition>
|
<RowDefinition Height="Auto"></RowDefinition>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Grid Grid.RowSpan="2">
|
<!-- Title Bar -->
|
||||||
|
<Grid x:Name="AppTitleBar" Grid.Row="0" VerticalAlignment="Center" Padding="10">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||||
|
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<!--<Image Grid.Column="0" x:Name="TitleBarIcon" Source="ms-appx:///Assets/Images/MangaReader.png" Width="20" Height="20" Margin="0 0 10 0" />-->
|
||||||
|
<TextBlock Grid.Column="1" x:Name="AppTitle" Text="{x:Bind Title, Mode=OneWay}" Style="{StaticResource CaptionTextBlockStyle}" VerticalAlignment="Center" />
|
||||||
|
</Grid>
|
||||||
|
<Grid Grid.Row="1" Grid.RowSpan="2">
|
||||||
<Image Source="/Assets/Default.png" Stretch="UniformToFill" VerticalAlignment="Center" HorizontalAlignment="Center"></Image>
|
<Image Source="/Assets/Default.png" Stretch="UniformToFill" VerticalAlignment="Center" HorizontalAlignment="Center"></Image>
|
||||||
<Canvas Background="#99000000"></Canvas>
|
<Canvas Background="#99000000"></Canvas>
|
||||||
<Border>
|
<Border>
|
||||||
@@ -28,15 +42,15 @@
|
|||||||
</Border.Background>
|
</Border.Background>
|
||||||
</Border>
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid Grid.Row="0">
|
<Grid Grid.Row="1">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition></ColumnDefinition>
|
<ColumnDefinition></ColumnDefinition>
|
||||||
<ColumnDefinition></ColumnDefinition>
|
<ColumnDefinition></ColumnDefinition>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<views:PlayingSongView Grid.Column="0"></views:PlayingSongView>
|
<views:PlayingSongView Grid.Column="0"></views:PlayingSongView>
|
||||||
<views:PlaylistView Grid.Column="1"></views:PlaylistView>
|
<views:PlaylistDetailView Grid.Column="1"></views:PlaylistDetailView>
|
||||||
</Grid>
|
</Grid>
|
||||||
<views:PlayerView Grid.Row="1"></views:PlayerView>
|
<views:PlayerView Grid.Row="2"></views:PlayerView>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
</Window>
|
</Window>
|
||||||
|
|||||||
@@ -4,8 +4,18 @@ namespace Harmonia.WinUI;
|
|||||||
|
|
||||||
public sealed partial class MainWindow : Window
|
public sealed partial class MainWindow : Window
|
||||||
{
|
{
|
||||||
|
private const string ApplicationTitle = "Harmonia";
|
||||||
|
|
||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
InitializeTitleBar();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitializeTitleBar()
|
||||||
|
{
|
||||||
|
Title = ApplicationTitle;
|
||||||
|
ExtendsContentIntoTitleBar = true;
|
||||||
|
SetTitleBar(AppTitleBar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
using CommunityToolkit.Mvvm.Input;
|
using CommunityToolkit.Mvvm.Input;
|
||||||
using Harmonia.Core.Caching;
|
using Harmonia.Core.Caching;
|
||||||
using Harmonia.Core.Engine;
|
using Harmonia.Core.Engine;
|
||||||
using Harmonia.Core.Imaging;
|
using Harmonia.Core.Imaging;
|
||||||
@@ -27,7 +27,7 @@ using DispatcherQueueTimer = Microsoft.UI.Dispatching.DispatcherQueueTimer;
|
|||||||
|
|
||||||
namespace Harmonia.WinUI.ViewModels;
|
namespace Harmonia.WinUI.ViewModels;
|
||||||
|
|
||||||
public partial class PlaylistViewModel : ViewModelBase
|
public partial class PlaylistDetailViewModel : ViewModelBase
|
||||||
{
|
{
|
||||||
private readonly IPlaylistManager _playlistManager;
|
private readonly IPlaylistManager _playlistManager;
|
||||||
private readonly IAudioPlayer _audioPlayer;
|
private readonly IAudioPlayer _audioPlayer;
|
||||||
@@ -126,7 +126,7 @@ public partial class PlaylistViewModel : ViewModelBase
|
|||||||
|
|
||||||
public event EventHandler? PlayingSongChangedAutomatically;
|
public event EventHandler? PlayingSongChangedAutomatically;
|
||||||
|
|
||||||
public PlaylistViewModel(
|
public PlaylistDetailViewModel(
|
||||||
IAudioPlayer audioPlayer,
|
IAudioPlayer audioPlayer,
|
||||||
IAudioImageCache audioImageCache,
|
IAudioImageCache audioImageCache,
|
||||||
IAudioBitmapImageCache audioBitmapImageCache,
|
IAudioBitmapImageCache audioBitmapImageCache,
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
|
||||||
namespace Harmonia.WinUI.ViewModels;
|
namespace Harmonia.WinUI.ViewModels;
|
||||||
|
|
||||||
@@ -13,6 +13,6 @@ public class ViewModelLocator
|
|||||||
public static PlayingSongViewModel PlayingSongViewModel
|
public static PlayingSongViewModel PlayingSongViewModel
|
||||||
=> App.ServiceProvider.GetRequiredService<PlayingSongViewModel>();
|
=> App.ServiceProvider.GetRequiredService<PlayingSongViewModel>();
|
||||||
|
|
||||||
public static PlaylistViewModel PlaylistViewModel
|
public static PlaylistDetailViewModel PlaylistDetailViewModel
|
||||||
=> App.ServiceProvider.GetRequiredService<PlaylistViewModel>();
|
=> App.ServiceProvider.GetRequiredService<PlaylistDetailViewModel>();
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<UserControl
|
<UserControl
|
||||||
x:Class="Harmonia.WinUI.Views.PlaylistView"
|
x:Class="Harmonia.WinUI.Views.PlaylistDetailView"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:local="using:Harmonia.WinUI.Views"
|
xmlns:local="using:Harmonia.WinUI.Views"
|
||||||
@@ -7,8 +7,8 @@
|
|||||||
xmlns:playlists="using:Harmonia.Core.Playlists"
|
xmlns:playlists="using:Harmonia.Core.Playlists"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
DataContext="{Binding Source={StaticResource Locator}, Path=PlaylistViewModel}"
|
DataContext="{Binding Source={StaticResource Locator}, Path=PlaylistDetailViewModel}"
|
||||||
d:DataContext="{d:DesignInstance Type=vm:PlaylistViewModel, IsDesignTimeCreatable=True}"
|
d:DataContext="{d:DesignInstance Type=vm:PlaylistDetailViewModel, IsDesignTimeCreatable=True}"
|
||||||
mc:Ignorable="d">
|
mc:Ignorable="d">
|
||||||
<UserControl.Resources>
|
<UserControl.Resources>
|
||||||
<!--<SolidColorBrush x:Key="PlaylistBackground" Color="#393a45"/>-->
|
<!--<SolidColorBrush x:Key="PlaylistBackground" Color="#393a45"/>-->
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
using CommunityToolkit.WinUI;
|
using CommunityToolkit.WinUI;
|
||||||
using Harmonia.Core.Imaging;
|
using Harmonia.Core.Imaging;
|
||||||
using Harmonia.Core.Playlists;
|
using Harmonia.Core.Playlists;
|
||||||
using Harmonia.WinUI.ViewModels;
|
using Harmonia.WinUI.ViewModels;
|
||||||
@@ -18,15 +18,15 @@ using Windows.UI.Popups;
|
|||||||
|
|
||||||
namespace Harmonia.WinUI.Views;
|
namespace Harmonia.WinUI.Views;
|
||||||
|
|
||||||
public sealed partial class PlaylistView : UserControl
|
public sealed partial class PlaylistDetailView : UserControl
|
||||||
{
|
{
|
||||||
private readonly PlaylistViewModel _viewModel;
|
private readonly PlaylistDetailViewModel _viewModel;
|
||||||
|
|
||||||
public PlaylistView()
|
public PlaylistDetailView()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
_viewModel = (PlaylistViewModel)DataContext;
|
_viewModel = (PlaylistDetailViewModel)DataContext;
|
||||||
_viewModel.PropertyChanging += OnViewModelPropertyChanging;
|
_viewModel.PropertyChanging += OnViewModelPropertyChanging;
|
||||||
_viewModel.PropertyChanged += OnViewModelPropertyChanged;
|
_viewModel.PropertyChanged += OnViewModelPropertyChanged;
|
||||||
_viewModel.PlayingSongChangedAutomatically += OnPlayingSongChangedAutomatically;
|
_viewModel.PlayingSongChangedAutomatically += OnPlayingSongChangedAutomatically;
|
||||||
Reference in New Issue
Block a user