Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-82464

Text that should be hidden sometimes visible after swiping in swipetoremove example

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 5.15
    • Quick: Controls 2
    • None

    Description

      Can be reproduced with this code:

      import QtQuick 2.12
      import QtQuick.Controls 2.12
      import QtQuick.Controls.Material 2.12
      
      ApplicationWindow {
          width: 640
          height: 480
          visible: true
      
          ListView {
              id: listView
              anchors.fill: parent
      
              delegate: SwipeDelegate {
                  id: delegate
      
                  text: modelData
                  width: parent.width
      
                  //! [delegate]
                  swipe.right: Rectangle {
                      width: parent.width
                      height: parent.height
      
                      clip: true
                      color: SwipeDelegate.pressed ? "#555" : "#666"
      
                      Label {
                          text: delegate.swipe.complete ? "Undo"
                                                        : "Removing..."
      
                          padding: 20
                          anchors.fill: parent
                          horizontalAlignment: Qt.AlignRight
                          verticalAlignment: Qt.AlignVCenter
      
                          opacity: 2 * -delegate.swipe.position
      
                          color: Material.color(delegate.swipe.complete ? Material.Green : Material.Red, Material.Shade200)
                          Behavior on color { ColorAnimation { } }
                      }
      
                      Label {
                          text: qsTr("Removed")
                          color: "white"
      
                          padding: 20
                          anchors.fill: parent
                          horizontalAlignment: Qt.AlignLeft
                          verticalAlignment: Qt.AlignVCenter
      
                          opacity: delegate.swipe.complete ? 1 : 0
                          Behavior on opacity { NumberAnimation { } }
                      }
      
                      SwipeDelegate.onClicked: delegate.swipe.close()
                      SwipeDelegate.onPressedChanged: undoTimer.stop()
                  }
                  //! [delegate]
      
                  //! [removal]
                  Timer {
                      id: undoTimer
                      interval: 3600
                      onTriggered: listModel.remove(index)
                  }
      
                  swipe.onCompleted: undoTimer.start()
                  //! [removal]
              }
      
              model: ListModel {
                  id: listModel
                  ListElement { text: "Lorem ipsum dolor sit amet" }
                  ListElement { text: "Curabitur sit amet risus" }
                  ListElement { text: "Suspendisse vehicula nisi" }
                  ListElement { text: "Mauris imperdiet libero" }
                  ListElement { text: "Sed vitae dui aliquet augue" }
                  ListElement { text: "Praesent in elit eu nulla" }
                  ListElement { text: "Etiam vitae magna" }
                  ListElement { text: "Pellentesque eget elit euismod" }
                  ListElement { text: "Nulla at enim porta" }
                  ListElement { text: "Fusce tincidunt odio" }
                  ListElement { text: "Ut non ex a ligula molestie" }
                  ListElement { text: "Nam vitae justo scelerisque" }
                  ListElement { text: "Vestibulum pulvinar tellus" }
                  ListElement { text: "Quisque dignissim leo sed gravida" }
              }
      
              //! [transitions]
              remove: Transition {
                  SequentialAnimation {
                      PauseAnimation { duration: 125 }
                      NumberAnimation { property: "height"; to: 0; easing.type: Easing.InOutQuad }
                  }
              }
      
              displaced: Transition {
                  SequentialAnimation {
                      PauseAnimation { duration: 125 }
                      NumberAnimation { property: "y"; easing.type: Easing.InOutQuad }
                  }
              }
              //! [transitions]
      
              ScrollIndicator.vertical: ScrollIndicator { }
          }
      
          Label {
              id: placeholder
              text: qsTr("Swipe no more")
      
              anchors.margins: 60
              anchors.fill: parent
      
              opacity: 0.5
              visible: listView.count === 0
      
              horizontalAlignment: Qt.AlignHCenter
              verticalAlignment: Qt.AlignVCenter
              wrapMode: Label.WordWrap
              font.pixelSize: 18
          }
      }
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            mitch_curtis Mitch Curtis
            mitch_curtis Mitch Curtis
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes