#define MAINWINDOW_H
#include <QtGui>
-#include "faderwidget/FaderWidget.h"
-#include "searchlineedit.h"
#include <phonon/audiooutput.h>
#include <phonon/volumeslider.h>
#include <phonon/mediaobject.h>
#include "AboutView.h"
#include "downloadview.h"
+class SearchLineEdit;
+class UpdateChecker;
+
class MainWindow : public QMainWindow {
Q_OBJECT
public:
+ static MainWindow* instance();
MainWindow();
~MainWindow();
Phonon::SeekSlider* getSeekSlider() { return seekSlider; }
+ void readSettings();
+ void writeSettings();
+
+public slots:
+ void showMedia(SearchParams *params);
+ void messageReceived(const QString &message);
protected:
+ void changeEvent(QEvent *);
void closeEvent(QCloseEvent *);
bool eventFilter(QObject *obj, QEvent *event);
+ void dragEnterEvent(QDragEnterEvent *event);
+ void dropEvent(QDropEvent *event);
+ void resizeEvent(QResizeEvent *);
private slots:
- void fadeInWidget(QWidget *oldWidget, QWidget *newWidget);
+ void checkForUpdate();
+ void gotNewVersion(QString version);
void goBack();
void showSearch();
- void showMedia(QString query);
void visitSite();
void donate();
void about();
void quit();
void fullscreen();
+ void updateUIForFullscreen();
void compactView(bool enable);
void stop();
void stateChanged(Phonon::State newState, Phonon::State oldState);
void showFullscreenToolbar(bool show);
void showFullscreenPlaylist(bool show);
- // void setAutoplay(bool enabled);
+ void setManualPlay(bool enabled);
void updateDownloadMessage(QString);
void downloadsFinished();
void toggleDownloads(bool show);
+ void startToolbarSearch(QString query);
+ void floatOnTop(bool);
+ void showActionInStatusBar(QAction*, bool show);
+ void showStopAfterThisInStatusBar(bool show);
+
private:
void initPhonon();
void createActions();
void createMenus();
void createToolBars();
void createStatusBar();
- void readSettings();
- void writeSettings();
void showWidget(QWidget*);
static QString formatTime(qint64 time);
+ bool confirmQuit();
+
+ UpdateChecker *updateChecker;
// view mechanism
- QPointer<FaderWidget> faderWidget;
QStackedWidget *views;
QStack<QWidget*> *history;
QAction *searchFocusAct;
// media actions
+ QAction *skipBackwardAct;
QAction *skipAct;
QAction *pauseAct;
QAction *stopAct;
QAction *volumeUpAct;
QAction *volumeDownAct;
QAction *volumeMuteAct;
+ QAction *findVideoPartsAct;
// playlist actions
QAction *removeAct;
// toolbar
QToolBar *mainToolBar;
SearchLineEdit *toolbarSearch;
+ QToolBar *statusToolBar;
// phonon
Phonon::SeekSlider *seekSlider;
- // QSlider *slider;
Phonon::VolumeSlider *volumeSlider;
Phonon::MediaObject *mediaObject;
Phonon::AudioOutput *audioOutput;