moment/src/gui/Base/HSwipeView.qml

47 lines
1.1 KiB
QML
Raw Normal View History

2019-12-19 22:46:16 +11:00
// SPDX-License-Identifier: LGPL-3.0-or-later
2019-12-14 08:54:32 +11:00
import QtQuick 2.12
import QtQuick.Controls 2.12
import "../ShortcutBundles"
SwipeView {
id: swipeView
2019-12-14 08:54:32 +11:00
Component.onCompleted: if (! changed) {
setCurrentIndex(window.getState(this, "currentIndex", defaultIndex))
saveEnabled = true
}
onCurrentIndexChanged: {
if (saveEnabled) window.saveState(this)
if (currentIndex < previousIndex) lastMove = HSwipeView.Move.ToPrevious
if (currentIndex > previousIndex) lastMove = HSwipeView.Move.ToNext
previousIndex = currentIndex
}
enum Move { ToPrevious, ToNext }
property string saveName: ""
property var saveId: "ALL"
property var saveProperties: ["currentIndex"]
2019-12-14 08:54:32 +11:00
// Prevent onCurrentIndexChanged from running before Component.onCompleted
property bool saveEnabled: false
property int previousIndex: 0
property int defaultIndex: 0
property int lastMove: HSwipeView.Move.ToNext
property bool changed: currentIndex !== defaultIndex
function reset() { setCurrentIndex(defaultIndex) }
TabShortcuts {
container: swipeView
}
}