diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-02-04 15:49:17 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-02-04 15:49:17 +0000 |
| commit | d14349242cc5e17af068a415f6893e58f3983628 (patch) | |
| tree | 7e1286d8658deaf0ddbea5759dce6c8fa38195a1 /src/plugins/Transports/http/settingsdialog.cpp | |
| parent | c0f3297a289d12b6433a0258845b0087b669fdc6 (diff) | |
| download | qmmp-d14349242cc5e17af068a415f6893e58f3983628.tar.gz qmmp-d14349242cc5e17af068a415f6893e58f3983628.tar.bz2 qmmp-d14349242cc5e17af068a415f6893e58f3983628.zip | |
http plugin: added automatic charset detection
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1545 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Transports/http/settingsdialog.cpp')
| -rw-r--r-- | src/plugins/Transports/http/settingsdialog.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/Transports/http/settingsdialog.cpp b/src/plugins/Transports/http/settingsdialog.cpp index 0b4636ead..390d2845b 100644 --- a/src/plugins/Transports/http/settingsdialog.cpp +++ b/src/plugins/Transports/http/settingsdialog.cpp @@ -20,6 +20,9 @@ #include <QTextCodec> #include <QSettings> #include <qmmp/qmmp.h> +#ifdef WITH_ENCA +#include <enca.h> +#endif #include "settingsdialog.h" SettingsDialog::SettingsDialog(QWidget *parent) @@ -30,11 +33,24 @@ SettingsDialog::SettingsDialog(QWidget *parent) findCodecs(); foreach (QTextCodec *codec, codecs) ui.icyEncodingComboBox->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("HTTP"); int pos = ui.icyEncodingComboBox->findText(settings.value("icy_encoding","windows-1252").toString()); ui.icyEncodingComboBox->setCurrentIndex(pos); ui.bufferSizeSpinBox->setValue(settings.value("buffer_size",128).toInt()); +#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(); } @@ -48,6 +64,10 @@ void SettingsDialog::accept() settings.beginGroup("HTTP"); settings.setValue("icy_encoding", ui.icyEncodingComboBox->currentText()); settings.setValue("buffer_size", ui.bufferSizeSpinBox->value()); +#ifdef WITH_ENCA + settings.setValue("use_enca", ui.autoCharsetCheckBox->isChecked()); + settings.setValue("enca_lang", ui.encaAnalyserComboBox->currentText()); +#endif settings.endGroup(); QDialog::accept(); } |
