[vlc-commits] Qt: Ctrl+mousewheel to zoom on playlist

Jean-Baptiste Kempf git at videolan.org
Mon Aug 27 17:43:37 CEST 2012


vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Mon Aug 27 17:43:06 2012 +0200| [49d87527610c18215283418f63f0468c6480f104] | committer: Jean-Baptiste Kempf

Qt: Ctrl+mousewheel to zoom on playlist

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=49d87527610c18215283418f63f0468c6480f104
---

 .../gui/qt4/components/playlist/standardpanel.cpp  |    7 +++++
 .../gui/qt4/components/playlist/standardpanel.hpp  |    1 +
 modules/gui/qt4/components/playlist/views.cpp      |   27 +++++++++++++++-----
 3 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/modules/gui/qt4/components/playlist/standardpanel.cpp b/modules/gui/qt4/components/playlist/standardpanel.cpp
index 81cf03a..e4e71d1 100644
--- a/modules/gui/qt4/components/playlist/standardpanel.cpp
+++ b/modules/gui/qt4/components/playlist/standardpanel.cpp
@@ -455,6 +455,13 @@ void StandardPLPanel::browseInto()
 
 void StandardPLPanel::wheelEvent( QWheelEvent *e )
 {
+    if( e->modifiers() & Qt::ControlModifier ) {
+        int numSteps = e->delta() / 8 / 15;
+        if( numSteps > 0)
+            increaseZoom();
+        else if( numSteps < 0)
+            decreaseZoom();
+    }
     // Accept this event in order to prevent unwanted volume up/down changes
     e->accept();
 }
diff --git a/modules/gui/qt4/components/playlist/standardpanel.hpp b/modules/gui/qt4/components/playlist/standardpanel.hpp
index 03b22f1..725d79e 100644
--- a/modules/gui/qt4/components/playlist/standardpanel.hpp
+++ b/modules/gui/qt4/components/playlist/standardpanel.hpp
@@ -72,6 +72,7 @@ public:
     int currentViewIndex() const;
 
     static QMenu *viewSelectionMenu(StandardPLPanel *obj);
+
 protected:
     PLModel *model;
     MLModel *mlmodel;
diff --git a/modules/gui/qt4/components/playlist/views.cpp b/modules/gui/qt4/components/playlist/views.cpp
index 26d6b60..ce0ba46 100644
--- a/modules/gui/qt4/components/playlist/views.cpp
+++ b/modules/gui/qt4/components/playlist/views.cpp
@@ -344,10 +344,15 @@ bool PlIconView::viewportEvent ( QEvent * event )
         event->ignore();
         return true;
     }
-    else
+    else if ( event->type() == QEvent::Wheel )
     {
-        return QAbstractItemView::viewportEvent( event );
+        QWheelEvent *wEvent = static_cast<QWheelEvent *>(event);
+        if( wEvent->modifiers() & Qt::ControlModifier ) {
+            event->ignore();
+            return true;
+        }
     }
+    return QAbstractItemView::viewportEvent( event );
 }
 
 PlListView::PlListView( PLModel *, QWidget *parent ) : QListView( parent )
@@ -396,10 +401,15 @@ bool PlListView::viewportEvent ( QEvent * event )
         event->ignore();
         return true;
     }
-    else
+    else if ( event->type() == QEvent::Wheel )
     {
-        return QAbstractItemView::viewportEvent( event );
+        QWheelEvent *wEvent = static_cast<QWheelEvent *>(event);
+        if( wEvent->modifiers() & Qt::ControlModifier ) {
+            event->ignore();
+            return true;
+        }
     }
+    return QAbstractItemView::viewportEvent( event );
 }
 
 PlTreeView::PlTreeView( PLModel *, QWidget *parent ) : QTreeView( parent )
@@ -560,8 +570,13 @@ bool PicFlowView::viewportEvent ( QEvent * event )
         event->ignore();
         return true;
     }
-    else
+    else if ( event->type() == QEvent::Wheel )
     {
-        return QAbstractItemView::viewportEvent( event );
+        QWheelEvent *wEvent = static_cast<QWheelEvent *>(event);
+        if( wEvent->modifiers() & Qt::ControlModifier ) {
+            event->ignore();
+            return true;
+        }
     }
+    return QAbstractItemView::viewportEvent( event );
 }



More information about the vlc-commits mailing list