From d14349242cc5e17af068a415f6893e58f3983628 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 4 Feb 2010 15:49:17 +0000 Subject: 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 --- src/plugins/Transports/http/settingsdialog.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/plugins/Transports/http/settingsdialog.cpp') 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 #include #include +#ifdef WITH_ENCA +#include +#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(); } -- cgit v1.2.3-13-gbd6f