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);
39 void changeEvent(QEvent *);
40 void closeEvent(QCloseEvent *);
41 bool eventFilter(QObject *obj, QEvent *event);
42 void dragEnterEvent(QDragEnterEvent *event);
43 void dropEvent(QDropEvent *event);
44 void resizeEvent(QResizeEvent *);
47 void checkForUpdate();
48 void gotNewVersion(QString version);
56 void updateUIForFullscreen();
57 void compactView(bool enable);
59 void stateChanged(Phonon::State newState, Phonon::State oldState);
61 void tick(qint64 time);
62 void totalTimeChanged(qint64 time);
63 void setDefinitionMode(QString definitionName);
64 void toggleDefinitionMode();
65 void clearRecentKeywords();
71 void volumeChanged(qreal newVolume);
72 void volumeMutedChanged(bool muted);
75 void showFullscreenToolbar(bool show);
76 void showFullscreenPlaylist(bool show);
78 void setManualPlay(bool enabled);
79 void updateDownloadMessage(QString);
80 void downloadsFinished();
81 void toggleDownloads(bool show);
83 void floatOnTop(bool);
84 void showActionInStatusBar(QAction*, bool show);
85 void showStopAfterThisInStatusBar(bool show);
93 void createToolBars();
94 void createStatusBar();
95 void showWidget(QWidget*);
96 static QString formatTime(qint64 time);
99 UpdateChecker *updateChecker;
102 QStackedWidget *views;
103 QStack<QWidget*> *history;
106 SearchView *searchView;
107 MediaView *mediaView;
109 QWidget *downloadView;
112 QAction *addGadgetAct;
118 QAction *searchFocusAct;
121 QAction *skipBackwardAct;
125 QAction *fullscreenAct;
126 QAction *compactViewAct;
128 QAction *copyPageAct;
129 QAction *copyLinkAct;
130 QAction *volumeUpAct;
131 QAction *volumeDownAct;
132 QAction *volumeMuteAct;
133 QAction *findVideoPartsAct;
137 QAction *moveDownAct;
139 QAction *fetchMoreAct;
149 QToolBar *mainToolBar;
150 SearchLineEdit *toolbarSearch;
151 QToolBar *statusToolBar;
154 Phonon::SeekSlider *seekSlider;
155 Phonon::VolumeSlider *volumeSlider;
156 Phonon::MediaObject *mediaObject;
157 Phonon::AudioOutput *audioOutput;