5 #include "faderwidget/FaderWidget.h"
6 #include "searchlineedit.h"
7 #include <phonon/audiooutput.h>
8 #include <phonon/volumeslider.h>
9 #include <phonon/mediaobject.h>
10 #include <phonon/seekslider.h>
12 #include "SearchView.h"
13 #include "MediaView.h"
14 #include "SettingsView.h"
15 #include "AboutView.h"
17 // #include <QProgressDialog>
19 class MainWindow : public QMainWindow {
28 void closeEvent(QCloseEvent *);
31 struct DownloadResource
33 QProgressDialog* dialog;
38 void fadeInWidget(QWidget *oldWidget, QWidget *newWidget);
42 void showMedia(QString query);
48 void compactView(bool enable);
50 void stateChanged(Phonon::State newState, Phonon::State oldState);
52 void tick(qint64 time);
53 void totalTimeChanged(qint64 time);
59 void volumeChanged(qreal newVolume);
60 void volumeMutedChanged(bool muted);
63 // download related stuff
66 void download(const QUrl& url, const DownloadResource& res);
67 void replyReadyRead();
68 void replyDownloadProgress(qint64 bytesReceived, qint64 bytesTotal);
69 void replyError(QNetworkReply::NetworkError code);
71 void replyMetaDataChanged();
78 void createToolBars();
79 void createStatusBar();
82 void showWidget(QWidget*);
85 QPointer<FaderWidget> faderWidget;
86 QStackedWidget *views;
87 QStack<QWidget*> *history;
92 QWidget *settingsView;
96 QAction *addGadgetAct;
103 QAction *searchFocusAct;
109 QAction *fullscreenAct;
110 QAction *compactViewAct;
112 QAction *downloadAct;
113 QAction *volumeUpAct;
114 QAction *volumeDownAct;
115 QAction *volumeMuteAct;
119 QAction *moveDownAct;
121 QAction *fetchMoreAct;
130 QToolBar *mainToolBar;
131 SearchLineEdit *toolbarSearch;
134 Phonon::SeekSlider *seekSlider;
135 Phonon::VolumeSlider *volumeSlider;
136 Phonon::MediaObject *mediaObject;
137 Phonon::AudioOutput *audioOutput;
144 // QMap<QNetworkReply*, DownloadResource> m_downloads;