diff --git a/applets/weather/package/contents/ui/config/WeatherStationPicker.qml b/applets/weather/package/contents/ui/config/WeatherStationPicker.qml --- a/applets/weather/package/contents/ui/config/WeatherStationPicker.qml +++ b/applets/weather/package/contents/ui/config/WeatherStationPicker.qml @@ -61,31 +61,32 @@ id: serviceListModel } - QQC2.Menu { - id: serviceSelectionMenu - - Instantiator { - model: serviceListModel - delegate: QQC2.MenuItem { - text: model.display - checkable: true - checked: model.checked - - onToggled: { - model.checked = checked; - checked = Qt.binding(function() { return model.checked; }); - weatherStationConfigPage.configurationChanged(); + Kirigami.FormLayout { + ColumnLayout { + Kirigami.FormData.label: i18n("Weather providers:") + Kirigami.FormData.buddyFor: calendarPluginsRepeater.itemAt(0) + + Repeater { + id: calendarPluginsRepeater + model: serviceListModel + delegate: QQC2.CheckBox { + text: model.display + checked: model.checked + onToggled: { + model.checked = checked; + checked = Qt.binding(function() { return model.checked; }); + weatherStationConfigPage.configurationChanged(); + } } } - onObjectAdded: serviceSelectionMenu.insertItem(index, object) - onObjectRemoved: serviceSelectionMenu.removeItem(object) } - } RowLayout { Layout.fillWidth: true + enabled: selectedServices.length > 0 + Kirigami.SearchField { id: searchStringEdit @@ -98,21 +99,6 @@ } } - QQC2.Button { - id: serviceSelectionButton - - icon.name: "services" - - checkable: true - checked: serviceSelectionMenu.opened - onClicked: serviceSelectionMenu.popup(serviceSelectionButton, serviceSelectionButton.width - serviceSelectionMenu.width, serviceSelectionButton.height) - - QQC2.ToolTip { - text: i18nc("@info:tooltip", "Select weather services providers") - visible: hovered - } - } - QQC2.Button { id: searchButton @@ -130,6 +116,8 @@ Layout.fillWidth: true Layout.fillHeight: true + enabled: selectedServices.length > 0 + Component.onCompleted: { background.visible = true; }