void EffectSettingsWidget::resetDefaults() { for (int i = 0; i < m_parameters.count(); ++i) { EffectParameter parameter = m_parameters.at(i); switch (parameter.type()) { case QVariant::Int: if (QSlider *slider = qobject_cast<QSlider *>(m_selectors.at(i))) slider->setValue(parameter.defaultValue().toInt()); break; case QVariant::Color: if (ColorPicker *picker = qobject_cast<ColorPicker *>(m_selectors.at(i))) picker->setColor(qvariant_cast<QColor>(parameter.defaultValue())); break; default: break; } } }
QMap<QString, QVariant> EffectSettingsWidget::settings() const { QMap<QString, QVariant> settings; for (int i = 0; i < m_parameters.count(); ++i) { EffectParameter parameter = m_parameters.at(i); switch (parameter.type()) { case QVariant::Int: if (QSlider *slider = qobject_cast<QSlider *>(m_selectors.at(i))) settings.insert(parameter.key(), slider->value()); break; case QVariant::Color: if (ColorPicker *picker = qobject_cast<ColorPicker *>(m_selectors.at(i))) settings.insert(parameter.key(), picker->color()); break; default: break; } } return settings; }