1 /* This file is part of Clementine.
2    Copyright 2010, David Sansome <me@davidsansome.com>
3 
4    Clementine is free software: you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation, either version 3 of the License, or
7    (at your option) any later version.
8 
9    Clementine is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13 
14    You should have received a copy of the GNU General Public License
15    along with Clementine.  If not, see <http://www.gnu.org/licenses/>.
16 */
17 
18 #ifndef QUEUEMANAGER_H
19 #define QUEUEMANAGER_H
20 
21 #include <QDialog>
22 
23 class Playlist;
24 class PlaylistManager;
25 class Ui_QueueManager;
26 
27 class QModelIndex;
28 
29 class QueueManager : public QDialog {
30   Q_OBJECT
31 
32  public:
33   QueueManager(QWidget* parent = nullptr);
34   ~QueueManager();
35 
36   void SetPlaylistManager(PlaylistManager* manager);
37 
38  private slots:
39   void CurrentPlaylistChanged(Playlist* playlist);
40   void PlaylistDestroyed();
41   void UpdateButtonState();
42 
43   void MoveUp();
44   void MoveDown();
45   void Remove();
46   void Clear();
47 
48  private:
49   Ui_QueueManager* ui_;
50 
51   PlaylistManager* playlists_;
52   Playlist* current_playlist_;
53 };
54 
55 #endif  // QUEUEMANAGER_H
56