diff options
Diffstat (limited to 'src/settingsui')
35 files changed, 147 insertions, 49 deletions
diff --git a/src/settingsui/network/ComboBoxEntry.qml b/src/settingsui/network/ComboBoxEntry.qml index f7fac3e..71b997c 100644 --- a/src/settingsui/network/ComboBoxEntry.qml +++ b/src/settingsui/network/ComboBoxEntry.qml @@ -40,6 +40,7 @@ RowLayout { property alias delegate: cb.delegate property alias textRole: cb.textRole property alias model: cb.model + property alias count: cb.count property int titleWidth: -1 Label { diff --git a/src/settingsui/network/WifiSettings.qml b/src/settingsui/network/WifiSettings.qml index 5514ece..7a0735c 100644 --- a/src/settingsui/network/WifiSettings.qml +++ b/src/settingsui/network/WifiSettings.qml @@ -35,6 +35,7 @@ Item { id: root anchors.fill: parent Component.onCompleted: NetworkSettingsManager.services.type = NetworkSettingsType.Wifi; + property bool connecting: false GroupBox { id: content @@ -58,13 +59,18 @@ Item { } Switch { checked: selectedInterface.powered - onCheckedChanged: selectedInterface.powered = checked + onCheckedChanged: { + selectedInterface.powered = checked + root.connecting = false + connectView.visible = false + } } } RowLayout { spacing: 10 width: parent.width + visible: selectedInterface.powered && networkSelection.count > 0 Label { Layout.preferredWidth: root.width * 0.382 text: qsTr("Current network") @@ -75,9 +81,27 @@ Item { ComboBoxEntry { id: networkSelection model: NetworkSettingsManager.services + textRole: "name" Layout.fillWidth: true - onCurrentIndexChanged: if (currentIndex >= 0) model.itemFromRow(currentIndex).connectService(); + onCurrentIndexChanged: { + if (currentIndex >= 0) { + connectView.visible = false + + var service = model.itemFromRow(currentIndex) + if (service) { + root.connecting = true + service.connectService(); + } + } + } + + onCountChanged: { + if (count === 0) { + root.connecting = false + connectView.visible = false + } + } delegate: WifiSelectorDelegate { width: networkSelection.width @@ -85,6 +109,25 @@ Item { } } } + + Row { + id: infoRow + spacing: 10 + width: parent.width + visible: selectedInterface.powered && selectedInterface.state !== NetworkSettingsState.Online && (networkSelection.count == 0 || root.connecting) + Label { + id: scanningText + text: root.connecting ? qsTr("Connecting to the network...") : qsTr("Searching for Wi-Fi networks...") + horizontalAlignment: Text.AlignLeft + } + WifiSignalMonitor { + id: scanningIcon + scanning: true + height: scanningText.height + width: height + } + } + GroupBox { id: connectView title: qsTr("Enter a password") @@ -159,7 +202,10 @@ Item { } Button { text: qsTr("Cancel") - onClicked:connectView.visible = false + onClicked: { + networkSelection.currentIndex = -1 + connectView.visible = false + } } } } @@ -180,10 +226,12 @@ Item { target: NetworkSettingsManager.userAgent onShowUserCredentialsInput : { connectView.visible = true + root.connecting = false } onError: { errorView.visible = true connectView.visible = true + root.connecting = false } } } diff --git a/src/settingsui/settingsuiplugin/icons.qrc b/src/settingsui/settingsuiplugin/icons.qrc index 639af66..88bdeac 100644 --- a/src/settingsui/settingsuiplugin/icons.qrc +++ b/src/settingsui/settingsuiplugin/icons.qrc @@ -6,7 +6,6 @@ <file>icons/Bluetooth_qt_6x.png</file> <file>icons/Camcorder_qt_1x.png</file> <file>icons/Camera_qt_1x.png</file> - <file>icons/Chevron-left_black_1x.png</file> <file>icons/Clock_qt_1x.png</file> <file>icons/Clock_qt_6x.png</file> <file>icons/Display_qt_6x.png</file> @@ -21,7 +20,6 @@ <file>icons/Microphone_qt_1x.png</file> <file>icons/MobilePhone_qt_1x.png</file> <file>icons/Mouse_qt_1x.png</file> - <file>icons/Power_black_1x.png</file> <file>icons/Tablet_qt_1x.png</file> <file>icons/Volume_down_qt_1x.png</file> <file>icons/Volume_mute_qt_1x.png</file> @@ -29,5 +27,8 @@ <file>icons/WifiAnim_black_2x.png</file> <file>icons/Wifi_lightgray_2x.png</file> <file>icons/World_qt_6x.png</file> + <file>icons/Chevron-left_black_6x.png</file> + <file>icons/Chevron-left_black.png</file> + <file>icons/Power_black_6x.png</file> </qresource> </RCC> diff --git a/src/settingsui/settingsuiplugin/icons/Alert_yellow_1x.png b/src/settingsui/settingsuiplugin/icons/Alert_yellow_1x.png Binary files differindex 2306ff6..6fd25cb 100644 --- a/src/settingsui/settingsuiplugin/icons/Alert_yellow_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Alert_yellow_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Audio_qt_6x.png b/src/settingsui/settingsuiplugin/icons/Audio_qt_6x.png Binary files differindex 8251129..a33b286 100644 --- a/src/settingsui/settingsuiplugin/icons/Audio_qt_6x.png +++ b/src/settingsui/settingsuiplugin/icons/Audio_qt_6x.png diff --git a/src/settingsui/settingsuiplugin/icons/Bluetooth_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Bluetooth_qt_1x.png Binary files differindex af6968d..d9378b4 100644 --- a/src/settingsui/settingsuiplugin/icons/Bluetooth_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Bluetooth_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Bluetooth_qt_6x.png b/src/settingsui/settingsuiplugin/icons/Bluetooth_qt_6x.png Binary files differindex 55e4fb1..87d80cd 100644 --- a/src/settingsui/settingsuiplugin/icons/Bluetooth_qt_6x.png +++ b/src/settingsui/settingsuiplugin/icons/Bluetooth_qt_6x.png diff --git a/src/settingsui/settingsuiplugin/icons/Camcorder_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Camcorder_qt_1x.png Binary files differindex 7ffb2c8..79db562 100644 --- a/src/settingsui/settingsuiplugin/icons/Camcorder_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Camcorder_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Camera_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Camera_qt_1x.png Binary files differindex b84e53a..0b831c5 100644 --- a/src/settingsui/settingsuiplugin/icons/Camera_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Camera_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Chevron-left_black.png b/src/settingsui/settingsuiplugin/icons/Chevron-left_black.png Binary files differnew file mode 100644 index 0000000..0ebc3f4 --- /dev/null +++ b/src/settingsui/settingsuiplugin/icons/Chevron-left_black.png diff --git a/src/settingsui/settingsuiplugin/icons/Chevron-left_black_1x.png b/src/settingsui/settingsuiplugin/icons/Chevron-left_black_1x.png Binary files differdeleted file mode 100644 index 225176b..0000000 --- a/src/settingsui/settingsuiplugin/icons/Chevron-left_black_1x.png +++ /dev/null diff --git a/src/settingsui/settingsuiplugin/icons/Chevron-left_black_6x.png b/src/settingsui/settingsuiplugin/icons/Chevron-left_black_6x.png Binary files differnew file mode 100644 index 0000000..c1a8cff --- /dev/null +++ b/src/settingsui/settingsuiplugin/icons/Chevron-left_black_6x.png diff --git a/src/settingsui/settingsuiplugin/icons/Clock_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Clock_qt_1x.png Binary files differindex ee58f95..d4b220d 100644 --- a/src/settingsui/settingsuiplugin/icons/Clock_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Clock_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Clock_qt_6x.png b/src/settingsui/settingsuiplugin/icons/Clock_qt_6x.png Binary files differindex aba8b60..b351887 100644 --- a/src/settingsui/settingsuiplugin/icons/Clock_qt_6x.png +++ b/src/settingsui/settingsuiplugin/icons/Clock_qt_6x.png diff --git a/src/settingsui/settingsuiplugin/icons/Display_qt_6x.png b/src/settingsui/settingsuiplugin/icons/Display_qt_6x.png Binary files differindex e45c45c..89d1845 100644 --- a/src/settingsui/settingsuiplugin/icons/Display_qt_6x.png +++ b/src/settingsui/settingsuiplugin/icons/Display_qt_6x.png diff --git a/src/settingsui/settingsuiplugin/icons/Flag_qt_6x.png b/src/settingsui/settingsuiplugin/icons/Flag_qt_6x.png Binary files differindex f549ebd..32212da 100644 --- a/src/settingsui/settingsuiplugin/icons/Flag_qt_6x.png +++ b/src/settingsui/settingsuiplugin/icons/Flag_qt_6x.png diff --git a/src/settingsui/settingsuiplugin/icons/Headphones_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Headphones_qt_1x.png Binary files differindex 82b04e7..da86427 100644 --- a/src/settingsui/settingsuiplugin/icons/Headphones_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Headphones_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Heartbeat_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Heartbeat_qt_1x.png Binary files differindex 16a94bc..9599158 100644 --- a/src/settingsui/settingsuiplugin/icons/Heartbeat_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Heartbeat_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Keyboard_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Keyboard_qt_1x.png Binary files differindex cc6417d..5911e06 100644 --- a/src/settingsui/settingsuiplugin/icons/Keyboard_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Keyboard_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Laptop_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Laptop_qt_1x.png Binary files differindex 2924015..4708259 100644 --- a/src/settingsui/settingsuiplugin/icons/Laptop_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Laptop_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Microphone_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Microphone_qt_1x.png Binary files differindex f76a963..9182212 100644 --- a/src/settingsui/settingsuiplugin/icons/Microphone_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Microphone_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/MobilePhone_qt_1x.png b/src/settingsui/settingsuiplugin/icons/MobilePhone_qt_1x.png Binary files differindex 363d667..50fcc0a 100644 --- a/src/settingsui/settingsuiplugin/icons/MobilePhone_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/MobilePhone_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Mouse_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Mouse_qt_1x.png Binary files differindex 24d057d..a1eefe5 100644 --- a/src/settingsui/settingsuiplugin/icons/Mouse_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Mouse_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Power_black_1x.png b/src/settingsui/settingsuiplugin/icons/Power_black_1x.png Binary files differdeleted file mode 100644 index cca0fe8..0000000 --- a/src/settingsui/settingsuiplugin/icons/Power_black_1x.png +++ /dev/null diff --git a/src/settingsui/settingsuiplugin/icons/Power_black_6x.png b/src/settingsui/settingsuiplugin/icons/Power_black_6x.png Binary files differnew file mode 100644 index 0000000..d6add07 --- /dev/null +++ b/src/settingsui/settingsuiplugin/icons/Power_black_6x.png diff --git a/src/settingsui/settingsuiplugin/icons/Tablet_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Tablet_qt_1x.png Binary files differindex e218184..1d0bc4f 100644 --- a/src/settingsui/settingsuiplugin/icons/Tablet_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Tablet_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Volume_down_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Volume_down_qt_1x.png Binary files differindex 2068819..05c2ce4 100644 --- a/src/settingsui/settingsuiplugin/icons/Volume_down_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Volume_down_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Volume_mute_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Volume_mute_qt_1x.png Binary files differindex 1a41927..ca14213 100644 --- a/src/settingsui/settingsuiplugin/icons/Volume_mute_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Volume_mute_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/Volume_up_qt_1x.png b/src/settingsui/settingsuiplugin/icons/Volume_up_qt_1x.png Binary files differindex 45a8b61..08f6221 100644 --- a/src/settingsui/settingsuiplugin/icons/Volume_up_qt_1x.png +++ b/src/settingsui/settingsuiplugin/icons/Volume_up_qt_1x.png diff --git a/src/settingsui/settingsuiplugin/icons/WifiAnim_black_2x.png b/src/settingsui/settingsuiplugin/icons/WifiAnim_black_2x.png Binary files differindex 76c850d..c2dc8c5 100644 --- a/src/settingsui/settingsuiplugin/icons/WifiAnim_black_2x.png +++ b/src/settingsui/settingsuiplugin/icons/WifiAnim_black_2x.png diff --git a/src/settingsui/settingsuiplugin/icons/Wifi_lightgray_2x.png b/src/settingsui/settingsuiplugin/icons/Wifi_lightgray_2x.png Binary files differindex 3e6183a..b71b22e 100644 --- a/src/settingsui/settingsuiplugin/icons/Wifi_lightgray_2x.png +++ b/src/settingsui/settingsuiplugin/icons/Wifi_lightgray_2x.png diff --git a/src/settingsui/settingsuiplugin/icons/World_qt_6x.png b/src/settingsui/settingsuiplugin/icons/World_qt_6x.png Binary files differindex 9024031..2aee655 100644 --- a/src/settingsui/settingsuiplugin/icons/World_qt_6x.png +++ b/src/settingsui/settingsuiplugin/icons/World_qt_6x.png diff --git a/src/settingsui/settingsuiplugin/pluginMain.qml b/src/settingsui/settingsuiplugin/pluginMain.qml index 4df473f..3f15c57 100644 --- a/src/settingsui/settingsuiplugin/pluginMain.qml +++ b/src/settingsui/settingsuiplugin/pluginMain.qml @@ -47,51 +47,52 @@ Rectangle { height: 40 z: 2 - RowLayout { - spacing: 20 - anchors.fill: parent - - ToolButton { - contentItem: Image { - fillMode: Image.PreserveAspectFit - source: "../icons/Chevron-left_black_1x.png" - anchors.centerIn: parent - } - - visible: stackView.depth > 1 - onClicked: stackView.pop(); + ToolButton { + height: parent.height + width: height + contentItem: Image { + fillMode: Image.PreserveAspectFit + source: "../icons/Chevron-left_black_6x.png" + anchors.fill: parent + anchors.margins: parent.height * .2 } - Label { - id: titleText - font.pixelSize: 20 - text: stackView.currentItem.title - horizontalAlignment: Qt.AlignHCenter - verticalAlignment: Qt.AlignVCenter - anchors.centerIn: parent + + visible: stackView.depth > 1 + onClicked: stackView.pop(); + } + Label { + id: titleText + font.pixelSize: 20 + text: stackView.currentItem.title + horizontalAlignment: Qt.AlignHCenter + verticalAlignment: Qt.AlignVCenter + anchors.centerIn: parent + } + ToolButton { + height: parent.height + width: height + contentItem: Image { + fillMode: Image.PreserveAspectFit + source: "../icons/Power_black_6x.png" + anchors.fill: parent + anchors.margins: parent.height * .2 } - ToolButton { - contentItem: Image { - fillMode: Image.PreserveAspectFit - source: "../icons/Power_black_1x.png" - anchors.centerIn: parent - } - anchors.right: parent.right + anchors.right: parent.right - visible: stackView.depth === 1 - onClicked: menu.open(); + visible: stackView.depth === 1 + onClicked: menu.open(); - Menu { - id: menu - x: parent.width - width + Menu { + id: menu + x: parent.width - width - MenuItem { - text: qsTr("Reboot") - onTriggered: LocalDevice.reboot() - } - MenuItem { - text: qsTr("Shutdown") - onTriggered: LocalDevice.powerOff() - } + MenuItem { + text: qsTr("Reboot") + onTriggered: LocalDevice.reboot() + } + MenuItem { + text: qsTr("Shutdown") + onTriggered: LocalDevice.powerOff() } } } diff --git a/src/settingsui/settingsuiplugin/settingsuiplugin_plugin.cpp b/src/settingsui/settingsuiplugin/settingsuiplugin_plugin.cpp index 8b141e3..f428916 100644 --- a/src/settingsui/settingsuiplugin/settingsuiplugin_plugin.cpp +++ b/src/settingsui/settingsuiplugin/settingsuiplugin_plugin.cpp @@ -29,6 +29,49 @@ #include "settingsuiplugin_plugin.h" #include <qqml.h> +/*! + \qmlmodule QtDeviceUtilities.SettingsUI 1.0 + \title Qt Device Utilities: Settings UI + \ingroup qtee-qmlmodules + \brief Provides a system-wide settings UI. + + The \c DeviceUtilities.SettingsUI module provides a single QML type, + SettingsUI, that allows applications to integrate a standard, system-wide + settings view into their user interface. + + Import the module as follows: + + \badcode + import QtDeviceUtilities.SettingsUI 1.0 + \endcode + + \section1 QML Types +*/ + +/*! + \qmltype SettingsUI + \inqmlmodule QtDeviceUtilities.SettingsUI + \brief Provides a QML type for displaying a system-wide settings UI. + + With the SettingsUI type, applications can easily integrate a standard, + system-wide settings view into their user interface. + + For example: + + \qml + import QtQuick 2.6 + import QtDeviceUtilities.SettingsUI 1.0 + + SettingsUI { + id: settingsUI + anchors.fill: parent + } + \endqml + + There is no need to import the various \c {DeviceUtilities.*} modules and + to declare a custom settings UI, unless specifically required. +*/ + void SettingsuipluginPlugin::registerTypes(const char *uri) { // @uri QtDeviceUtilities.SettingsUI diff --git a/src/settingsui/timedate/CustomCalendar.qml b/src/settingsui/timedate/CustomCalendar.qml index 5be8398..a1deff0 100644 --- a/src/settingsui/timedate/CustomCalendar.qml +++ b/src/settingsui/timedate/CustomCalendar.qml @@ -66,8 +66,10 @@ Rectangle { color: "#d6d6d6" Image { - anchors.centerIn: parent - source: "../icons/Chevron-left_black_1x.png" + anchors.fill: parent + anchors.margins: parent.height * .2 + source: "../icons/Chevron-left_black.png" + fillMode: Image.PreserveAspectFit } } onClicked: { @@ -101,9 +103,11 @@ Rectangle { color: "#d6d6d6" Image { - anchors.centerIn: parent - source: "../icons/Chevron-left_black_1x.png" + anchors.fill: parent + anchors.margins: parent.height * .2 + source: "../icons/Chevron-left_black.png" mirror: true + fillMode: Image.PreserveAspectFit } } onClicked: { |