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.Storage;
|
||||
using Harmonia.WinUI.ViewModels;
|
||||
@@ -23,7 +23,7 @@ public partial class App : Application
|
||||
//services.AddSingleton<MainViewModel>();
|
||||
services.AddSingleton<PlayerViewModel>();
|
||||
services.AddSingleton<PlayingSongViewModel>();
|
||||
services.AddSingleton<PlaylistViewModel>();
|
||||
services.AddSingleton<PlaylistDetailViewModel>();
|
||||
|
||||
services.AddSingleton<IAudioBitmapImageCache, AudioBitmapImageCache>();
|
||||
services.AddSingleton<IStorageProvider, WindowsStorageProvider>();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net10.0-windows10.0.26100.0</TargetFramework>
|
||||
@@ -68,7 +68,7 @@
|
||||
<Page Update="Views\PlayingSongView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Update="Views\PlaylistView.xaml">
|
||||
<Page Update="Views\PlaylistDetailView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Update="Views\PlayerView.xaml">
|
||||
|
||||
@@ -11,15 +11,29 @@
|
||||
mc:Ignorable="d"
|
||||
Title="Harmonia.WinUI">
|
||||
|
||||
<Window.SystemBackdrop>
|
||||
<MicaBackdrop />
|
||||
</Window.SystemBackdrop>
|
||||
|
||||
<!--<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
||||
<Button x:Name="myButton" Click="myButton_Click">Click Me</Button>
|
||||
</StackPanel>-->
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
</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>
|
||||
<Canvas Background="#99000000"></Canvas>
|
||||
<Border>
|
||||
@@ -28,15 +42,15 @@
|
||||
</Border.Background>
|
||||
</Border>
|
||||
</Grid>
|
||||
<Grid Grid.Row="0">
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<views:PlayingSongView Grid.Column="0"></views:PlayingSongView>
|
||||
<views:PlaylistView Grid.Column="1"></views:PlaylistView>
|
||||
<views:PlaylistDetailView Grid.Column="1"></views:PlaylistDetailView>
|
||||
</Grid>
|
||||
<views:PlayerView Grid.Row="1"></views:PlayerView>
|
||||
<views:PlayerView Grid.Row="2"></views:PlayerView>
|
||||
</Grid>
|
||||
|
||||
</Window>
|
||||
|
||||
@@ -4,8 +4,18 @@ namespace Harmonia.WinUI;
|
||||
|
||||
public sealed partial class MainWindow : Window
|
||||
{
|
||||
private const string ApplicationTitle = "Harmonia";
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
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.Engine;
|
||||
using Harmonia.Core.Imaging;
|
||||
@@ -27,7 +27,7 @@ using DispatcherQueueTimer = Microsoft.UI.Dispatching.DispatcherQueueTimer;
|
||||
|
||||
namespace Harmonia.WinUI.ViewModels;
|
||||
|
||||
public partial class PlaylistViewModel : ViewModelBase
|
||||
public partial class PlaylistDetailViewModel : ViewModelBase
|
||||
{
|
||||
private readonly IPlaylistManager _playlistManager;
|
||||
private readonly IAudioPlayer _audioPlayer;
|
||||
@@ -126,7 +126,7 @@ public partial class PlaylistViewModel : ViewModelBase
|
||||
|
||||
public event EventHandler? PlayingSongChangedAutomatically;
|
||||
|
||||
public PlaylistViewModel(
|
||||
public PlaylistDetailViewModel(
|
||||
IAudioPlayer audioPlayer,
|
||||
IAudioImageCache audioImageCache,
|
||||
IAudioBitmapImageCache audioBitmapImageCache,
|
||||
@@ -1,4 +1,4 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Harmonia.WinUI.ViewModels;
|
||||
|
||||
@@ -13,6 +13,6 @@ public class ViewModelLocator
|
||||
public static PlayingSongViewModel PlayingSongViewModel
|
||||
=> App.ServiceProvider.GetRequiredService<PlayingSongViewModel>();
|
||||
|
||||
public static PlaylistViewModel PlaylistViewModel
|
||||
=> App.ServiceProvider.GetRequiredService<PlaylistViewModel>();
|
||||
public static PlaylistDetailViewModel PlaylistDetailViewModel
|
||||
=> App.ServiceProvider.GetRequiredService<PlaylistDetailViewModel>();
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
<UserControl
|
||||
x:Class="Harmonia.WinUI.Views.PlaylistView"
|
||||
<UserControl
|
||||
x:Class="Harmonia.WinUI.Views.PlaylistDetailView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="using:Harmonia.WinUI.Views"
|
||||
@@ -7,8 +7,8 @@
|
||||
xmlns:playlists="using:Harmonia.Core.Playlists"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
DataContext="{Binding Source={StaticResource Locator}, Path=PlaylistViewModel}"
|
||||
d:DataContext="{d:DesignInstance Type=vm:PlaylistViewModel, IsDesignTimeCreatable=True}"
|
||||
DataContext="{Binding Source={StaticResource Locator}, Path=PlaylistDetailViewModel}"
|
||||
d:DataContext="{d:DesignInstance Type=vm:PlaylistDetailViewModel, IsDesignTimeCreatable=True}"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<!--<SolidColorBrush x:Key="PlaylistBackground" Color="#393a45"/>-->
|
||||
@@ -1,4 +1,4 @@
|
||||
using CommunityToolkit.WinUI;
|
||||
using CommunityToolkit.WinUI;
|
||||
using Harmonia.Core.Imaging;
|
||||
using Harmonia.Core.Playlists;
|
||||
using Harmonia.WinUI.ViewModels;
|
||||
@@ -18,15 +18,15 @@ using Windows.UI.Popups;
|
||||
|
||||
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();
|
||||
|
||||
_viewModel = (PlaylistViewModel)DataContext;
|
||||
_viewModel = (PlaylistDetailViewModel)DataContext;
|
||||
_viewModel.PropertyChanging += OnViewModelPropertyChanging;
|
||||
_viewModel.PropertyChanged += OnViewModelPropertyChanged;
|
||||
_viewModel.PlayingSongChangedAutomatically += OnPlayingSongChangedAutomatically;
|
||||
Reference in New Issue
Block a user