diff --git a/applets/appmenu/package/contents/ui/main.qml b/applets/appmenu/package/contents/ui/main.qml --- a/applets/appmenu/package/contents/ui/main.qml +++ b/applets/appmenu/package/contents/ui/main.qml @@ -18,7 +18,7 @@ */ import QtQuick 2.0 import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.4 +import QtQuick.Controls 2.8 import org.kde.plasma.plasmoid 2.0 import org.kde.kquickcontrolsaddons 2.0 diff --git a/applets/digital-clock/package/contents/ui/configTimeZones.qml b/applets/digital-clock/package/contents/ui/configTimeZones.qml --- a/applets/digital-clock/package/contents/ui/configTimeZones.qml +++ b/applets/digital-clock/package/contents/ui/configTimeZones.qml @@ -18,8 +18,8 @@ * along with this program. If not, see */ -import QtQuick 2.0 -import QtQuick.Controls 1.2 as QtControls +import QtQuick 2.13 +import QtQuick.Controls 2.13 as QQC2 import QtQuick.Layouts 1.0 import QtQuick.Dialogs 1.1 @@ -45,90 +45,63 @@ } } - // This is just for getting the column width - QtControls.CheckBox { - id: checkbox - visible: false - } - Kirigami.InlineMessage { id: messageWidget - Layout.fillWidth: true - + Layout.margins: Kirigami.Units.smallSpacing type: Kirigami.MessageType.Warning text: i18n("At least one time zone needs to be enabled. 'Local' was enabled automatically.") - showCloseButton: true } - QtControls.TextField { + QQC2.TextField { id: filter Layout.fillWidth: true placeholderText: i18n("Search Time Zones") } - QtControls.TableView { - id: timeZoneView - - signal toggleCurrent - + Item { Layout.fillWidth: true Layout.fillHeight: true - Keys.onSpacePressed: toggleCurrent() + QQC2.ScrollView { + anchors.fill: parent + clip: true + Component.onCompleted: background.visible = true // enable border - model: TimeZoneFilterProxy { - sourceModel: timeZones - filterString: filter.text - } + ListView { + id: listView + focus: true // keyboard navigation + activeFocusOnTab: true // keyboard navigation - QtControls.TableViewColumn { - role: "checked" - width: checkbox.width - delegate: - QtControls.CheckBox { - id: checkBox - anchors.centerIn: parent - checked: styleData.value - activeFocusOnTab: false // only let the TableView as a whole get focus - onClicked: { - //needed for model's setData to be called - model.checked = checked; - } + model: TimeZoneFilterProxy { + sourceModel: timeZones + filterString: filter.text + } - Connections { - target: timeZoneView - onToggleCurrent: { - if (styleData.row === timeZoneView.currentRow) { - model.checked = !checkBox.checked - } - } + delegate: QQC2.CheckDelegate { + id: checkbox + focus: true // keyboard navigation + width: parent.width + text: !city || city.indexOf("UTC") === 0 ? comment : comment ? i18n("%1, %2 (%3)", city, region, comment) : i18n("%1, %2", city, region) + checked: model.checked + onToggled: { + model.checked = checkbox.checked + listView.currentIndex = index // highlight + listView.forceActiveFocus() // keyboard navigation } + highlighted: ListView.isCurrentItem } - - resizable: false - movable: false - } - QtControls.TableViewColumn { - role: "city" - title: i18n("City") - } - QtControls.TableViewColumn { - role: "region" - title: i18n("Region") - } - QtControls.TableViewColumn { - role: "comment" - title: i18n("Comment") + } } } RowLayout { Layout.fillWidth: true - QtControls.CheckBox { + QQC2.CheckBox { id: enableWheelCheckBox text: i18n("Switch time zone with mouse wheel") } } + } diff --git a/applets/systemmonitor/common/contents/ui/ConfigGeneral.qml b/applets/systemmonitor/common/contents/ui/ConfigGeneral.qml --- a/applets/systemmonitor/common/contents/ui/ConfigGeneral.qml +++ b/applets/systemmonitor/common/contents/ui/ConfigGeneral.qml @@ -17,7 +17,6 @@ */ import QtQuick 2.5 -import QtQuick.Controls 1.4 as QQC1 import QtQuick.Controls 2.5 as QQC2 import QtQuick.Layouts 1.3 @@ -119,23 +118,28 @@ anchors.left: parent.left anchors.right: parent.right - // QQC2 SpinBox doesn't cleanly support non-integer values, which can be - // worked around, but the code is messy and the user experience is - // somewhat poor. So for now, we stick with the QQC1 SpinBox - QQC1.SpinBox { + QQC2.SpinBox { id: updateIntervalSpinBox - Kirigami.FormData.label: i18n("Update interval:") - decimals: 1 - suffix: i18ncp("Suffix for spinbox (seconds)", " second", - " seconds") - maximumValue: 1000 - stepSize: 0.1 - onValueChanged: cfg_updateInterval = value * 1000 - Component.onCompleted: value = cfg_updateInterval / 1000 + from: 100 + stepSize: 100 + to: 1000000 + editable: true + validator: DoubleValidator { + bottom: spinbox.from + top: spinbox.to + } + textFromValue: function(value) { + var seconds = value / 1000 + return i18n("%1 seconds", seconds.toFixed(1)) + } + valueFromText: function(text) { + return parseFloat(text) * 1000 + } + value: cfg_updateInterval + onValueModified: cfg_updateInterval = value } - Item { Kirigami.FormData.isSection: true } diff --git a/sddm-theme/KeyboardButton.qml b/sddm-theme/KeyboardButton.qml --- a/sddm-theme/KeyboardButton.qml +++ b/sddm-theme/KeyboardButton.qml @@ -25,9 +25,9 @@ QQC2.Menu { id: keyboardMenu - + property int largestWidth: 9999 - + Component.onCompleted: { var trueWidth = 0; for (var i = 0; i < keyboardMenu.count; i++) { @@ -63,11 +63,11 @@ id: menuItem property string name: modelData.longName property string shortName: modelData.shortName - + property real textWidth: text.contentWidth + 20 implicitWidth: text.contentWidth + 20 implicitHeight: Math.round(text.contentHeight * 1.6) - + contentItem: QQC2.Label { id: text font.pointSize: config.fontSize diff --git a/sddm-theme/Main.qml b/sddm-theme/Main.qml --- a/sddm-theme/Main.qml +++ b/sddm-theme/Main.qml @@ -20,7 +20,7 @@ import QtQuick 2.8 import QtQuick.Layouts 1.1 -import QtQuick.Controls 2.0 +import QtQuick.Controls 2.0 as QQC2 import QtGraphicalEffects 1.0 import org.kde.plasma.core 2.0 as PlasmaCore @@ -148,7 +148,6 @@ anchors.horizontalCenter: parent.horizontalCenter } - StackView { id: mainStack anchors { @@ -435,7 +434,7 @@ DropShadow { id: logoShadow anchors.fill: logo - source: logo + source: logo visible: !softwareRendering && config.showlogo == "shown" horizontalOffset: 1 verticalOffset: 1 diff --git a/sddm-theme/SessionButton.qml b/sddm-theme/SessionButton.qml --- a/sddm-theme/SessionButton.qml +++ b/sddm-theme/SessionButton.qml @@ -45,7 +45,7 @@ QQC2.Menu { id: sessionMenu - + property int largestWidth: 9999 Component.onCompleted: { @@ -55,7 +55,7 @@ } sessionMenu.largestWidth = trueWidth } - + background: Rectangle { implicitHeight: 40 implicitWidth: sessionMenu.largestWidth > sessionButton.implicitWidth ? sessionMenu.largestWidth : sessionButton.implicitWidth diff --git a/wallpapers/image/imagepackage/platformcontents/phone/ui/config.qml b/wallpapers/image/imagepackage/platformcontents/phone/ui/config.qml --- a/wallpapers/image/imagepackage/platformcontents/phone/ui/config.qml +++ b/wallpapers/image/imagepackage/platformcontents/phone/ui/config.qml @@ -22,7 +22,7 @@ import org.kde.plasma.core 2.0 as Plasmacore import org.kde.plasma.wallpapers.image 2.0 as Wallpaper import org.kde.kquickcontrolsaddons 2.0 -import QtQuick.Controls 1.0 as QtControls +import QtQuick.Controls 2.8 as QQC2 Item { id: root @@ -41,7 +41,7 @@ //Rectangle { color: "orange"; x: formAlignment; width: formAlignment; height: 20 } - QtControls.ScrollView { + QQC2.ScrollView { anchors.fill: parent frameVisible: true @@ -71,7 +71,7 @@ } } - QtControls.Button { + QQC2.Button { anchors { bottom: parent.bottom horizontalCenter: parent.horizontalCenter diff --git a/wallpapers/image/imagepackage/platformcontents/phone/ui/customwallpaper.qml b/wallpapers/image/imagepackage/platformcontents/phone/ui/customwallpaper.qml --- a/wallpapers/image/imagepackage/platformcontents/phone/ui/customwallpaper.qml +++ b/wallpapers/image/imagepackage/platformcontents/phone/ui/customwallpaper.qml @@ -22,16 +22,16 @@ import org.kde.plasma.core 2.0 as Plasmacore import org.kde.plasma.wallpapers.image 2.0 as Wallpaper import org.kde.kquickcontrolsaddons 2.0 -import QtQuick.Controls 1.0 as QtControls +import QtQuick.Controls 2.8 as QQC2 Rectangle { id: root color: syspal.window anchors.fill: parent SystemPalette {id: syspal} - QtControls.ScrollView { + QQC2.ScrollView { anchors.fill: parent frameVisible: true @@ -76,7 +76,7 @@ } } } - QtControls.Button { + QQC2.Button { anchors { bottom: parent.bottom horizontalCenter: parent.horizontalCenter