X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fvideoareawidget.h;h=21b3d13295b5849029852cdf0c6942ef9bade7c4;hb=533489a63a9716c645a11a99ca446978b20eedd0;hp=a34cfbfc8057be0026f584572bf0642352581920;hpb=2c530dd73ae4db20945c152334ab9897ec9b91af;p=minitube diff --git a/src/videoareawidget.h b/src/videoareawidget.h index a34cfbf..21b3d13 100644 --- a/src/videoareawidget.h +++ b/src/videoareawidget.h @@ -1,27 +1,53 @@ +/* $BEGIN_LICENSE + +This file is part of Minitube. +Copyright 2009, Flavio Tordini + +Minitube is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Minitube is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Minitube. If not, see . + +$END_LICENSE */ + #ifndef VIDEOAREAWIDGET_H #define VIDEOAREAWIDGET_H -#include -#include "video.h" -#include "loadingwidget.h" -#include "ListModel.h" +#include + +class Video; +class LoadingWidget; +class PlaylistModel; +class SnapshotPreview; class VideoAreaWidget : public QWidget { Q_OBJECT public: - VideoAreaWidget(QWidget *parent); + VideoAreaWidget(QWidget *parent = 0); void setVideoWidget(QWidget *videoWidget); void setLoadingWidget(LoadingWidget *loadingWidget); void showLoading(Video* video); void showVideo(); - void showError(QString message); + void showError(const QString &message); + void showPickMessage(); void clear(); - void setListModel(ListModel *listModel) { + void setListModel(PlaylistModel *listModel) { this->listModel = listModel; } - void showSnapshotPreview(QPixmap pixmap); +#ifdef APP_SNAPSHOT + void showSnapshotPreview(const QPixmap &pixmap); +#endif + bool isVideoShown() { return stackedLayout->currentWidget() == videoWidget; } signals: void doubleClicked(); @@ -29,21 +55,30 @@ signals: protected: void mouseDoubleClickEvent(QMouseEvent *event); - void mousePressEvent(QMouseEvent *event); void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); private slots: + void showContextMenu(const QPoint &point); +#ifdef APP_SNAPSHOT void hideSnapshotPreview(); +#endif private: QStackedLayout *stackedLayout; QWidget *videoWidget; LoadingWidget *loadingWidget; - ListModel *listModel; + +#ifdef APP_SNAPSHOT + SnapshotPreview *snapshotPreview; +#endif + + PlaylistModel *listModel; QLabel *messageLabel; - QLabel *snapshotPreview; + QWidget *messageWidget; + + QPoint dragPosition; }; #endif // VIDEOAREAWIDGET_H