fixed removing of items
[musique.git] / mainwindow.h
blobe23c0ae4d72e01f044164cf60e1e7bb55af53335
1 //
2 // C++ Interface: mainwindow
3 //
4 // Author: Oliver Groß <z.o.gross@gmx.de>, (C) 2008
5 //
6 // Copyright: See COPYING file that comes with this distribution
7 //
8 #ifndef MUSIQUE_MAINWINDOW_H
9 #define MUSIQUE_MAINWINDOW_H
11 #include <QMainWindow>
12 #include <xmmsclient/xmmsclient-qt4.h>
13 #include "ui/ui_mainwin.h"
15 class QLabel;
16 class QSlider;
18 namespace musique {
19 class CPlaylistModel;
20 class CCollectionsModel;
22 class CMainWindow : public QMainWindow {
23 Q_OBJECT
24 public:
25 CMainWindow(QWidget * parent = 0);
26 ~CMainWindow();
27 public slots:
28 void switchToNext();
29 void switchToPrevious();
30 //void openFiles();
31 void addFiles();
32 void addDirectory();
33 void addUrl();
34 void removeSelectedEntries();
35 void clearPlaylist();
36 void randomizePlaylist();
37 protected:
38 QString lastFilesDir;
39 QString lastDirectoryDir;
40 QStringList lastAppendedUrls;
42 Ui::mainWindow ui;
43 QSlider * m_VolumeSlider;
44 QLabel * m_VolumeLabel;
45 QLabel * m_CurrentLabel;
46 QLabel * m_TimeLabel;
48 QString m_CurrentTitle;
50 CPlaylistModel * m_PlaylistModel;
51 CCollectionsModel * m_CollectionsModel;
53 XmmsQt::QClient m_Client;
54 XmmsQt::QPlayback m_Playback;
55 XmmsQt::QMedialib m_Medialib;
57 void readSettings();
58 void writeSettings();
59 inline void setupActions();
60 inline void setupToolbars();
61 inline QString toFormatedTitleInfo(quint32 id);
62 protected slots:
63 void updatePlaytime(quint32 time);
64 void updateVolume();
65 void updateStatus(xmms_playback_status_t status);
66 void updateCurrentId(quint32 id);
67 void checkMediaUpdate(quint32 id);
68 void switchToEntry(QModelIndex index);
69 //void switchToPlaylist(QModelIndex index);
70 void switchToActivePlaylist();
71 //void handleActivePlaylistOnce();
72 void handleEntrySelectionChange(const QItemSelection & selected);
76 #endif