diff --git a/ozwadmin-main/configuration.cpp b/ozwadmin-main/configuration.cpp index 6955919..a08a0e9 100644 --- a/ozwadmin-main/configuration.cpp +++ b/ozwadmin-main/configuration.cpp @@ -27,385 +27,111 @@ Configuration::Configuration(QWidget *parent) : else qCDebug(ozwadmin) << "No m_options"; - { QtVariantEditorFactory *variantFactory = new QtVariantEditorFactory(this); QtEnumEditorFactory *enumFactory = new QtEnumEditorFactory(this); - variantManager = new QtVariantPropertyManager(this); - enumManager = new QtEnumPropertyManager(this); + m_OZWvariantManager = new QtVariantPropertyManager(this); + m_OZWenumManager = new QtEnumPropertyManager(this); + { + /* OZW Pane */ + this->m_OZWEditor = new QtTreePropertyBrowser(this); + m_OZWEditor->setFactoryForManager(m_OZWvariantManager, variantFactory); + m_OZWEditor->setFactoryForManager(m_OZWenumManager, enumFactory); + m_OZWEditor->setPropertiesWithoutValueMarked(true); + m_OZWEditor->setRootIsDecorated(false); - this->m_variantEditor = new QtTreePropertyBrowser(this); - m_variantEditor->setFactoryForManager(variantManager, variantFactory); - m_variantEditor->setFactoryForManager(enumManager, enumFactory); - m_variantEditor->setPropertiesWithoutValueMarked(true); - m_variantEditor->setRootIsDecorated(false); - - QtProperty *topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + QtProperty *topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QLatin1String(" Paths")); - - QtVariantProperty *variantitem; - QtProperty *enumitem; + topItem->addSubProperty(this->addStringProperty("ConfigPath", m_options->ConfigPath(), m_options->isLocked())); + topItem->addSubProperty(this->addStringProperty("UserPath", m_options->UserPath(), m_options->isLocked())); + m_OZWEditor->addProperty(topItem); - { - variantitem = variantManager->addProperty(QVariant::String, "ConfigPath"); - variantitem->setValue(m_options->ConfigPath()); - variantitem->setBold(settings.contains("openzwave/ConfigPath")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("ConfigPath", variantitem); - } - { - variantitem = variantManager->addProperty(QVariant::String, "UserPath"); - variantitem->setValue(m_options->UserPath()); - variantitem->setBold(settings.contains("openzwave/UserPath")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("UserPath", variantitem); - } - - m_variantEditor->addProperty(topItem); - - topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), - QLatin1String("Logging")); - - { - variantitem = variantManager->addProperty(QVariant::Bool, "Logging"); - variantitem->setValue(m_options->Logging()); - variantitem->setBold(settings.contains("openzwave/Logging")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("Logging", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::String, "LogFileName"); - variantitem->setValue(m_options->LogFileName()); - variantitem->setBold(settings.contains("openzwave/LogFileName")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("LogFileName", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::Bool, "AppendLogFile"); - variantitem->setValue(m_options->AppendLogFile()); - variantitem->setBold(settings.contains("openzwave/AppendLogFile")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("AppendLogFile", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::Bool, "ConsoleOutput"); - variantitem->setValue(m_options->ConsoleOutput()); - variantitem->setBold(settings.contains("openzwave/ConsoleOutput")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("ConsoleOutput", variantitem); - } - - { - enumitem = enumManager->addProperty("SaveLogLevel"); - enumManager->setEnumNames(enumitem, m_options->SaveLogLevel().getEnums()); - enumManager->setValue(enumitem, m_options->SaveLogLevel().getSelected()); - enumitem->setBold(settings.contains("openzwave/SaveLogLevel")); - enumitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(enumitem); - this->m_variantToProperty.insert("SaveLogLevel", enumitem); - } - - { - enumitem = enumManager->addProperty("QueueLogLevel"); - enumManager->setEnumNames(enumitem, m_options->QueueLogLevel().getEnums()); - enumManager->setValue(enumitem, m_options->QueueLogLevel().getSelected()); - enumitem->setBold(settings.contains("openzwave/QueueLogLevel")); - enumitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(enumitem); - this->m_variantToProperty.insert("QueueLogLevel", enumitem); - } - - { - enumitem = enumManager->addProperty("DumpTriggerLevel"); - enumManager->setEnumNames(enumitem, m_options->DumpTriggerLevel().getEnums()); - enumManager->setValue(enumitem, m_options->DumpTriggerLevel().getSelected()); - enumitem->setBold(settings.contains("openzwave/DumpTriggerLevel")); - enumitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(enumitem); - this->m_variantToProperty.insert("DumpTriggerLevel", enumitem); - } - - m_variantEditor->addProperty(topItem); - - topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QLatin1String("Driver")); + topItem->addSubProperty(this->addBoolProperty("NotifyTransactions", m_options->NotifyTransactions(), m_options->isLocked())); + topItem->addSubProperty(this->addBoolProperty("SaveConfiguration", m_options->SaveConfiguration(), m_options->isLocked())); + topItem->addSubProperty(this->addIntProperty("DriverMaxAttempts", m_options->DriverMaxAttempts(), m_options->isLocked())); + topItem->addSubProperty(this->addBoolProperty("SuppressValueRefresh", m_options->SuppressValueRefresh(), m_options->isLocked())); + topItem->addSubProperty(this->addIntProperty("RetryTimeout", m_options->RetryTimeout(), m_options->isLocked())); + topItem->addSubProperty(this->addBoolProperty("EnableSIS", m_options->EnableSIS(), m_options->isLocked())); + topItem->addSubProperty(this->addBoolProperty("NotifyOnDriverUnload", m_options->NotifyOnDriverUnload(), m_options->isLocked())); + m_OZWEditor->addProperty(topItem); - { - variantitem = variantManager->addProperty(QVariant::Bool, "NotifyTransactions"); - variantitem->setValue(m_options->NotifyTransactions()); - variantitem->setBold(settings.contains("openzwave/NotifyTransactions")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("NotifyTransactions", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::String, "SaveConfiguration"); - variantitem->setValue(m_options->SaveConfiguration()); - variantitem->setBold(settings.contains("openzwave/SaveConfiguration")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("SaveConfiguration", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::Int, "DriverMaxAttempts"); - variantitem->setValue(m_options->DriverMaxAttempts()); - variantitem->setBold(settings.contains("openzwave/DriverMaxAttempts")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("DriverMaxAttempts", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::Bool, "SuppressValueRefresh"); - variantitem->setValue(m_options->SuppressValueRefresh()); - variantitem->setBold(settings.contains("openzwave/SuppressValueRefresh")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("SuppressValueRefresh", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::Int, "RetryTimeout"); - variantitem->setValue(m_options->RetryTimeout()); - variantitem->setBold(settings.contains("openzwave/RetryTimeout")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("RetryTimeout", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::Bool, "EnableSIS"); - variantitem->setValue(m_options->EnableSIS()); - variantitem->setBold(settings.contains("openzwave/EnableSIS")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("EnableSIS", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::Bool, "NotifyOnDriverUnload"); - variantitem->setValue(m_options->NotifyOnDriverUnload()); - variantitem->setBold(settings.contains("openzwave/NotifyOnDriverUnload")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("NotifyOnDriverUnload", variantitem); - } - - m_variantEditor->addProperty(topItem); - - topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QLatin1String("Associations")); + topItem->addSubProperty(this->addBoolProperty("Associate", m_options->Associate(), m_options->isLocked())); + topItem->addSubProperty(this->addBoolProperty("PerformReturnRoutes", m_options->PerformReturnRoutes(), m_options->isLocked())); + m_OZWEditor->addProperty(topItem); - { - variantitem = variantManager->addProperty(QVariant::Bool, "Associate"); - variantitem->setValue(m_options->Associate()); - variantitem->setBold(settings.contains("openzwave/Associate")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("Associate", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::Bool, "PerformReturnRoutes"); - variantitem->setValue(m_options->PerformReturnRoutes()); - variantitem->setBold(settings.contains("openzwave/PerformReturnRoutes")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("PerformReturnRoutes", variantitem); - } - - - m_variantEditor->addProperty(topItem); - - topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QLatin1String("Polling")); + topItem->addSubProperty(this->addIntProperty("PollInterval", m_options->PollInterval(), m_options->isLocked())); + topItem->addSubProperty(this->addBoolProperty("IntervalBetweenPolls", m_options->IntervalBetweenPolls(), m_options->isLocked())); + m_OZWEditor->addProperty(topItem); - { - variantitem = variantManager->addProperty(QVariant::Int, "PollInterval"); - variantitem->setValue(m_options->PollInterval()); - variantitem->setBold(settings.contains("openzwave/PollInterval")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("PollInterval", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::Bool, "IntervalBetweenPolls"); - variantitem->setValue(m_options->IntervalBetweenPolls()); - variantitem->setBold(settings.contains("openzwave/IntervalBetweenPolls")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("IntervalBetweenPolls", variantitem); - } - - m_variantEditor->addProperty(topItem); - - topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QLatin1String("CommandClasses")); + topItem->addSubProperty(this->addStringProperty("Exclude", m_options->Exclude(), m_options->isLocked())); + topItem->addSubProperty(this->addStringProperty("Include", m_options->Include(), m_options->isLocked())); + m_OZWEditor->addProperty(topItem); - { - variantitem = variantManager->addProperty(QVariant::String, "Exclude"); - variantitem->setValue(m_options->Exclude()); - variantitem->setBold(settings.contains("openzwave/Exclude")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("Exclude", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::String, "Include"); - variantitem->setValue(m_options->Include()); - variantitem->setBold(settings.contains("openzwave/Include")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("Include", variantitem); - } - - - m_variantEditor->addProperty(topItem); - - topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QLatin1String("Security")); + topItem->addSubProperty(this->addEnumProperty("SecurityStrategy", m_options->SecurityStrategy().getEnums(), m_options->SecurityStrategy().getSelected(), m_options->isLocked())); + topItem->addSubProperty(this->addStringProperty("CustomSecuredCC", m_options->CustomSecuredCC(), m_options->isLocked())); + topItem->addSubProperty(this->addBoolProperty("EnforceSecureReception", m_options->EnforceSecureReception(), m_options->isLocked())); + topItem->addSubProperty(this->addStringProperty("networkKey", m_options->NetworkKey(), m_options->isLocked())); + m_OZWEditor->addProperty(topItem); - { - enumitem = enumManager->addProperty("SecurityStrategy"); - enumManager->setEnumNames(enumitem, m_options->SecurityStrategy().getEnums()); - enumManager->setValue(enumitem, m_options->SecurityStrategy().getSelected()); - enumitem->setBold(settings.contains("openzwave/SecurityStrategy")); - enumitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(enumitem); - this->m_variantToProperty.insert("SecurityStrategy", enumitem); - } - - { - variantitem = variantManager->addProperty(QVariant::Bool, "CustomSecuredCC"); - variantitem->setValue(m_options->CustomSecuredCC()); - variantitem->setBold(settings.contains("openzwave/CustomSecuredCC")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("CustomSecuredCC", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::String, "EnforceSecureReception"); - variantitem->setValue(m_options->EnforceSecureReception()); - variantitem->setBold(settings.contains("openzwave/EnforceSecureReception")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("EnforceSecureReception", variantitem); - } - - { - variantitem = variantManager->addProperty(QVariant::String, "NetworkKey"); - variantitem->setValue(m_options->NetworkKey()); - variantitem->setBold(settings.contains("openzwave/NetworkKey")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("NetworkKey", variantitem); - } - - - m_variantEditor->addProperty(topItem); - - topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QLatin1String("Sleeping Devices")); + topItem->addSubProperty(this->addBoolProperty("AssumeAwake", m_options->AssumeAwake(), m_options->isLocked())); + m_OZWEditor->addProperty(topItem); - { - variantitem = variantManager->addProperty(QVariant::Bool, "AssumeAwake"); - variantitem->setValue(m_options->AssumeAwake()); - variantitem->setBold(settings.contains("openzwave/AssumeAwake")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("AssumeAwake", variantitem); - } - - m_variantEditor->addProperty(topItem); - - topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QLatin1String("UserCode CommandClass")); + topItem->addSubProperty(this->addBoolProperty("RefreshAllUserCodes", m_options->RefreshAllUserCodes(), m_options->isLocked())); + m_OZWEditor->addProperty(topItem); - - { - variantitem = variantManager->addProperty(QVariant::Bool, "RefreshAllUserCodes"); - variantitem->setValue(m_options->RefreshAllUserCodes()); - variantitem->setBold(settings.contains("openzwave/RefreshAllUserCodes")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("RefreshAllUserCodes", variantitem); - } - - m_variantEditor->addProperty(topItem); - - topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QLatin1String("Device Database")); + topItem->addSubProperty(this->addBoolProperty("AutoUpdateConfigFile", m_options->AutoUpdateConfigFile(), m_options->isLocked())); + topItem->addSubProperty(this->addEnumProperty("ReloadAfterUpdate", m_options->ReloadAfterUpdate().getEnums(), m_options->ReloadAfterUpdate().getSelected(), m_options->isLocked())); + m_OZWEditor->addProperty(topItem); + topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + QLatin1String("Language")); + topItem->addSubProperty(this->addStringProperty("Language", m_options->Language(), m_options->isLocked())); + m_OZWEditor->addProperty(topItem); - { - variantitem = variantManager->addProperty(QVariant::String, "AutoUpdateConfigFile"); - variantitem->setValue(m_options->AutoUpdateConfigFile()); - variantitem->setBold(settings.contains("openzwave/AutoUpdateConfigFile")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("AutoUpdateConfigFile", variantitem); - } - - { - enumitem = enumManager->addProperty("ReloadAfterUpdate"); - enumManager->setEnumNames(enumitem, m_options->ReloadAfterUpdate().getEnums()); - enumManager->setValue(enumitem, m_options->ReloadAfterUpdate().getSelected()); - enumitem->setBold(settings.contains("openzwave/ReloadAfterUpdate")); - enumitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(enumitem); - this->m_variantToProperty.insert("ReloadAfterUpdate", enumitem); - } - - - m_variantEditor->addProperty(topItem); - - topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), - QLatin1String("Lanaguage")); - - - { - variantitem = variantManager->addProperty(QVariant::String, "Language"); - variantitem->setValue(m_options->Language()); - variantitem->setBold(settings.contains("openzwave/Language")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("Language", variantitem); - } - - m_variantEditor->addProperty(topItem); - - topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QLatin1String("Multi Channel Devices")); + topItem->addSubProperty(this->addBoolProperty("IncludeInstanceLabels", m_options->IncludeInstanceLabels(), m_options->isLocked())); + m_OZWEditor->addProperty(topItem); - - { - variantitem = variantManager->addProperty(QVariant::Bool, "IncludeInstanceLabels"); - variantitem->setValue(m_options->IncludeInstanceLabels()); - variantitem->setBold(settings.contains("openzwave/IncludeInstanceLabels")); - variantitem->setEnabled(!m_options->isLocked()); - topItem->addSubProperty(variantitem); - this->m_variantToProperty.insert("IncludeInstanceLabels", variantitem); - } - m_variantEditor->addProperty(topItem); - - //m_variantEditor->setEnabled(!m_options->isLocked()); - this->ui->config_ozw->layout()->addWidget(m_variantEditor); + //m_OZWEditor->setEnabled(!m_options->isLocked()); + this->ui->config_ozw->layout()->addWidget(m_OZWEditor); } + { + /* Network Pane */ + m_NetvariantManager = new QtVariantPropertyManager(this); + m_NetenumManager = new QtEnumPropertyManager(this); + + + this->m_NetworkEditor = new QtTreePropertyBrowser(this); + m_NetworkEditor->setFactoryForManager(m_NetvariantManager, variantFactory); + m_NetworkEditor->setFactoryForManager(m_NetenumManager, enumFactory); + m_NetworkEditor->setPropertiesWithoutValueMarked(true); + m_NetworkEditor->setRootIsDecorated(false); + + QtProperty *topItem = m_OZWvariantManager->addProperty(QtVariantPropertyManager::groupTypeId(), + QLatin1String(" Paths")); + m_NetworkEditor->addProperty(topItem); + + this->ui->config_net->layout()->addWidget(m_NetworkEditor); + } + } Configuration::~Configuration() @@ -416,35 +142,6 @@ Configuration::~Configuration() void Configuration::saveConfiguration() { QtVariantProperty *property; - property = dynamic_cast(this->m_variantToProperty["Logging"]); - if (property->value().toBool() != m_options->Logging()) { - m_options->setLogging(property->value().toBool()); - settings.setValue("openzwave/Logging", property->value().toBool()); - qDebug() << "Saved Logging Param with " << property->value(); - } - - property = dynamic_cast(this->m_variantToProperty["LogFileName"]); - if (property->value() != m_options->LogFileName()) { - m_options->setLogFileName(property->value().toString()); - settings.setValue("openzwave/LogFileName", property->value().toString()); - qDebug() << "Saved LogFileName Param with " << property->value(); - } - - property = dynamic_cast(this->m_variantToProperty["AppendLogFile"]); - if (property->value() != m_options->AppendLogFile()) { - m_options->setAppendLogFile(property->value().toBool()); - settings.setValue("openzwave/AppendLogFile", property->value().toString()); - qDebug() << "Saved AppendLogFile Param with " << property->value(); - } - - property = dynamic_cast(this->m_variantToProperty["ConsoleOutput"]); - if (property->value() != m_options->ConsoleOutput()) { - m_options->setConsoleOutput(property->value().toBool()); - settings.setValue("openzwave/ConsoleOutput", property->value().toBool()); - qDebug() << "Saved ConsoleOutput Param with " << property->value(); - } - - /* enums - Come back to this */ QtProperty *property1 = dynamic_cast(this->m_variantToProperty["SaveLogLevel"]); OptionList SaveLogLevel = m_options->SaveLogLevel(); if (property1->valueText() != SaveLogLevel.getSelectedName()) { @@ -645,3 +342,40 @@ void Configuration::saveConfiguration() { qDebug() << "Saved IncludeInstanceLabels Param with " << property->value(); } } + +QtVariantProperty *Configuration::addStringProperty(QString name, QString value, bool locked) { + QtVariantProperty *variantitem = m_OZWvariantManager->addProperty(QVariant::String, name); + variantitem->setValue(value); + variantitem->setBold(settings.contains("openzwave/"+name)); + variantitem->setEnabled(!locked); + this->m_variantToProperty.insert(name, variantitem); + return variantitem; +} + +QtVariantProperty *Configuration::addBoolProperty(QString name, bool value, bool locked) { + QtVariantProperty *variantitem = m_OZWvariantManager->addProperty(QVariant::Bool, name); + variantitem->setValue(value); + variantitem->setBold(settings.contains("openzwave/"+name)); + variantitem->setEnabled(!locked); + this->m_variantToProperty.insert(name, variantitem); + return variantitem; +} + +QtVariantProperty *Configuration::addIntProperty(QString name, int value, bool locked) { + QtVariantProperty *variantitem = m_OZWvariantManager->addProperty(QVariant::Int, name); + variantitem->setValue(value); + variantitem->setBold(settings.contains("openzwave/"+name)); + variantitem->setEnabled(!locked); + this->m_variantToProperty.insert(name, variantitem); + return variantitem; +} + +QtProperty *Configuration::addEnumProperty(QString name, QStringList options, int selected, bool readonly) { + QtProperty *enumitem = m_OZWenumManager->addProperty(name); + m_OZWenumManager->setEnumNames(enumitem, options); + m_OZWenumManager->setValue(enumitem, selected); + enumitem->setBold(settings.contains("openzwave/"+name)); + enumitem->setEnabled(!readonly); + this->m_variantToProperty.insert(name, enumitem); + return enumitem; +} diff --git a/ozwadmin-main/configuration.h b/ozwadmin-main/configuration.h index 80935ba..37a86ab 100644 --- a/ozwadmin-main/configuration.h +++ b/ozwadmin-main/configuration.h @@ -22,12 +22,24 @@ public: ~Configuration(); void saveConfiguration(); +private: + QtVariantProperty *addStringProperty(QString name, QString value, bool readonly); + QtVariantProperty *addBoolProperty(QString name, bool value, bool readonly); + QtVariantProperty *addIntProperty(QString name, int value, bool readonly); + QtProperty *addEnumProperty(QString name, QStringList options, int selected, bool readonly); + private: Ui::Configuration *ui; QSettings settings; - QtTreePropertyBrowser *m_variantEditor; - QtVariantPropertyManager *variantManager; - QtEnumPropertyManager *enumManager; + QtTreePropertyBrowser *m_OZWEditor; + QtVariantPropertyManager *m_OZWvariantManager; + QtEnumPropertyManager *m_OZWenumManager; + + QtTreePropertyBrowser *m_NetworkEditor; + QtVariantPropertyManager *m_NetvariantManager; + QtEnumPropertyManager *m_NetenumManager; + + QMap m_variantToProperty; QTOZWOptions *m_options; }; diff --git a/ozwadmin-main/configuration.ui b/ozwadmin-main/configuration.ui index c031863..2137ce6 100644 --- a/ozwadmin-main/configuration.ui +++ b/ozwadmin-main/configuration.ui @@ -17,7 +17,7 @@ - 1 + 0 @@ -29,6 +29,7 @@ Network +