icon path fix
[musique.git] / mainwindow.h
blobd4d7b37aa3b138b8fb4884dae2d012fec178e0d5
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 QSlider * m_PositionSlider;
45 QLabel * m_VolumeLabel;
46 QLabel * m_CurrentLabel;
47 QLabel * m_TimeLabel;
49 QString m_CurrentTitle;
51 CPlaylistModel * m_PlaylistModel;
52 CCollectionsModel * m_CollectionsModel;
54 XmmsQt::QClient m_Client;
55 XmmsQt::QPlayback m_Playback;
56 XmmsQt::QMedialib m_Medialib;
58 void readSettings();
59 void writeSettings();
60 inline void setupActions();
61 inline void setupToolbars();
62 inline QString toFormatedTitleInfo(quint32 id);
63 protected slots:
64 void updatePlaytime(quint32 time);
65 void updateVolume();
66 void updateStatus(xmms_playback_status_t status);
67 void updateCurrentId(quint32 id);
68 void checkMediaUpdate(quint32 id);
69 void switchToEntry(QModelIndex index);
70 //void switchToPlaylist(QModelIndex index);
71 void switchToActivePlaylist();
72 //void handleActivePlaylistOnce();
73 void handleEntrySelectionChange(const QItemSelection & selected);
77 #endif