Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37550231
en ru br
Репозитории ALT

Группа :: Графические оболочки/KDE
Пакет: plasma5-addons

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: alt-weather-usability.patch
Скачать


--- a/applets/weather/package/contents/ui/config/WeatherStationPicker.qml
+++ b/applets/weather/package/contents/ui/config/WeatherStationPicker.qml
@@ -34,9 +34,13 @@ ColumnLayout {
     readonly property bool handlesEnterKey: canSearch && searchStringEdit.activeFocus
 
     function searchLocation() {
+        searchTimer.stop();
         if (!canSearch) {
             return;
         }
+        if(selectedServices.length == 0) {
+            return;
+        }
 
         // avoid automatic selection once model is refilled
         locationListView.currentRow = -1;
@@ -64,6 +68,12 @@ ColumnLayout {
         id: serviceListModel
     }
 
+    Timer {
+        id: searchTimer
+        interval: 800; running: false; repeat: false
+        onTriggered: searchLocation();
+    }
+
     QtControls.Menu {
         id: serviceSelectionMenu
 
@@ -78,6 +88,9 @@ ColumnLayout {
                     model.checked = checked;
                     checked = Qt.binding(function() { return model.checked; });
                     weatherStationConfigPage.configurationChanged();
+                    if(model.checked) {
+                        searchLocation();
+                    }
                 }
             }
             onObjectAdded: serviceSelectionMenu.insertItem(index, object)
@@ -99,14 +112,11 @@ ColumnLayout {
                 onAccepted: {
                     searchLocation();
                 }
-            }
-
-            QtControls.Button {
-                id: serviceSelectionButton
-
-                iconName: "services"
-                tooltip: i18nc("@info:tooltip", "Select weather services providers")
-                menu: serviceSelectionMenu
+                onTextChanged: {
+                    if(searchStringEdit.text.length >= 3) {
+                        searchTimer.restart();
+                    }
+                }
             }
 
             Item {
@@ -122,15 +132,10 @@ ColumnLayout {
             }
 
             QtControls.Button {
-                id: searchButton
-
-                iconName: "edit-find"
-                text: i18nc("@action:button", "Search")
-                enabled: canSearch
-
-                onClicked: {
-                    searchLocation();
-                }
+                id: serviceSelectionButton
+                iconName: "services"
+                tooltip: i18n("Select weather services providers")
+                menu: serviceSelectionMenu
             }
         }
 
--- a/applets/weather/package/contents/ui/config/ConfigWeatherStation.qml
+++ b/applets/weather/package/contents/ui/config/ConfigWeatherStation.qml
@@ -45,6 +45,9 @@ Kirigami.FormLayout {
     Component.onCompleted: {
         var config = plasmoid.nativeInterface.configValues();
 
+        if(config.services.length == 0) {
+            config.services = ['wettercom']
+        }
         stationPicker.selectedServices = config.services;
 
         source = config.source;
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin