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; }
31 void showMedia(SearchParams *params);
33 void messageReceived(const QString &message);
37 void changeEvent(QEvent *);
38 void closeEvent(QCloseEvent *);
39 bool eventFilter(QObject *obj, QEvent *event);
40 void dragEnterEvent(QDragEnterEvent *event);
41 void dropEvent(QDropEvent *event);
42 void resizeEvent(QResizeEvent *);
45 void checkForUpdate();
46 void gotNewVersion(QString version);
53 void updateUIForFullscreen();
54 void compactView(bool enable);
56 void stateChanged(Phonon::State newState, Phonon::State oldState);
58 void tick(qint64 time);
59 void totalTimeChanged(qint64 time);
60 void setDefinitionMode(QString definitionName);
61 void toggleDefinitionMode();
62 void clearRecentKeywords();
68 void volumeChanged(qreal newVolume);
69 void volumeMutedChanged(bool muted);
72 void showFullscreenToolbar(bool show);
73 void showFullscreenPlaylist(bool show);
75 void setManualPlay(bool enabled);
76 void updateDownloadMessage(QString);
77 void downloadsFinished();
78 void toggleDownloads(bool show);
80 void startToolbarSearch(QString query);
81 void floatOnTop(bool);
82 void showActionInStatusBar(QAction*, bool show);
83 void showStopAfterThisInStatusBar(bool show);
89 void createToolBars();
90 void createStatusBar();
91 void showWidget(QWidget*);
92 static QString formatTime(qint64 time);
95 UpdateChecker *updateChecker;
98 QStackedWidget *views;
99 QStack<QWidget*> *history;
102 SearchView *searchView;
103 MediaView *mediaView;
105 QWidget *downloadView;
108 QAction *addGadgetAct;
114 QAction *searchFocusAct;
117 QAction *skipBackwardAct;
121 QAction *fullscreenAct;
122 QAction *compactViewAct;
124 QAction *copyPageAct;
125 QAction *copyLinkAct;
126 QAction *volumeUpAct;
127 QAction *volumeDownAct;
128 QAction *volumeMuteAct;
129 QAction *findVideoPartsAct;
133 QAction *moveDownAct;
135 QAction *fetchMoreAct;
145 QToolBar *mainToolBar;
146 SearchLineEdit *toolbarSearch;
147 QToolBar *statusToolBar;
150 Phonon::SeekSlider *seekSlider;
151 Phonon::VolumeSlider *volumeSlider;
152 Phonon::MediaObject *mediaObject;
153 Phonon::AudioOutput *audioOutput;