diff options
Diffstat (limited to 'src/plugins/Input/cue/settingsdialog.cpp')
| -rw-r--r-- | src/plugins/Input/cue/settingsdialog.cpp | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/src/plugins/Input/cue/settingsdialog.cpp b/src/plugins/Input/cue/settingsdialog.cpp index 9c80736ed..aa2d73a93 100644 --- a/src/plugins/Input/cue/settingsdialog.cpp +++ b/src/plugins/Input/cue/settingsdialog.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008 by Ilya Kotov * + * Copyright (C) 2008-2010 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -19,9 +19,12 @@ ***************************************************************************/ #include <QTextCodec> #include <QSettings> - #include <qmmp/qmmp.h> +#ifdef WITH_ENCA +#include <enca.h> +#endif + #include "settingsdialog.h" SettingsDialog::SettingsDialog(QWidget *parent) @@ -31,17 +34,28 @@ SettingsDialog::SettingsDialog(QWidget *parent) setAttribute(Qt::WA_DeleteOnClose); findCodecs(); foreach (QTextCodec *codec, codecs) - { ui.cueEncComboBox->addItem(codec->name()); - } + +#ifdef WITH_ENCA + size_t n = 0; + const char **langs = enca_get_languages(&n); + for (size_t i = 0; i < n; ++i) + ui.encaAnalyserComboBox->addItem(langs[i]); +#endif QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("CUE"); int pos = ui.cueEncComboBox->findText(settings.value("encoding","ISO-8859-1").toString()); ui.cueEncComboBox->setCurrentIndex(pos); +#ifdef WITH_ENCA + ui.autoCharsetCheckBox->setChecked(settings.value("use_enca", FALSE).toBool()); + pos = ui.encaAnalyserComboBox->findText(settings.value("enca_lang", langs[n-1]).toString()); + ui.encaAnalyserComboBox->setCurrentIndex(pos); +#else + ui.autoCharsetCheckBox->setEnabled(FALSE); +#endif settings.endGroup(); } - SettingsDialog::~SettingsDialog() {} @@ -50,6 +64,10 @@ void SettingsDialog::accept() QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("CUE"); settings.setValue("encoding", ui.cueEncComboBox->currentText()); +#ifdef WITH_ENCA + settings.setValue("use_enca", ui.autoCharsetCheckBox->isChecked()); + settings.setValue("enca_lang", ui.encaAnalyserComboBox->currentText()); +#endif settings.endGroup(); QDialog::accept(); } |
