]> git.sur5r.net Git - minitube/blobdiff - src/downloadlistview.cpp
Upload to unstable
[minitube] / src / downloadlistview.cpp
index 3a87956ffcc4c7f4c93d5c7f9286e4c74722a0bf..927566162dc8b929d8e16eac86a970306acc84ac 100644 (file)
@@ -1,17 +1,34 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+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 <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "downloadlistview.h"
 #include "downloadmodel.h"
-#include "playlist/PrettyItemDelegate.h"
-#include <QtGui>
+#include "playlistitemdelegate.h"
+#include "painterutils.h"
 
 DownloadListView::DownloadListView(QWidget *parent) : QListView(parent) {
 
-    // playIconHovered = false;
-    // setMouseTracking(true);
-
 }
 
 void DownloadListView::leaveEvent(QEvent * /* event */) {
-    DownloadModel *downloadModel = dynamic_cast<DownloadModel *>(model());
+    DownloadModel *downloadModel = qobject_cast<DownloadModel *>(model());
     if (downloadModel) downloadModel->clearHover();
 }
 
@@ -21,9 +38,9 @@ void DownloadListView::mouseMoveEvent(QMouseEvent *event) {
     QListView::mouseMoveEvent(event);
 
     if (isHoveringPlayIcon(event)) {
-        QMetaObject::invokeMethod(model(), "enterPlayIconHover", Qt::DirectConnection);
+        QMetaObject::invokeMethod(model(), "enterPlayIconHover");
     } else {
-        QMetaObject::invokeMethod(model(), "exitPlayIconHover", Qt::DirectConnection);
+        QMetaObject::invokeMethod(model(), "exitPlayIconHover");
     }
 
 }
@@ -31,7 +48,7 @@ void DownloadListView::mouseMoveEvent(QMouseEvent *event) {
 void DownloadListView::mousePressEvent(QMouseEvent *event) {
     if (event->button() == Qt::LeftButton
         && isHoveringPlayIcon(event)) {
-        QMetaObject::invokeMethod(model(), "enterPlayIconPressed", Qt::DirectConnection);
+        QMetaObject::invokeMethod(model(), "enterPlayIconPressed");
     } else {
         QListView::mousePressEvent(event);
     }
@@ -39,7 +56,7 @@ void DownloadListView::mousePressEvent(QMouseEvent *event) {
 
 void DownloadListView::mouseReleaseEvent(QMouseEvent *event) {
     if (event->button() == Qt::LeftButton) {
-        QMetaObject::invokeMethod(model(), "exitPlayIconPressed", Qt::DirectConnection);
+        QMetaObject::invokeMethod(model(), "exitPlayIconPressed");
         if (isHoveringPlayIcon(event))
             emit downloadButtonPushed(indexAt(event->pos()));
     } else {
@@ -52,7 +69,7 @@ bool DownloadListView::isHoveringPlayIcon(QMouseEvent *event) {
     const QRect itemRect = visualRect(itemIndex);
     // qDebug() << " itemRect.x()" <<  itemRect.x();
 
-    PrettyItemDelegate *delegate = dynamic_cast<PrettyItemDelegate *>(itemDelegate());
+    PlaylistItemDelegate *delegate = qobject_cast<PlaylistItemDelegate *>(itemDelegate());
     if (!delegate) return false;
 
     QRect buttonRect = delegate->downloadButtonRect(itemRect);
@@ -61,3 +78,8 @@ bool DownloadListView::isHoveringPlayIcon(QMouseEvent *event) {
     const int y = event->y() - itemRect.y() - buttonRect.y();
     return x > 0 && x < buttonRect.width() && y > 0 && y < buttonRect.height();
 }
+
+void DownloadListView::paintEvent(QPaintEvent *event) {
+    QListView::paintEvent(event);
+    // PainterUtils::topShadow(viewport());
+}