From 60e86b988120fedc56b64935294de20c2ccd5a27 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Mon, 17 Jun 2019 02:23:51 +0200 Subject: [PATCH] Fix fading options --- src/settings/backendsettingspage.cpp | 36 +++++++++++++--------------- src/settings/backendsettingspage.h | 1 - 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/src/settings/backendsettingspage.cpp b/src/settings/backendsettingspage.cpp index b7d872edc..0bb005349 100644 --- a/src/settings/backendsettingspage.cpp +++ b/src/settings/backendsettingspage.cpp @@ -102,6 +102,8 @@ void BackendSettingsPage::Load() { ui_->combobox_engine->setCurrentIndex(ui_->combobox_engine->findData(enginetype)); if (EngineInitialised()) Load_Engine(enginetype); + ui_->checkbox_volume_control->setChecked(s_.value("volume_control", true).toBool()); + ui_->spinbox_bufferduration->setValue(s_.value("bufferduration", 4000).toInt()); ui_->slider_bufferminfill->setValue(s_.value("bufferminfill", 33).toInt()); @@ -144,8 +146,6 @@ void BackendSettingsPage::Load() { ui_->widget_alsa_plugin->hide(); #endif - ui_->checkbox_volume_control->setChecked(s_.value("volume_control", true).toBool()); - if (!EngineInitialised()) return; if (engine()->state() == Engine::Empty) { @@ -156,14 +156,8 @@ void BackendSettingsPage::Load() { ui_->combobox_engine->setEnabled(false); } - ConnectSignals(); - configloaded_ = true; -} - -void BackendSettingsPage::ConnectSignals() { - connect(ui_->combobox_engine, SIGNAL(currentIndexChanged(int)), SLOT(EngineChanged(int))); connect(ui_->combobox_output, SIGNAL(currentIndexChanged(int)), SLOT(OutputChanged(int))); connect(ui_->combobox_device, SIGNAL(currentIndexChanged(int)), SLOT(DeviceSelectionChanged(int))); @@ -179,6 +173,8 @@ void BackendSettingsPage::ConnectSignals() { connect(ui_->checkbox_fadeout_auto, SIGNAL(toggled(bool)), SLOT(FadingOptionsChanged())); connect(ui_->checkbox_volume_control, SIGNAL(toggled(bool)), SLOT(FadingOptionsChanged())); + FadingOptionsChanged(); + } bool BackendSettingsPage::EngineInitialised() { @@ -270,6 +266,8 @@ void BackendSettingsPage::Load_Output(QString output, QVariant device) { if (ui_->combobox_output->count() >= 1) Load_Device(output, device); + FadingOptionsChanged(); + } void BackendSettingsPage::Load_Device(QString output, QVariant device) { @@ -608,17 +606,17 @@ void BackendSettingsPage::radiobutton_alsa_plughw_clicked(bool checked) { void BackendSettingsPage::FadingOptionsChanged() { - if (EngineInitialised()) { - EngineBase::OutputDetails output = ui_->combobox_output->itemData(ui_->combobox_output->currentIndex()).value(); - if (engine()->type() == Engine::GStreamer && !(engine()->ALSADeviceSupport(output.name) && !ui_->lineedit_device->text().isEmpty()) && ui_->checkbox_volume_control->isChecked()) { - ui_->groupbox_fading->setDisabled(false); - } - else { - ui_->groupbox_fading->setDisabled(true); - ui_->checkbox_fadeout_stop->setChecked(false); - ui_->checkbox_fadeout_cross->setChecked(false); - ui_->checkbox_fadeout_auto->setChecked(false); - } + if (!configloaded_ || !EngineInitialised()) return; + + EngineBase::OutputDetails output = ui_->combobox_output->itemData(ui_->combobox_output->currentIndex()).value(); + if (engine()->type() == Engine::GStreamer && !(engine()->ALSADeviceSupport(output.name) && !ui_->lineedit_device->text().isEmpty()) && ui_->checkbox_volume_control->isChecked()) { + ui_->groupbox_fading->setDisabled(false); + } + else { + ui_->groupbox_fading->setDisabled(true); + ui_->checkbox_fadeout_stop->setChecked(false); + ui_->checkbox_fadeout_cross->setChecked(false); + ui_->checkbox_fadeout_auto->setChecked(false); } ui_->widget_fading_options->setEnabled(ui_->checkbox_fadeout_stop->isChecked() || ui_->checkbox_fadeout_cross->isChecked() || ui_->checkbox_fadeout_auto->isChecked()); diff --git a/src/settings/backendsettingspage.h b/src/settings/backendsettingspage.h index 225002567..af39c88ef 100644 --- a/src/settings/backendsettingspage.h +++ b/src/settings/backendsettingspage.h @@ -79,7 +79,6 @@ private: Ui_BackendSettingsPage *ui_; - void ConnectSignals(); bool EngineInitialised(); void EngineChanged(Engine::EngineType enginetype);