From 67055633bdef97b73614c859f2a0e1807d8ba7c6 Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Mon, 24 Mar 2014 23:17:02 +0100 Subject: [PATCH] Added mouse wheel scrolling. --- app/Terminal.qml | 8 ++++++++ konsole-qml-plugin/src/TerminalDisplay.cpp | 12 ++++++++++++ konsole-qml-plugin/src/TerminalDisplay.h | 3 +++ konsole-qml-plugin/src/plugins.qmltypes | 2 ++ 4 files changed, 25 insertions(+) diff --git a/app/Terminal.qml b/app/Terminal.qml index 953cc06..bb06e03 100644 --- a/app/Terminal.qml +++ b/app/Terminal.qml @@ -11,6 +11,14 @@ Item{ property real _minBlurCoefficient: 0.015 property real _maxBlurCoefficient: 0.10 + function scrollUp(){ + kterminal.scrollUp(); + } + + function scrollDown(){ + kterminal.scrollDown(); + } + KTerminal { id: kterminal font.pointSize: shadersettings.fontSize diff --git a/konsole-qml-plugin/src/TerminalDisplay.cpp b/konsole-qml-plugin/src/TerminalDisplay.cpp index 12e1a44..7682331 100644 --- a/konsole-qml-plugin/src/TerminalDisplay.cpp +++ b/konsole-qml-plugin/src/TerminalDisplay.cpp @@ -243,6 +243,18 @@ ScreenWindow* KTerminalDisplay::screenWindow() const return _screenWindow; } + +void KTerminalDisplay::scrollDown(){ + _screenWindow->scrollBy( ScreenWindow::ScrollLines, +2 ); + _screenWindow->scrollCount(); + updateImage(); +} + +void KTerminalDisplay::scrollUp(){ + _screenWindow->scrollBy( ScreenWindow::ScrollLines, -2 ); + updateImage(); +} + void KTerminalDisplay::forcedFocus() { diff --git a/konsole-qml-plugin/src/TerminalDisplay.h b/konsole-qml-plugin/src/TerminalDisplay.h index 6bb3396..37e719f 100644 --- a/konsole-qml-plugin/src/TerminalDisplay.h +++ b/konsole-qml-plugin/src/TerminalDisplay.h @@ -99,6 +99,9 @@ public: Q_INVOKABLE void setLineSpacing(uint); uint lineSpacing() const; + Q_INVOKABLE void scrollDown(); + Q_INVOKABLE void scrollUp(); + void emitSelection(bool useXselection,bool appendReturn); /** diff --git a/konsole-qml-plugin/src/plugins.qmltypes b/konsole-qml-plugin/src/plugins.qmltypes index 133b205..55aefea 100644 --- a/konsole-qml-plugin/src/plugins.qmltypes +++ b/konsole-qml-plugin/src/plugins.qmltypes @@ -171,5 +171,7 @@ Module { name: "setLineSpacing" Parameter { name: "i"; type: "uint"} } + Method { name: "scrollUp" } + Method { name: "scrollDown" } } }