5 #include <phonon/audiooutput.h>
6 #include <phonon/volumeslider.h>
7 #include <phonon/mediaobject.h>
8 #include <phonon/seekslider.h>
10 #include "SearchView.h"
11 #include "MediaView.h"
12 #include "AboutView.h"
13 #include "downloadview.h"
18 class MainWindow : public QMainWindow {
23 static MainWindow* instance();
26 Phonon::SeekSlider* getSeekSlider() { return seekSlider; }
29 static void printHelp();
32 void showMedia(SearchParams *params);
34 void messageReceived(const QString &message);
36 void startToolbarSearch(QString query);
38 void showMessage(QString message);
40 void showActivationView(bool transition = true);
41 void showActivationDialog();
47 void changeEvent(QEvent *);
48 void closeEvent(QCloseEvent *);
49 bool eventFilter(QObject *obj, QEvent *event);
50 void dragEnterEvent(QDragEnterEvent *event);
51 void dropEvent(QDropEvent *event);
52 void resizeEvent(QResizeEvent *);
55 void checkForUpdate();
56 void gotNewVersion(QString version);
57 void showSearch(bool transition = true);
63 void updateUIForFullscreen();
64 void compactView(bool enable);
66 void stateChanged(Phonon::State newState, Phonon::State oldState);
68 void tick(qint64 time);
69 void totalTimeChanged(qint64 time);
70 void setDefinitionMode(QString definitionName);
71 void toggleDefinitionMode();
72 void clearRecentKeywords();
78 void volumeChanged(qreal newVolume);
79 void volumeMutedChanged(bool muted);
82 void showFullscreenToolbar(bool show);
83 void showFullscreenPlaylist(bool show);
85 void setManualPlay(bool enabled);
86 void updateDownloadMessage(QString);
87 void downloadsFinished();
88 void toggleDownloads(bool show);
90 void floatOnTop(bool);
91 void showActionInStatusBar(QAction*, bool show);
92 void showStopAfterThisInStatusBar(bool show);
100 void createToolBars();
101 void createStatusBar();
102 void showWidget(QWidget*, bool transition = true);
103 static QString formatTime(qint64 time);
105 void simpleUpdateDialog(QString version);
107 UpdateChecker *updateChecker;
110 QStackedWidget *views;
111 QStack<QWidget*> *history;
114 SearchView *searchView;
115 MediaView *mediaView;
117 QWidget *downloadView;
120 QAction *addGadgetAct;
126 QAction *searchFocusAct;
129 QAction *skipBackwardAct;
133 QAction *fullscreenAct;
134 QAction *compactViewAct;
136 QAction *copyPageAct;
137 QAction *copyLinkAct;
138 QAction *volumeUpAct;
139 QAction *volumeDownAct;
140 QAction *volumeMuteAct;
141 QAction *findVideoPartsAct;
145 QAction *moveDownAct;
147 QAction *fetchMoreAct;
157 QToolBar *mainToolBar;
158 SearchLineEdit *toolbarSearch;
159 QToolBar *statusToolBar;
162 Phonon::SeekSlider *seekSlider;
163 Phonon::VolumeSlider *volumeSlider;
164 Phonon::MediaObject *mediaObject;
165 Phonon::AudioOutput *audioOutput;