Events: inline event delegate
Also key handling. Again allow space to pause/resume video while editing an event.
This commit is contained in:
parent
4ef0c49825
commit
09a1c7d57f
4 changed files with 159 additions and 176 deletions
38
Sidebar.qml
38
Sidebar.qml
|
@ -47,7 +47,7 @@ Page {
|
|||
}
|
||||
}
|
||||
|
||||
Keys.forwardTo: [tags, video]
|
||||
Keys.forwardTo: [video, tags]
|
||||
|
||||
// Save / load buttons.
|
||||
header: ToolBar {
|
||||
|
@ -151,6 +151,7 @@ Page {
|
|||
if (currentItem)
|
||||
video.seek(currentItem.time)
|
||||
}
|
||||
Keys.forwardTo: control
|
||||
|
||||
Rectangle {
|
||||
anchors { left: parent.left; right: parent.right; top: parent.top }
|
||||
|
@ -163,41 +164,6 @@ Page {
|
|||
implicitHeight: 1
|
||||
color: palette.mid
|
||||
}
|
||||
|
||||
Keys.onPressed: {
|
||||
switch (event.key) {
|
||||
case Qt.Key_Home:
|
||||
currentIndex = 0
|
||||
break
|
||||
case Qt.Key_End:
|
||||
currentIndex = count-1
|
||||
break
|
||||
case Qt.Key_Enter:
|
||||
case Qt.Key_Return:
|
||||
if (editing) {
|
||||
currentItem.store()
|
||||
editing = false
|
||||
} else {
|
||||
if (currentItem.fields.length > 0)
|
||||
editing = true
|
||||
}
|
||||
break
|
||||
case Qt.Key_Escape:
|
||||
editing = false
|
||||
break
|
||||
case Qt.Key_Delete:
|
||||
editing = false
|
||||
eventFilter.remove(currentIndex)
|
||||
break
|
||||
case Qt.Key_Tab:
|
||||
case Qt.Key_Backtab:
|
||||
// swallow tabs so we don’t lose focus when editing
|
||||
break
|
||||
default:
|
||||
return
|
||||
}
|
||||
event.accepted = true
|
||||
}
|
||||
}
|
||||
|
||||
Flow {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue