aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Transports/http/settingsdialog.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-02-04 15:49:17 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-02-04 15:49:17 +0000
commitd14349242cc5e17af068a415f6893e58f3983628 (patch)
tree7e1286d8658deaf0ddbea5759dce6c8fa38195a1 /src/plugins/Transports/http/settingsdialog.cpp
parentc0f3297a289d12b6433a0258845b0087b669fdc6 (diff)
downloadqmmp-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.cpp20
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();
}