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;
}