added keyboard behaviour like scrolling, etc.

This commit is contained in:
Jeena 2015-02-04 22:34:50 +01:00
parent 56ef57b112
commit c474db9a0c
5 changed files with 61 additions and 8 deletions

View file

@ -7,23 +7,54 @@ ScrollView {
property Post post
property int headLinefontSize: 23
property int textfontSize: 14
property int scrollJump: 48
property int pageJump: parent.height
style: ScrollViewStyle {
transientScrollBars: true
}
function scrollDown() {
flickableItem.contentY += 30
function scrollDown(jump) {
smoothScrolling.enabled = true
var top = Math.max(contentItem.height - parent.height, 0);
if(jump && flickableItem.contentY < top - jump) {
flickableItem.contentY += jump
} else {
flickableItem.contentY = top
}
}
function scrollUp() {
function scrollUp(jump) {
smoothScrolling.enabled = true
if(jump && flickableItem.contentY >= jump) {
flickableItem.contentY -= jump;
} else {
flickableItem.contentY = 0;
}
}
Behavior on flickableItem.contentY {
id: smoothScrolling
enabled: false
NumberAnimation {
easing.type: Easing.OutCubic
}
}
Item {
height: column.height + 50
width: parent.parent.width
MouseArea {
onWheel: {
wheel.accepted = false
smoothScrolling.enabled = false
}
anchors.fill: parent
}
Rectangle {
anchors.fill: parent
width: parent.width

View file

@ -7,7 +7,10 @@ SOURCES += main.cpp \
tinytinyrsslogin.cpp \
post.cpp
RESOURCES += qml.qrc
RESOURCES += qml.qrc \
images.qrc
RC_FILE = Icon.icns
# Needed for bringing browser from background to foreground using QDesktopServices: http://bugreports.qt-project.org/browse/QTBUG-8336
TARGET.CAPABILITY += SwEvent

View file

@ -1,2 +1,6 @@
<RCC/>
<RCC>
<qresource prefix="/">
<file>feedthemonkey.xpm</file>
<file>Icon.icns</file>
</qresource>
</RCC>

View file

@ -3,6 +3,7 @@
#include <qdebug.h>
#include <QMetaType>
#include <QtQml>
#include <QIcon>
#include "tinytinyrsslogin.h"
#include "tinytinyrss.h"

View file

@ -50,8 +50,22 @@ ApplicationWindow {
Keys.onRightPressed: sidebar.next()
Keys.onLeftPressed: sidebar.previous()
Keys.onDownPressed: content.scrollDown()
Keys.onUpPressed: content.scrollUp()
Keys.onDownPressed: content.scrollDown(content.scrollJump)
Keys.onUpPressed: content.scrollUp(content.scrollJump)
Keys.onSpacePressed: content.scrollDown(content.pageJump)
Keys.onEnterPressed: Qt.openUrlExternally(content.post.link)
Keys.onReturnPressed: Qt.openUrlExternally(content.post.link)
Keys.onPressed: {
if(event.key === Qt.Key_Home) {
content.scrollUp();
} else if (event.key === Qt.Key_End) {
content.scrollDown();
} else if (event.key === Qt.Key_PageUp) {
content.scrollUp(content.pageJump)
} else if (event.key === Qt.Key_PageDown) {
content.scrollDown(content.pageJump)
}
}
}
Login {