diff options
Diffstat (limited to 'qt-mobile/qml/mobilecomponents/Page.qml')
-rw-r--r-- | qt-mobile/qml/mobilecomponents/Page.qml | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/qt-mobile/qml/mobilecomponents/Page.qml b/qt-mobile/qml/mobilecomponents/Page.qml new file mode 100644 index 000000000..53cb04e2a --- /dev/null +++ b/qt-mobile/qml/mobilecomponents/Page.qml @@ -0,0 +1,71 @@ +/* + * 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.3 +import org.kde.plasma.mobilecomponents 0.2 +import "private" + +Rectangle { + id: root + + /** + * type:PageStack + * The page stack that this page is owned by. + */ + property Item pageStack + + /** + * Defines the toolbar contents for the page. If the page stack is set up + * using a toolbar instance, it automatically shows the currently active + * page's toolbar contents in the toolbar. + * + * The default value is null resulting in the page's toolbar to be + * invisible when the page is active. + */ + property Item tools: null + + /** + * Defines the contextual actions for the page: + * an easy way to assign actions in the right sliding panel + */ + property alias contextualActions: internalContextualActions.data + + property Flickable flickable + Item { + id: internalContextualActions + } + + Layout.fillWidth: true + color: "transparent" + + Connections { + target: flickable + property real oldContentY: flickable.contentY + onContentYChanged: { + print(flickable.contentY+" "+actionButton.transform[0] ) + if (flickable.atYBeginning || flickable.atYEnd) { + return; + } + actionButton.transform[0].y = Math.min(actionButton.height, Math.max(0, actionButton.transform[0].y + (flickable.contentY - oldContentY))); + + oldContentY = flickable.contentY; + } + } +} |