aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/modplug/settingsdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/modplug/settingsdialog.cpp')
-rw-r--r--src/plugins/Input/modplug/settingsdialog.cpp26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/plugins/Input/modplug/settingsdialog.cpp b/src/plugins/Input/modplug/settingsdialog.cpp
index e655e9df5..0bb8c192d 100644
--- a/src/plugins/Input/modplug/settingsdialog.cpp
+++ b/src/plugins/Input/modplug/settingsdialog.cpp
@@ -101,7 +101,7 @@ SettingsDialog::SettingsDialog(QWidget *parent)
ui.loopSpinBox->setValue(l);
}
settings.endGroup();
- connect(ui.applyButton, SIGNAL(clicked()), SLOT(writeSettings()));
+ connect(ui.buttonBox, SIGNAL(clicked (QAbstractButton *)), SLOT(exec(QAbstractButton *)));
}
@@ -124,11 +124,11 @@ void SettingsDialog::writeSettings()
//bits number
settings.setValue("Bits", ui.bit8RadioButton->isChecked() ? 8 : 16 );
//resampling frequency
- if(ui.khz48RadioButton->isChecked())
+ if (ui.khz48RadioButton->isChecked())
settings.setValue("Frequency", 48000);
- else if(ui.khz44RadioButton->isChecked())
+ else if (ui.khz44RadioButton->isChecked())
settings.setValue("Frequency", 44100);
- else if(ui.khz22RadioButton->isChecked())
+ else if (ui.khz22RadioButton->isChecked())
settings.setValue("Frequency", 22050);
else
settings.setValue("Frequency", 11025);
@@ -160,13 +160,13 @@ void SettingsDialog::writeSettings()
//looping
if (ui.dontLoopRadioButton->isChecked())
settings.setValue("LoopCount", 0);
- else if(ui.loopForeverRadioButton->isChecked())
+ else if (ui.loopForeverRadioButton->isChecked())
settings.setValue("LoopCount", -1);
else
settings.setValue("LoopCount", ui.loopSpinBox->value());
settings.endGroup();
//apply settings for the created decoder
- if(DecoderModPlug::instance())
+ if (DecoderModPlug::instance())
{
DecoderModPlug::instance()->mutex()->lock();
DecoderModPlug::instance()->readSettings();
@@ -179,8 +179,16 @@ void SettingsDialog::setPreamp(int preamp)
ui.preampLabel->setText(QString("%1").arg((double) preamp/10));
}
-void SettingsDialog::accept()
+void SettingsDialog::exec(QAbstractButton *button)
{
- writeSettings();
- QDialog::accept();
+ switch ((int) ui.buttonBox->buttonRole(button))
+ {
+ case QDialogButtonBox::AcceptRole:
+ writeSettings();
+ accept();
+ break;
+ case QDialogButtonBox::ApplyRole:
+ writeSettings();
+ break;
+ }
}