38 lines
966 B
QML
38 lines
966 B
QML
|
// Copyright 2019 miruka
|
||
|
// This file is part of harmonyqml, licensed under LGPLv3.
|
||
|
|
||
|
import QtQuick 2.12
|
||
|
|
||
|
Item {
|
||
|
property Item flickTarget: Item {}
|
||
|
|
||
|
function smartVerticalFlick(baseVelocity, fastMultiply=3) {
|
||
|
let vel = flickTarget.verticalVelocity
|
||
|
|
||
|
if (flickTarget.verticalLayoutDirection == ListView.BottomToTop) {
|
||
|
baseVelocity = -baseVelocity
|
||
|
vel = -vel
|
||
|
}
|
||
|
|
||
|
let fast = (baseVelocity < 0 && vel < baseVelocity / 2) ||
|
||
|
(baseVelocity > 0 && vel > baseVelocity / 2)
|
||
|
|
||
|
flickTarget.flick(0, baseVelocity * (fast ? fastMultiply : 1))
|
||
|
}
|
||
|
|
||
|
Shortcut {
|
||
|
sequences: ["Alt+Up", "Alt+K"]
|
||
|
onActivated: smartVerticalFlick(-335)
|
||
|
}
|
||
|
|
||
|
Shortcut {
|
||
|
sequences: ["Alt+Down", "Alt+J"]
|
||
|
onActivated: smartVerticalFlick(335)
|
||
|
}
|
||
|
|
||
|
Shortcut {
|
||
|
sequence: "Alt+Shift+D"
|
||
|
onActivated: if (window.debug) { py.call("APP.pdb") }
|
||
|
}
|
||
|
}
|