void SettingsDialog::initLangs() { QSettings settings(QSettings::IniFormat, QSettings::UserScope, SETTING_ORGANIZATION, SETTING_APPLICATION); QString datapath = settings.value("Tesseract/DataPath").toString(); datapath += "tessdata"; TessTools tt; QList<QString> languages = tt.getLanguages(datapath); // Clean combobox with languages int langsCount = cbLang->count(); if (langsCount > 0) for (int i = langsCount; i >= 0; i--) { cbLang->removeItem(0); } QString lang; foreach(lang, languages) if (getLangName(lang) == "") cbLang->addItem(lang, lang); else cbLang->addItem(getLangName(lang), lang); // sort language list QSortFilterProxyModel* proxy = new QSortFilterProxyModel(cbLang); proxy->setSourceModel(cbLang->model()); cbLang->model()->setParent(proxy); cbLang->setModel(proxy); cbLang->model()->sort(0); }
void SettingsDialog::initLangs() { QString datapath = lnPrefix->text(); datapath += "tessdata"; TessTools tt; QList<QString> languages = tt.getLanguages(datapath); // Clean combobox with languages int langsCount = cbLang->count(); if (langsCount > 0) for (int i = langsCount; i >= 0; i--) { cbLang->removeItem(0); } QString lang; foreach(lang, languages) if (getLangName(lang) == "") cbLang->addItem(lang, lang); else cbLang->addItem(getLangName(lang), lang); // sort language list QSortFilterProxyModel* proxy = new QSortFilterProxyModel(cbLang); proxy->setSourceModel(cbLang->model()); cbLang->model()->setParent(proxy); cbLang->setModel(proxy); cbLang->model()->sort(0); cbLang->setCurrentIndex(1); // do not show empty combobox if there is lang QSettings settings(QSettings::IniFormat, QSettings::UserScope, SETTING_ORGANIZATION, SETTING_APPLICATION); if (settings.contains("Tesseract/Lang")) { int langindex = cbLang->findData( settings.value("Tesseract/Lang").toString()); cbLang->setCurrentIndex(langindex); } }