コード例 #1
0
        private void Window_Closing(object sender, CancelEventArgs e)
        {
            if (InstanceManager.Instance.PlaylistEditorInstance != null)
            {
                if (!InstanceManager.Instance.PlaylistEditorInstance.ClosePlaylistQuery())
                {
                    e.Cancel = true;
                    return;
                }
                InstanceManager.Instance.PlaylistEditorInstance.CloseFinal();
                InstanceManager.Instance.SettingsWindowInstance.CloseFinal();
            }

            if (_volWidget != null)
            {
                _volWidget.Close();
            }

            if (_qlWidget != null)
            {
                _qlWidget.Close();
            }

            if (PlWidget != null)
            {
                PlWidget.Close();
            }

            PlaybackManagerInstance.Dispose();

            SettingsInstance["LastWindowLocation"].Value = new Point((int)Left, (int)Top);

            _controlNotifyIcon.Visible = false;

            if (InstanceManager.Instance.LoadedExtensions == null)
            {
                return;
            }
            foreach (var p in InstanceManager.Instance.LoadedExtensions)
            {
                p.Instance.Unload();
            }
        }
コード例 #2
0
 private async void PlaylistView_OnDrop(object sender, DragEventArgs e)
 {
     SpinningGear.Visibility = Visibility.Visible;
     foreach (var s in (string[])e.Data.GetData(DataFormats.FileDrop, false))
     {
         if (DirectoryEx.Exists(s))
         {
             await FileUtils.AddFolder(FileSystemInfoEx.FromString(s) as DirectoryInfoEx, true, FileSystemUtils.DefaultLoadErrorCallback);
         }
         else if (PlaylistDataManager.Instance.HasReader(s.GetExt()))
         {
             Playlist.AddRange(s, FileSystemUtils.DefaultLoadErrorCallback);
         }
         else if (PlaybackManagerInstance.HasSupportingPlayer(s.GetExt()))
         {
             Playlist.Add(MusicInfo.Create(FileSystemInfoEx.FromString(s) as FileInfoEx, FileSystemUtils.DefaultLoadErrorCallback));
         }
     }
     SpinningGear.Visibility = Visibility.Hidden;
 }
コード例 #3
0
        private void PlaylistView_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var dep = (e.OriginalSource as DependencyObject).VisualUpwardSearch <System.Windows.Controls.ListViewItem>();

            if (dep == null)
            {
                return;
            }
            var item  = (IMusicInfo)PlaylistView.ItemContainerGenerator.ItemFromContainer(dep);
            var index = Playlist.ShuffledIndexOf(item);

            if (index < 0 || index >= Playlist.Count)
            {
                return;
            }
            PlaybackManagerInstance.NowPlayingId = index;
            if (PlaybackManagerInstance.CurrentState != PlaybackState.Playing)
            {
                PlaybackManagerInstance.PlayPauseResume();
            }
        }
コード例 #4
0
        private async void AddFromTreeBrowser_OnClick(object sender, RoutedEventArgs e)
        {
            SpinningGear.Visibility = Visibility.Visible;
            var s = from r in TreeBrowser.RootList
                    from n in r.GetChecked()
                    select n;

            foreach (var infoEx in s)
            {
                if (infoEx.IsFolder)
                {
                    await FileUtils.AddFolder(infoEx as DirectoryInfoEx, true, FileSystemUtils.DefaultLoadErrorCallback);
                }
                else if (PlaylistDataManager.Instance.HasReader(infoEx.Name.GetExt()))
                {
                    Playlist.AddRange(infoEx.FullName, FileSystemUtils.DefaultLoadErrorCallback);
                }
                else if (PlaybackManagerInstance.HasSupportingPlayer(infoEx.Name.GetExt()))
                {
                    Playlist.Add(MusicInfo.Create(infoEx as FileInfoEx, FileSystemUtils.DefaultLoadErrorCallback));
                }
            }
            SpinningGear.Visibility = Visibility.Hidden;
        }
コード例 #5
0
 private void Next_Click(object sender, RoutedEventArgs e)
 {
     PlaybackManagerInstance.Next();
 }
コード例 #6
0
 private void Previous_Click(object sender, RoutedEventArgs e)
 {
     PlaybackManagerInstance.Previous();
 }
コード例 #7
0
 private void Stop_Click(object sender, RoutedEventArgs e)
 {
     PlaybackManagerInstance.Stop();
 }
コード例 #8
0
 private void PlayPauseResume_Click(object sender, RoutedEventArgs e)
 {
     PlaybackManagerInstance.PlayPauseResume();
 }
コード例 #9
0
 private void StopButton_Click(object sender, EventArgs e)
 {
     DoFocusChange();
     PlaybackManagerInstance.Stop();
 }
コード例 #10
0
 private void PreviousButton_Click(object sender, EventArgs e)
 {
     DoFocusChange();
     PlaybackManagerInstance.Previous();
 }
コード例 #11
0
 private void PlayButton_Click(object sender, EventArgs e)
 {
     DoFocusChange();
     PlaybackManagerInstance.PlayPauseResume();
 }