[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