From 43aa14837d33eb66f166e444a1aed2ee88e11a1b Mon Sep 17 00:00:00 2001 From: Justin Hammond Date: Mon, 17 Jun 2019 17:19:12 +0800 Subject: [PATCH] a BugFix on setting Properties, and add a isLocked Method to the Options Class --- qt-openzwave/include/qt-openzwave/qtozwoptions.h | 3 +-- qt-openzwave/include/qt-openzwave/qtozwoptions.rep | 2 ++ qt-openzwave/include/qtozwoptions_p.h | 1 + qt-openzwave/source/qtozwoptions.cpp | 8 ++++++-- qt-openzwave/source/qtozwoptions_p.cpp | 5 +++++ 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/qt-openzwave/include/qt-openzwave/qtozwoptions.h b/qt-openzwave/include/qt-openzwave/qtozwoptions.h index 8e43ba3..838cff9 100644 --- a/qt-openzwave/include/qt-openzwave/qtozwoptions.h +++ b/qt-openzwave/include/qt-openzwave/qtozwoptions.h @@ -136,8 +136,7 @@ public: bool GetOptionAsBool(QString option); qint32 GetOptionAsInt(QString option); QString GetOptionAsString(QString option); - - + bool isLocked(); Q_SIGNALS: void ConfigPathChanged(QString ConfigPath); diff --git a/qt-openzwave/include/qt-openzwave/qtozwoptions.rep b/qt-openzwave/include/qt-openzwave/qtozwoptions.rep index 71d356a..d5a502b 100644 --- a/qt-openzwave/include/qt-openzwave/qtozwoptions.rep +++ b/qt-openzwave/include/qt-openzwave/qtozwoptions.rep @@ -51,4 +51,6 @@ class QTOZWOptions { SLOT(bool GetOptionAsBool(QString option)) SLOT(qint32 GetOptionAsInt(QString option)) SLOT(QString GetOptionAsString(QString option)) + SLOT(bool isLocked()); + } diff --git a/qt-openzwave/include/qtozwoptions_p.h b/qt-openzwave/include/qtozwoptions_p.h index 2626762..4a505ed 100644 --- a/qt-openzwave/include/qtozwoptions_p.h +++ b/qt-openzwave/include/qtozwoptions_p.h @@ -22,6 +22,7 @@ public Q_SLOTS: bool GetOptionAsBool(QString option); qint32 GetOptionAsInt(QString option); QString GetOptionAsString(QString option); + bool isLocked(); private Q_SLOTS: void pvt_ConfigPathChanged(QString value); diff --git a/qt-openzwave/source/qtozwoptions.cpp b/qt-openzwave/source/qtozwoptions.cpp index ef1d404..dde4c4c 100644 --- a/qt-openzwave/source/qtozwoptions.cpp +++ b/qt-openzwave/source/qtozwoptions.cpp @@ -20,10 +20,10 @@ #define CALL_DPTR(x) if (this->m_connectionType == QTOZWOptions::connectionType::Local) this->d_ptr_internal->x; else this->d_ptr_replica->x; #define CALL_DPTR_PROP(x) if (this->m_connectionType == QTOZWOptions::connectionType::Local) return this->d_ptr_internal->x; else return this->d_ptr_replica->x; #define CALL_DPTR_PROP_SET(x) if (this->m_connectionType == QTOZWOptions::connectionType::Local) { \ - this->d_ptr_internal->setProperty("x", x); \ + this->d_ptr_internal->setProperty(#x, x); \ } else { \ QSignalSpy spy(this, SIGNAL(xChanged)); \ - this->d_ptr_replica->setProperty("x", x); \ + this->d_ptr_replica->setProperty(#x, x); \ spy.wait(); \ } #define CALL_DPTR_METHOD_RTN(x, y) if (this->m_connectionType == QTOZWOptions::connectionType::Local) \ @@ -326,3 +326,7 @@ qint32 QTOZWOptions::GetOptionAsInt(QString option) { QString QTOZWOptions::GetOptionAsString(QString option) { CALL_DPTR_METHOD_RTN(GetOptionAsString(option), QString); } + +bool QTOZWOptions::isLocked() { + CALL_DPTR_METHOD_RTN(isLocked(), bool); +} diff --git a/qt-openzwave/source/qtozwoptions_p.cpp b/qt-openzwave/source/qtozwoptions_p.cpp index 5bcd65a..9f506cd 100644 --- a/qt-openzwave/source/qtozwoptions_p.cpp +++ b/qt-openzwave/source/qtozwoptions_p.cpp @@ -85,6 +85,11 @@ QString QTOZWOptions_Internal::GetOptionAsString(QString option) { return QString(); } +bool QTOZWOptions_Internal::isLocked() { + return this->m_options->AreLocked(); +} + + bool QTOZWOptions_Internal::populateProperties() { this->m_updating = true; this->setConfigPath(this->GetOptionAsString("ConfigPath"));