From 0c969362a32a2990c5b77e2720bc0f343957469d Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Wed, 3 Feb 2010 21:00:34 +0000 Subject: cue plugin: added automatic charset detection (Closes issue 50) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1542 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/cue/settingsdialog.cpp | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'src/plugins/Input/cue/settingsdialog.cpp') 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 #include - #include +#ifdef WITH_ENCA +#include +#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(); } -- cgit v1.2.3-13-gbd6f