From 48465074989a7c1f2e757b5b67d41b3583dbb7ac Mon Sep 17 00:00:00 2001 From: "Javier S. Pedro" Date: Sun, 14 Sep 2014 22:24:13 +0200 Subject: make the cover do something relatively useful --- qml/cover/CoverPage.qml | 71 ++++++++++++++++++++++++------------------------- qml/pages/MainPage.qml | 1 + qml/pages/WatchView.qml | 50 ---------------------------------- qml/watch/WatchView.qml | 49 ++++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+), 86 deletions(-) delete mode 100644 qml/pages/WatchView.qml create mode 100644 qml/watch/WatchView.qml (limited to 'qml') diff --git a/qml/cover/CoverPage.qml b/qml/cover/CoverPage.qml index e6c3216..a561eba 100644 --- a/qml/cover/CoverPage.qml +++ b/qml/cover/CoverPage.qml @@ -1,42 +1,41 @@ -/* - Copyright (C) 2013 Jolla Ltd. - Contact: Thomas Perl - All rights reserved. - - You may use this file under the terms of BSD license as follows: - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the Jolla Ltd nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - import QtQuick 2.0 import Sailfish.Silica 1.0 +import org.nemomobile.configuration 1.0 +import "../watch" CoverBackground { - Label { - id: label - anchors.centerIn: parent - text: "Salmeta" - } -} + ConfigurationValue { + id: curPageSetting + key: curSettingsPrefix + "/cur-page" + defaultValue: 0 + onValueChanged: { + if (watchView.curPage !== value) { + watchView.switchToPage(value); + } + } + } + Column { + anchors.centerIn: parent + spacing: Theme.paddingLarge + + Item { + width: 96 * 2 + height: 96 * 2 + anchors.horizontalCenter: parent.horizontalCenter + + WatchView { + id: watchView + anchors.centerIn: parent + scale: 2 + } + } + + Label { + id: label + anchors.horizontalCenter: parent.horizontalCenter + text: "Salmeta" + } + } +} diff --git a/qml/pages/MainPage.qml b/qml/pages/MainPage.qml index 9014a48..6b2893a 100644 --- a/qml/pages/MainPage.qml +++ b/qml/pages/MainPage.qml @@ -2,6 +2,7 @@ import QtQuick 2.0 import Sailfish.Silica 1.0 import Sailfish.Bluetooth 1.0 import org.nemomobile.configuration 1.0 +import "../watch" Page { id: page diff --git a/qml/pages/WatchView.qml b/qml/pages/WatchView.qml deleted file mode 100644 index a5d755e..0000000 --- a/qml/pages/WatchView.qml +++ /dev/null @@ -1,50 +0,0 @@ -import QtQuick 2.0 -import "../watch" - -Flickable { - id: watchView - width: 96 - height: 96 - clip: true - flickableDirection: Flickable.HorizontalFlick - - property int curPage: 0 - - WidgetView { - id: widgetView - model: curWidgets - editMode: true - onEmptyWidgetClicked: { - pageStack.push(Qt.resolvedUrl("AddWidget.qml"), { - 'addToPage': page, - 'addToPos': pos - }); - } - } - - contentWidth: widgetView.width - contentHeight: widgetView.height - - NumberAnimation { - id: pivotAnim - targets: watchView - property: "contentX" - to: curPage * watchView.width - duration: 100 - easing.type: Easing.InOutQuad - } - - onMovementStarted: { - pivotAnim.stop() - } - - onMovementEnded: { - curPage = Math.round(watchView.contentX / watchView.width) - pivotAnim.start() - } - - function switchToPage(page) { - curPage = page; - pivotAnim.start(); - } -} diff --git a/qml/watch/WatchView.qml b/qml/watch/WatchView.qml new file mode 100644 index 0000000..ca880eb --- /dev/null +++ b/qml/watch/WatchView.qml @@ -0,0 +1,49 @@ +import QtQuick 2.0 + +Flickable { + id: watchView + width: 96 + height: 96 + clip: true + flickableDirection: Flickable.HorizontalFlick + + property int curPage: 0 + + WidgetView { + id: widgetView + model: curWidgets + editMode: true + onEmptyWidgetClicked: { + pageStack.push(Qt.resolvedUrl("../pages/AddWidget.qml"), { + 'addToPage': page, + 'addToPos': pos + }); + } + } + + contentWidth: widgetView.width + contentHeight: widgetView.height + + NumberAnimation { + id: pivotAnim + targets: watchView + property: "contentX" + to: curPage * watchView.width + duration: 100 + easing.type: Easing.InOutQuad + } + + onMovementStarted: { + pivotAnim.stop() + } + + onMovementEnded: { + curPage = Math.round(watchView.contentX / watchView.width) + pivotAnim.start() + } + + function switchToPage(page) { + curPage = page; + pivotAnim.start(); + } +} -- cgit v1.2.3