Rename some filers and folder for clarity
This commit is contained in:
90
src/gui/Base/HListView.qml
Normal file
90
src/gui/Base/HListView.qml
Normal file
@@ -0,0 +1,90 @@
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
ListView {
|
||||
id: listView
|
||||
interactive: allowDragging
|
||||
currentIndex: -1
|
||||
keyNavigationWraps: true
|
||||
highlightMoveDuration: theme.animationDuration
|
||||
|
||||
// Keep highlighted delegate at the center
|
||||
highlightRangeMode: ListView.ApplyRange
|
||||
preferredHighlightBegin: height / 2 - currentItemHeight
|
||||
preferredHighlightEnd: height / 2 + currentItemHeight
|
||||
|
||||
maximumFlickVelocity: 4000
|
||||
|
||||
|
||||
highlight: Rectangle {
|
||||
color: theme.controls.listView.highlight
|
||||
}
|
||||
|
||||
ScrollBar.vertical: ScrollBar {
|
||||
visible: listView.interactive || ! listView.allowDragging
|
||||
}
|
||||
|
||||
// Make sure to handle when a previous transition gets interrupted
|
||||
add: Transition {
|
||||
ParallelAnimation {
|
||||
// ScriptAction { script: print("add") }
|
||||
HNumberAnimation { property: "opacity"; from: 0; to: 1 }
|
||||
HNumberAnimation { property: "scale"; from: 0; to: 1 }
|
||||
}
|
||||
}
|
||||
|
||||
move: Transition {
|
||||
ParallelAnimation {
|
||||
// ScriptAction { script: print("move") }
|
||||
HNumberAnimation { property: "opacity"; to: 1 }
|
||||
HNumberAnimation { property: "scale"; to: 1 }
|
||||
HNumberAnimation { properties: "x,y" }
|
||||
}
|
||||
}
|
||||
|
||||
remove: Transition {
|
||||
ParallelAnimation {
|
||||
// ScriptAction { script: print("remove") }
|
||||
HNumberAnimation { property: "opacity"; to: 0 }
|
||||
HNumberAnimation { property: "scale"; to: 0 }
|
||||
}
|
||||
}
|
||||
|
||||
// displaced: move
|
||||
displaced: Transition {
|
||||
ParallelAnimation {
|
||||
// ScriptAction { script: print("displaced") }
|
||||
HNumberAnimation { property: "opacity"; to: 1 }
|
||||
HNumberAnimation { property: "scale"; to: 1 }
|
||||
HNumberAnimation { properties: "x,y" }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
property bool allowDragging: true
|
||||
|
||||
property alias cursorShape: mouseArea.cursorShape
|
||||
|
||||
readonly property int currentItemHeight:
|
||||
currentItem ? currentItem.height : 0
|
||||
|
||||
|
||||
Connections {
|
||||
target: listView
|
||||
enabled: ! listView.allowDragging
|
||||
// interactive gets temporarily set to true below to allow wheel scroll
|
||||
onDraggingChanged: listView.interactive = false
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
enabled: ! parent.allowDragging || cursorShape !== Qt.ArrowCursor
|
||||
acceptedButtons: Qt.NoButton
|
||||
onWheel: {
|
||||
// Allow wheel usage, will be back to false on any drag attempt
|
||||
parent.interactive = true
|
||||
wheel.accepted = false
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user