diff options
Diffstat (limited to 'qt-mobile/qml/mobilecomponents/private')
5 files changed, 0 insertions, 541 deletions
diff --git a/qt-mobile/qml/mobilecomponents/private/AbstractDrawer.qml b/qt-mobile/qml/mobilecomponents/private/AbstractDrawer.qml deleted file mode 100644 index db662509c..000000000 --- a/qt-mobile/qml/mobilecomponents/private/AbstractDrawer.qml +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2015 Marco Martin <mart@kde.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details - * - * You should have received a copy of the GNU Library General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -import QtQuick 2.1 -import QtGraphicalEffects 1.0 -import org.kde.plasma.mobilecomponents 0.2 - -//TODO: This will become a QQC2 Drawer -//providing just a dummy api for now -Item { - id: root - anchors.fill: parent - z: 9999 - - default property alias page: mainPage.data - property Item contentItem - property bool opened - property int edge: Qt.LeftEdge - property real position: 0 - - function open () { } - function close () { } - signal clicked - - Item { - id: mainPage - anchors.fill: parent - onChildrenChanged: mainPage.children[0].anchors.fill = mainPage - } -} - diff --git a/qt-mobile/qml/mobilecomponents/private/ActionButton.qml b/qt-mobile/qml/mobilecomponents/private/ActionButton.qml deleted file mode 100644 index c6963c285..000000000 --- a/qt-mobile/qml/mobilecomponents/private/ActionButton.qml +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Copyright 2015 Marco Martin <mart@kde.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details - * - * You should have received a copy of the GNU Library General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -import QtQuick 2.1 -import QtQuick.Layouts 1.2 -import QtGraphicalEffects 1.0 -import org.kde.plasma.mobilecomponents 0.2 - -MouseArea { - id: button - property alias iconSource: icon.source - property bool checkable: false - property bool checked: false - //either Action or QAction should work here - property QtObject action - Layout.minimumWidth: Units.iconSizes.medium - Layout.maximumWidth: Layout.minimumWidth - implicitWidth: Units.iconSizes.medium - implicitHeight: width - drag { - target: button - axis: Drag.XAxis - minimumX: parent.width/2 - width/2 - (contextDrawer && contextDrawer.enabled ? contextDrawer.contentItem.width : 0) - maximumX: parent.width/2 - width/2 + (globalDrawer && globalDrawer.enabled ? globalDrawer.contentItem.width : 0) - } - function toggleVisibility() { - showAnimation.running = false; - if (translateTransform.y < button.height) { - showAnimation.to = button.height; - } else { - showAnimation.to = 0; - } - showAnimation.running = true; - } - - transform: Translate { - id: translateTransform - } - property var downTimestamp; - property int startX - onPressed: { - downTimestamp = (new Date()).getTime(); - startX = button.x - } - onReleased: { - //pixel/second - var speed = ((button.x - startX) / ((new Date()).getTime() - downTimestamp) * 1000); - - //project where it would be a full second in the future - if (globalDrawer && x + speed > Math.min(parent.width/4*3, parent.width/2 + globalDrawer.contentItem.width/2)) { - globalDrawer.open(); - contextDrawer.close(); - } else if (contextDrawer && x + speed < Math.max(parent.width/4, parent.width/2 - contextDrawer.contentItem.width/2)) { - if (contextDrawer) { - contextDrawer.open(); - } - if (globalDrawer) { - globalDrawer.close(); - } - } else { - if (globalDrawer) { - globalDrawer.close(); - } - if (contextDrawer) { - contextDrawer.close(); - } - } - } - onClicked: { - if (checkable) { - checked = !checked; - } - - //if an action has been assigned, trigger it - if (button.action && button.action.trigger) { - button.action.trigger(); - } - } - Connections { - target: globalDrawer - onPositionChanged: { - if (!button.pressed) { - button.x = globalDrawer.contentItem.width * globalDrawer.position + button.parent.width/2 - button.width/2; - } - } - } - Connections { - target: contextDrawer - onPositionChanged: { - if (!button.pressed) { - button.x = button.parent.width/2 - button.width/2 - contextDrawer.contentItem.width * contextDrawer.position; - } - } - } - Connections { - target: button.parent - onWidthChanged: button.x = button.parent.width/2 - button.width/2 - } - onXChanged: { - if (button.pressed) { - if (globalDrawer) { - globalDrawer.position = Math.min(1, Math.max(0, (x - button.parent.width/2 + button.width/2)/globalDrawer.contentItem.width)); - } - if (contextDrawer) { - contextDrawer.position = Math.min(1, Math.max(0, (button.parent.width/2 - button.width/2 - x)/contextDrawer.contentItem.width)); - } - } - } - - NumberAnimation { - id: showAnimation - target: translateTransform - properties: "y" - duration: Units.longDuration - easing.type: Easing.InOutQuad - } - Item { - id: background - anchors { - fill: parent - leftMargin: -Units.gridUnit - rightMargin: -Units.gridUnit - } - Rectangle { - radius: width/2 - anchors.centerIn: parent - height: parent.height - Units.smallSpacing*2 - width: height - color: button.pressed || button.checked ? Theme.highlightColor : Theme.backgroundColor - Icon { - id: icon - anchors { - fill: parent - margins: Units.smallSpacing - } - } - ActionButtonArrow { - anchors { - right: parent.left - rightMargin: Units.smallSpacing - } - visible: contextDrawer && contextDrawer.enabled - inverted: true - } - ActionButtonArrow { - anchors { - left: parent.right - leftMargin: Units.smallSpacing - } - visible: globalDrawer && globalDrawer.enabled - } - Behavior on color { - ColorAnimation { - duration: Units.longDuration - easing.type: Easing.InOutQuad - } - } - Behavior on x { - NumberAnimation { - duration: Units.longDuration - easing.type: Easing.InOutQuad - } - } - } - } - DropShadow { - anchors.fill: background - horizontalOffset: 0 - verticalOffset: Units.smallSpacing/3 - radius: Units.gridUnit / 3.5 - samples: 16 - color: button.pressed ? "transparent" : Qt.rgba(0, 0, 0, 0.5) - source: background - } -} - diff --git a/qt-mobile/qml/mobilecomponents/private/ActionButtonArrow.qml b/qt-mobile/qml/mobilecomponents/private/ActionButtonArrow.qml deleted file mode 100644 index 7b585452b..000000000 --- a/qt-mobile/qml/mobilecomponents/private/ActionButtonArrow.qml +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2015 Marco Martin <mart@kde.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details - * - * You should have received a copy of the GNU Library General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -import QtQuick 2.1 -import QtQuick.Layouts 1.2 -import QtGraphicalEffects 1.0 -import org.kde.plasma.mobilecomponents 0.2 - -Canvas { - id: canvas - width: Units.gridUnit - height: width - property bool inverted - property color color: parent.color - anchors.verticalCenter: parent.verticalCenter - - onColorChanged: requestPaint() - - onPaint: { - var ctx = canvas.getContext("2d"); - ctx.fillStyle = canvas.color; - ctx.beginPath(); - if (inverted) { - ctx.moveTo(canvas.width, 0); - ctx.bezierCurveTo(canvas.width-canvas.width/8, 0, - canvas.width-canvas.width/8, canvas.height, - canvas.width, canvas.height); - ctx.lineTo(0, canvas.height/2); - } else { - ctx.moveTo(0, 0); - ctx.bezierCurveTo(canvas.width/8, 0, - canvas.width/8, canvas.height, - 0, canvas.height); - ctx.lineTo(canvas.width, canvas.height/2); - //ctx.lineTo(0, canvas.height); - } - ctx.fill(); - } -} - diff --git a/qt-mobile/qml/mobilecomponents/private/PageStack.js b/qt-mobile/qml/mobilecomponents/private/PageStack.js deleted file mode 100644 index 8986956b0..000000000 --- a/qt-mobile/qml/mobilecomponents/private/PageStack.js +++ /dev/null @@ -1,243 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the Qt Components project. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the 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 Nokia Corporation and its Subsidiary(-ies) 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 -** OWNER 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." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// Page stack. Items are page containers. -var pageStack = []; - -// Page component cache map. Key is page url, value is page component. -var componentCache = {}; - -// Returns the page stack depth. -function getDepth() { - return pageStack.length; -} - -// Pushes a page on the stack. -function push(page, properties, replace, immediate) { - // page order sanity check - if ((!replace && page == currentPage) - || (replace && pageStack.length > 1 - && page == pageStack[pageStack.length - 2].page)) { - throw new Error("Cannot navigate so that the resulting page stack has two consecutive entries of the same page instance."); - } - - // figure out if more than one page is being pushed - var pages; - if (page instanceof Array) { - pages = page; - page = pages.pop(); - if (page.createObject === undefined && page.parent === undefined && typeof page != "string") { - properties = properties || page.properties; - page = page.page; - } - } - - // get the current container - var oldContainer; - if (pageStack.length) { - oldContainer = pageStack[pageStack.length - 1]; - } - - // pop the old container off the stack if this is a replace - if (oldContainer && replace) { - pageStack.pop(); - } - - // push any extra defined pages onto the stack - if (pages) { - var i; - for (i = 0; i < pages.length; i++) { - var tPage = pages[i]; - var tProps; - if (tPage.createObject === undefined && tPage.parent === undefined && typeof tPage != "string") { - tProps = tPage.properties; - tPage = tPage.page; - } - pageStack.push(initPage(tPage, tProps)); - } - } - - // initialize the page - var container = initPage(page, properties); - - // push the page container onto the stack - pageStack.push(container); - - depth = pageStack.length; - currentPage = container.page; - - // perform page transition - //FIXME: this should be in for PageStack, out for PageRow? - //immediate = immediate || !oldContainer; - var orientationChange = false; - if (oldContainer) { - orientationChange = orientationChanges(oldContainer.page, container.page); - oldContainer.pushExit(replace, immediate, orientationChange); - } - - // sync tool bar - var tools = container.page.tools || null; - if (toolBar) { - toolBar.setTools(tools, immediate ? "set" : replace ? "replace" : "push"); - } - - container.pushEnter(immediate, orientationChange); - return container.page; -} - -// Initializes a page and its container. -function initPage(page, properties) { - var container = containerComponent.createObject(root); - - var pageComp; - if (page.createObject) { - // page defined as component - pageComp = page; - } else if (typeof page == "string") { - // page defined as string (a url) - pageComp = componentCache[page]; - if (!pageComp) { - pageComp = componentCache[page] = Qt.createComponent(page); - } - } - if (pageComp) { - if (pageComp.status == Component.Error) { - throw new Error("Error while loading page: " + pageComp.errorString()); - } else { - // instantiate page from component - page = pageComp.createObject(container.pageParent, properties || {}); - } - } else { - // copy properties to the page - for (var prop in properties) { - if (properties.hasOwnProperty(prop)) { - page[prop] = properties[prop]; - } - } - } - - container.page = page; - if (page.parent == null || page.parent == container.pageParent) { - container.owner = container; - } else { - container.owner = page.parent; - } - - // the page has to be reparented if - if (page.parent != container.pageParent) { - page.parent = container.pageParent; - } - - if (page.pageStack !== undefined) { - page.pageStack = root; - } - - page.anchors.fill = container.pageParent - - return container; -} - -// Pops a page off the stack. -function pop(page, immediate) { - // make sure there are enough pages in the stack to pop - if (pageStack.length > 1) { - //unwind to itself means no pop - if (page !== undefined && page == pageStack[pageStack.length - 1].page) { - return - } - // pop the current container off the stack and get the next container - var oldContainer = pageStack.pop(); - var container = pageStack[pageStack.length - 1]; - if (page !== undefined) { - // an unwind target has been specified - pop until we find it - while (page != container.page && pageStack.length > 1) { - pageStack.pop(); - container.popExit(immediate, false); - container = pageStack[pageStack.length - 1]; - } - } - - depth = pageStack.length; - currentPage = container.page; - - // perform page transition - var orientationChange = orientationChanges(oldContainer.page, container.page); - oldContainer.popExit(immediate, orientationChange); - container.popEnter(immediate, orientationChange); - - // sync tool bar - var tools = container.page.tools || null; - if (toolBar) { - toolBar.setTools(tools, immediate ? "set" : "pop"); - } - return oldContainer.page; - } else { - return null; - } -} - -// Checks if the orientation changes between oldPage and newPage -function orientationChanges(oldPage, newPage) { - return newPage.orientationLock != 0 //PlasmaComponents.PageOrientation.Automatic - && newPage.orientationLock != 3//PlasmaComponents.PageOrientation.LockPrevious - && newPage.orientationLock != oldPage.orientationLock -} - -// Clears the page stack. -function clear() { - var container; - while (container = pageStack.pop()) { - container.cleanup(); - } - depth = 0; - currentPage = null; -} - -// Iterates through all pages in the stack (top to bottom) to find a page. -function find(func) { - for (var i = pageStack.length - 1; i >= 0; i--) { - var page = pageStack[i].page; - if (func(page)) { - return page; - } - } - return null; -} - diff --git a/qt-mobile/qml/mobilecomponents/private/qmldir b/qt-mobile/qml/mobilecomponents/private/qmldir deleted file mode 100644 index 35e158210..000000000 --- a/qt-mobile/qml/mobilecomponents/private/qmldir +++ /dev/null @@ -1,3 +0,0 @@ -module org.kde.plasma.mobilecomponents.private -#plugin mobilecomponentsprivateplugin - |