diff --git a/Views/MainWindow.xaml b/Views/MainWindow.xaml index 8b409a2..18d0128 100644 --- a/Views/MainWindow.xaml +++ b/Views/MainWindow.xaml @@ -135,12 +135,12 @@ - + diff --git a/Views/MainWindow.xaml.cs b/Views/MainWindow.xaml.cs index 45449d9..115fdbf 100644 --- a/Views/MainWindow.xaml.cs +++ b/Views/MainWindow.xaml.cs @@ -13,6 +13,7 @@ namespace unison { private readonly Settings _settingsWin; private readonly Radios _radiosWin; + private readonly Shuffle _shuffleWin; private readonly DispatcherTimer _timer; private readonly MPDHandler _mpd; @@ -25,6 +26,7 @@ namespace unison _settingsWin = new Settings(); _radiosWin = new Radios(); + _shuffleWin = new Shuffle(); _timer = new DispatcherTimer(); _mpd = (MPDHandler)Application.Current.Properties["mpd"]; @@ -226,6 +228,15 @@ namespace unison _radiosWin.WindowState = WindowState.Normal; } + public void Shuffle_Clicked(object sender, RoutedEventArgs e) + { + _shuffleWin.Show(); + _shuffleWin.Activate(); + + if (_shuffleWin.WindowState == WindowState.Minimized) + _shuffleWin.WindowState = WindowState.Normal; + } + public void Settings_Clicked(object sender, RoutedEventArgs e) { _settingsWin.Show(); diff --git a/Views/Shuffle.xaml b/Views/Shuffle.xaml new file mode 100644 index 0000000..64c9bad --- /dev/null +++ b/Views/Shuffle.xaml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Views/Shuffle.xaml.cs b/Views/Shuffle.xaml.cs new file mode 100644 index 0000000..eefd083 --- /dev/null +++ b/Views/Shuffle.xaml.cs @@ -0,0 +1,34 @@ +using System.ComponentModel; +using System.Windows; +using System.Windows.Interop; + +namespace unison +{ + public partial class Shuffle : Window + { + //private MPDHandler _mpd; + + public Shuffle() + { + InitializeComponent(); + } + + private void Window_Closing(object sender, CancelEventArgs e) + { + e.Cancel = true; + WindowState = WindowState.Minimized; + Hide(); + } + + public void InitHwnd() + { + WindowInteropHelper helper = new(this); + helper.EnsureHandle(); + } + + private void AddToQueue_Clicked(object sender, RoutedEventArgs e) + { + + } + } +} diff --git a/Views/Systray.xaml b/Views/Systray.xaml index e9d1424..f199077 100644 --- a/Views/Systray.xaml +++ b/Views/Systray.xaml @@ -30,11 +30,11 @@ - + diff --git a/Views/SystrayViewModel.cs b/Views/SystrayViewModel.cs index 70fb694..fe217a7 100644 --- a/Views/SystrayViewModel.cs +++ b/Views/SystrayViewModel.cs @@ -71,6 +71,18 @@ namespace unison } } + public ICommand Shuffle + { + get + { + return new DelegateCommand + { + CommandAction = () => ((MainWindow)Application.Current.MainWindow).Shuffle_Clicked(null, null), + CanExecuteFunc = () => true + }; + } + } + public ICommand Settings { get diff --git a/unison.csproj b/unison.csproj index 3f29fed..ff8a5ef 100644 --- a/unison.csproj +++ b/unison.csproj @@ -7,7 +7,7 @@ Resources\icon-full.ico unison.App - 1.1 + 1.2 Théo Marchal LICENSE