summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.qmake.conf2
-rw-r--r--src/doc/qtdeviceutilities-project.qdocconf18
-rw-r--r--src/imports/networksettings/plugin.cpp2
-rw-r--r--src/networksettings/connman/connman_manager.xml6
-rw-r--r--src/networksettings/connman/qnetworksettingsinterface_p.cpp5
-rw-r--r--src/networksettings/connman/qnetworksettingsinterface_p.h7
-rw-r--r--src/networksettings/connman/qnetworksettingsmanager_p.cpp36
-rw-r--r--src/networksettings/connman/qnetworksettingsmanager_p.h2
-rw-r--r--src/networksettings/qnetworksettingsinterfacemodel.cpp55
-rw-r--r--src/networksettings/qnetworksettingsinterfacemodel.h9
-rw-r--r--src/settingsui/display/Display.qml8
-rw-r--r--src/settingsui/locale/Language.qml3
-rw-r--r--src/settingsui/locale/RegionSelect.qml44
-rw-r--r--src/settingsui/network/NetworkSettings.qml6
-rw-r--r--src/settingsui/settingsuiplugin/pluginMain.qml1
-rw-r--r--src/settingsui/timedate/ManualTime.qml20
-rw-r--r--src/settingsui/timedate/TimeDate.qml6
17 files changed, 176 insertions, 54 deletions
diff --git a/.qmake.conf b/.qmake.conf
index d98780d..243940d 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -1,3 +1,3 @@
load(qt_build_config)
-MODULE_VERSION=5.11.3
+MODULE_VERSION=5.12.0
CMAKE_MODULE_TESTS=-
diff --git a/src/doc/qtdeviceutilities-project.qdocconf b/src/doc/qtdeviceutilities-project.qdocconf
index e8abc97..71af922 100644
--- a/src/doc/qtdeviceutilities-project.qdocconf
+++ b/src/doc/qtdeviceutilities-project.qdocconf
@@ -60,15 +60,15 @@ qhp.QtDeviceUtilities.subprojects.classes.indexTitle = Qt Device Utilities C++ C
qhp.QtDeviceUtilities.subprojects.classes.selectors = class fake:headerfile
qhp.QtDeviceUtilities.subprojects.classes.sortPages = true
-qhp.QtDeviceUtilities.subprojects.modules.title = QML Types
-qhp.QtDeviceUtilities.subprojects.modules.indexTitle = Qt Device Utilities QML Types
-qhp.QtDeviceUtilities.subprojects.modules.selectors = qmlmodule module
-qhp.QtDeviceUtilities.subprojects.modules.sortPages = true
-
-qhp.QtWebEngine.subprojects.examples.title = Examples
-qhp.QtWebEngine.subprojects.examples.indexTitle = Qt Device Utilities Examples
-qhp.QtWebEngine.subprojects.examples.selectors = doc:example
-qhp.QtWebEngine.subprojects.examples.sortPages = true
+qhp.QtDeviceUtilities.subprojects.qmltypes.title = QML Types
+qhp.QtDeviceUtilities.subprojects.qmltypes.indexTitle = Qt Device Utilities QML Types
+qhp.QtDeviceUtilities.subprojects.qmltypes.selectors = qmlclass
+qhp.QtDeviceUtilities.subprojects.qmltypes.sortPages = true
+
+qhp.QtDeviceUtilities.subprojects.examples.title = Examples
+qhp.QtDeviceUtilities.subprojects.examples.indexTitle = Qt Device Utilities Examples
+qhp.QtDeviceUtilities.subprojects.examples.selectors = doc:example
+qhp.QtDeviceUtilities.subprojects.examples.sortPages = true
macro.B2Q = "Boot to Qt"
macro.SDK = "Qt for Device Creation"
diff --git a/src/imports/networksettings/plugin.cpp b/src/imports/networksettings/plugin.cpp
index ee49594..6900550 100644
--- a/src/imports/networksettings/plugin.cpp
+++ b/src/imports/networksettings/plugin.cpp
@@ -47,7 +47,7 @@
\brief Provides singleton QML types for controlling network settings.
Provides singleton QML types for controlling network settings in an
- embedded device.QAbstractItemModel
+ embedded device.
Import the module as follows:
diff --git a/src/networksettings/connman/connman_manager.xml b/src/networksettings/connman/connman_manager.xml
index 1c9e552..95bc0cb 100644
--- a/src/networksettings/connman/connman_manager.xml
+++ b/src/networksettings/connman/connman_manager.xml
@@ -77,13 +77,13 @@
<arg name="path" type="o"/>
</method>
- <signal name="NetworkTypeAdded" tp:name-for-bindings="NetworkType_Added">
+ <signal name="TechnologyAdded" tp:name-for-bindings="Technology_Added">
<arg name="technology" type="o"/>
<arg name="properties" type="a{sv}"/>
- <annotation name="org.qtproject.QtDBus.QtTypeName.Out1" value="QVariantMap"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/>
</signal>
- <signal name="NetworkTypeRemoved" tp:name-for-bindings="NetworkType_Removed">
+ <signal name="TechnologyRemoved" tp:name-for-bindings="Technology_Removed">
<arg name="technology" type="o"/>
</signal>
diff --git a/src/networksettings/connman/qnetworksettingsinterface_p.cpp b/src/networksettings/connman/qnetworksettingsinterface_p.cpp
index 5a64c15..5f008ff 100644
--- a/src/networksettings/connman/qnetworksettingsinterface_p.cpp
+++ b/src/networksettings/connman/qnetworksettingsinterface_p.cpp
@@ -103,4 +103,9 @@ void QNetworkSettingsInterfacePrivate::scan()
qDebug() << "Tried to scan while not powered";
}
+QString QNetworkSettingsInterfacePrivate::path() const
+{
+ return m_technology->path();
+}
+
QT_END_NAMESPACE
diff --git a/src/networksettings/connman/qnetworksettingsinterface_p.h b/src/networksettings/connman/qnetworksettingsinterface_p.h
index 728e64a..d85712a 100644
--- a/src/networksettings/connman/qnetworksettingsinterface_p.h
+++ b/src/networksettings/connman/qnetworksettingsinterface_p.h
@@ -63,6 +63,7 @@ public:
QNetworkSettingsType::Types type() const {return m_type.type();}
QNetworkSettingsState::States state() const {return m_state.state();}
bool powered() const {return m_powered;}
+ QString path() const;
public slots:
void updateProperty(const QString &name, const QDBusVariant &value);
@@ -98,6 +99,12 @@ public:
virtual ~ConnmanSettingsInterface() {
}
+
+ QString path() const {
+ if (d_ptr)
+ return d_ptr->path();
+ return QString();
+ }
};
QT_END_NAMESPACE
diff --git a/src/networksettings/connman/qnetworksettingsmanager_p.cpp b/src/networksettings/connman/qnetworksettingsmanager_p.cpp
index bd656c6..2f7965d 100644
--- a/src/networksettings/connman/qnetworksettingsmanager_p.cpp
+++ b/src/networksettings/connman/qnetworksettingsmanager_p.cpp
@@ -94,6 +94,8 @@ bool QNetworkSettingsManagerPrivate::initialize()
this, &QNetworkSettingsManagerPrivate::getServicesFinished);
connect(m_manager, &NetConnmanManagerInterface::ServicesChanged, this, &QNetworkSettingsManagerPrivate::onServicesChanged);
+ connect(m_manager, &NetConnmanManagerInterface::TechnologyAdded, this, &QNetworkSettingsManagerPrivate::onTechnologyAdded);
+ connect(m_manager, &NetConnmanManagerInterface::TechnologyRemoved, this, &QNetworkSettingsManagerPrivate::onTechnologyRemoved);
m_manager->RegisterAgent(QDBusObjectPath(AgentPath));
m_initialized = true;
@@ -154,6 +156,40 @@ void QNetworkSettingsManagerPrivate::onConnmanServiceRegistered(const QString &s
}
}
+void QNetworkSettingsManagerPrivate::onTechnologyAdded(const QDBusObjectPath &technology, const QVariantMap &properties)
+{
+ Q_Q(QNetworkSettingsManager);
+
+ foreach (QNetworkSettingsInterface* item, m_interfaceModel.getModel()) {
+ ConnmanSettingsInterface* tech = qobject_cast<ConnmanSettingsInterface*>(item);
+ if (tech->path() != technology.path()) {
+ ConnmanSettingsInterface *interface = new ConnmanSettingsInterface(technology.path(), properties, this);
+ interface->scanServices();
+
+ if (interface->type() == QNetworkSettingsType::Wired) {
+ m_interfaceModel.insert(0, interface);
+ }
+ else if (interface->type() == QNetworkSettingsType::Wifi) {
+ m_interfaceModel.append(interface);
+ }
+ emit q->interfacesChanged();
+ }
+ }
+}
+
+void QNetworkSettingsManagerPrivate::onTechnologyRemoved(const QDBusObjectPath &technology)
+{
+ Q_Q(QNetworkSettingsManager);
+
+ foreach (QNetworkSettingsInterface* item, m_interfaceModel.getModel()) {
+ ConnmanSettingsInterface* tech = qobject_cast<ConnmanSettingsInterface*>(item);
+ if (tech->path() == technology.path()) {
+ m_interfaceModel.removeInterface(technology.path());
+ emit q->interfacesChanged();
+ }
+ }
+}
+
void QNetworkSettingsManagerPrivate::getServicesFinished(QDBusPendingCallWatcher *watcher)
{
Q_Q(QNetworkSettingsManager);
diff --git a/src/networksettings/connman/qnetworksettingsmanager_p.h b/src/networksettings/connman/qnetworksettingsmanager_p.h
index b9133ab..8b5d1a7 100644
--- a/src/networksettings/connman/qnetworksettingsmanager_p.h
+++ b/src/networksettings/connman/qnetworksettingsmanager_p.h
@@ -82,6 +82,8 @@ public slots:
void onServicesChanged(ConnmanMapStructList changed, const QList<QDBusObjectPath> &removed);
void serviceReady();
void onConnmanServiceRegistered(const QString &serviceName);
+ void onTechnologyAdded(const QDBusObjectPath &technology, const QVariantMap &properties);
+ void onTechnologyRemoved(const QDBusObjectPath &technology);
private:
bool initialize();
void handleNewService(const QString& servicePath);
diff --git a/src/networksettings/qnetworksettingsinterfacemodel.cpp b/src/networksettings/qnetworksettingsinterfacemodel.cpp
index ff234ac..09b96ba 100644
--- a/src/networksettings/qnetworksettingsinterfacemodel.cpp
+++ b/src/networksettings/qnetworksettingsinterfacemodel.cpp
@@ -123,6 +123,7 @@ QVariant QNetworkSettingsInterfaceModel::data(const QModelIndex & index, int rol
void QNetworkSettingsInterfaceModel::append(QNetworkSettingsInterface* item)
{
item->setParent(this);
+ connectStateChanges(item);
beginInsertRows(QModelIndex(), rowCount(), rowCount());
m_items.append(item);
@@ -135,12 +136,19 @@ void QNetworkSettingsInterfaceModel::append(QNetworkSettingsInterface* item)
void QNetworkSettingsInterfaceModel::insert(int row, QNetworkSettingsInterface* item)
{
item->setParent(this);
+ connectStateChanges(item);
beginInsertRows(QModelIndex(), row, row);
m_items.insert(row, item);
endInsertRows();
}
+void QNetworkSettingsInterfaceModel::connectStateChanges(QNetworkSettingsInterface* item)
+{
+ connect(item, &QNetworkSettingsInterface::stateChanged, this, &QNetworkSettingsInterfaceModel::connectionStatusChanged);
+ connect(item, &QNetworkSettingsInterface::poweredChanged, this, &QNetworkSettingsInterfaceModel::poweredChanged);
+}
+
/*!
Removes the row \a row from the model.
*/
@@ -151,6 +159,24 @@ void QNetworkSettingsInterfaceModel::remove(int row)
endRemoveRows();
}
+bool QNetworkSettingsInterfaceModel::removeInterface(const QString &name)
+{
+ bool ret = false;
+ for (int i=0; i < m_items.count(); i++) {
+ if (m_items.at(i)->name() == name) {
+ remove(i);
+ ret = true;
+ break;
+ }
+ }
+ return ret;
+}
+
+void QNetworkSettingsInterfaceModel::updated(int row)
+{
+ dataChanged(createIndex(row, 0), createIndex(row, 0));
+}
+
/*!
Returns the network interface model.
*/
@@ -159,4 +185,33 @@ QList<QNetworkSettingsInterface*> QNetworkSettingsInterfaceModel::getModel()
return m_items;
}
+void QNetworkSettingsInterfaceModel::connectionStatusChanged()
+{
+ QNetworkSettingsInterface *s = qobject_cast<QNetworkSettingsInterface*>(sender());
+
+ int row = 0;
+ foreach (QNetworkSettingsInterface* item, m_items) {
+ if (item == s) {
+ updated(row);
+ break;
+ }
+ row++;
+ }
+
+}
+
+void QNetworkSettingsInterfaceModel::poweredChanged()
+{
+ QNetworkSettingsInterface *s = qobject_cast<QNetworkSettingsInterface*>(sender());
+ int row = 0;
+ foreach (QNetworkSettingsInterface* item, m_items) {
+ if (item == s) {
+ updated(row);
+ break;
+ }
+ row++;
+ }
+}
+
+
QT_END_NAMESPACE
diff --git a/src/networksettings/qnetworksettingsinterfacemodel.h b/src/networksettings/qnetworksettingsinterfacemodel.h
index 4ecebc7..6dd1f2a 100644
--- a/src/networksettings/qnetworksettingsinterfacemodel.h
+++ b/src/networksettings/qnetworksettingsinterfacemodel.h
@@ -59,6 +59,15 @@ public:
Powered
};
+ void updated(int row);
+ bool removeInterface(const QString &name);
+private Q_SLOTS:
+ void connectionStatusChanged();
+ void poweredChanged();
+
+private:
+ void connectStateChanges(QNetworkSettingsInterface* item);
+
private:
QList<QNetworkSettingsInterface*> m_items;
QHash<int, QByteArray> m_roleNames;
diff --git a/src/settingsui/display/Display.qml b/src/settingsui/display/Display.qml
index ecb1e33..a30e9eb 100644
--- a/src/settingsui/display/Display.qml
+++ b/src/settingsui/display/Display.qml
@@ -119,6 +119,10 @@ Item {
}
TextField {
id: widthField
+ leftPadding: pluginMain.margin
+ rightPadding: pluginMain.margin
+ bottomPadding: 6
+ topPadding: 6
height: pluginMain.buttonHeight
width: root.width * 0.13
color: "black"
@@ -142,6 +146,10 @@ Item {
}
TextField {
id: heightField
+ leftPadding: pluginMain.margin
+ rightPadding: pluginMain.margin
+ bottomPadding: 6
+ topPadding: 6
width: widthField.width
height: pluginMain.buttonHeight
color: "black"
diff --git a/src/settingsui/locale/Language.qml b/src/settingsui/locale/Language.qml
index 47a4fdf..23d1b64 100644
--- a/src/settingsui/locale/Language.qml
+++ b/src/settingsui/locale/Language.qml
@@ -35,8 +35,7 @@ import QtDeviceUtilities.QtButtonImageProvider 1.0
Item {
id: root
- // QTBUG-63598: property var currentRegion: Qt.locale(LocaleManager.locale)
- property var currentRegion: Qt.locale("en_EN")
+ property var currentRegion: Qt.locale(LocaleManager.locale)
Column {
spacing: pluginMain.spacing
diff --git a/src/settingsui/locale/RegionSelect.qml b/src/settingsui/locale/RegionSelect.qml
index 148db0e..d27eb2a 100644
--- a/src/settingsui/locale/RegionSelect.qml
+++ b/src/settingsui/locale/RegionSelect.qml
@@ -35,8 +35,7 @@ import QtGraphicalEffects 1.0
Item {
id: root
- // QTBUG-63598: property var currentRegion: Qt.locale(LocaleManager.locale)
- property var currentRegion: Qt.locale("en_EN")
+ property var currentRegion: Qt.locale(LocaleManager.locale)
Row {
id: backRow
@@ -106,27 +105,26 @@ Item {
anchors.bottom: parent.bottom
anchors.right: parent.right
anchors.topMargin: parent.height * 0.025
- RowLayout {
- spacing: 10
- Layout.fillHeight: false
- Layout.preferredHeight: root.height * 0.075
- TextField {
- id: country
- Layout.fillHeight: true
- Layout.preferredWidth: root.width * 0.5
- font.pixelSize: pluginMain.valueFontSize
- color: "white"
- text: ""
- placeholderText: "Search..."
- font.family: appFont
- font.styleName: "Light"
- onTextChanged: LocaleFilter.filter = country.text
- Layout.alignment: Qt.AlignVCenter
- background: Rectangle {
- color: "transparent"
- border.color: viewSettings.borderColor
- border.width: 2
- }
+ TextField {
+ id: country
+ Layout.preferredWidth: root.width * 0.5
+ font.pixelSize: pluginMain.valueFontSize
+ leftPadding: pluginMain.margin
+ rightPadding: pluginMain.margin
+ bottomPadding: 6
+ topPadding: 6
+ color: "white"
+ text: ""
+ placeholderText: "Search..."
+ placeholderTextColor: "white"
+ font.family: appFont
+ font.styleName: "Regular"
+ onTextChanged: LocaleFilter.filter = country.text
+ Layout.alignment: Qt.AlignVCenter
+ background: Rectangle {
+ color: "transparent"
+ border.color: viewSettings.borderColor
+ border.width: 1
}
}
diff --git a/src/settingsui/network/NetworkSettings.qml b/src/settingsui/network/NetworkSettings.qml
index 58d51b7..982a858 100644
--- a/src/settingsui/network/NetworkSettings.qml
+++ b/src/settingsui/network/NetworkSettings.qml
@@ -88,6 +88,9 @@ Item {
QtButton {
id: manualConnect
visible: true
+ enabled: wifiSwitch.checked
+ fillColor: enabled ? viewSettings.buttonGreenColor : viewSettings.buttonGrayColor
+ borderColor: "transparent"
height: pluginMain.buttonHeight
text: qsTr("Connect manually")
onClicked: {
@@ -97,6 +100,9 @@ Item {
QtButton {
id: manualDisconnect
visible: true
+ enabled: NetworkSettingsManager.currentWifiConnection
+ fillColor: enabled ? viewSettings.buttonGreenColor : viewSettings.buttonGrayColor
+ borderColor: "transparent"
height: pluginMain.buttonHeight
text: qsTr("Disconnect wireless")
onClicked: {
diff --git a/src/settingsui/settingsuiplugin/pluginMain.qml b/src/settingsui/settingsuiplugin/pluginMain.qml
index def4c80..6f19a3b 100644
--- a/src/settingsui/settingsuiplugin/pluginMain.qml
+++ b/src/settingsui/settingsuiplugin/pluginMain.qml
@@ -59,7 +59,6 @@ Rectangle {
{
if (!__initialized) {
__initialized = true;
- settingsHeader.refreshIP()
settingsList.currentIndex = 0
if (xmlModel.count >= 1) {
settingsLoader.source = xmlModel.get(0).path + '/' +
diff --git a/src/settingsui/timedate/ManualTime.qml b/src/settingsui/timedate/ManualTime.qml
index 1438565..87e0f7e 100644
--- a/src/settingsui/timedate/ManualTime.qml
+++ b/src/settingsui/timedate/ManualTime.qml
@@ -69,8 +69,8 @@ Item {
delegate: ItemDelegate {
id: dayDelegate
height: dayBox.height
- // QTBUG-49224: contentItem: Item {}
- Text {
+ width: dayBox.width
+ contentItem: Text {
anchors.left: dayDelegate.left
anchors.leftMargin: pluginMain.margin
text: modelData + 1
@@ -97,8 +97,8 @@ Item {
delegate: ItemDelegate {
id: monthDelegate
height: monthBox.height
- // QTBUG-49224: contentItem: Item {}
- Text {
+ width: monthBox.width
+ contentItem: Text {
anchors.left: monthDelegate.left
anchors.leftMargin: pluginMain.margin
color: monthBox.currentIndex == index ? viewSettings.buttonGreenColor : "white"
@@ -128,8 +128,8 @@ Item {
delegate: ItemDelegate {
id: yearDelegate
height: yearBox.height
- // QTBUG-49224: contentItem: Item {}
- Text {
+ width: yearBox.width
+ contentItem: Text {
anchors.left: yearDelegate.left
anchors.leftMargin: pluginMain.margin
text: index + firstYear
@@ -170,8 +170,8 @@ Item {
delegate: ItemDelegate {
id: hourDelegate
height: hourBox.height
- // QTBUG-49224: contentItem: Item {}
- Text {
+ width: hourBox.width
+ contentItem: Text {
anchors.left: hourDelegate.left
anchors.leftMargin: pluginMain.margin
text: zeroPadTime(parseInt(modelData))
@@ -198,8 +198,8 @@ Item {
delegate: ItemDelegate {
id: minuteDelegate
height: minuteBox.height
- // QTBUG-49224: contentItem: Item {}
- Text {
+ width: minuteBox.width
+ contentItem: Text {
anchors.left: minuteDelegate.left
anchors.leftMargin: pluginMain.margin
text: zeroPadTime(parseInt(modelData))
diff --git a/src/settingsui/timedate/TimeDate.qml b/src/settingsui/timedate/TimeDate.qml
index fccda46..c27f431 100644
--- a/src/settingsui/timedate/TimeDate.qml
+++ b/src/settingsui/timedate/TimeDate.qml
@@ -63,8 +63,7 @@ Item {
triggeredOnStart: true
onTriggered: {
var date = new Date();
- // QTBUG-63598: dateText.text = date.toLocaleString(Qt.locale(LocaleManager.locale), Locale.LongFormat)
- dateText.text = date.toLocaleString(Qt.locale("en_EN"), Locale.LongFormat)
+ dateText.text = date.toLocaleString(Qt.locale(LocaleManager.locale), Locale.LongFormat)
}
}
}
@@ -119,8 +118,7 @@ Item {
id: timeZoneDelegate
height: timeZoneBox.height
width: timeZoneBox.width
- // QTBUG-49224: contentItem: Item {}
- Text {
+ contentItem: Text {
anchors.left: timeZoneDelegate.left
anchors.leftMargin: pluginMain.margin
text: modelData["id"]