| /**************************************************************************** |
| ** |
| ** Copyright (C) 2017 The Qt Company Ltd. |
| ** Contact: https://www.qt.io/licensing/ |
| ** |
| ** This file is part of the documentation of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:FDL$ |
| ** Commercial License Usage |
| ** Licensees holding valid commercial Qt licenses may use this file in |
| ** accordance with the commercial license agreement provided with the |
| ** Software or, alternatively, in accordance with the terms contained in |
| ** a written agreement between you and The Qt Company. For licensing terms |
| ** and conditions see https://www.qt.io/terms-conditions. For further |
| ** information use the contact form at https://www.qt.io/contact-us. |
| ** |
| ** GNU Free Documentation License Usage |
| ** Alternatively, this file may be used under the terms of the GNU Free |
| ** Documentation License version 1.3 as published by the Free Software |
| ** Foundation and appearing in the file included in the packaging of |
| ** this file. Please review the following information to ensure |
| ** the GNU Free Documentation License version 1.3 requirements |
| ** will be met: https://www.gnu.org/licenses/fdl-1.3.html. |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| import QtQuick 2.12 |
| import QtQuick.Controls 2.12 |
| |
| //! [1] |
| ListView { |
| id: listView |
| anchors.fill: parent |
| model: ListModel { |
| ListElement { sender: "Bob Bobbleton"; title: "How are you going?" } |
| ListElement { sender: "Rug Emporium"; title: "SALE! All rugs MUST go!" } |
| ListElement { sender: "Electric Co."; title: "Electricity bill 15/07/2016 overdue" } |
| ListElement { sender: "Tips"; title: "Five ways this tip will save your life" } |
| } |
| delegate: SwipeDelegate { |
| id: swipeDelegate |
| text: model.sender + " - " + model.title |
| width: parent.width |
| |
| ListView.onRemove: SequentialAnimation { |
| PropertyAction { |
| target: swipeDelegate |
| property: "ListView.delayRemove" |
| value: true |
| } |
| NumberAnimation { |
| target: swipeDelegate |
| property: "height" |
| to: 0 |
| easing.type: Easing.InOutQuad |
| } |
| PropertyAction { |
| target: swipeDelegate |
| property: "ListView.delayRemove" |
| value: false |
| } |
| } |
| |
| swipe.right: Label { |
| id: deleteLabel |
| text: qsTr("Delete") |
| color: "white" |
| verticalAlignment: Label.AlignVCenter |
| padding: 12 |
| height: parent.height |
| anchors.right: parent.right |
| |
| SwipeDelegate.onClicked: listView.model.remove(index) |
| |
| background: Rectangle { |
| color: deleteLabel.SwipeDelegate.pressed ? Qt.darker("tomato", 1.1) : "tomato" |
| } |
| } |
| } |
| } |
| //! [1] |