From: Alexander von Renteln Date: Sat, 25 Oct 2008 23:14:03 +0000 (+0200) Subject: shift up/down scrolls up and down little bit. X-Git-Tag: 0.3.1~126 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=96ba1da0cfa2a22be6fe8cea8d32a7212dcfa86a shift up/down scrolls up and down little bit. --- diff --git a/src/qtui/bufferwidget.cpp b/src/qtui/bufferwidget.cpp index 6bc30468..bfda8133 100644 --- a/src/qtui/bufferwidget.cpp +++ b/src/qtui/bufferwidget.cpp @@ -31,6 +31,7 @@ #include #include +#include BufferWidget::BufferWidget(QWidget *parent) : AbstractBufferContainer(parent), @@ -147,11 +148,24 @@ bool BufferWidget::eventFilter(QObject *watched, QEvent *event) { return false; QKeyEvent *keyEvent = static_cast(event); + + int direction = 1; switch(keyEvent->key()) { case Qt::Key_PageUp: case Qt::Key_PageDown: // static cast to access public qobject::event return static_cast(ui.stackedWidget->currentWidget())->event(event); + + case Qt::Key_Up: + direction = -1; + case Qt::Key_Down: + if(keyEvent->modifiers() == Qt::ShiftModifier) { + QAbstractScrollArea *scrollArea = qobject_cast(ui.stackedWidget->currentWidget()); + if(!scrollArea) + return false; + int sliderPosition = scrollArea->verticalScrollBar()->value(); + scrollArea->verticalScrollBar()->setValue(sliderPosition + (direction * 12)); + } default: return false; }