Browse Source

qml: fix recent play menu items disapearing on mouseover

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
pull/91/head
Pierre Lamot 7 years ago
committed by Thomas Guillem
parent
commit
f03042b232
  1. 32
      modules/gui/qt/qml/menus/MediaMenu.qml

32
modules/gui/qt/qml/menus/MediaMenu.qml

@ -38,8 +38,19 @@ Utils.MenuExt {
onAboutToShow:{
recentsMenu.hasData = Boolean(recentsMedias.rowCount())
}
Instantiator {
function moveItemToPos(item, pos) {
for ( var i = 0; i < recentsMenu.count; i++ ) {
if (recentsMenu.itemAt(i) == item) {
recentsMenu.moveItem(i, pos)
return;
}
}
}
Repeater {
model: recentsMedias
Utils.MenuItemExt {
text: mrl
onTriggered:{
@ -53,13 +64,26 @@ Utils.MenuExt {
context: Qt.ApplicationShortcut
}
}
onObjectAdded: recentsMenu.insertItem(recentsMenu.count - 2, object)
onObjectRemoved: recentsMenu.removeItem(object)
//replace last elements as the repeater won't keep the original
//order of the menu when updated
onItemAdded: {
recentsMenu.moveItemToPos(clearAction, recentsMenu.count - 1)
recentsMenu.moveItemToPos(clearSepId, recentsMenu.count - 2)
}
onItemRemoved: {
recentsMenu.moveItemToPos(clearAction, recentsMenu.count - 1)
recentsMenu.moveItemToPos(clearSepId, recentsMenu.count - 2)
}
}
MenuSeparator{}
MenuSeparator {
id: clearSepId
}
Utils.MenuItemExt {
id: clearAction
text: qsTr("Clear")
enabled: recentsMenu.hasData
onTriggered:recentsMedias.clear()

Loading…
Cancel
Save