Add setupDisplayMessage
This commit is contained in:
parent
f2fe43573d
commit
b18dcc5b00
@ -84,6 +84,8 @@ QVariant Devices::data(const QModelIndex &index, int role) const
|
|||||||
return device->parentDeviceId().toString();
|
return device->parentDeviceId().toString();
|
||||||
case RoleSetupStatus:
|
case RoleSetupStatus:
|
||||||
return device->setupStatus();
|
return device->setupStatus();
|
||||||
|
case RoleSetupDisplayMessage:
|
||||||
|
return device->setupDisplayMessage();
|
||||||
case RoleInterfaces:
|
case RoleInterfaces:
|
||||||
return device->deviceClass()->interfaces();
|
return device->deviceClass()->interfaces();
|
||||||
case RoleBaseInterface:
|
case RoleBaseInterface:
|
||||||
@ -107,7 +109,7 @@ void Devices::addDevice(Device *device)
|
|||||||
connect(device, &Device::setupStatusChanged, this, [device, this]() {
|
connect(device, &Device::setupStatusChanged, this, [device, this]() {
|
||||||
int idx = m_devices.indexOf(device);
|
int idx = m_devices.indexOf(device);
|
||||||
if (idx < 0) return;
|
if (idx < 0) return;
|
||||||
emit dataChanged(index(idx), index(idx), {RoleSetupStatus});
|
emit dataChanged(index(idx), index(idx), {RoleSetupStatus, RoleSetupDisplayMessage});
|
||||||
});
|
});
|
||||||
connect(device->states(), &States::dataChanged, this, [device, this]() {
|
connect(device->states(), &States::dataChanged, this, [device, this]() {
|
||||||
int idx = m_devices.indexOf(device);
|
int idx = m_devices.indexOf(device);
|
||||||
@ -145,6 +147,7 @@ QHash<int, QByteArray> Devices::roleNames() const
|
|||||||
roles[RoleDeviceClass] = "deviceClassId";
|
roles[RoleDeviceClass] = "deviceClassId";
|
||||||
roles[RoleParentDeviceId] = "parentDeviceId";
|
roles[RoleParentDeviceId] = "parentDeviceId";
|
||||||
roles[RoleSetupStatus] = "setupStatus";
|
roles[RoleSetupStatus] = "setupStatus";
|
||||||
|
roles[RoleSetupDisplayMessage] = "setupDisplayMessage";
|
||||||
roles[RoleInterfaces] = "interfaces";
|
roles[RoleInterfaces] = "interfaces";
|
||||||
roles[RoleBaseInterface] = "baseInterface";
|
roles[RoleBaseInterface] = "baseInterface";
|
||||||
return roles;
|
return roles;
|
||||||
|
|||||||
@ -47,6 +47,7 @@ public:
|
|||||||
RoleParentDeviceId,
|
RoleParentDeviceId,
|
||||||
RoleDeviceClass,
|
RoleDeviceClass,
|
||||||
RoleSetupStatus,
|
RoleSetupStatus,
|
||||||
|
RoleSetupDisplayMessage,
|
||||||
RoleInterfaces,
|
RoleInterfaces,
|
||||||
RoleBaseInterface
|
RoleBaseInterface
|
||||||
};
|
};
|
||||||
|
|||||||
@ -243,9 +243,10 @@ Device* JsonTypes::unpackDevice(const QVariantMap &deviceMap, DeviceClasses *dev
|
|||||||
// As of JSONRPC 4.2 setupComplete is deprecated and setupStatus is new
|
// As of JSONRPC 4.2 setupComplete is deprecated and setupStatus is new
|
||||||
if (deviceMap.contains("setupStatus")) {
|
if (deviceMap.contains("setupStatus")) {
|
||||||
QMetaEnum setupStatusEnum = QMetaEnum::fromType<Device::DeviceSetupStatus>();
|
QMetaEnum setupStatusEnum = QMetaEnum::fromType<Device::DeviceSetupStatus>();
|
||||||
device->setSetupStatus(static_cast<Device::DeviceSetupStatus>(setupStatusEnum.keyToValue(deviceMap.value("setupStatus").toByteArray().data())));
|
device->setSetupStatus(static_cast<Device::DeviceSetupStatus>(setupStatusEnum.keyToValue(deviceMap.value("setupStatus").toByteArray().data())),
|
||||||
|
deviceMap.value("setupDisplayMessage").toString());
|
||||||
} else {
|
} else {
|
||||||
device->setSetupStatus(deviceMap.value("setupComplete").toBool() ? Device::DeviceSetupStatusComplete : Device::DeviceSetupStatusNone);
|
device->setSetupStatus(deviceMap.value("setupComplete").toBool() ? Device::DeviceSetupStatusComplete : Device::DeviceSetupStatusNone, QString());
|
||||||
}
|
}
|
||||||
|
|
||||||
Params *params = device->params();
|
Params *params = device->params();
|
||||||
|
|||||||
@ -81,10 +81,16 @@ Device::DeviceSetupStatus Device::setupStatus() const
|
|||||||
return m_setupStatus;
|
return m_setupStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Device::setSetupStatus(Device::DeviceSetupStatus setupStatus)
|
QString Device::setupDisplayMessage() const
|
||||||
{
|
{
|
||||||
if (m_setupStatus != setupStatus) {
|
return m_setupDisplayMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Device::setSetupStatus(Device::DeviceSetupStatus setupStatus, const QString &displayMessage)
|
||||||
|
{
|
||||||
|
if (m_setupStatus != setupStatus || m_setupDisplayMessage != displayMessage) {
|
||||||
m_setupStatus = setupStatus;
|
m_setupStatus = setupStatus;
|
||||||
|
m_setupDisplayMessage = displayMessage;
|
||||||
emit setupStatusChanged();
|
emit setupStatusChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,6 +49,7 @@ class Device : public QObject
|
|||||||
Q_PROPERTY(bool isChild READ isChild 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(DeviceSetupStatus setupStatus READ setupStatus NOTIFY setupStatusChanged)
|
Q_PROPERTY(DeviceSetupStatus setupStatus READ setupStatus NOTIFY setupStatusChanged)
|
||||||
|
Q_PROPERTY(QString setupDisplayMessage READ setupDisplayMessage NOTIFY setupStatusChanged)
|
||||||
Q_PROPERTY(Params *params READ params NOTIFY paramsChanged)
|
Q_PROPERTY(Params *params READ params NOTIFY paramsChanged)
|
||||||
Q_PROPERTY(Params *settings READ settings NOTIFY settingsChanged)
|
Q_PROPERTY(Params *settings READ settings NOTIFY settingsChanged)
|
||||||
Q_PROPERTY(States *states READ states NOTIFY statesChanged)
|
Q_PROPERTY(States *states READ states NOTIFY statesChanged)
|
||||||
@ -76,7 +77,8 @@ public:
|
|||||||
bool isChild() const;
|
bool isChild() const;
|
||||||
|
|
||||||
DeviceSetupStatus setupStatus() const;
|
DeviceSetupStatus setupStatus() const;
|
||||||
void setSetupStatus(DeviceSetupStatus setupStatus);
|
QString setupDisplayMessage() const;
|
||||||
|
void setSetupStatus(DeviceSetupStatus setupStatus, const QString &displayMessage);
|
||||||
|
|
||||||
Params *params() const;
|
Params *params() const;
|
||||||
void setParams(Params *params);
|
void setParams(Params *params);
|
||||||
@ -109,6 +111,7 @@ private:
|
|||||||
QUuid m_id;
|
QUuid m_id;
|
||||||
QUuid m_parentDeviceId;
|
QUuid m_parentDeviceId;
|
||||||
DeviceSetupStatus m_setupStatus;
|
DeviceSetupStatus m_setupStatus;
|
||||||
|
QString m_setupDisplayMessage;
|
||||||
Params *m_params = nullptr;
|
Params *m_params = nullptr;
|
||||||
Params *m_settings = nullptr;
|
Params *m_settings = nullptr;
|
||||||
States *m_states = nullptr;
|
States *m_states = nullptr;
|
||||||
|
|||||||
@ -240,7 +240,7 @@ Page {
|
|||||||
text: infoPane.setupInProgress ?
|
text: infoPane.setupInProgress ?
|
||||||
qsTr("Thing is being set up...")
|
qsTr("Thing is being set up...")
|
||||||
: infoPane.setupFailure ?
|
: infoPane.setupFailure ?
|
||||||
qsTr("Thing setup failed!")
|
(root.device.setupDisplayMessage.length > 0 ? root.device.setupDisplayMessage : qsTr("Thing setup failed!"))
|
||||||
: (infoPane.connectedState !== null && infoPane.connectedState.value === false) ?
|
: (infoPane.connectedState !== null && infoPane.connectedState.value === false) ?
|
||||||
qsTr("Thing is not connected!")
|
qsTr("Thing is not connected!")
|
||||||
: qsTr("Thing runs out of battery!")
|
: qsTr("Thing runs out of battery!")
|
||||||
|
|||||||
Reference in New Issue
Block a user