]> git.sur5r.net Git - minitube/commitdiff
Autohide mouse cursor in the video area
authorFlavio Tordini <flavio.tordini@gmail.com>
Fri, 14 Aug 2009 10:35:05 +0000 (12:35 +0200)
committerFlavio Tordini <flavio.tordini@gmail.com>
Fri, 14 Aug 2009 10:35:05 +0000 (12:35 +0200)
src/videoareawidget.cpp
src/videoareawidget.h

index 9300b9ea4af7eb6b98647e4c544757c539749b0c..0169148f5bf9db10ef4a76ccfd69a70d209a8f0c 100644 (file)
@@ -5,6 +5,13 @@ VideoAreaWidget::VideoAreaWidget(QWidget *parent) : QWidget(parent) {
     stackedLayout = new QStackedLayout(this);
     setLayout(stackedLayout);
     setAcceptDrops(true);
+
+    // mouse autohide
+    setMouseTracking(true);
+    mouseTimer = new QTimer(this);
+    mouseTimer->setInterval(5000);
+    mouseTimer->setSingleShot(true);
+    connect(mouseTimer, SIGNAL(timeout()), SLOT(hideMouse()));
 }
 
 void VideoAreaWidget::setVideoWidget(QWidget *videoWidget) {
@@ -41,6 +48,17 @@ void VideoAreaWidget::mousePressEvent(QMouseEvent *event) {
             emit rightClicked();
 }
 
+void VideoAreaWidget::mouseMoveEvent(QMouseEvent * /* event */) {
+    // show the normal cursor
+    unsetCursor();
+    // then hide it again after a few seconds
+    mouseTimer->start();
+}
+
+void VideoAreaWidget::hideMouse() {
+    setCursor(QCursor(QBitmap(1,1)));
+}
+
 void VideoAreaWidget::dragEnterEvent(QDragEnterEvent *event) {
     qDebug() << event->mimeData()->formats();
     if (event->mimeData()->hasFormat("application/x-minitube-video")) {
index 5795374a6f4682360e44456a3640fa2112653626..44e547752e8ac15c5d9f77326ded1365300b5051 100644 (file)
@@ -2,6 +2,7 @@
 #define VIDEOAREAWIDGET_H
 
 #include <QWidget>
+#include <QTimer>
 #include "video.h"
 #include "loadingwidget.h"
 #include "ListModel.h"
@@ -30,6 +31,10 @@ protected:
     void mousePressEvent(QMouseEvent *event);
     void dragEnterEvent(QDragEnterEvent *event);
     void dropEvent(QDropEvent *event);
+    void mouseMoveEvent (QMouseEvent *event);
+
+private slots:
+    void hideMouse();
 
 private:
     QStackedLayout *stackedLayout;
@@ -37,6 +42,7 @@ private:
     LoadingWidget *loadingWidget;
     ListModel *listModel;
 
+    QTimer *mouseTimer;
 };
 
 #endif // VIDEOAREAWIDGET_H