Allow thing settings to be opened directly from the things page
This commit is contained in:
parent
d69891538d
commit
c529314de6
@ -72,6 +72,8 @@ QVariant Devices::data(const QModelIndex &index, int role) const
|
|||||||
return device->id().toString();
|
return device->id().toString();
|
||||||
case RoleDeviceClass:
|
case RoleDeviceClass:
|
||||||
return device->deviceClassId().toString();
|
return device->deviceClassId().toString();
|
||||||
|
case RoleParentDeviceId:
|
||||||
|
return device->parentDeviceId().toString();
|
||||||
case RoleSetupComplete:
|
case RoleSetupComplete:
|
||||||
return device->setupComplete();
|
return device->setupComplete();
|
||||||
case RoleInterfaces:
|
case RoleInterfaces:
|
||||||
@ -133,6 +135,7 @@ QHash<int, QByteArray> Devices::roleNames() const
|
|||||||
roles[RoleName] = "name";
|
roles[RoleName] = "name";
|
||||||
roles[RoleId] = "id";
|
roles[RoleId] = "id";
|
||||||
roles[RoleDeviceClass] = "deviceClassId";
|
roles[RoleDeviceClass] = "deviceClassId";
|
||||||
|
roles[RoleParentDeviceId] = "parentDeviceId";
|
||||||
roles[RoleSetupComplete] = "setupComplete";
|
roles[RoleSetupComplete] = "setupComplete";
|
||||||
roles[RoleInterfaces] = "interfaces";
|
roles[RoleInterfaces] = "interfaces";
|
||||||
roles[RoleBaseInterface] = "baseInterface";
|
roles[RoleBaseInterface] = "baseInterface";
|
||||||
|
|||||||
@ -36,6 +36,7 @@ public:
|
|||||||
enum Roles {
|
enum Roles {
|
||||||
RoleName,
|
RoleName,
|
||||||
RoleId,
|
RoleId,
|
||||||
|
RoleParentDeviceId,
|
||||||
RoleDeviceClass,
|
RoleDeviceClass,
|
||||||
RoleSetupComplete,
|
RoleSetupComplete,
|
||||||
RoleInterfaces,
|
RoleInterfaces,
|
||||||
|
|||||||
@ -221,11 +221,12 @@ Device* JsonTypes::unpackDevice(const QVariantMap &deviceMap, DeviceClasses *dev
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QUuid parentDeviceId = deviceMap.value("parentId").toUuid();
|
||||||
Device *device = nullptr;
|
Device *device = nullptr;
|
||||||
if (oldDevice) {
|
if (oldDevice) {
|
||||||
device = oldDevice;
|
device = oldDevice;
|
||||||
} else {
|
} else {
|
||||||
device = new Device(deviceClass);
|
device = new Device(deviceClass, parentDeviceId);
|
||||||
}
|
}
|
||||||
device->setName(deviceMap.value("name").toString());
|
device->setName(deviceMap.value("name").toString());
|
||||||
device->setId(deviceMap.value("id").toUuid());
|
device->setId(deviceMap.value("id").toUuid());
|
||||||
|
|||||||
@ -25,8 +25,9 @@
|
|||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
Device::Device(DeviceClass *deviceClass, QObject *parent) :
|
Device::Device(DeviceClass *deviceClass, const QUuid &parentDeviceId, QObject *parent) :
|
||||||
QObject(parent),
|
QObject(parent),
|
||||||
|
m_parentDeviceId(parentDeviceId),
|
||||||
m_deviceClass(deviceClass)
|
m_deviceClass(deviceClass)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -57,6 +58,16 @@ QUuid Device::deviceClassId() const
|
|||||||
return m_deviceClass->id();
|
return m_deviceClass->id();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QUuid Device::parentDeviceId() const
|
||||||
|
{
|
||||||
|
return m_parentDeviceId;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Device::isChild() const
|
||||||
|
{
|
||||||
|
return !m_parentDeviceId.isNull();
|
||||||
|
}
|
||||||
|
|
||||||
bool Device::setupComplete()
|
bool Device::setupComplete()
|
||||||
{
|
{
|
||||||
return m_setupComplete;
|
return m_setupComplete;
|
||||||
|
|||||||
@ -37,6 +37,8 @@ class Device : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_PROPERTY(QUuid id READ id CONSTANT)
|
Q_PROPERTY(QUuid id READ id CONSTANT)
|
||||||
Q_PROPERTY(QUuid deviceClassId READ deviceClassId CONSTANT)
|
Q_PROPERTY(QUuid deviceClassId READ deviceClassId CONSTANT)
|
||||||
|
Q_PROPERTY(QUuid parentDeviceId READ parentDeviceId CONSTANT)
|
||||||
|
Q_PROPERTY(bool isChild READ isChild CONSTANT)
|
||||||
Q_PROPERTY(QString name READ name NOTIFY nameChanged)
|
Q_PROPERTY(QString name READ name NOTIFY nameChanged)
|
||||||
Q_PROPERTY(bool setupComplete READ setupComplete NOTIFY setupCompleteChanged)
|
Q_PROPERTY(bool setupComplete READ setupComplete NOTIFY setupCompleteChanged)
|
||||||
Q_PROPERTY(Params *params READ params NOTIFY paramsChanged)
|
Q_PROPERTY(Params *params READ params NOTIFY paramsChanged)
|
||||||
@ -45,7 +47,7 @@ class Device : public QObject
|
|||||||
Q_PROPERTY(DeviceClass *deviceClass READ deviceClass CONSTANT)
|
Q_PROPERTY(DeviceClass *deviceClass READ deviceClass CONSTANT)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit Device(DeviceClass *deviceClass, QObject *parent = nullptr);
|
explicit Device(DeviceClass *deviceClass, const QUuid &parentDeviceId = QUuid(), QObject *parent = nullptr);
|
||||||
|
|
||||||
QString name() const;
|
QString name() const;
|
||||||
void setName(const QString &name);
|
void setName(const QString &name);
|
||||||
@ -54,6 +56,8 @@ public:
|
|||||||
void setId(const QUuid &id);
|
void setId(const QUuid &id);
|
||||||
|
|
||||||
QUuid deviceClassId() const;
|
QUuid deviceClassId() const;
|
||||||
|
QUuid parentDeviceId() const;
|
||||||
|
bool isChild() const;
|
||||||
|
|
||||||
bool setupComplete();
|
bool setupComplete();
|
||||||
void setSetupComplete(const bool &setupComplete);
|
void setSetupComplete(const bool &setupComplete);
|
||||||
@ -77,6 +81,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
QString m_name;
|
QString m_name;
|
||||||
QUuid m_id;
|
QUuid m_id;
|
||||||
|
QUuid m_parentDeviceId;
|
||||||
bool m_setupComplete;
|
bool m_setupComplete;
|
||||||
Params *m_params = nullptr;
|
Params *m_params = nullptr;
|
||||||
Params *m_settings = nullptr;
|
Params *m_settings = nullptr;
|
||||||
|
|||||||
@ -89,6 +89,7 @@ void Params::addParam(Param *param)
|
|||||||
//qDebug() << "Params: loaded param" << param->name();
|
//qDebug() << "Params: loaded param" << param->name();
|
||||||
m_params.append(param);
|
m_params.append(param);
|
||||||
endInsertRows();
|
endInsertRows();
|
||||||
|
emit countChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Params::clearModel()
|
void Params::clearModel()
|
||||||
@ -96,6 +97,7 @@ void Params::clearModel()
|
|||||||
beginResetModel();
|
beginResetModel();
|
||||||
m_params.clear();
|
m_params.clear();
|
||||||
endResetModel();
|
endResetModel();
|
||||||
|
emit countChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
QHash<int, QByteArray> Params::roleNames() const
|
QHash<int, QByteArray> Params::roleNames() const
|
||||||
|
|||||||
@ -30,13 +30,14 @@
|
|||||||
class Params : public QAbstractListModel
|
class Params : public QAbstractListModel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
Q_PROPERTY(int count READ count NOTIFY countChanged)
|
||||||
public:
|
public:
|
||||||
enum RoleId {
|
enum RoleId {
|
||||||
RoleId,
|
RoleId,
|
||||||
RoleValue
|
RoleValue
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit Params(QObject *parent = 0);
|
explicit Params(QObject *parent = nullptr);
|
||||||
|
|
||||||
QList<Param *> params();
|
QList<Param *> params();
|
||||||
|
|
||||||
@ -53,6 +54,9 @@ public:
|
|||||||
|
|
||||||
void clearModel();
|
void clearModel();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void countChanged();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QHash<int, QByteArray> roleNames() const;
|
QHash<int, QByteArray> roleNames() const;
|
||||||
|
|
||||||
|
|||||||
@ -791,11 +791,11 @@
|
|||||||
<name>ConfigureThingPage</name>
|
<name>ConfigureThingPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Delete Thing</source>
|
<source>Delete Thing</source>
|
||||||
<translation>"Thing" löschen</translation>
|
<translation type="vanished">"Thing" löschen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Rename Thing</source>
|
<source>Rename Thing</source>
|
||||||
<translation>"Thing" umbenennen</translation>
|
<translation type="vanished">"Thing" umbenennen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Remove device error: %1</source>
|
<source>Remove device error: %1</source>
|
||||||
@ -803,7 +803,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Thing parameters</source>
|
<source>Thing parameters</source>
|
||||||
<translation>"Thing" Parameter</translation>
|
<translation type="vanished">"Thing" Parameter</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This thing is currently used in one or more rules:</source>
|
<source>This thing is currently used in one or more rules:</source>
|
||||||
@ -823,11 +823,11 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Reconfigure Thing</source>
|
<source>Reconfigure Thing</source>
|
||||||
<translation>"Thing" neu einrichten</translation>
|
<translation type="vanished">"Thing" neu einrichten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Thing information</source>
|
<source>Thing information</source>
|
||||||
<translation>"Thing" Informationen</translation>
|
<translation type="vanished">"Thing" Informationen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Vendor:</source>
|
<source>Vendor:</source>
|
||||||
@ -839,12 +839,36 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Thing settings</source>
|
<source>Thing settings</source>
|
||||||
<translation>"Thing" einstellungen</translation>
|
<translation type="vanished">"Thing" einstellungen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Apply</source>
|
<source>Apply</source>
|
||||||
<translation>Anwenden</translation>
|
<translation>Anwenden</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rename</source>
|
||||||
|
<translation>Umbenennen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Delete</source>
|
||||||
|
<translation>Löschen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reconfigure</source>
|
||||||
|
<translation>Neu einrichten</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Information</source>
|
||||||
|
<translation>Informationen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Parameters</source>
|
||||||
|
<translation>Parameter</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>Einstellungen</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ConnectPage</name>
|
<name>ConnectPage</name>
|
||||||
@ -1289,7 +1313,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Thing details</source>
|
<source>Thing details</source>
|
||||||
<translation>Details</translation>
|
<translation type="vanished">Details</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Mark as favorite</source>
|
<source>Mark as favorite</source>
|
||||||
@ -1301,7 +1325,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Thing logs</source>
|
<source>Thing logs</source>
|
||||||
<translation>"Thing" Protokoll</translation>
|
<translation type="vanished">"Thing" Protokoll</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Details</source>
|
||||||
|
<translation>Details</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>Einstellungen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Logs</source>
|
||||||
|
<translation>Protokoll</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|||||||
@ -569,22 +569,6 @@
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ConfigureThingPage</name>
|
<name>ConfigureThingPage</name>
|
||||||
<message>
|
|
||||||
<source>Delete Thing</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rename Thing</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reconfigure Thing</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Thing information</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Vendor:</source>
|
<source>Vendor:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -593,18 +577,34 @@
|
|||||||
<source>Type</source>
|
<source>Type</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Thing parameters</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Thing settings</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Apply</source>
|
<source>Apply</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rename</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Delete</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reconfigure</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Information</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Parameters</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ConnectPage</name>
|
<name>ConnectPage</name>
|
||||||
@ -875,14 +875,6 @@
|
|||||||
<source>Magic</source>
|
<source>Magic</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Thing details</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Thing logs</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Mark as favorite</source>
|
<source>Mark as favorite</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -899,6 +891,18 @@
|
|||||||
<source>Thing runs out of battery!</source>
|
<source>Thing runs out of battery!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Details</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Logs</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>DeviceRulesPage</name>
|
<name>DeviceRulesPage</name>
|
||||||
|
|||||||
@ -569,22 +569,6 @@
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ConfigureThingPage</name>
|
<name>ConfigureThingPage</name>
|
||||||
<message>
|
|
||||||
<source>Delete Thing</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Rename Thing</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reconfigure Thing</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Thing information</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Vendor:</source>
|
<source>Vendor:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -593,18 +577,34 @@
|
|||||||
<source>Type</source>
|
<source>Type</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Thing parameters</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Thing settings</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Apply</source>
|
<source>Apply</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rename</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Delete</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reconfigure</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Information</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Parameters</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ConnectPage</name>
|
<name>ConnectPage</name>
|
||||||
@ -875,14 +875,6 @@
|
|||||||
<source>Magic</source>
|
<source>Magic</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Thing details</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Thing logs</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Mark as favorite</source>
|
<source>Mark as favorite</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -899,6 +891,18 @@
|
|||||||
<source>Thing runs out of battery!</source>
|
<source>Thing runs out of battery!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Details</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Logs</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>DeviceRulesPage</name>
|
<name>DeviceRulesPage</name>
|
||||||
|
|||||||
@ -568,19 +568,19 @@
|
|||||||
<name>ConfigureThingPage</name>
|
<name>ConfigureThingPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Delete Thing</source>
|
<source>Delete Thing</source>
|
||||||
<translation>삭제하기</translation>
|
<translation type="vanished">삭제하기</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Rename Thing</source>
|
<source>Rename Thing</source>
|
||||||
<translation>이름 바꾸기</translation>
|
<translation type="vanished">이름 바꾸기</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Reconfigure Thing</source>
|
<source>Reconfigure Thing</source>
|
||||||
<translation>재설정</translation>
|
<translation type="vanished">재설정</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Thing information</source>
|
<source>Thing information</source>
|
||||||
<translation>사물(장치) 정보</translation>
|
<translation type="vanished">사물(장치) 정보</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Vendor:</source>
|
<source>Vendor:</source>
|
||||||
@ -592,16 +592,40 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Thing parameters</source>
|
<source>Thing parameters</source>
|
||||||
<translation>사물(장치) 매개변수</translation>
|
<translation type="vanished">사물(장치) 매개변수</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Thing settings</source>
|
<source>Thing settings</source>
|
||||||
<translation>사물(장치) 설정</translation>
|
<translation type="vanished">사물(장치) 설정</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Apply</source>
|
<source>Apply</source>
|
||||||
<translation>적용</translation>
|
<translation>적용</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rename</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Delete</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reconfigure</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Information</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Parameters</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation type="unfinished">설정</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ConnectPage</name>
|
<name>ConnectPage</name>
|
||||||
@ -874,11 +898,11 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Thing details</source>
|
<source>Thing details</source>
|
||||||
<translation>세부 정보</translation>
|
<translation type="vanished">세부 정보</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Thing logs</source>
|
<source>Thing logs</source>
|
||||||
<translation>사물 기록</translation>
|
<translation type="vanished">사물 기록</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Mark as favorite</source>
|
<source>Mark as favorite</source>
|
||||||
@ -896,6 +920,18 @@
|
|||||||
<source>Thing runs out of battery!</source>
|
<source>Thing runs out of battery!</source>
|
||||||
<translation>배터리가 다 됐네요!</translation>
|
<translation>배터리가 다 됐네요!</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Details</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation type="unfinished">설정</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Logs</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>DeviceRulesPage</name>
|
<name>DeviceRulesPage</name>
|
||||||
|
|||||||
@ -53,7 +53,7 @@ Item {
|
|||||||
}
|
}
|
||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: "%1: %2".arg(deviceClass.eventTypes.getEventType(model.typeId).displayName).arg(model.value.trim())
|
text: deviceClass.eventTypes.getEventType(model.typeId).displayName + (model.value.length > 0 ? (": " + model.value.trim()) : "")
|
||||||
elide: Text.ElideRight
|
elide: Text.ElideRight
|
||||||
font.pixelSize: app.smallFont
|
font.pixelSize: app.smallFont
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,10 +56,11 @@ Page {
|
|||||||
thingMenu.addItem(menuEntryComponent.createObject(thingMenu, {text: qsTr("Magic"), iconSource: "../images/magic.svg", functionName: "openDeviceMagicPage"}))
|
thingMenu.addItem(menuEntryComponent.createObject(thingMenu, {text: qsTr("Magic"), iconSource: "../images/magic.svg", functionName: "openDeviceMagicPage"}))
|
||||||
|
|
||||||
if (root.showDetailsButton) {
|
if (root.showDetailsButton) {
|
||||||
thingMenu.addItem(menuEntryComponent.createObject(thingMenu, {text: qsTr("Thing details"), iconSource: "../images/configure.svg", functionName: "openGenericDevicePage"}))
|
thingMenu.addItem(menuEntryComponent.createObject(thingMenu, {text: qsTr("Details"), iconSource: "../images/info.svg", functionName: "openGenericDevicePage"}))
|
||||||
}
|
}
|
||||||
|
thingMenu.addItem(menuEntryComponent.createObject(thingMenu, {text: qsTr("Settings"), iconSource: "../images/configure.svg", functionName: "openThingSettingsPage"}))
|
||||||
if (root.showLogsButton) {
|
if (root.showLogsButton) {
|
||||||
thingMenu.addItem(menuEntryComponent.createObject(thingMenu, {text: qsTr("Thing logs"), iconSource: "../images/logs.svg", functionName: "openDeviceLogPage"}))
|
thingMenu.addItem(menuEntryComponent.createObject(thingMenu, {text: qsTr("Logs"), iconSource: "../images/logs.svg", functionName: "openDeviceLogPage"}))
|
||||||
}
|
}
|
||||||
|
|
||||||
if (engine.jsonRpcClient.ensureServerVersion(1.6)) {
|
if (engine.jsonRpcClient.ensureServerVersion(1.6)) {
|
||||||
@ -84,6 +85,10 @@ Page {
|
|||||||
engine.tagsManager.untagDevice(root.device.id, "favorites")
|
engine.tagsManager.untagDevice(root.device.id, "favorites")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function openThingSettingsPage() {
|
||||||
|
pageStack.push(Qt.resolvedUrl("../thingconfiguration/ConfigureThingPage.qml"), {device: root.device})
|
||||||
|
}
|
||||||
|
|
||||||
function openDeviceLogPage() {
|
function openDeviceLogPage() {
|
||||||
pageStack.push(Qt.resolvedUrl("DeviceLogPage.qml"), {device: root.device });
|
pageStack.push(Qt.resolvedUrl("DeviceLogPage.qml"), {device: root.device });
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,26 +24,36 @@ Page {
|
|||||||
id: deviceMenu
|
id: deviceMenu
|
||||||
width: implicitWidth + app.margins
|
width: implicitWidth + app.margins
|
||||||
x: parent.width - width
|
x: parent.width - width
|
||||||
IconMenuItem {
|
|
||||||
iconSource: "../images/delete.svg"
|
Component.onCompleted: {
|
||||||
text: qsTr("Delete Thing")
|
deviceMenu.addItem(menuEntryComponent.createObject(deviceMenu, {text: qsTr("Rename"), iconSource: "../images/edit.svg", functionName: "renameThing"}))
|
||||||
onTriggered: engine.deviceManager.removeDevice(root.device.id)
|
if (!root.device.isChild) {
|
||||||
}
|
deviceMenu.addItem(menuEntryComponent.createObject(deviceMenu, {text: qsTr("Delete"), iconSource: "../images/delete.svg", functionName: "deleteThing"}))
|
||||||
IconMenuItem {
|
}
|
||||||
iconSource: "../images/edit.svg"
|
if (!root.device.isChild) {
|
||||||
text: qsTr("Rename Thing")
|
deviceMenu.addItem(menuEntryComponent.createObject(deviceMenu, {text: qsTr("Reconfigure"), iconSource: "../images/configure.svg", functionName: "reconfigureThing"}))
|
||||||
onTriggered: {
|
|
||||||
var popup = renameDialog.createObject(root);
|
|
||||||
popup.open();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
IconMenuItem {
|
|
||||||
iconSource: "../images/configure.svg"
|
function renameThing() {
|
||||||
text: qsTr("Reconfigure Thing")
|
var popup = renameDialog.createObject(root);
|
||||||
visible: root.device.deviceClass.paramTypes.count > 0
|
popup.open();
|
||||||
onTriggered: {
|
}
|
||||||
var configPage = pageStack.push(Qt.resolvedUrl("SetupWizard.qml"), {device: root.device})
|
|
||||||
configPage.done.connect(function() {pageStack.pop(root)})
|
function deleteThing() {
|
||||||
|
engine.deviceManager.removeDevice(root.device.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
function reconfigureThing() {
|
||||||
|
var configPage = pageStack.push(Qt.resolvedUrl("SetupWizard.qml"), {device: root.device})
|
||||||
|
configPage.done.connect(function() {pageStack.pop(root)})
|
||||||
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: menuEntryComponent
|
||||||
|
IconMenuItem {
|
||||||
|
property string functionName: ""
|
||||||
|
onTriggered: deviceMenu[functionName]()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -77,7 +87,7 @@ Page {
|
|||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.margins: app.margins
|
Layout.margins: app.margins
|
||||||
text: qsTr("Thing information")
|
text: qsTr("Information")
|
||||||
color: app.accentColor
|
color: app.accentColor
|
||||||
}
|
}
|
||||||
RowLayout {
|
RowLayout {
|
||||||
@ -106,7 +116,7 @@ Page {
|
|||||||
Layout.leftMargin: app.margins
|
Layout.leftMargin: app.margins
|
||||||
Layout.rightMargin: app.margins
|
Layout.rightMargin: app.margins
|
||||||
Layout.topMargin: app.margins
|
Layout.topMargin: app.margins
|
||||||
text: qsTr("Thing parameters")
|
text: qsTr("Parameters")
|
||||||
color: app.accentColor
|
color: app.accentColor
|
||||||
visible: root.deviceClass.paramTypes.count > 0
|
visible: root.deviceClass.paramTypes.count > 0
|
||||||
}
|
}
|
||||||
@ -126,7 +136,7 @@ Page {
|
|||||||
Layout.leftMargin: app.margins
|
Layout.leftMargin: app.margins
|
||||||
Layout.rightMargin: app.margins
|
Layout.rightMargin: app.margins
|
||||||
Layout.topMargin: app.margins
|
Layout.topMargin: app.margins
|
||||||
text: qsTr("Thing settings")
|
text: qsTr("Settings")
|
||||||
color: app.accentColor
|
color: app.accentColor
|
||||||
visible: root.deviceClass.settingsTypes.count > 0
|
visible: root.deviceClass.settingsTypes.count > 0
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user