Fix ListView transition bugs?
This commit is contained in:
		| @@ -2,6 +2,7 @@ import QtQuick 2.12 | |||||||
| import QtQuick.Controls 2.12 | import QtQuick.Controls 2.12 | ||||||
|  |  | ||||||
| ListView { | ListView { | ||||||
|  |     id: listView | ||||||
|     interactive: false |     interactive: false | ||||||
|     currentIndex: -1 |     currentIndex: -1 | ||||||
|     highlightMoveDuration: theme.animationDuration |     highlightMoveDuration: theme.animationDuration | ||||||
| @@ -21,16 +22,24 @@ ListView { | |||||||
|         opacity: theme.controls.interactiveRectangle.checkedOpacity |         opacity: theme.controls.interactiveRectangle.checkedOpacity | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     // Important: | ||||||
|  |     // https://doc.qt.io/qt-5/qml-qtquick-viewtransition.html#handling-interrupted-animations | ||||||
|  |  | ||||||
|  |     populate: add | ||||||
|  |     displaced: move | ||||||
|  |  | ||||||
|     add: Transition { |     add: Transition { | ||||||
|  |         ParallelAnimation { | ||||||
|  |             HNumberAnimation { property: "opacity"; from: 0; to: 1 } | ||||||
|             HNumberAnimation { properties: "x,y"; from: 100 } |             HNumberAnimation { properties: "x,y"; from: 100 } | ||||||
|         } |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|     move: Transition { |     move: Transition { | ||||||
|  |         ParallelAnimation { | ||||||
|  |             HNumberAnimation { property: "opacity"; to: 1 } | ||||||
|             HNumberAnimation { properties: "x,y" } |             HNumberAnimation { properties: "x,y" } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|     displaced: Transition { |  | ||||||
|         HNumberAnimation { properties: "x,y" } |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     remove: Transition { |     remove: Transition { | ||||||
|   | |||||||
| @@ -11,9 +11,9 @@ HListView { | |||||||
|     readonly property var collapseAccounts: window.uiState.collapseAccounts |     readonly property var collapseAccounts: window.uiState.collapseAccounts | ||||||
|     readonly property string filter: paneToolBar.roomFilter |     readonly property string filter: paneToolBar.roomFilter | ||||||
|  |  | ||||||
|     onOriginSourceChanged: Qt.callLater(filterSource) |     onOriginSourceChanged: filterLimiter.requestFire() | ||||||
|     onFilterChanged: Qt.callLater(filterSource) |     onFilterChanged: filterLimiter.requestFire() | ||||||
|     onCollapseAccountsChanged: Qt.callLater(filterSource) |     onCollapseAccountsChanged: filterLimiter.requestFire() | ||||||
|  |  | ||||||
|  |  | ||||||
|     function filterSource() { |     function filterSource() { | ||||||
| @@ -101,6 +101,12 @@ HListView { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     HRateLimiter { | ||||||
|  |         id: filterLimiter | ||||||
|  |         cooldown: 16 | ||||||
|  |         onFired: filterSource() | ||||||
|  |     } | ||||||
|  |  | ||||||
|     HRateLimiter { |     HRateLimiter { | ||||||
|         id: activateLimiter |         id: activateLimiter | ||||||
|         onFired: currentItem.item.activate() |         onFired: currentItem.item.activate() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	