Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
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);
    }
}