mirror of
https://github.com/Fishwaldo/qt-openzwave.git
synced 2025-07-07 13:48:19 +00:00
Fix basic setValue calls
This commit is contained in:
parent
e0f7cb9410
commit
b6fdb56eff
5 changed files with 11 additions and 6 deletions
|
@ -1660,9 +1660,11 @@ void QTOZWManager_Internal::pvt_valueModelDataChanged(const QModelIndex &topLeft
|
||||||
if (!roles.contains(QTOZW_UserRoles::ModelDataChanged)) {
|
if (!roles.contains(QTOZW_UserRoles::ModelDataChanged)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
qCDebug(valueModel) << "valueModel Changed!" << static_cast<QTOZW_ValueIds::ValueIdColumns>(topLeft.column()) << ": "<< topLeft.data();
|
qCDebug(valueModel) << "valueModel Changed!" << static_cast<QTOZW_ValueIds::ValueIdColumns>(topLeft.column())<< "-" << topLeft.row() << ": "<< topLeft.data();
|
||||||
/* get the Node Number */
|
/* get the Node Number */
|
||||||
quint64 vidKey = this->m_valueModel->data(topLeft.siblingAtColumn(QTOZW_ValueIds::ValueIdColumns::ValueIDKey), Qt::DisplayRole).value<quint64>();
|
quint64 vidKey = this->m_valueModel->data(topLeft.siblingAtColumn(QTOZW_ValueIds::ValueIdColumns::ValueIDKey), Qt::DisplayRole).value<quint64>();
|
||||||
|
QVariant data = this->m_valueModel->data(topLeft.siblingAtColumn(QTOZW_ValueIds::ValueIdColumns::Value), Qt::DisplayRole);
|
||||||
|
qCDebug(valueModel) << "valueModel Changed! vidKey:" << vidKey << data;
|
||||||
try {
|
try {
|
||||||
OpenZWave::ValueID vid(this->homeId(), vidKey);
|
OpenZWave::ValueID vid(this->homeId(), vidKey);
|
||||||
switch (static_cast<OpenZWave::ValueID::ValueType>(vid.GetType())) {
|
switch (static_cast<OpenZWave::ValueID::ValueType>(vid.GetType())) {
|
||||||
|
|
|
@ -178,13 +178,15 @@ bool QTOZW_ValueIds::setData(const QModelIndex &index, const QVariant &value, in
|
||||||
switch (static_cast<ValueIdColumns>(index.column())) {
|
switch (static_cast<ValueIdColumns>(index.column())) {
|
||||||
case Value:
|
case Value:
|
||||||
if (this->m_valueData.at(index.row())[static_cast<ValueIdColumns>(index.column())] != value) {
|
if (this->m_valueData.at(index.row())[static_cast<ValueIdColumns>(index.column())] != value) {
|
||||||
this->m_valueData.value(index.row())[static_cast<ValueIdColumns>(index.column())] = value;
|
qCDebug(valueModel) << "setData Called for Row" << index.row() << " With Value" << value;
|
||||||
|
this->m_valueData[index.row()][static_cast<ValueIdColumns>(index.column())] = value;
|
||||||
QVector<int> roles;
|
QVector<int> roles;
|
||||||
roles << Qt::DisplayRole << QTOZW_UserRoles::ModelDataChanged;
|
roles << Qt::DisplayRole << QTOZW_UserRoles::ModelDataChanged;
|
||||||
this->dataChanged(index, index, roles);
|
this->dataChanged(index, index, roles);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
qCWarning(valueModel) << "got a setData for a Column other than Value. Ignoring" << index.column();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -109,7 +109,7 @@ int main(int argc, char *argv[])
|
||||||
"qt.remoteobjects.io.debug=true\n"
|
"qt.remoteobjects.io.debug=true\n"
|
||||||
"default.debug=true");
|
"default.debug=true");
|
||||||
#else
|
#else
|
||||||
QLoggingCategory::setFilterRules("default.debug=true");
|
QLoggingCategory::setFilterRules("*.debug=true");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
QStringList PossibleDBPaths;
|
QStringList PossibleDBPaths;
|
||||||
|
|
|
@ -236,7 +236,7 @@ bool mqttValueIDModel::encodeValue(rapidjson::Document &value, quint64 vidKey) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool mqttValueIDModel::setData(quint64 vidKey, QVariant data) {
|
bool mqttValueIDModel::setData(quint64 vidKey, QVariant data) {
|
||||||
return QTOZW_ValueIds::setData(this->index(this->getValueRow(vidKey), QTOZW_ValueIds::ValueIdColumns::Value), data, Qt::EditRole);
|
return QTOZW_ValueIds::setData(this->index(this->getValueRow(vidKey), QTOZW_ValueIds::ValueIdColumns::Value), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ bool MqttCommand_SetValue::processMessage(rapidjson::Document &msg) {
|
||||||
return this->sendSimpleStatus(false, "Missing Field Value");
|
return this->sendSimpleStatus(false, "Missing Field Value");
|
||||||
}
|
}
|
||||||
|
|
||||||
quint64 vidKey = msg["ValueIdKey"].GetUint();
|
quint64 vidKey = msg["ValueIDKey"].GetUint();
|
||||||
QBitArray flags = this->getValueData(vidKey, QTOZW_ValueIds::ValueIdColumns::ValueFlags).value<QBitArray>();
|
QBitArray flags = this->getValueData(vidKey, QTOZW_ValueIds::ValueIdColumns::ValueFlags).value<QBitArray>();
|
||||||
if (flags[QTOZW_ValueIds::ValueIDFlags::ReadOnly] == true) {
|
if (flags[QTOZW_ValueIds::ValueIDFlags::ReadOnly] == true) {
|
||||||
return this->sendSimpleStatus(false, "ValueID is Read Only");
|
return this->sendSimpleStatus(false, "ValueID is Read Only");
|
||||||
|
@ -129,5 +129,6 @@ bool MqttCommand_SetValue::processMessage(rapidjson::Document &msg) {
|
||||||
qCWarning(ozwmcsv) << "Data is undefined for setValue... Json Conversion Failed?";
|
qCWarning(ozwmcsv) << "Data is undefined for setValue... Json Conversion Failed?";
|
||||||
return this->sendSimpleStatus(false, "JSON Conversion Failed");
|
return this->sendSimpleStatus(false, "JSON Conversion Failed");
|
||||||
}
|
}
|
||||||
|
qCInfo(ozwmcsv) << "Setting " << vidKey << " to Value " << data;
|
||||||
return this->sendSimpleStatus(this->setValue(vidKey, data));
|
return this->sendSimpleStatus(this->setValue(vidKey, data));
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue