aboutsummaryrefslogtreecommitdiffstats
path: root/examples/declarative/shared/LauncherList.qml
diff options
context:
space:
mode:
Diffstat (limited to 'examples/declarative/shared/LauncherList.qml')
-rw-r--r--examples/declarative/shared/LauncherList.qml205
1 files changed, 0 insertions, 205 deletions
diff --git a/examples/declarative/shared/LauncherList.qml b/examples/declarative/shared/LauncherList.qml
deleted file mode 100644
index 323ed529f..000000000
--- a/examples/declarative/shared/LauncherList.qml
+++ /dev/null
@@ -1,205 +0,0 @@
-// Copyright (C) 2017 Crimson AS <info@crimson.no>
-// Copyright (C) 2017 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-import QtQml 2.12
-import QtQml.Models 2.12
-import QtQuick 2.12
-
-Rectangle {
- id: root
- property int activePageCount: 0
-
- //model is a list of {"name":"somename", "url":"file:///some/url/mainfile.qml"}
- //function used to add to model A) to enforce scheme B) to allow Qt.resolveUrl in url assignments
-
- color: "#eee"
- function addExample(name, desc, url) {
- myModel.append({"name":name, "description":desc, "url":url})
- }
- function showExample(url) {
- pageComponent.createObject(pageContainer, { exampleUrl: url }).show()
- }
-
- // The container rectangle here is used to give a nice "feel" when
- // transitioning into an example.
- Rectangle {
- anchors.fill: parent
- color: "black"
-
- ListView {
- id: launcherList
- clip: true
- delegate: SimpleLauncherDelegate{
- required property url url
- onClicked: root.showExample(url)
- }
- model: ListModel {id:myModel}
- anchors.fill: parent
- enabled: opacity == 1.0
- }
- }
-
- Item {
- id: pageContainer
- anchors.fill: parent
- }
-
- Component {
- id: pageComponent
- Rectangle {
- id: page
- clip: true
- property url exampleUrl
- width: parent.width
- height: parent.height - bar.height
- color: "white"
- TapHandler {
- //Eats mouse events
- }
- Loader{
- focus: true
- source: parent.exampleUrl
- anchors.fill: parent
- }
-
- function show() {
- showAnim.start()
- }
-
- function exit() {
- exitAnim.start()
- }
-
- ParallelAnimation {
- id: showAnim
- ScriptAction {
- script: root.activePageCount++
- }
- NumberAnimation {
- target: launcherList
- property: "opacity"
- from: 1.0
- to: 0.0
- duration: 500
- }
- NumberAnimation {
- target: launcherList
- property: "scale"
- from: 1.0
- to: 0.0
- duration: 500
- }
- NumberAnimation {
- target: page
- property: "x"
- from: -page.width
- to: 0
- duration: 300
- }
- }
- SequentialAnimation {
- id: exitAnim
-
- ScriptAction {
- script: root.activePageCount--
- }
-
- ParallelAnimation {
- NumberAnimation {
- target: launcherList
- property: "opacity"
- from: 0.0
- to: 1.0
- duration: 300
- }
- NumberAnimation {
- target: launcherList
- property: "scale"
- from: 0.0
- to: 1.0
- duration: 300
- }
- NumberAnimation {
- target: page
- property: "x"
- from: 0
- to: -page.width
- duration: 300
- }
- }
-
- ScriptAction {
- script: page.destroy()
- }
- }
- }
- }
- Rectangle {
- id: bar
- visible: height > 0
- anchors.bottom: parent.bottom
- width: parent.width
- height: root.activePageCount > 0 ? 40 : 0
-
- Behavior on height {
- NumberAnimation {
- duration: 300
- }
- }
-
- Rectangle {
- height: 1
- color: "#ccc"
- anchors.top: parent.top
- anchors.left: parent.left
- anchors.right: parent.right
- }
-
- Rectangle {
- height: 1
- color: "#fff"
- anchors.top: parent.top
- anchors.topMargin: 1
- anchors.left: parent.left
- anchors.right: parent.right
- }
-
- gradient: Gradient {
- GradientStop { position: 0 ; color: "#eee" }
- GradientStop { position: 1 ; color: "#ccc" }
- }
-
- Image {
- id: back
- source: "images/back.png"
- anchors.verticalCenter: parent.verticalCenter
- anchors.verticalCenterOffset: 2
- anchors.left: parent.left
- anchors.leftMargin: 16
-
- TapHandler {
- id: tapHandler
- enabled: root.activePageCount > 0
- onTapped: {
- pageContainer.children[pageContainer.children.length - 1].exit()
- }
- }
- Rectangle {
- anchors.centerIn: back
- width: 38
- height: 31
- anchors.verticalCenterOffset: -1
- opacity: tapHandler.pressed ? 1 : 0
- Behavior on opacity { NumberAnimation{ duration: 100 }}
- gradient: Gradient {
- GradientStop { position: 0 ; color: "#22000000" }
- GradientStop { position: 0.2 ; color: "#11000000" }
- }
- border.color: "darkgray"
- antialiasing: true
- radius: 4
- }
- }
- }
-}