summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@theqtcompany.com>2015-07-31 17:03:46 +0200
committerAndras Becsi <andras.becsi@theqtcompany.com>2015-08-12 17:22:03 +0200
commitfeec27c429302daa57d243b28af7c0f9ece8b8a9 (patch)
tree08edc2255186c6b26d8f8590564ead4e389866c3 /src
parent8fae8466f66190db6e710e5e6da9dde68ca025e1 (diff)
Fix paging by adding an expanding margin
Diffstat (limited to 'src')
-rw-r--r--src/qml/HomeScreen.qml26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/qml/HomeScreen.qml b/src/qml/HomeScreen.qml
index 4905ca9..46cb33d 100644
--- a/src/qml/HomeScreen.qml
+++ b/src/qml/HomeScreen.qml
@@ -100,6 +100,8 @@ Rectangle {
Component.onCompleted: {
listModel.clear()
var string = engine.restoreBookmarks()
+ if (!string)
+ return
var list = JSON.parse(string)
for (var i = 0; i < list.length; ++i) {
listModel.append(list[i])
@@ -110,6 +112,8 @@ Rectangle {
for (var i = 0; i < listModel.count; ++i) {
list[i] = listModel.get(i)
}
+ if (!list.length)
+ return
engine.saveBookmarks(JSON.stringify(list))
}
}
@@ -128,7 +132,21 @@ Rectangle {
boundsBehavior: Flickable.StopAtBounds
maximumFlickVelocity: 0
contentHeight: parent.height
- rightMargin: (parent.width - 4 * gridView.cellWidth - homeScreen.padding) / 2
+
+ rightMargin: {
+ var margin = (parent.width - 4 * gridView.cellWidth - homeScreen.padding) / 2
+ var padding = gridView.page - Math.round(gridView.count % 8 / 2) * gridView.cellWidth
+
+ if (padding == gridView.page)
+ return margin
+
+ return margin + padding
+ }
+
+ anchors {
+ topMargin: toolBarSize
+ leftMargin: (parent.width - 4 * gridView.cellWidth + homeScreen.padding) / 2
+ }
Behavior on contentX {
NumberAnimation { duration: 1.5 * animationDuration; easing.type : Easing.InSine}
@@ -161,12 +179,6 @@ Rectangle {
}
onDraggingChanged: snapToPage()
-
- anchors {
- topMargin: toolBarSize
- leftMargin: (parent.width - 4 * gridView.cellWidth + homeScreen.padding) / 2
- }
-
delegate: Rectangle {
id: square
property string iconColor: "white"