diff --git a/src/qml/PlaybackRateMenu.qml b/src/qml/PlaybackRateMenu.qml index 86fdbdb7..a1be3e8b 100644 --- a/src/qml/PlaybackRateMenu.qml +++ b/src/qml/PlaybackRateMenu.qml @@ -20,24 +20,27 @@ Controls.Menu { Controls.ButtonGroup { id: playbackRateGroup } - ColumnLayout { - Repeater { - model: playbackRateModel + // Using instantiator because using Repeater made the separator show up in + // the wrong place + Instantiator { + model: playbackRateModel - Controls.RadioButton { - padding: Kirigami.Units.smallSpacing - text: model.value - checked: model.value === AudioManager.playbackRate.toFixed(2) - Controls.ButtonGroup.group: playbackRateGroup + Controls.MenuItem { + text: model.value + checkable: true + checked: model.value === AudioManager.playbackRate.toFixed(2) + Controls.ButtonGroup.group: playbackRateGroup - onToggled: { - if (checked) { - AudioManager.playbackRate = value; - } - playbackRateMenu.dismiss(); + onTriggered: { + if (checked) { + AudioManager.playbackRate = value; } + playbackRateMenu.dismiss(); } } + + onObjectAdded: playbackRateMenu.insertItem(index, object) + onObjectRemoved: playbackRateMenu.removeItem(object) } Controls.MenuSeparator { diff --git a/src/qml/SearchFilterBar.qml b/src/qml/SearchFilterBar.qml index 2802b943..b44d23da 100644 --- a/src/qml/SearchFilterBar.qml +++ b/src/qml/SearchFilterBar.qml @@ -133,13 +133,13 @@ Controls.Control { Repeater { model: filterModel - Controls.RadioButton { - padding: Kirigami.Units.smallSpacing + Controls.MenuItem { text: model.name + checkable: true checked: model.filterType === proxyModel.filterType Controls.ButtonGroup.group: filterGroup - onToggled: { + onTriggered: { if (checked) { proxyModel.filterType = model.filterType; } @@ -182,11 +182,11 @@ Controls.Control { Repeater { model: searchSettingsModel - Controls.CheckBox { - padding: Kirigami.Units.smallSpacing + Controls.MenuItem { text: model.name + checkable: true checked: model.checked - onToggled: { + onTriggered: { if (checked) { proxyModel.searchFlags = proxyModel.searchFlags | model.searchFlag; } else {