1 #include "videoareawidget.h"
2 #include "videomimedata.h"
4 VideoAreaWidget::VideoAreaWidget(QWidget *parent) : QWidget(parent) {
5 stackedLayout = new QStackedLayout(this);
6 setLayout(stackedLayout);
10 void VideoAreaWidget::setVideoWidget(QWidget *videoWidget) {
11 this->videoWidget = videoWidget;
12 stackedLayout->addWidget(videoWidget);
15 void VideoAreaWidget::setLoadingWidget(LoadingWidget *loadingWidget) {
16 this->loadingWidget = loadingWidget;
17 stackedLayout->addWidget(loadingWidget);
20 void VideoAreaWidget::showVideo() {
21 stackedLayout->setCurrentWidget(videoWidget);
24 void VideoAreaWidget::showError(QString message) {
25 loadingWidget->setError(message);
26 stackedLayout->setCurrentWidget(loadingWidget);
29 void VideoAreaWidget::showLoading(Video *video) {
30 this->loadingWidget->setVideo(video);
31 stackedLayout->setCurrentWidget(loadingWidget);
34 void VideoAreaWidget::mouseDoubleClickEvent(QMouseEvent *event) {
35 if (event->button() == Qt::LeftButton)
39 void VideoAreaWidget::mousePressEvent(QMouseEvent *event) {
40 switch(event->button() == Qt::RightButton)
44 void VideoAreaWidget::dragEnterEvent(QDragEnterEvent *event) {
45 qDebug() << event->mimeData()->formats();
46 if (event->mimeData()->hasFormat("application/x-minitube-video")) {
47 event->acceptProposedAction();
51 void VideoAreaWidget::dropEvent(QDropEvent *event) {
53 const VideoMimeData* videoMimeData = dynamic_cast<const VideoMimeData*>( event->mimeData() );
54 if(!videoMimeData ) return;
56 QList<Video*> droppedVideos = videoMimeData->videos();
57 foreach( Video *video, droppedVideos) {
58 int row = listModel->rowForVideo(video);
60 listModel->setActiveRow(row);
62 event->acceptProposedAction();