ALT-Key inverts now the setting of the bufferswitching via mouse wheel setting
authorMarcus Eggenberger <egs@quassel-irc.org>
Fri, 29 Feb 2008 20:35:41 +0000 (20:35 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Fri, 29 Feb 2008 20:35:41 +0000 (20:35 +0000)
src/uisupport/bufferview.cpp

index 6cf3e50..8c26056 100644 (file)
@@ -258,33 +258,31 @@ void BufferView::showContextMenu(const QPoint &pos) {
   }
 }
 
-void BufferView::wheelEvent(QWheelEvent* event)
-{
-  UiSettings s;
-  if(s.value("MouseWheelChangesBuffers",QVariant(true)).toBool()) {
-    int rowDelta = ( event->delta() > 0 ) ? -1 : 1;
-    QModelIndex currentIndex = selectionModel()->currentIndex();
-    QModelIndex resultingIndex;
-    if( model()->hasIndex(  currentIndex.row() + rowDelta, currentIndex.column(), currentIndex.parent() ) )
+void BufferView::wheelEvent(QWheelEvent* event) {
+  if(UiSettings().value("MouseWheelChangesBuffers", QVariant(true)).toBool() == (bool)(event->modifiers() & Qt::AltModifier))
+    return QTreeView::wheelEvent(event);
+
+  int rowDelta = ( event->delta() > 0 ) ? -1 : 1;
+  QModelIndex currentIndex = selectionModel()->currentIndex();
+  QModelIndex resultingIndex;
+  if( model()->hasIndex(  currentIndex.row() + rowDelta, currentIndex.column(), currentIndex.parent() ) )
     {
-        resultingIndex = currentIndex.sibling( currentIndex.row() + rowDelta, currentIndex.column() );
+      resultingIndex = currentIndex.sibling( currentIndex.row() + rowDelta, currentIndex.column() );
     }
     else //if we scroll into a the parent node...
-    {
+      {
         QModelIndex parent = currentIndex.parent();
         QModelIndex aunt = parent.sibling( parent.row() + rowDelta, parent.column() );
         if( rowDelta == -1 )
-            resultingIndex = aunt.child( model()->rowCount( aunt ) - 1, 0 );
+         resultingIndex = aunt.child( model()->rowCount( aunt ) - 1, 0 );
         else
-            resultingIndex = aunt.child( 0, 0 );
+         resultingIndex = aunt.child( 0, 0 );
         if( !resultingIndex.isValid() )
-            return;
-    }
-    selectionModel()->setCurrentIndex( resultingIndex, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows );
-    selectionModel()->select( resultingIndex, QItemSelectionModel::ClearAndSelect );
-  } else {
-    QAbstractScrollArea::wheelEvent(event);
-  }
+         return;
+      }
+  selectionModel()->setCurrentIndex( resultingIndex, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows );
+  selectionModel()->select( resultingIndex, QItemSelectionModel::ClearAndSelect );
+  
 }