}
}
+ function setNextId() {
+ articlePage.mainArticleId = controller.getNextId(articlePage.feedid,articlePage.mainArticleId, settings.hideReadArticles)
+ }
+
+ function setPreviousId() {
+ articlePage.mainArticleId = controller.getPreviousId(articlePage.feedid,articlePage.mainArticleId, settings.hideReadArticles)
+ }
+
Component.onCompleted: {
webViewFront.html = controller.getArticle(articlePage.feedid, articlePage.mainArticleId);
}
//contentWidth: childrenRect.width; contentHeight: childrenRect.height
//interactive: parent.vertPanningEnabled;
- flickDeceleration: 2500;
+ flickDeceleration: 5000;
//flickableDirection: Flickable.VerticalFlick
property bool contentIsReady: false
+ property bool isSwitchable: false
Rectangle {
id: boundsRecFront
color: "white"
controller.setEntryRead(articlePage.feedid, articlePage.mainArticleId)
//flickable.width/2
flickableFront.contentIsReady = true
+ switchableTimer.start()
}
-
}
-
}
state: "visible"
transitions: [
Transition {
from: "visible";
- PropertyAnimation { target: flickableFront
- easing.type: Easing.InOutSine
- properties: "x"; duration: 1000 }
+ SequentialAnimation {
+ ScriptAction { script: flickableFront.isSwitchable=false; }
+ PropertyAnimation { target: flickableFront
+ easing.type: Easing.InOutSine
+ properties: "x"; duration: 1000 }
+ ScriptAction { script: flickableFront.isSwitchable=true; }
+ }
},
Transition {
to: "visible";
- PropertyAnimation { target: flickableFront
- easing.type: Easing.InOutSine
- properties: "x"; duration: 1000 }
+ SequentialAnimation {
+ ScriptAction { script: flickableFront.isSwitchable=false; }
+ PropertyAnimation { target: flickableFront
+ easing.type: Easing.InOutSine
+ properties: "x"; duration: 1000 }
+ ScriptAction { script: flickableFront.isSwitchable=true; }
+ }
}
+
]
+ Timer {
+ // Disable animations/page shifting for 400ms, to give time to the page to setup properly
+ id: switchableTimer
+ interval: 400
+ running: false
+ repeat: false
+ onTriggered: flickableFront.isSwitchable=true;
+ }
+
function moveFromLeft() {
flickableFront.contentIsReady = false
- articlePage.mainArticleId = controller.getPreviousId(articlePage.feedid,articlePage.mainArticleId)
+ setPreviousId()
+ //articlePage.mainArticleId = controller.getPreviousId(articlePage.feedid,articlePage.mainArticleId)
webViewFront.html = controller.getArticle(articlePage.feedid, articlePage.mainArticleId);
state = "toLeft"
state = "visible"
function moveFromRight() {
flickableFront.contentIsReady = false
- articlePage.mainArticleId = controller.getNextId(articlePage.feedid,articlePage.mainArticleId)
+ setNextId()
+ //articlePage.mainArticleId = controller.getNextId(articlePage.feedid,articlePage.mainArticleId)
webViewFront.html = controller.getArticle(articlePage.feedid, articlePage.mainArticleId);
state = "toRight"
state = "visible"
NumberAnimation { duration: 200 }
}
onMovingHorizontallyChanged: {
- if (!movingHorizontally && (!atXBeginning || !atXEnd)) {
- flickableFront.contentX = buffer //flickable.width/2
+ if (flickableFront.isSwitchable) {
+ if (!movingHorizontally && (!atXBeginning || !atXEnd)) {
+ flickableFront.contentX = buffer //flickable.width/2
+ }
}
}
onAtXBeginningChanged: {
- if (atXBeginning && contentIsReady) {
- flickableBack.moveFromLeft()
+ if (flickableFront.isSwitchable) {
+ if (atXBeginning && contentIsReady) {
+ flickableBack.moveFromLeft()
+ }
}
}
onAtXEndChanged: {
- if (atXEnd && contentIsReady) {
- //console.log("next")
- flickableBack.moveFromRight()
+ if (flickableFront.isSwitchable) {
+ if (atXEnd && contentIsReady) {
+ flickableBack.moveFromRight()
+ }
}
}
//contentWidth: childrenRect.width; contentHeight: childrenRect.height
//interactive: parent.vertPanningEnabled;
- flickDeceleration: 2500;
+ flickDeceleration: 5000;
//flickableDirection: Flickable.VerticalFlick
property bool contentIsReady: false
+ property bool isSwitchable: false
Rectangle {
id: boundsRecBack
color: "white"
transitions: [
Transition {
from: "visible";
- PropertyAnimation { target: flickableBack
- easing.type: Easing.InOutSine
- properties: "x"; duration: 1000 }
+ SequentialAnimation {
+ ScriptAction { script: flickableBack.isSwitchable=false; }
+ PropertyAnimation { target: flickableBack
+ easing.type: Easing.InOutSine
+ properties: "x"; duration: 1000 }
+ ScriptAction { script: flickableBack.isSwitchable=true; }
+ }
},
Transition {
to: "visible";
- PropertyAnimation { target: flickableBack
- easing.type: Easing.InOutSine
- properties: "x"; duration: 1000 }
+ SequentialAnimation {
+ ScriptAction { script: flickableBack.isSwitchable=false; }
+ PropertyAnimation { target: flickableBack
+ easing.type: Easing.InOutSine
+ properties: "x"; duration: 1000 }
+ ScriptAction { script: flickableBack.isSwitchable=true; }
+ }
}
]
function moveFromLeft() {
flickableBack.contentIsReady = false
- articlePage.mainArticleId = controller.getPreviousId(articlePage.feedid,articlePage.mainArticleId)
+ setPreviousId()
+ //articlePage.mainArticleId = controller.getPreviousId(articlePage.feedid,articlePage.mainArticleId)
webViewBack.html = controller.getArticle(articlePage.feedid, articlePage.mainArticleId);
state = "toLeft"
state = "visible"
function moveFromRight() {
flickableBack.contentIsReady = false
- articlePage.mainArticleId = controller.getNextId(articlePage.feedid,articlePage.mainArticleId)
+ setNextId()
+ //articlePage.mainArticleId = controller.getNextId(articlePage.feedid,articlePage.mainArticleId)
webViewBack.html = controller.getArticle(articlePage.feedid, articlePage.mainArticleId);
state = "toRight"
state = "visible"
}
onMovingHorizontallyChanged: {
- if (!movingHorizontally && (!atXBeginning || !atXEnd)) {
- flickableBack.contentX = buffer //flickable.width/2
+ if (flickableBack.isSwitchable) {
+ if (!movingHorizontally && (!atXBeginning || !atXEnd)) {
+ flickableBack.contentX = buffer //flickable.width/2
+ }
}
}
onAtXBeginningChanged: {
- if (atXBeginning && contentIsReady) {
- flickableFront.moveFromLeft()
+ if (flickableBack.isSwitchable) {
+ if (atXBeginning && contentIsReady) {
+ flickableFront.moveFromLeft()
+ }
}
}
onAtXEndChanged: {
- if (atXEnd && contentIsReady) {
- flickableFront.moveFromRight()
+ if (flickableBack.isSwitchable) {
+ if (atXEnd && contentIsReady) {
+ flickableFront.moveFromRight()
+ }
}
}
}