[OpenDocString] kdeconnect-kde (cpp)
pausemusic_config.cpp
PauseMusicConfig::PauseMusicConfig(QWidget *parent, const QVariantList &args)
    : KdeConnectPluginKcm(parent, args, QStringLiteral("kdeconnect_pausemusic"))
    , m_ui(new Ui::PauseMusicConfigUi())
{
    m_ui->setupUi(this);

    connect(m_ui->rad_ringing, SIGNAL(toggled(bool)), this, SLOT(changed()));
    connect(m_ui->rad_talking, SIGNAL(toggled(bool)), this, SLOT(changed()));
    connect(m_ui->check_pause, SIGNAL(toggled(bool)), this, SLOT(changed()));
    connect(m_ui->check_mute, SIGNAL(toggled(bool)), this, SLOT(changed()));
    connect(m_ui->check_resume, SIGNAL(toggled(bool)), this, SLOT(changed()));
}
Constructs a pause music config object and sets its signal handlers.
PauseMusicConfig::~PauseMusicConfig()
{
    delete m_ui;
}
This removes the music config object upon destruction.
void PauseMusicConfig::defaults()
{
    KCModule::defaults();
    m_ui->rad_talking->setChecked(false);
    m_ui->rad_ringing->setChecked(true);
    m_ui->check_pause->setChecked(true);
    m_ui->check_mute->setChecked(false);
    m_ui->check_resume->setChecked(true);
    Q_EMIT changed(true);
}
Sets all controls to their defaults. First it disables talking, sets ringing and pause state and resume state. Finally it emits the signal 'changed'.
void PauseMusicConfig::load()
{
    KCModule::load();
    bool talking = config()->getBool(QStringLiteral("conditionTalking"), false);
    m_ui->rad_talking->setChecked(talking);
    m_ui->rad_ringing->setChecked(!talking);

    bool pause = config()->getBool(QStringLiteral("actionPause"), true);
    bool mute = config()->getBool(QStringLiteral("actionMute"), false);
    m_ui->check_pause->setChecked(pause);
    m_ui->check_mute->setChecked(mute);

    const bool autoResume = config()->getBool(QStringLiteral("actionResume"), true);
    m_ui->check_resume->setChecked(autoResume);

    Q_EMIT changed(false);
}
This loads the pause music config from the current configuration. It first checks if the condition talking is false, then checks if the action pause and mute are true. Then it sets the checked state of the check_pause and check_mute objects to their respective values.
void PauseMusicConfig::save()
{
    config()->set(QStringLiteral("conditionTalking"), m_ui->rad_talking->isChecked());
    config()->set(QStringLiteral("actionPause"), m_ui->check_pause->isChecked());
    config()->set(QStringLiteral("actionMute"), m_ui->check_mute->isChecked());
    config()->set(QStringLiteral("actionResume"), m_ui->check_resume->isChecked());
    KCModule::save();
    Q_EMIT changed(false);
}
Saves the pause music settings to the internal config object.