Merge PR #218: Rename some old components
This commit is contained in:
commit
ca3710f265
@ -515,7 +515,7 @@ void AWSClient::deleteAccount()
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void AWSClient::unpairDevice(const QString &boxId)
|
void AWSClient::unpairDevice(const QString &coreId)
|
||||||
{
|
{
|
||||||
if (!isLoggedIn()) {
|
if (!isLoggedIn()) {
|
||||||
qWarning() << "Not logged in at AWS. Can't unpair device";
|
qWarning() << "Not logged in at AWS. Can't unpair device";
|
||||||
@ -524,18 +524,18 @@ void AWSClient::unpairDevice(const QString &boxId)
|
|||||||
if (tokensExpired()) {
|
if (tokensExpired()) {
|
||||||
qDebug() << "Cannot unpair device. Need to refresh our tokens";
|
qDebug() << "Cannot unpair device. Need to refresh our tokens";
|
||||||
refreshAccessToken();
|
refreshAccessToken();
|
||||||
QueuedCall::enqueue(m_callQueue, QueuedCall("unpairDevice", boxId));
|
QueuedCall::enqueue(m_callQueue, QueuedCall("unpairDevice", coreId));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
qDebug() << "unpairing device";
|
qDebug() << "unpairing device";
|
||||||
QUrl url(QString("https://%1/users/devices/%2").arg(m_configs.value(m_usedConfig).apiEndpoint).arg(boxId));
|
QUrl url(QString("https://%1/users/devices/%2").arg(m_configs.value(m_usedConfig).apiEndpoint).arg(coreId));
|
||||||
QNetworkRequest request(url);
|
QNetworkRequest request(url);
|
||||||
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
||||||
request.setRawHeader("x-api-idToken", m_idToken);
|
request.setRawHeader("x-api-idToken", m_idToken);
|
||||||
|
|
||||||
m_devices->setBusy(true);
|
m_devices->setBusy(true);
|
||||||
QNetworkReply *reply = m_nam->deleteResource(request);
|
QNetworkReply *reply = m_nam->deleteResource(request);
|
||||||
connect(reply, &QNetworkReply::finished, this, [this, reply, boxId]() {
|
connect(reply, &QNetworkReply::finished, this, [this, reply, coreId]() {
|
||||||
reply->deleteLater();
|
reply->deleteLater();
|
||||||
m_devices->setBusy(false);
|
m_devices->setBusy(false);
|
||||||
QByteArray data = reply->readAll();
|
QByteArray data = reply->readAll();
|
||||||
@ -550,7 +550,7 @@ void AWSClient::unpairDevice(const QString &boxId)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
qDebug() << "Device unpaired" << data;
|
qDebug() << "Device unpaired" << data;
|
||||||
m_devices->remove(boxId);
|
m_devices->remove(coreId);
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -838,7 +838,7 @@ bool AWSClient::tokensExpired() const
|
|||||||
return (m_accessTokenExpiry.addSecs(-10) < QDateTime::currentDateTime()) || (m_sessionTokenExpiry.addSecs(-10) < QDateTime::currentDateTime());
|
return (m_accessTokenExpiry.addSecs(-10) < QDateTime::currentDateTime()) || (m_sessionTokenExpiry.addSecs(-10) < QDateTime::currentDateTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AWSClient::postToMQTT(const QString &boxId, const QString ×tamp, QObject* sender, std::function<void (bool)> callback)
|
bool AWSClient::postToMQTT(const QString &coreId, const QString ×tamp, QObject* sender, std::function<void (bool)> callback)
|
||||||
{
|
{
|
||||||
if (!isLoggedIn()) {
|
if (!isLoggedIn()) {
|
||||||
qWarning() << "Cannot post to MQTT. Not logged in to AWS";
|
qWarning() << "Cannot post to MQTT. Not logged in to AWS";
|
||||||
@ -847,10 +847,10 @@ bool AWSClient::postToMQTT(const QString &boxId, const QString ×tamp, QObje
|
|||||||
if (tokensExpired()) {
|
if (tokensExpired()) {
|
||||||
qDebug() << "Cannot post to MQTT. Need to refresh the tokens first";
|
qDebug() << "Cannot post to MQTT. Need to refresh the tokens first";
|
||||||
refreshAccessToken();
|
refreshAccessToken();
|
||||||
QueuedCall::enqueue(m_callQueue, QueuedCall("postToMQTT", boxId, timestamp, sender, callback));
|
QueuedCall::enqueue(m_callQueue, QueuedCall("postToMQTT", coreId, timestamp, sender, callback));
|
||||||
return true; // So far it looks we're doing ok... let's return true
|
return true; // So far it looks we're doing ok... let's return true
|
||||||
}
|
}
|
||||||
QString topic = QString("%1/%2/proxy").arg(boxId).arg(QString(m_identityId));
|
QString topic = QString("%1/%2/proxy").arg(coreId).arg(QString(m_identityId));
|
||||||
|
|
||||||
QPointer<QObject> senderWatcher = QPointer<QObject>(sender);
|
QPointer<QObject> senderWatcher = QPointer<QObject>(sender);
|
||||||
|
|
||||||
|
|||||||
@ -114,11 +114,11 @@ public:
|
|||||||
Q_INVOKABLE void confirmForgotPassword(const QString &username, const QString &code, const QString &newPassword);
|
Q_INVOKABLE void confirmForgotPassword(const QString &username, const QString &code, const QString &newPassword);
|
||||||
Q_INVOKABLE void deleteAccount();
|
Q_INVOKABLE void deleteAccount();
|
||||||
|
|
||||||
Q_INVOKABLE void unpairDevice(const QString &boxId);
|
Q_INVOKABLE void unpairDevice(const QString &coreId);
|
||||||
|
|
||||||
Q_INVOKABLE void fetchDevices();
|
Q_INVOKABLE void fetchDevices();
|
||||||
|
|
||||||
Q_INVOKABLE bool postToMQTT(const QString &boxId, const QString ×tamp, QObject* sender, std::function<void(bool)> callback);
|
Q_INVOKABLE bool postToMQTT(const QString &coreId, const QString ×tamp, QObject* sender, std::function<void(bool)> callback);
|
||||||
Q_INVOKABLE void getId();
|
Q_INVOKABLE void getId();
|
||||||
|
|
||||||
Q_INVOKABLE void registerPushNotificationEndpoint(const QString ®istrationId, const QString &deviceDisplayName, const QString mobileDeviceId, const QString &mobileDeviceManufacturer, const QString &mobileDeviceModel);
|
Q_INVOKABLE void registerPushNotificationEndpoint(const QString ®istrationId, const QString &deviceDisplayName, const QString mobileDeviceId, const QString &mobileDeviceManufacturer, const QString &mobileDeviceModel);
|
||||||
|
|||||||
@ -421,7 +421,7 @@ void JsonRpcClient::helloReply(const QVariantMap ¶ms)
|
|||||||
|
|
||||||
QVersionNumber minimumRequiredVersion = QVersionNumber(1, 0);
|
QVersionNumber minimumRequiredVersion = QVersionNumber(1, 0);
|
||||||
if (m_jsonRpcVersion < minimumRequiredVersion) {
|
if (m_jsonRpcVersion < minimumRequiredVersion) {
|
||||||
qWarning() << "Nymea box doesn't support minimum required version. Required:" << minimumRequiredVersion << "Found:" << m_jsonRpcVersion;
|
qWarning() << "Nymea core doesn't support minimum required version. Required:" << minimumRequiredVersion << "Found:" << m_jsonRpcVersion;
|
||||||
m_connection->disconnect();
|
m_connection->disconnect();
|
||||||
emit invalidProtocolVersion(m_jsonRpcVersion.toString(), minimumRequiredVersion.toString());
|
emit invalidProtocolVersion(m_jsonRpcVersion.toString(), minimumRequiredVersion.toString());
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<file>ui/connection/wifisetup/ConnectWiFiPage.qml</file>
|
<file>ui/connection/wifisetup/ConnectWiFiPage.qml</file>
|
||||||
<file>ui/connection/wifisetup/NetworkSettingsPage.qml</file>
|
<file>ui/connection/wifisetup/NetworkSettingsPage.qml</file>
|
||||||
<file>ui/connection/wifisetup/BoxInfoPage.qml</file>
|
<file>ui/connection/wifisetup/BoxInfoPage.qml</file>
|
||||||
<file>ui/components/GuhHeader.qml</file>
|
<file>ui/components/NymeaHeader.qml</file>
|
||||||
<file>ui/components/HeaderButton.qml</file>
|
<file>ui/components/HeaderButton.qml</file>
|
||||||
<file>ui/components/ColorPicker.qml</file>
|
<file>ui/components/ColorPicker.qml</file>
|
||||||
<file>ui/components/ColorIcon.qml</file>
|
<file>ui/components/ColorIcon.qml</file>
|
||||||
@ -32,7 +32,7 @@
|
|||||||
<file>ui/components/ErrorDialog.qml</file>
|
<file>ui/components/ErrorDialog.qml</file>
|
||||||
<file>ui/components/ShutterControls.qml</file>
|
<file>ui/components/ShutterControls.qml</file>
|
||||||
<file>ui/components/MeaDialog.qml</file>
|
<file>ui/components/MeaDialog.qml</file>
|
||||||
<file>ui/components/MeaListItemDelegate.qml</file>
|
<file>ui/components/NymeaListItemDelegate.qml</file>
|
||||||
<file>ui/components/MainPageTabButton.qml</file>
|
<file>ui/components/MainPageTabButton.qml</file>
|
||||||
<file>ui/components/AutoSizeMenu.qml</file>
|
<file>ui/components/AutoSizeMenu.qml</file>
|
||||||
<file>ui/components/EmptyViewPlaceholder.qml</file>
|
<file>ui/components/EmptyViewPlaceholder.qml</file>
|
||||||
|
|||||||
@ -10,7 +10,7 @@ ApplicationWindow {
|
|||||||
font.capitalization: Font.MixedCase
|
font.capitalization: Font.MixedCase
|
||||||
font.family: "Ubuntu"
|
font.family: "Ubuntu"
|
||||||
|
|
||||||
// The system (box) name.
|
// The core system name.
|
||||||
property string systemName: "nymea"
|
property string systemName: "nymea"
|
||||||
|
|
||||||
// The app name
|
// The app name
|
||||||
|
|||||||
@ -9,7 +9,7 @@ ApplicationWindow {
|
|||||||
font.capitalization: Font.MixedCase
|
font.capitalization: Font.MixedCase
|
||||||
font.family: "Ubuntu"
|
font.family: "Ubuntu"
|
||||||
|
|
||||||
// The system (box) name.
|
// The core system name.
|
||||||
property string systemName: "nymea"
|
property string systemName: "nymea"
|
||||||
|
|
||||||
// The app name
|
// The app name
|
||||||
|
|||||||
@ -14,7 +14,7 @@ ApplicationWindow {
|
|||||||
font.capitalization: Font.MixedCase
|
font.capitalization: Font.MixedCase
|
||||||
font.family: "Oswald"
|
font.family: "Oswald"
|
||||||
|
|
||||||
// The system (box) name.
|
// The core system name.
|
||||||
property string systemName: "nymea"
|
property string systemName: "nymea"
|
||||||
|
|
||||||
// The app name
|
// The app name
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import Nymea 1.0
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Magic")
|
text: qsTr("Magic")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ Page {
|
|||||||
id: rulesProxy
|
id: rulesProxy
|
||||||
rules: engine.ruleManager.rules
|
rules: engine.ruleManager.rules
|
||||||
}
|
}
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
id: ruleDelegate
|
id: ruleDelegate
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/" + (model.executable ? (iconTag ? iconTag.value : "slideshow") : "magic") + ".svg"
|
iconName: "../images/" + (model.executable ? (iconTag ? iconTag.value : "slideshow") : "magic") + ".svg"
|
||||||
|
|||||||
@ -41,7 +41,7 @@ Page {
|
|||||||
ListElement { iconSource: "../images/share.svg"; text: qsTr("Configure things"); page: "thingconfiguration/EditThingsPage.qml" }
|
ListElement { iconSource: "../images/share.svg"; text: qsTr("Configure things"); page: "thingconfiguration/EditThingsPage.qml" }
|
||||||
ListElement { iconSource: "../images/magic.svg"; text: qsTr("Magic"); page: "MagicPage.qml" }
|
ListElement { iconSource: "../images/magic.svg"; text: qsTr("Magic"); page: "MagicPage.qml" }
|
||||||
ListElement { iconSource: "../images/stock_application.svg"; text: qsTr("App settings"); page: "appsettings/AppSettingsPage.qml" }
|
ListElement { iconSource: "../images/stock_application.svg"; text: qsTr("App settings"); page: "appsettings/AppSettingsPage.qml" }
|
||||||
ListElement { iconSource: "../images/settings.svg"; text: qsTr("Box settings"); page: "SettingsPage.qml" }
|
ListElement { iconSource: "../images/settings.svg"; text: qsTr("System settings"); page: "SettingsPage.qml" }
|
||||||
}
|
}
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
@ -250,7 +250,7 @@ Page {
|
|||||||
visible: engine.deviceManager.devices.count === 0 && !engine.deviceManager.fetchingData
|
visible: engine.deviceManager.devices.count === 0 && !engine.deviceManager.fetchingData
|
||||||
title: qsTr("Welcome to %1!").arg(app.systemName)
|
title: qsTr("Welcome to %1!").arg(app.systemName)
|
||||||
// Have that split in 2 because we need those strings separated in EditDevicesPage too and don't want translators to do them twice
|
// Have that split in 2 because we need those strings separated in EditDevicesPage too and don't want translators to do them twice
|
||||||
text: qsTr("There are no things set up yet.") + "\n" + qsTr("In order for your %1 box to be useful, go ahead and add some things.").arg(app.systemName)
|
text: qsTr("There are no things set up yet.") + "\n" + qsTr("In order for your %1 system to be useful, go ahead and add some things.").arg(app.systemName)
|
||||||
imageSource: "qrc:/styles/%1/logo.svg".arg(styleController.currentStyle)
|
imageSource: "qrc:/styles/%1/logo.svg".arg(styleController.currentStyle)
|
||||||
buttonText: qsTr("Add a thing")
|
buttonText: qsTr("Add a thing")
|
||||||
onButtonClicked: pageStack.push(Qt.resolvedUrl("thingconfiguration/NewThingPage.qml"))
|
onButtonClicked: pageStack.push(Qt.resolvedUrl("thingconfiguration/NewThingPage.qml"))
|
||||||
|
|||||||
@ -8,7 +8,7 @@ Page {
|
|||||||
id: root
|
id: root
|
||||||
signal backPressed();
|
signal backPressed();
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Welcome to %1!").arg(app.systemName)
|
text: qsTr("Welcome to %1!").arg(app.systemName)
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: {
|
onBackPressed: {
|
||||||
|
|||||||
@ -316,7 +316,7 @@ Item {
|
|||||||
font.pixelSize: app.largeFont
|
font.pixelSize: app.largeFont
|
||||||
}
|
}
|
||||||
Label {
|
Label {
|
||||||
text: qsTr("Sorry, the version of the %1 box you are trying to connect to is too old. This app requires at least version %2 but the %1 box only supports %3").arg(app.systemName).arg(popup.minimumVersion).arg(popup.actualVersion)
|
text: qsTr("Sorry, the version of the %1:core you are trying to connect to is too old. This app requires at least version %2 but this %1:core only supports %3").arg(app.systemName).arg(popup.minimumVersion).arg(popup.actualVersion)
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,8 +7,8 @@ import "components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Box settings")
|
text: qsTr("System settings")
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -29,7 +29,7 @@ Page {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/configure.svg"
|
iconName: "../images/configure.svg"
|
||||||
text: qsTr("General")
|
text: qsTr("General")
|
||||||
@ -45,11 +45,11 @@ Page {
|
|||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
|
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/network-wifi.svg"
|
iconName: "../images/network-wifi.svg"
|
||||||
text: qsTr("Networking")
|
text: qsTr("Networking")
|
||||||
subText: qsTr("Configure the box's network connection")
|
subText: qsTr("Configure the system's network connection")
|
||||||
prominentSubText: false
|
prominentSubText: false
|
||||||
wrapTexts: false
|
wrapTexts: false
|
||||||
onClicked: pageStack.push(Qt.resolvedUrl("system/NetworkSettingsPage.qml"))
|
onClicked: pageStack.push(Qt.resolvedUrl("system/NetworkSettingsPage.qml"))
|
||||||
@ -62,11 +62,11 @@ Page {
|
|||||||
visible: engine.jsonRpcClient.ensureServerVersion("1.9")
|
visible: engine.jsonRpcClient.ensureServerVersion("1.9")
|
||||||
|
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/cloud.svg"
|
iconName: "../images/cloud.svg"
|
||||||
text: qsTr("Cloud")
|
text: qsTr("Cloud")
|
||||||
subText: qsTr("Connect this box to %1:cloud").arg(app.systemName)
|
subText: qsTr("Connect this %1:core to %1:cloud").arg(app.systemName)
|
||||||
prominentSubText: false
|
prominentSubText: false
|
||||||
wrapTexts: false
|
wrapTexts: false
|
||||||
onClicked: pageStack.push(Qt.resolvedUrl("system/CloudSettingsPage.qml"))
|
onClicked: pageStack.push(Qt.resolvedUrl("system/CloudSettingsPage.qml"))
|
||||||
@ -78,13 +78,13 @@ Page {
|
|||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
|
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/network-vpn.svg"
|
iconName: "../images/network-vpn.svg"
|
||||||
text: qsTr("API interfaces")
|
text: qsTr("API interfaces")
|
||||||
prominentSubText: false
|
prominentSubText: false
|
||||||
wrapTexts: false
|
wrapTexts: false
|
||||||
subText: qsTr("Configure how clients interact with this box")
|
subText: qsTr("Configure how clients interact with this system")
|
||||||
onClicked: pageStack.push(Qt.resolvedUrl("system/ConnectionInterfacesPage.qml"))
|
onClicked: pageStack.push(Qt.resolvedUrl("system/ConnectionInterfacesPage.qml"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -95,7 +95,7 @@ Page {
|
|||||||
visible: engine.jsonRpcClient.ensureServerVersion("1.11")
|
visible: engine.jsonRpcClient.ensureServerVersion("1.11")
|
||||||
|
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/mqtt.svg"
|
iconName: "../images/mqtt.svg"
|
||||||
text: qsTr("MQTT broker")
|
text: qsTr("MQTT broker")
|
||||||
@ -111,7 +111,7 @@ Page {
|
|||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
|
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/stock_website.svg"
|
iconName: "../images/stock_website.svg"
|
||||||
text: qsTr("Web server")
|
text: qsTr("Web server")
|
||||||
@ -128,7 +128,7 @@ Page {
|
|||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
|
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/plugin.svg"
|
iconName: "../images/plugin.svg"
|
||||||
text: qsTr("Plugins")
|
text: qsTr("Plugins")
|
||||||
@ -144,7 +144,7 @@ Page {
|
|||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
|
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/sdk.svg"
|
iconName: "../images/sdk.svg"
|
||||||
text: qsTr("Developer tools")
|
text: qsTr("Developer tools")
|
||||||
@ -161,7 +161,7 @@ Page {
|
|||||||
visible: engine.jsonRpcClient.ensureServerVersion("2.1") && engine.systemController.updateManagementAvailable
|
visible: engine.jsonRpcClient.ensureServerVersion("2.1") && engine.systemController.updateManagementAvailable
|
||||||
|
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/system-update.svg"
|
iconName: "../images/system-update.svg"
|
||||||
text: qsTr("System update")
|
text: qsTr("System update")
|
||||||
@ -177,7 +177,7 @@ Page {
|
|||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
|
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/logs.svg"
|
iconName: "../images/logs.svg"
|
||||||
text: qsTr("Log viewer")
|
text: qsTr("Log viewer")
|
||||||
@ -193,7 +193,7 @@ Page {
|
|||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
|
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/info.svg"
|
iconName: "../images/info.svg"
|
||||||
text: qsTr("About %1:core").arg(app.systemName)
|
text: qsTr("About %1:core").arg(app.systemName)
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("About %1").arg(app.appName)
|
text: qsTr("About %1").arg(app.appName)
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
@ -23,14 +23,14 @@ Page {
|
|||||||
title: app.appName
|
title: app.appName
|
||||||
githubLink: "https://github.com/guh/nymea-app"
|
githubLink: "https://github.com/guh/nymea-app"
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("App version:")
|
text: qsTr("App version:")
|
||||||
subText: appVersion
|
subText: appVersion
|
||||||
progressive: false
|
progressive: false
|
||||||
prominentSubText: false
|
prominentSubText: false
|
||||||
}
|
}
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Qt version:")
|
text: qsTr("Qt version:")
|
||||||
subText: qtVersion
|
subText: qtVersion
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import Nymea 1.0
|
|||||||
import "../components"
|
import "../components"
|
||||||
|
|
||||||
Page {
|
Page {
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("App log")
|
text: qsTr("App log")
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("App Settings")
|
text: qsTr("App Settings")
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
@ -29,7 +29,7 @@ Page {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: qsTr("Look & feel")
|
text: qsTr("Look & feel")
|
||||||
subText: qsTr("Customize the app's look and behavior")
|
subText: qsTr("Customize the app's look and behavior")
|
||||||
@ -44,10 +44,10 @@ Page {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: qsTr("Cloud login")
|
text: qsTr("Cloud login")
|
||||||
subText: qsTr("Log into %1:cloud and manage connected boxes").arg(app.systemName)
|
subText: qsTr("Log into %1:cloud and manage connected %1:core systems").arg(app.systemName)
|
||||||
iconName: "../images/cloud.svg"
|
iconName: "../images/cloud.svg"
|
||||||
prominentSubText: false
|
prominentSubText: false
|
||||||
wrapTexts: false
|
wrapTexts: false
|
||||||
@ -59,7 +59,7 @@ Page {
|
|||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
visible: settings.showHiddenOptions
|
visible: settings.showHiddenOptions
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: qsTr("Developer options")
|
text: qsTr("Developer options")
|
||||||
subText: qsTr("Yeehaaa!")
|
subText: qsTr("Yeehaaa!")
|
||||||
@ -73,7 +73,7 @@ Page {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Material.elevation: layout.isGrid ? 1 : 0
|
Material.elevation: layout.isGrid ? 1 : 0
|
||||||
padding: 0
|
padding: 0
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: qsTr("About %1").arg(app.appName)
|
text: qsTr("About %1").arg(app.appName)
|
||||||
subText: qsTr("Find app versions and licence information")
|
subText: qsTr("Find app versions and licence information")
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Cloud login")
|
text: qsTr("Cloud login")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -68,15 +68,15 @@ Page {
|
|||||||
Layout.rightMargin: app.margins
|
Layout.rightMargin: app.margins
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
text: AWSClient.awsDevices.count === 0 ?
|
text: AWSClient.awsDevices.count === 0 ?
|
||||||
qsTr("There are no boxes connected to your cloud yet.") :
|
qsTr("There are no %1:core systems connected to your cloud yet.").arg(app.systemName) :
|
||||||
qsTr("There are %n boxes connected to your cloud.", "", AWSClient.awsDevices.count)
|
qsTr("There are %n %1:core systems connected to your cloud.", "", AWSClient.awsDevices.count).arg(app.systemName)
|
||||||
}
|
}
|
||||||
ListView {
|
ListView {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
clip: true
|
clip: true
|
||||||
model: AWSClient.awsDevices
|
model: AWSClient.awsDevices
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: model.name
|
text: model.name
|
||||||
subText: model.id
|
subText: model.id
|
||||||
@ -109,7 +109,7 @@ Page {
|
|||||||
MeaDialog {
|
MeaDialog {
|
||||||
id: logoutDialog
|
id: logoutDialog
|
||||||
title: qsTr("Goodbye")
|
title: qsTr("Goodbye")
|
||||||
text: qsTr("Sorry to see you go. If you log out you won't be able to connect to %1 boxes remotely any more. However, you can come back any time, we'll keep your user account. If you whish to completely delete your account and all the data associated with it, check the box below before hitting ok. If you decide to delete your account, all your personal information will be removed from %1:cloud and cannot be restored.").arg(app.systemName)
|
text: qsTr("Sorry to see you go. If you log out you won't be able to connect to %1:core systems remotely any more. However, you can come back any time, we'll keep your user account. If you whish to completely delete your account and all the data associated with it, check the box below before hitting ok. If you decide to delete your account, all your personal information will be removed from %1:cloud and cannot be restored.").arg(app.systemName)
|
||||||
headerIcon: "../images/dialog-warning-symbolic.svg"
|
headerIcon: "../images/dialog-warning-symbolic.svg"
|
||||||
standardButtons: Dialog.Cancel | Dialog.Ok
|
standardButtons: Dialog.Cancel | Dialog.Ok
|
||||||
|
|
||||||
@ -147,7 +147,7 @@ Page {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.leftMargin: app.margins; Layout.rightMargin: app.margins; Layout.topMargin: app.margins
|
Layout.leftMargin: app.margins; Layout.rightMargin: app.margins; Layout.topMargin: app.margins
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
text: qsTr("Log in to %1:cloud in order to connect to %1 boxes from anywhere.").arg(app.systemName)
|
text: qsTr("Log in to %1:cloud in order to connect to %1:core systems from anywhere.").arg(app.systemName)
|
||||||
}
|
}
|
||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
@ -262,7 +262,7 @@ Page {
|
|||||||
id: signupPageComponent
|
id: signupPageComponent
|
||||||
Page {
|
Page {
|
||||||
id: signupPage
|
id: signupPage
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Sign up")
|
text: qsTr("Sign up")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -373,7 +373,7 @@ Page {
|
|||||||
Component {
|
Component {
|
||||||
id: enterCodeComponent
|
id: enterCodeComponent
|
||||||
Page {
|
Page {
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Confirm account")
|
text: qsTr("Confirm account")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -442,7 +442,7 @@ Page {
|
|||||||
|
|
||||||
property alias email: emailTextField.text
|
property alias email: emailTextField.text
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Reset password")
|
text: qsTr("Reset password")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -528,7 +528,7 @@ Page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
property string email
|
property string email
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Reset password")
|
text: qsTr("Reset password")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Developer options")
|
text: qsTr("Developer options")
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
@ -40,7 +40,7 @@ Page {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
}
|
}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("View log")
|
text: qsTr("View log")
|
||||||
onClicked: pageStack.push(Qt.resolvedUrl("../appsettings/AppLogPage.qml"))
|
onClicked: pageStack.push(Qt.resolvedUrl("../appsettings/AppLogPage.qml"))
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Look and feel")
|
text: qsTr("Look and feel")
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|||||||
@ -92,7 +92,7 @@ Item {
|
|||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
iconName: "../images/stock_website.svg"
|
iconName: "../images/stock_website.svg"
|
||||||
text: qsTr("Visit the nymea website")
|
text: qsTr("Visit the nymea website")
|
||||||
@ -104,7 +104,7 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
iconName: "../images/stock_website.svg"
|
iconName: "../images/stock_website.svg"
|
||||||
text: qsTr("Visit GitHub page")
|
text: qsTr("Visit GitHub page")
|
||||||
@ -116,7 +116,7 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("View privacy policy")
|
text: qsTr("View privacy policy")
|
||||||
iconName: "../images/stock_website.svg"
|
iconName: "../images/stock_website.svg"
|
||||||
@ -128,7 +128,7 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("View license text")
|
text: qsTr("View license text")
|
||||||
iconName: "../images/logs.svg"
|
iconName: "../images/logs.svg"
|
||||||
@ -164,7 +164,7 @@ Item {
|
|||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
iconName: "../images/stock_website.svg"
|
iconName: "../images/stock_website.svg"
|
||||||
text: qsTr("Visit the Qt website")
|
text: qsTr("Visit the Qt website")
|
||||||
@ -181,7 +181,7 @@ Item {
|
|||||||
Component {
|
Component {
|
||||||
id: licenseTextComponent
|
id: licenseTextComponent
|
||||||
Page {
|
Page {
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("License text")
|
text: qsTr("License text")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ Dialog {
|
|||||||
}
|
}
|
||||||
ThinDivider {}
|
ThinDivider {}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Remove all those rules")
|
text: qsTr("Remove all those rules")
|
||||||
progressive: false
|
progressive: false
|
||||||
@ -49,7 +49,7 @@ Dialog {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
text: qsTr("Update rules, removing this thing")
|
text: qsTr("Update rules, removing this thing")
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
progressive: false
|
progressive: false
|
||||||
@ -60,7 +60,7 @@ Dialog {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
text: qsTr("Don't remove this thing")
|
text: qsTr("Don't remove this thing")
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
progressive: false
|
progressive: false
|
||||||
|
|||||||
@ -47,13 +47,13 @@ Dialog {
|
|||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
text: certDialog.hasOldFingerprint ? qsTr("The certificate of this %1 box has changed!").arg(app.systemName) : qsTr("It seems this is the first time you connect to this %1 box.").arg(app.systemName)
|
text: certDialog.hasOldFingerprint ? qsTr("The certificate of this %1:core has changed!").arg(app.systemName) : qsTr("It seems this is the first time you connect to this %1:core.").arg(app.systemName)
|
||||||
}
|
}
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
text: certDialog.hasOldFingerprint ? qsTr("Did you change the box's configuration? Verify if this information is correct.") : qsTr("This is the box's certificate. Once you trust it, an encrypted connection will be established.")
|
text: certDialog.hasOldFingerprint ? qsTr("Did you change the system's configuration? Verify if this information is correct.") : qsTr("This is the certificate for this %1:core. Once you trust it, an encrypted connection will be established.").arg(app.systemName)
|
||||||
}
|
}
|
||||||
|
|
||||||
ThinDivider {}
|
ThinDivider {}
|
||||||
|
|||||||
@ -108,9 +108,9 @@ Page {
|
|||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: root.haveHosts ?
|
text: root.haveHosts ?
|
||||||
qsTr("There are %1 %2 boxes in your network! Which one would you like to use?").arg(hostsProxy.count).arg(app.systemName)
|
qsTr("There are %1 %2:cores in your network! Which one would you like to use?").arg(hostsProxy.count).arg(app.systemName)
|
||||||
: startupTimer.running ? qsTr("We haven't found any %1 boxes in your network yet.").arg(app.systemName)
|
: startupTimer.running ? qsTr("We haven't found a %1:core in your network yet.").arg(app.systemName)
|
||||||
: qsTr("There doesn't seem to be a %1 box installed in your network. Please make sure your %1 box is correctly set up and connected.").arg(app.systemName)
|
: qsTr("There doesn't seem to be a %1:core installed in your network. Please make sure your %1:core system is correctly set up and connected.").arg(app.systemName)
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -123,7 +123,7 @@ Page {
|
|||||||
model: hostsProxy
|
model: hostsProxy
|
||||||
clip: true
|
clip: true
|
||||||
|
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
id: nymeaHostDelegate
|
id: nymeaHostDelegate
|
||||||
width: parent.width
|
width: parent.width
|
||||||
height: app.delegateHeight
|
height: app.delegateHeight
|
||||||
@ -203,7 +203,7 @@ Page {
|
|||||||
visible: !root.haveHosts
|
visible: !root.haveHosts
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
text: qsTr("Searching for %1 boxes...").arg(app.systemName)
|
text: qsTr("Searching for %1:core systems...").arg(app.systemName)
|
||||||
}
|
}
|
||||||
|
|
||||||
BusyIndicator {
|
BusyIndicator {
|
||||||
@ -221,7 +221,7 @@ Page {
|
|||||||
Layout.rightMargin: app.margins
|
Layout.rightMargin: app.margins
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
visible: discovery.nymeaHosts.count === 0
|
visible: discovery.nymeaHosts.count === 0
|
||||||
text: qsTr("Do you have a %1 box but it's not connected to your network yet? Use the wireless setup to connect it!").arg(app.systemName)
|
text: qsTr("Do you have a %1:core but it's not connected to your network yet? Use the wireless setup to connect it!").arg(app.systemName)
|
||||||
}
|
}
|
||||||
Button {
|
Button {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
@ -356,7 +356,7 @@ Page {
|
|||||||
width: parent.width
|
width: parent.width
|
||||||
Repeater {
|
Repeater {
|
||||||
model: dialog.nymeaHost.connections
|
model: dialog.nymeaHost.connections
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
wrapTexts: false
|
wrapTexts: false
|
||||||
progressive: false
|
progressive: false
|
||||||
|
|||||||
@ -65,7 +65,7 @@ Page {
|
|||||||
errorMessage = qsTr("It seems you're not connected to the network.");
|
errorMessage = qsTr("It seems you're not connected to the network.");
|
||||||
break;
|
break;
|
||||||
case NymeaConnection.ConnectionStatusHostNotFound:
|
case NymeaConnection.ConnectionStatusHostNotFound:
|
||||||
errorMessage = qsTr("%1:core could not be found on this address. Please make sure you entered the address correctly and that the box is powered on.").arg(app.systemName);
|
errorMessage = qsTr("%1:core could not be found on this address. Please make sure you entered the address correctly and that the system is powered on.").arg(app.systemName);
|
||||||
break;
|
break;
|
||||||
case NymeaConnection.ConnectionStatusConnectionRefused:
|
case NymeaConnection.ConnectionStatusConnectionRefused:
|
||||||
errorMessage = qsTr("The host has rejected our connection. This probably means that %1 is not running on this host. Perhaps it's restarting?").arg(app.systemName);
|
errorMessage = qsTr("The host has rejected our connection. This probably means that %1 is not running on this host. Perhaps it's restarting?").arg(app.systemName);
|
||||||
|
|||||||
@ -8,7 +8,7 @@ Page {
|
|||||||
id: root
|
id: root
|
||||||
signal backPressed();
|
signal backPressed();
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Welcome to %1!").arg(app.systemName)
|
text: qsTr("Welcome to %1!").arg(app.systemName)
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: root.backPressed()
|
onBackPressed: root.backPressed()
|
||||||
@ -40,7 +40,7 @@ Page {
|
|||||||
message = qsTr("The password you've chose is too weak.")
|
message = qsTr("The password you've chose is too weak.")
|
||||||
break;
|
break;
|
||||||
case "UserErrorBackendError":
|
case "UserErrorBackendError":
|
||||||
message = qsTr("An error happened with the user storage. Please make sure your %1 box is installed correctly.")
|
message = qsTr("An error happened with the user storage. Please make sure your %1:core system is installed correctly.").arg(app.systemName)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
var popup = errorDialog.createObject(root, {text: message});
|
var popup = errorDialog.createObject(root, {text: message});
|
||||||
@ -72,7 +72,7 @@ Page {
|
|||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: engine.jsonRpcClient.initialSetupRequired ?
|
text: engine.jsonRpcClient.initialSetupRequired ?
|
||||||
qsTr("In order to use your %1 system, please enter your email address and set a password for your %1 box.").arg(app.systemName)
|
qsTr("In order to use your %1 system, please enter your email address and set a password for it.").arg(app.systemName)
|
||||||
: qsTr("In order to use your %1 system, please log in.").arg(app.systemName)
|
: qsTr("In order to use your %1 system, please log in.").arg(app.systemName)
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import "../components"
|
|||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
objectName: "manualConnectPage"
|
objectName: "manualConnectPage"
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Manual connection")
|
text: qsTr("Manual connection")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,7 @@ Page {
|
|||||||
id: root
|
id: root
|
||||||
signal backPressed();
|
signal backPressed();
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("First setup")
|
text: qsTr("First setup")
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: root.backPressed()
|
onBackPressed: root.backPressed()
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import Nymea 1.0
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Wireless Box setup")
|
text: qsTr("Wireless Box setup")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -71,7 +71,7 @@ Page {
|
|||||||
Layout.margins: app.margins
|
Layout.margins: app.margins
|
||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Searching for %1 boxes.").arg(app.systemName)
|
text: qsTr("Searching for %1:core systems.").arg(app.systemName)
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
}
|
}
|
||||||
BusyIndicator {
|
BusyIndicator {
|
||||||
@ -87,7 +87,7 @@ Page {
|
|||||||
model: bluetoothDiscovery.deviceInfos
|
model: bluetoothDiscovery.deviceInfos
|
||||||
clip: true
|
clip: true
|
||||||
|
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: Qt.resolvedUrl("../../images/bluetooth.svg")
|
iconName: Qt.resolvedUrl("../../images/bluetooth.svg")
|
||||||
text: model.name
|
text: model.name
|
||||||
@ -112,7 +112,7 @@ Page {
|
|||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
maximumLineCount: 2
|
maximumLineCount: 2
|
||||||
elide: Text.ElideRight
|
elide: Text.ElideRight
|
||||||
text: qsTr("Troubles finding your box?")
|
text: qsTr("Troubles finding your %1:core?").arg(app.systemName)
|
||||||
}
|
}
|
||||||
Button {
|
Button {
|
||||||
text: qsTr("Help")
|
text: qsTr("Help")
|
||||||
@ -148,7 +148,7 @@ Page {
|
|||||||
id: helpPageComponent
|
id: helpPageComponent
|
||||||
Page {
|
Page {
|
||||||
id: helpPage
|
id: helpPage
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Wireless setup help")
|
text: qsTr("Wireless setup help")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -194,7 +194,7 @@ Page {
|
|||||||
Layout.rightMargin: app.margins
|
Layout.rightMargin: app.margins
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
font.bold: true
|
font.bold: true
|
||||||
text: "%1 box".arg(systemName)
|
text: qsTr("%1 box").arg(systemName)
|
||||||
}
|
}
|
||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
@ -223,7 +223,7 @@ Page {
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: connectingPage
|
id: connectingPage
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Connecting...")
|
text: qsTr("Connecting...")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import Nymea 1.0
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Box information")
|
text: qsTr("Box information")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -16,31 +16,31 @@ Page {
|
|||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
anchors { left: parent.left; top: parent.top; right: parent.right }
|
anchors { left: parent.left; top: parent.top; right: parent.right }
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
progressive: false
|
progressive: false
|
||||||
text: qsTr("System UUID")
|
text: qsTr("System UUID")
|
||||||
subText: networkManagerController.manager.modelNumber
|
subText: networkManagerController.manager.modelNumber
|
||||||
}
|
}
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
progressive: false
|
progressive: false
|
||||||
text: qsTr("Manufacturer")
|
text: qsTr("Manufacturer")
|
||||||
subText: networkManagerController.manager.manufacturer
|
subText: networkManagerController.manager.manufacturer
|
||||||
}
|
}
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
progressive: false
|
progressive: false
|
||||||
text: qsTr("Software revision")
|
text: qsTr("Software revision")
|
||||||
subText: networkManagerController.manager.softwareRevision
|
subText: networkManagerController.manager.softwareRevision
|
||||||
}
|
}
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
progressive: false
|
progressive: false
|
||||||
text: qsTr("Firmware revision")
|
text: qsTr("Firmware revision")
|
||||||
subText: networkManagerController.manager.firmwareRevision
|
subText: networkManagerController.manager.firmwareRevision
|
||||||
}
|
}
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
progressive: false
|
progressive: false
|
||||||
text: qsTr("Hardware revision")
|
text: qsTr("Hardware revision")
|
||||||
|
|||||||
@ -11,7 +11,7 @@ Page {
|
|||||||
|
|
||||||
signal connected();
|
signal connected();
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Select wireless network")
|
text: qsTr("Select wireless network")
|
||||||
onBackPressed: {
|
onBackPressed: {
|
||||||
pageStack.pop();
|
pageStack.pop();
|
||||||
@ -43,7 +43,7 @@ Page {
|
|||||||
}
|
}
|
||||||
clip: true
|
clip: true
|
||||||
|
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: model.ssid
|
text: model.ssid
|
||||||
enabled: !networkManagerController.manager.working
|
enabled: !networkManagerController.manager.working
|
||||||
@ -97,7 +97,7 @@ Page {
|
|||||||
id: authenticationPageComponent
|
id: authenticationPageComponent
|
||||||
Page {
|
Page {
|
||||||
id: authenticationPage
|
id: authenticationPage
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Authenticate")
|
text: qsTr("Authenticate")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -196,7 +196,7 @@ Page {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
text: qsTr("Connecting the %1 box to %2").arg(app.systemName).arg(connectingWifiWaitPage.ssid)
|
text: qsTr("Connecting the %1:core to %2").arg(app.systemName).arg(connectingWifiWaitPage.ssid)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import Nymea 1.0
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Network settings")
|
text: qsTr("Network settings")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,7 +12,7 @@ Page {
|
|||||||
|
|
||||||
signal done()
|
signal done()
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Wireless network setup")
|
text: qsTr("Wireless network setup")
|
||||||
onBackPressed: {
|
onBackPressed: {
|
||||||
pageStack.pop();
|
pageStack.pop();
|
||||||
@ -92,7 +92,7 @@ Page {
|
|||||||
Layout.leftMargin: app.margins; Layout.rightMargin: app.margins
|
Layout.leftMargin: app.margins; Layout.rightMargin: app.margins
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
text: root.networkManagerController.manager.currentConnection
|
text: root.networkManagerController.manager.currentConnection
|
||||||
? qsTr("Your %1 box is connected to %2").arg(app.systemName).arg(root.networkManagerController.manager.currentConnection.ssid)
|
? qsTr("Your %1:core is connected to %2").arg(app.systemName).arg(root.networkManagerController.manager.currentConnection.ssid)
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ Page {
|
|||||||
spacing: app.margins
|
spacing: app.margins
|
||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Waiting for the %1 box to appear in your network.").arg(app.systemName)
|
text: qsTr("Waiting for the %1:core to appear in your network.").arg(app.systemName)
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
}
|
}
|
||||||
BusyIndicator { }
|
BusyIndicator { }
|
||||||
@ -120,7 +120,7 @@ Page {
|
|||||||
visible: url != ""
|
visible: url != ""
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.leftMargin: app.margins; Layout.rightMargin: app.margins
|
Layout.leftMargin: app.margins; Layout.rightMargin: app.margins
|
||||||
text: qsTr("Connect to box")
|
text: qsTr("Connect to %1:core").arg(app.systemName)
|
||||||
property string url
|
property string url
|
||||||
onClicked: {
|
onClicked: {
|
||||||
engine.connection.connect(url)
|
engine.connection.connect(url)
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import QtQuick.Layouts 1.2
|
|||||||
import "../components"
|
import "../components"
|
||||||
import Nymea 1.0
|
import Nymea 1.0
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
id: root
|
id: root
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: deviceClass ? app.interfacesToIcon(deviceClass.interfaces) : ""
|
iconName: deviceClass ? app.interfacesToIcon(deviceClass.interfaces) : ""
|
||||||
|
|||||||
@ -13,7 +13,7 @@ DeviceListPageBase {
|
|||||||
|
|
||||||
property bool invertControls: false
|
property bool invertControls: false
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
id: header
|
id: header
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
text: root.title
|
text: root.title
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import "../delegates"
|
|||||||
DeviceListPageBase {
|
DeviceListPageBase {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: {
|
text: {
|
||||||
if (root.shownInterfaces.length === 1) {
|
if (root.shownInterfaces.length === 1) {
|
||||||
return qsTr("My %1").arg(app.interfaceToString(root.shownInterfaces[0]))
|
return qsTr("My %1").arg(app.interfaceToString(root.shownInterfaces[0]))
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import "../components"
|
|||||||
|
|
||||||
DeviceListPageBase {
|
DeviceListPageBase {
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Lights")
|
text: qsTr("Lights")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import QtQuick.Controls.Material 2.1
|
|||||||
DeviceListPageBase {
|
DeviceListPageBase {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("My %1").arg(app.interfaceToString("powersocket"))
|
text: qsTr("My %1").arg(app.interfaceToString("powersocket"))
|
||||||
|
|
||||||
onBackPressed: {
|
onBackPressed: {
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import "../components"
|
|||||||
DeviceListPageBase {
|
DeviceListPageBase {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Sensors")
|
text: qsTr("Sensors")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import "../components"
|
|||||||
DeviceListPageBase {
|
DeviceListPageBase {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Smart meters")
|
text: qsTr("Smart meters")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import "../customviews"
|
|||||||
DeviceListPageBase {
|
DeviceListPageBase {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Weather")
|
text: qsTr("Weather")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,7 +12,7 @@ Page {
|
|||||||
property Device device: null
|
property Device device: null
|
||||||
property var filterTypeIds: []
|
property var filterTypeIds: []
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("History for %1").arg(root.device.name)
|
text: qsTr("History for %1").arg(root.device.name)
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ Page {
|
|||||||
|
|
||||||
default property alias data: contentItem.data
|
default property alias data: contentItem.data
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: device.name
|
text: device.name
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|
||||||
|
|||||||
@ -55,7 +55,7 @@ DevicePageBase {
|
|||||||
typeIds: [root.accessGrantedEventType.id, root.accessDeniedEventType.id];
|
typeIds: [root.accessGrantedEventType.id, root.accessDeniedEventType.id];
|
||||||
}
|
}
|
||||||
|
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: accessGranted ? "../images/tick.svg" : "../images/dialog-error-symbolic.svg"
|
iconName: accessGranted ? "../images/tick.svg" : "../images/dialog-error-symbolic.svg"
|
||||||
iconColor: accessGranted ? "green" : "red"
|
iconColor: accessGranted ? "green" : "red"
|
||||||
@ -77,7 +77,7 @@ DevicePageBase {
|
|||||||
Component {
|
Component {
|
||||||
id: manageUsersComponent
|
id: manageUsersComponent
|
||||||
Page {
|
Page {
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Manage users")
|
text: qsTr("Manage users")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ DevicePageBase {
|
|||||||
clip: true
|
clip: true
|
||||||
model: root.usersState.value
|
model: root.usersState.value
|
||||||
|
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
text: modelData
|
text: modelData
|
||||||
width: parent.width
|
width: parent.width
|
||||||
progressive: false
|
progressive: false
|
||||||
@ -156,7 +156,7 @@ DevicePageBase {
|
|||||||
id: addUserComponent
|
id: addUserComponent
|
||||||
Page {
|
Page {
|
||||||
id: addUserPage
|
id: addUserPage
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Add a new fingerprint")
|
text: qsTr("Add a new fingerprint")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,7 @@ DevicePageBase {
|
|||||||
typeIds: [root.deviceClass.eventTypes.findByName("triggered").id];
|
typeIds: [root.deviceClass.eventTypes.findByName("triggered").id];
|
||||||
}
|
}
|
||||||
|
|
||||||
// delegate: MeaListItemDelegate {
|
// delegate: NymeaListItemDelegate {
|
||||||
// width: parent.width
|
// width: parent.width
|
||||||
// iconName: app.interfaceToIcon("inputtrigger")
|
// iconName: app.interfaceToIcon("inputtrigger")
|
||||||
// text: model.value.trim()
|
// text: model.value.trim()
|
||||||
|
|||||||
@ -101,7 +101,7 @@ DevicePageBase {
|
|||||||
typeIds: [root.deviceClass.actionTypes.findByName("notify").id];
|
typeIds: [root.deviceClass.actionTypes.findByName("notify").id];
|
||||||
}
|
}
|
||||||
|
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: app.interfaceToIcon("notifications")
|
iconName: app.interfaceToIcon("notifications")
|
||||||
text: model.value.trim()
|
text: model.value.trim()
|
||||||
|
|||||||
@ -24,7 +24,7 @@ Page {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("History for %1").arg(root.stateType.displayName)
|
text: qsTr("History for %1").arg(root.stateType.displayName)
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import QtQuick.Layouts 1.3
|
|||||||
import Nymea 1.0
|
import Nymea 1.0
|
||||||
import "../components"
|
import "../components"
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
id: root
|
id: root
|
||||||
implicitHeight: app.delegateHeight
|
implicitHeight: app.delegateHeight
|
||||||
progressive: false
|
progressive: false
|
||||||
|
|||||||
@ -8,7 +8,7 @@ Page {
|
|||||||
id: root
|
id: root
|
||||||
property var device: null
|
property var device: null
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Select event")
|
text: qsTr("Select event")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ Page {
|
|||||||
Component.onCompleted: print("+++ created devicerulespage")
|
Component.onCompleted: print("+++ created devicerulespage")
|
||||||
Component.onDestruction: print("--- destroying devicerulespage")
|
Component.onDestruction: print("--- destroying devicerulespage")
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Magic involving %1").arg(root.device.name)
|
text: qsTr("Magic involving %1").arg(root.device.name)
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ Page {
|
|||||||
filterDeviceId: root.device.id
|
filterDeviceId: root.device.id
|
||||||
}
|
}
|
||||||
|
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/magic.svg"
|
iconName: "../images/magic.svg"
|
||||||
iconColor: !model.enabled ? "red" : (model.active ? app.accentColor : "grey")
|
iconColor: !model.enabled ? "red" : (model.active ? app.accentColor : "grey")
|
||||||
|
|||||||
@ -18,7 +18,7 @@ Page {
|
|||||||
readonly property bool isWeekDayBased: repeatingBox.currentIndex === 3
|
readonly property bool isWeekDayBased: repeatingBox.currentIndex === 3
|
||||||
readonly property bool isMonthDayBased: repeatingBox.currentIndex === 4
|
readonly property bool isMonthDayBased: repeatingBox.currentIndex === 4
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Pick a time frame")
|
text: qsTr("Pick a time frame")
|
||||||
onBackPressed: root.backPressed();
|
onBackPressed: root.backPressed();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -221,7 +221,7 @@ Page {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: root.rule.name.length === 0 ? qsTr("Add new magic") : qsTr("Edit %1").arg(root.rule.name)
|
text: root.rule.name.length === 0 ? qsTr("Add new magic") : qsTr("Edit %1").arg(root.rule.name)
|
||||||
onBackPressed: {
|
onBackPressed: {
|
||||||
if (root.rule.compare(d.backupRule)) {
|
if (root.rule.compare(d.backupRule)) {
|
||||||
@ -679,7 +679,7 @@ Page {
|
|||||||
Component {
|
Component {
|
||||||
id: eventQuestionPageComponent
|
id: eventQuestionPageComponent
|
||||||
Page {
|
Page {
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Add event")
|
text: qsTr("Add event")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -708,7 +708,7 @@ Page {
|
|||||||
minimumJsonRpcVersion: "1.0"
|
minimumJsonRpcVersion: "1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
iconName: model.iconName
|
iconName: model.iconName
|
||||||
text: model.text
|
text: model.text
|
||||||
@ -728,7 +728,7 @@ Page {
|
|||||||
Component {
|
Component {
|
||||||
id: stateQuestionPageComponent
|
id: stateQuestionPageComponent
|
||||||
Page {
|
Page {
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Add condition...")
|
text: qsTr("Add condition...")
|
||||||
|
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
@ -758,7 +758,7 @@ Page {
|
|||||||
minimumJsonRpcVersion: "1.0"
|
minimumJsonRpcVersion: "1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
iconName: model.iconName
|
iconName: model.iconName
|
||||||
text: model.text
|
text: model.text
|
||||||
@ -781,7 +781,7 @@ Page {
|
|||||||
id: ruleActionQuestionPage
|
id: ruleActionQuestionPage
|
||||||
property bool exitAction: false
|
property bool exitAction: false
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Add action...")
|
text: qsTr("Add action...")
|
||||||
|
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
@ -821,7 +821,7 @@ Page {
|
|||||||
minimumJsonRpcVersion: "1.5"
|
minimumJsonRpcVersion: "1.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
iconName: model.iconName
|
iconName: model.iconName
|
||||||
text: model.text
|
text: model.text
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Conditions")
|
text: qsTr("Conditions")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,7 +18,7 @@ Page {
|
|||||||
readonly property bool isWeekDayBased: repeatingBox.currentIndex === 3
|
readonly property bool isWeekDayBased: repeatingBox.currentIndex === 3
|
||||||
readonly property bool isMonthDayBased: repeatingBox.currentIndex === 4
|
readonly property bool isMonthDayBased: repeatingBox.currentIndex === 4
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Pick a time")
|
text: qsTr("Pick a time")
|
||||||
onBackPressed: root.backPressed();
|
onBackPressed: root.backPressed();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import QtQuick.Layouts 1.3
|
|||||||
import Nymea 1.0
|
import Nymea 1.0
|
||||||
import "../components"
|
import "../components"
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
id: root
|
id: root
|
||||||
implicitHeight: app.delegateHeight
|
implicitHeight: app.delegateHeight
|
||||||
canDelete: true
|
canDelete: true
|
||||||
|
|||||||
@ -351,7 +351,7 @@ Page {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("New magic")
|
text: qsTr("New magic")
|
||||||
onBackPressed: root.done()
|
onBackPressed: root.done()
|
||||||
}
|
}
|
||||||
@ -366,7 +366,7 @@ Page {
|
|||||||
ruleTemplates: RuleTemplates {}
|
ruleTemplates: RuleTemplates {}
|
||||||
filterInterfaceNames: root.deviceClass ? root.deviceClass.interfaces : []
|
filterInterfaceNames: root.deviceClass ? root.deviceClass.interfaces : []
|
||||||
}
|
}
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: model.description
|
text: model.description
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import QtQuick.Layouts 1.3
|
|||||||
import Nymea 1.0
|
import Nymea 1.0
|
||||||
import "../components"
|
import "../components"
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
id: root
|
id: root
|
||||||
implicitHeight: app.delegateHeight
|
implicitHeight: app.delegateHeight
|
||||||
canDelete: true
|
canDelete: true
|
||||||
|
|||||||
@ -15,7 +15,7 @@ Page {
|
|||||||
property var actions: []
|
property var actions: []
|
||||||
signal complete();
|
signal complete();
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: "Select action"
|
text: "Select action"
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -90,7 +90,7 @@ Page {
|
|||||||
Component {
|
Component {
|
||||||
id: selectDeviceComponent
|
id: selectDeviceComponent
|
||||||
Page {
|
Page {
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Select device")
|
text: qsTr("Select device")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -127,7 +127,7 @@ Page {
|
|||||||
property var device
|
property var device
|
||||||
readonly property var deviceClass: engine.deviceManager.deviceClasses.getDeviceClass(device.deviceClassId)
|
readonly property var deviceClass: engine.deviceManager.deviceClasses.getDeviceClass(device.deviceClassId)
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Select action")
|
text: qsTr("Select action")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -174,7 +174,7 @@ Page {
|
|||||||
id: page
|
id: page
|
||||||
property var device
|
property var device
|
||||||
property var actionType
|
property var actionType
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("params")
|
text: qsTr("params")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -222,7 +222,7 @@ Page {
|
|||||||
Component {
|
Component {
|
||||||
id: switchLightsCompoent
|
id: switchLightsCompoent
|
||||||
Page {
|
Page {
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Switch lights")
|
text: qsTr("Switch lights")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -301,7 +301,7 @@ Page {
|
|||||||
Component {
|
Component {
|
||||||
id: notificationActionComponent
|
id: notificationActionComponent
|
||||||
Page {
|
Page {
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Send notification")
|
text: qsTr("Send notification")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,7 +19,7 @@ Page {
|
|||||||
onEventDescriptorChanged: buildInterface()
|
onEventDescriptorChanged: buildInterface()
|
||||||
Component.onCompleted: buildInterface()
|
Component.onCompleted: buildInterface()
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
id: header
|
id: header
|
||||||
onBackPressed: root.backPressed();
|
onBackPressed: root.backPressed();
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ Page {
|
|||||||
signal backPressed();
|
signal backPressed();
|
||||||
signal completed();
|
signal completed();
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: "Options"
|
text: "Options"
|
||||||
onBackPressed: root.backPressed();
|
onBackPressed: root.backPressed();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,7 +22,7 @@ Page {
|
|||||||
onRuleActionChanged: buildInterface()
|
onRuleActionChanged: buildInterface()
|
||||||
Component.onCompleted: buildInterface()
|
Component.onCompleted: buildInterface()
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
id: header
|
id: header
|
||||||
onBackPressed: root.backPressed();
|
onBackPressed: root.backPressed();
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@ Page {
|
|||||||
signal backPressed();
|
signal backPressed();
|
||||||
signal completed();
|
signal completed();
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: actionType.displayName
|
text: actionType.displayName
|
||||||
onBackPressed: root.backPressed();
|
onBackPressed: root.backPressed();
|
||||||
}
|
}
|
||||||
@ -126,7 +126,7 @@ Page {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
id: statePickerDelegate
|
id: statePickerDelegate
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: deviceId === null || stateTypeId === null
|
text: deviceId === null || stateTypeId === null
|
||||||
|
|||||||
@ -19,7 +19,7 @@ Page {
|
|||||||
onStateDescriptorChanged: buildInterface()
|
onStateDescriptorChanged: buildInterface()
|
||||||
Component.onCompleted: buildInterface()
|
Component.onCompleted: buildInterface()
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
id: header
|
id: header
|
||||||
onBackPressed: root.backPressed();
|
onBackPressed: root.backPressed();
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ Page {
|
|||||||
signal backPressed();
|
signal backPressed();
|
||||||
signal completed();
|
signal completed();
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Options")
|
text: qsTr("Options")
|
||||||
onBackPressed: root.backPressed();
|
onBackPressed: root.backPressed();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import Nymea 1.0
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Select state")
|
text: qsTr("Select state")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -21,7 +21,7 @@ Page {
|
|||||||
|
|
||||||
model: device.deviceClass.stateTypes
|
model: device.deviceClass.stateTypes
|
||||||
|
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/state.svg"
|
iconName: "../images/state.svg"
|
||||||
text: model.displayName
|
text: model.displayName
|
||||||
|
|||||||
@ -20,7 +20,7 @@ Page {
|
|||||||
signal interfaceSelected(string interfaceName);
|
signal interfaceSelected(string interfaceName);
|
||||||
signal anySelected();
|
signal anySelected();
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: root.selectInterface ?
|
text: root.selectInterface ?
|
||||||
qsTr("Select a kind of things") :
|
qsTr("Select a kind of things") :
|
||||||
root.shownInterfaces.length > 0 ? qsTr("Select a %1").arg(app.interfaceToDisplayName(root.shownInterfaces[0])) : qsTr("Select a thing")
|
root.shownInterfaces.length > 0 ? qsTr("Select a %1").arg(app.interfaceToDisplayName(root.shownInterfaces[0])) : qsTr("Select a thing")
|
||||||
@ -53,7 +53,7 @@ Page {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
}
|
}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Any %1").arg(app.interfaceToDisplayName(root.shownInterfaces[0]))
|
text: qsTr("Any %1").arg(app.interfaceToDisplayName(root.shownInterfaces[0]))
|
||||||
visible: root.allowSelectAny
|
visible: root.allowSelectAny
|
||||||
@ -69,7 +69,7 @@ Page {
|
|||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
model: root.selectInterface ? interfacesProxy : devicesProxy
|
model: root.selectInterface ? interfacesProxy : devicesProxy
|
||||||
clip: true
|
clip: true
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: root.selectInterface ? model.displayName : model.name
|
text: root.selectInterface ? model.displayName : model.name
|
||||||
iconName: root.selectInterface ? app.interfaceToIcon(model.name) : app.interfacesToIcon(model.interfaces)
|
iconName: root.selectInterface ? app.interfaceToIcon(model.name) : app.interfacesToIcon(model.interfaces)
|
||||||
|
|||||||
@ -100,7 +100,7 @@ ItemDelegate {
|
|||||||
Component {
|
Component {
|
||||||
id: stateQuestionPageComponent
|
id: stateQuestionPageComponent
|
||||||
Page {
|
Page {
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Edit condition...")
|
text: qsTr("Edit condition...")
|
||||||
|
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
@ -123,7 +123,7 @@ ItemDelegate {
|
|||||||
method: "editInterfaceStateDescriptor"
|
method: "editInterfaceStateDescriptor"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
iconName: model.iconName
|
iconName: model.iconName
|
||||||
text: model.text
|
text: model.text
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import QtQuick.Layouts 1.3
|
|||||||
import Nymea 1.0
|
import Nymea 1.0
|
||||||
import "../components"
|
import "../components"
|
||||||
|
|
||||||
MeaListItemDelegate{
|
NymeaListItemDelegate{
|
||||||
id: root
|
id: root
|
||||||
implicitHeight: app.delegateHeight
|
implicitHeight: app.delegateHeight
|
||||||
progressive: false
|
progressive: false
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import "../components"
|
|||||||
Page {
|
Page {
|
||||||
|
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("About %1:core").arg(app.systemName)
|
text: qsTr("About %1:core").arg(app.systemName)
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -22,28 +22,28 @@ Page {
|
|||||||
title: qsTr("%1:core").arg(app.systemName)
|
title: qsTr("%1:core").arg(app.systemName)
|
||||||
githubLink: "https://github.com/guh/nymea"
|
githubLink: "https://github.com/guh/nymea"
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Connection:")
|
text: qsTr("Connection:")
|
||||||
subText: engine.connection.currentConnection.url
|
subText: engine.connection.currentConnection.url
|
||||||
progressive: false
|
progressive: false
|
||||||
prominentSubText: false
|
prominentSubText: false
|
||||||
}
|
}
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Server UUID:")
|
text: qsTr("Server UUID:")
|
||||||
subText: engine.jsonRpcClient.serverUuid
|
subText: engine.jsonRpcClient.serverUuid
|
||||||
progressive: false
|
progressive: false
|
||||||
prominentSubText: false
|
prominentSubText: false
|
||||||
}
|
}
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Server version:")
|
text: qsTr("Server version:")
|
||||||
subText: engine.jsonRpcClient.serverVersion
|
subText: engine.jsonRpcClient.serverVersion
|
||||||
progressive: false
|
progressive: false
|
||||||
prominentSubText: false
|
prominentSubText: false
|
||||||
}
|
}
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("JSON-RPC version:")
|
text: qsTr("JSON-RPC version:")
|
||||||
subText: engine.jsonRpcClient.jsonRpcVersion
|
subText: engine.jsonRpcClient.jsonRpcVersion
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Cloud settings")
|
text: qsTr("Cloud settings")
|
||||||
onBackPressed: pageStack.pop();
|
onBackPressed: pageStack.pop();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import QtQuick.Layouts 1.3
|
|||||||
import Nymea 1.0
|
import Nymea 1.0
|
||||||
import "../components"
|
import "../components"
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
text: qsTr("Interface: %1").arg(model.address === "0.0.0.0" ? qsTr("Any") : model.address === "127.0.0.1" ? qsTr("localhost") : model.address)
|
text: qsTr("Interface: %1").arg(model.address === "0.0.0.0" ? qsTr("Any") : model.address === "127.0.0.1" ? qsTr("localhost") : model.address)
|
||||||
subText: qsTr("Port: %1").arg(model.port)
|
subText: qsTr("Port: %1").arg(model.port)
|
||||||
iconName: "../images/network-vpn.svg"
|
iconName: "../images/network-vpn.svg"
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Connection interfaces")
|
text: qsTr("Connection interfaces")
|
||||||
onBackPressed: pageStack.pop();
|
onBackPressed: pageStack.pop();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Developer tools")
|
text: qsTr("Developer tools")
|
||||||
onBackPressed: pageStack.pop();
|
onBackPressed: pageStack.pop();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Box settings")
|
text: qsTr("Box settings")
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Log viewer")
|
text: qsTr("Log viewer")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("MQTT broker")
|
text: qsTr("MQTT broker")
|
||||||
onBackPressed: pageStack.pop();
|
onBackPressed: pageStack.pop();
|
||||||
}
|
}
|
||||||
@ -92,7 +92,7 @@ Page {
|
|||||||
model: engine.nymeaConfiguration.mqttPolicies
|
model: engine.nymeaConfiguration.mqttPolicies
|
||||||
clip: true
|
clip: true
|
||||||
ScrollBar.vertical: ScrollBar {}
|
ScrollBar.vertical: ScrollBar {}
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/account.svg"
|
iconName: "../images/account.svg"
|
||||||
text: qsTr("Client ID: %1").arg(model.clientId)
|
text: qsTr("Client ID: %1").arg(model.clientId)
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Mqtt permission")
|
text: qsTr("Mqtt permission")
|
||||||
onBackPressed: {
|
onBackPressed: {
|
||||||
root.rejected();
|
root.rejected();
|
||||||
@ -113,7 +113,7 @@ Page {
|
|||||||
model: root.policy.allowedPublishTopicFilters
|
model: root.policy.allowedPublishTopicFilters
|
||||||
ScrollBar.vertical: ScrollBar {}
|
ScrollBar.vertical: ScrollBar {}
|
||||||
clip: true
|
clip: true
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: modelData
|
text: modelData
|
||||||
canDelete: true
|
canDelete: true
|
||||||
@ -163,7 +163,7 @@ Page {
|
|||||||
model: root.policy.allowedSubscribeTopicFilters
|
model: root.policy.allowedSubscribeTopicFilters
|
||||||
ScrollBar.vertical: ScrollBar {}
|
ScrollBar.vertical: ScrollBar {}
|
||||||
clip: true
|
clip: true
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: modelData
|
text: modelData
|
||||||
canDelete: true
|
canDelete: true
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Network settings")
|
text: qsTr("Network settings")
|
||||||
onBackPressed: {
|
onBackPressed: {
|
||||||
pageStack.pop();
|
pageStack.pop();
|
||||||
@ -50,7 +50,7 @@ Page {
|
|||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Current connection state")
|
text: qsTr("Current connection state")
|
||||||
prominentSubText: false
|
prominentSubText: false
|
||||||
@ -97,7 +97,7 @@ Page {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Networking enabled")
|
text: qsTr("Networking enabled")
|
||||||
subText: qsTr("Enable or disable networking altogether")
|
subText: qsTr("Enable or disable networking altogether")
|
||||||
@ -133,7 +133,7 @@ Page {
|
|||||||
}
|
}
|
||||||
ThinDivider {}
|
ThinDivider {}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Wired network")
|
text: qsTr("Wired network")
|
||||||
subText: qsTr("Shows the current ethernet status")
|
subText: qsTr("Shows the current ethernet status")
|
||||||
@ -143,7 +143,7 @@ Page {
|
|||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: networkManager.wiredNetworkDevices
|
model: networkManager.wiredNetworkDevices
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
iconName: model.pluggedIn ? "../images/network-wired.svg" : "../images/network-wired-offline.svg"
|
iconName: model.pluggedIn ? "../images/network-wired.svg" : "../images/network-wired-offline.svg"
|
||||||
text: model.interface + " (" + model.macAddress + ")"
|
text: model.interface + " (" + model.macAddress + ")"
|
||||||
@ -159,7 +159,7 @@ Page {
|
|||||||
|
|
||||||
ThinDivider {}
|
ThinDivider {}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Wireless network")
|
text: qsTr("Wireless network")
|
||||||
subText: qsTr("Enable or disable WiFi")
|
subText: qsTr("Enable or disable WiFi")
|
||||||
@ -196,7 +196,7 @@ Page {
|
|||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: networkManager.wirelessNetworkDevices
|
model: networkManager.wirelessNetworkDevices
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
iconName: {
|
iconName: {
|
||||||
switch (model.state) {
|
switch (model.state) {
|
||||||
@ -247,7 +247,7 @@ Page {
|
|||||||
id: wirelessAccessPointsPageComponent
|
id: wirelessAccessPointsPageComponent
|
||||||
Page {
|
Page {
|
||||||
id: wirelessAccessPointsPage
|
id: wirelessAccessPointsPage
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("WiFi networks")
|
text: qsTr("WiFi networks")
|
||||||
onBackPressed: {
|
onBackPressed: {
|
||||||
pageStack.pop();
|
pageStack.pop();
|
||||||
@ -266,7 +266,7 @@ Page {
|
|||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
model: apProxy
|
model: apProxy
|
||||||
ScrollBar.vertical: ScrollBar {}
|
ScrollBar.vertical: ScrollBar {}
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: model.ssid
|
text: model.ssid
|
||||||
subText: model.macAddress
|
subText: model.macAddress
|
||||||
@ -306,7 +306,7 @@ Page {
|
|||||||
Page {
|
Page {
|
||||||
id: authPage
|
id: authPage
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Authenticate")
|
text: qsTr("Authenticate")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -361,7 +361,7 @@ Page {
|
|||||||
id: currentApPageComponent
|
id: currentApPageComponent
|
||||||
Page {
|
Page {
|
||||||
id: currentApPage
|
id: currentApPage
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Current connection")
|
text: qsTr("Current connection")
|
||||||
onBackPressed: pageStack.pop();
|
onBackPressed: pageStack.pop();
|
||||||
}
|
}
|
||||||
@ -372,19 +372,19 @@ Page {
|
|||||||
anchors { left: parent.left; top: parent.top; right: parent.right }
|
anchors { left: parent.left; top: parent.top; right: parent.right }
|
||||||
columns: 1
|
columns: 1
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("SSID")
|
text: qsTr("SSID")
|
||||||
subText: currentApPage.wirelessNetworkDevice.currentAccessPoint.ssid
|
subText: currentApPage.wirelessNetworkDevice.currentAccessPoint.ssid
|
||||||
progressive: false
|
progressive: false
|
||||||
}
|
}
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("MAC Address")
|
text: qsTr("MAC Address")
|
||||||
subText: currentApPage.wirelessNetworkDevice.currentAccessPoint.macAddress
|
subText: currentApPage.wirelessNetworkDevice.currentAccessPoint.macAddress
|
||||||
progressive: false
|
progressive: false
|
||||||
}
|
}
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Signal strength")
|
text: qsTr("Signal strength")
|
||||||
subText: currentApPage.wirelessNetworkDevice.currentAccessPoint.signalStrength
|
subText: currentApPage.wirelessNetworkDevice.currentAccessPoint.signalStrength
|
||||||
|
|||||||
@ -10,7 +10,7 @@ Page {
|
|||||||
id: root
|
id: root
|
||||||
property var plugin: null
|
property var plugin: null
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("%1 settings").arg(plugin.name)
|
text: qsTr("%1 settings").arg(plugin.name)
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import Nymea 1.0
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Plugins")
|
text: qsTr("Plugins")
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
@ -42,7 +42,7 @@ Page {
|
|||||||
}
|
}
|
||||||
clip: true
|
clip: true
|
||||||
|
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
property var plugin: pluginsProxy.get(index)
|
property var plugin: pluginsProxy.get(index)
|
||||||
width: parent.width
|
width: parent.width
|
||||||
iconName: "../images/plugin.svg"
|
iconName: "../images/plugin.svg"
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import Nymea 1.0
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("System update")
|
text: qsTr("System update")
|
||||||
backButtonVisible: true
|
backButtonVisible: true
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
@ -145,7 +145,7 @@ Page {
|
|||||||
visible: count > 0
|
visible: count > 0
|
||||||
model: updatesModel
|
model: updatesModel
|
||||||
clip: true
|
clip: true
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: model.displayName
|
text: model.displayName
|
||||||
subText: model.candidateVersion
|
subText: model.candidateVersion
|
||||||
@ -165,7 +165,7 @@ Page {
|
|||||||
|
|
||||||
ThinDivider {}
|
ThinDivider {}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Install or remove software")
|
text: qsTr("Install or remove software")
|
||||||
onClicked: {
|
onClicked: {
|
||||||
@ -178,7 +178,7 @@ Page {
|
|||||||
id: repositoryListComponent
|
id: repositoryListComponent
|
||||||
Page {
|
Page {
|
||||||
id: repositoryListPage
|
id: repositoryListPage
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Configure update sources")
|
text: qsTr("Configure update sources")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -225,7 +225,7 @@ Page {
|
|||||||
|
|
||||||
property var packages: null
|
property var packages: null
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("All packages")
|
text: qsTr("All packages")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -236,7 +236,7 @@ Page {
|
|||||||
id: filterModel
|
id: filterModel
|
||||||
packages: packageListPage.packages
|
packages: packageListPage.packages
|
||||||
}
|
}
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: model.displayName
|
text: model.displayName
|
||||||
subText: model.candidateVersion
|
subText: model.candidateVersion
|
||||||
@ -264,7 +264,7 @@ Page {
|
|||||||
|
|
||||||
property Package pkg: null
|
property Package pkg: null
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Package information")
|
text: qsTr("Package information")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
@ -297,14 +297,14 @@ Page {
|
|||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
}
|
}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Installed version:")
|
text: qsTr("Installed version:")
|
||||||
subText: packageDetailsPage.pkg.installedVersion.length > 0 ? packageDetailsPage.pkg.installedVersion : qsTr("Not installed")
|
subText: packageDetailsPage.pkg.installedVersion.length > 0 ? packageDetailsPage.pkg.installedVersion : qsTr("Not installed")
|
||||||
progressive: false
|
progressive: false
|
||||||
}
|
}
|
||||||
|
|
||||||
MeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Candidate version:")
|
text: qsTr("Candidate version:")
|
||||||
subText: packageDetailsPage.pkg.candidateVersion
|
subText: packageDetailsPage.pkg.candidateVersion
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import "../components"
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Web server")
|
text: qsTr("Web server")
|
||||||
onBackPressed: pageStack.pop();
|
onBackPressed: pageStack.pop();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,7 @@ Page {
|
|||||||
property Device device: null
|
property Device device: null
|
||||||
readonly property DeviceClass deviceClass: device ? device.deviceClass : null
|
readonly property DeviceClass deviceClass: device ? device.deviceClass : null
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: root.device.name
|
text: root.device.name
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import Nymea 1.0
|
|||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Configure Things")
|
text: qsTr("Configure Things")
|
||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import "../delegates"
|
|||||||
Page {
|
Page {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Set up new thing")
|
text: qsTr("Set up new thing")
|
||||||
onBackPressed: {
|
onBackPressed: {
|
||||||
pageStack.pop();
|
pageStack.pop();
|
||||||
@ -107,7 +107,7 @@ Page {
|
|||||||
groupByInterface: true
|
groupByInterface: true
|
||||||
}
|
}
|
||||||
|
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
id: deviceClassDelegate
|
id: deviceClassDelegate
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: model.displayName
|
text: model.displayName
|
||||||
|
|||||||
@ -16,7 +16,7 @@ Page {
|
|||||||
|
|
||||||
signal done();
|
signal done();
|
||||||
|
|
||||||
header: GuhHeader {
|
header: NymeaHeader {
|
||||||
text: qsTr("Set up thing")
|
text: qsTr("Set up thing")
|
||||||
onBackPressed: {
|
onBackPressed: {
|
||||||
if (internalPageStack.depth > 1) {
|
if (internalPageStack.depth > 1) {
|
||||||
@ -183,7 +183,7 @@ Page {
|
|||||||
showNew: root.device === null
|
showNew: root.device === null
|
||||||
filterDeviceId: root.device !== null ? root.device.id : null
|
filterDeviceId: root.device !== null ? root.device.id : null
|
||||||
}
|
}
|
||||||
delegate: MeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
height: app.delegateHeight
|
height: app.delegateHeight
|
||||||
text: model.name
|
text: model.name
|
||||||
|
|||||||
Reference in New Issue
Block a user