Exemplo n.º 1
0
ParametersConfiguration::ParametersConfiguration(ParametersConfiguration* parentData, const QString& valuesFile, bool resetValues) :
QObject(parentData), parentData_(parentData), saveFileName_(valuesFile){
    empty_ = false;
    if(!parentData) {
        empty_ = true;
        qDebug() << "CRITICAL: Cannot construct from empty cfg data.";
        return;
    }
    
    sections_.clear();
    for (int i = 0; i < parentData_->sections_.size(); i++) {
        ParameterSectionData* parentSection = parentData_->sections_[i];
        ParameterSectionData* localSection = new ParameterSectionData(parentSection->title(), this);
        sections_ << localSection;
        for (unsigned int j = 0; j < parentSection->size(); j++) {
            ParameterElementData* parentElement = parentData_->get((*parentSection)[j]->name());
            ParameterElementData* localElement;
            if (parentElement->syncWithUpperLevel() && parentData_->lookup_.contains(parentElement->name().toLower())) {
                localElement = parentElement;
            } else {
                localElement = new ParameterElementData(parentElement->name(), localSection);
                localElement->setValue(parentElement->value().toString());
                localElement->setLock(parentElement->locked());
                localElement->setIsWrong(parentElement->isWrong());
            }

            localSection->append(localElement);
            lookup_.insert(localElement->name().toLower(), localElement);
        }
    }
    
    setModified(false);
    if(resetValues) resetUserValues(valuesFile);
}
Exemplo n.º 2
0
QWidget* PreferencesDialog::getCfgPage(QString sectionIdentifier) {
    QStringList parameters;
    for (unsigned int ii = 0; ii < userPreferenceData.data()->size(); ii++) {
        if ((*userPreferenceData.data())[ii]->title().trimmed().toLower().contains(sectionIdentifier)) {
            ParameterSectionData* section = (*userPreferenceData.data())[ii];
            for (unsigned int j = 0; j < section->size(); j++) parameters.append((*section)[j]->name());
        }
    }
    
    ParametersWidget* widget = new ParametersWidget(userPreferenceData.data(), parameters, 1);
    return widget;
}