Rules kcm: Use new property ComboBox.currentValue

Summary:
Use the properties `valueRole` and `currentValue`, introduced in Qt5.14 for `QQC2.ComboBox`

This didn't work before due to QQC2 version being mis-detected at build time, so the code mocked an internal `currentValue` property.

After D28859, it is now required to fix:
   "file:///home/nate/kde/usr/share/kpackage/kcms/kcm_kwinrules/contents/ui/RulesEditor.qml"
   "Error loading QML file.\n42: Type RuleItemDelegate unavailable\n68: Type OptionsComboBox unavailable\n35: Cannot override FINAL property\n"
   QCoreApplication::postEvent: Unexpected null receiver

Test Plan:
Try to edit a rule or add a new one.
The rule editor page shows.

Reviewers: ngraham, #kwin, zzag

Reviewed By: ngraham, #kwin, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D29145
icc-effect-master
Ismael Asensio 2020-04-23 22:43:37 +02:00
parent 890c770033
commit a158d3cbd3
1 changed files with 1 additions and 9 deletions

View File

@ -29,15 +29,7 @@ QQC2.ComboBox {
id: optionsCombo
textRole: "display"
//TODO: After KF5 (qqc2-desktop-style) depends on Qt 5.15 this can be simplified using newer API
// (https://bugs.kde.org/show_bug.cgi?id=419521)
// valueRole: "value"
property var currentValue
onActivated: (index) => {
var modelIndex = model.index(index, 0);
currentValue = model.data(modelIndex, Qt.UserRole);
}
valueRole: "value"
property bool multipleChoice: false
property int selectionMask: 0