Move available translations getter to translator class
This commit is contained in:
parent
10f5e5e387
commit
295353332f
@ -3,6 +3,7 @@
|
||||
#include "manager.h"
|
||||
#include "runatsystemstart.h"
|
||||
#include "tesseract.h"
|
||||
#include "translator.h"
|
||||
#include "ui_settingseditor.h"
|
||||
#include "updates.h"
|
||||
#include "widgetstate.h"
|
||||
@ -224,17 +225,12 @@ void SettingsEditor::updateTranslators()
|
||||
{
|
||||
ui->translatorList->clear();
|
||||
|
||||
const auto path = ui->translatorsPath->text();
|
||||
if (path.isEmpty())
|
||||
auto names = Translator::availableTranslators(ui->translatorsPath->text());
|
||||
if (names.isEmpty())
|
||||
return;
|
||||
|
||||
QDir dir(path);
|
||||
if (!dir.exists())
|
||||
return;
|
||||
|
||||
auto files = dir.entryList({"*.js"}, QDir::Files);
|
||||
std::sort(files.begin(), files.end());
|
||||
ui->translatorList->addItems(files);
|
||||
std::sort(names.begin(), names.end());
|
||||
ui->translatorList->addItems(names);
|
||||
|
||||
for (auto i = 0, end = ui->translatorList->count(); i < end; ++i) {
|
||||
auto item = ui->translatorList->item(i);
|
||||
@ -246,15 +242,12 @@ void SettingsEditor::updateTranslators()
|
||||
|
||||
void SettingsEditor::updateTranslationLanguages()
|
||||
{
|
||||
LanguageIds names;
|
||||
LanguageCodes languages;
|
||||
|
||||
for (const auto &bundle : languages.all()) {
|
||||
if (!bundle.second.iso639_1.isEmpty())
|
||||
names.append(QObject::tr(bundle.second.name));
|
||||
}
|
||||
|
||||
ui->translateLangCombo->clear();
|
||||
|
||||
auto names = Translator::availableLanguageNames();
|
||||
if (names.isEmpty())
|
||||
return;
|
||||
|
||||
std::sort(names.begin(), names.end());
|
||||
ui->translateLangCombo->addItems(names);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "translator.h"
|
||||
#include "debug.h"
|
||||
#include "languagecodes.h"
|
||||
#include "manager.h"
|
||||
#include "settings.h"
|
||||
#include "task.h"
|
||||
@ -8,6 +9,7 @@
|
||||
|
||||
#include <QBoxLayout>
|
||||
#include <QCloseEvent>
|
||||
#include <QDir>
|
||||
#include <QLabel>
|
||||
#include <QLineEdit>
|
||||
#include <QSplitter>
|
||||
@ -274,6 +276,32 @@ void Translator::finish(const TaskPtr &task)
|
||||
processQueue();
|
||||
}
|
||||
|
||||
QStringList Translator::availableTranslators(const QString &path)
|
||||
{
|
||||
if (path.isEmpty())
|
||||
return {};
|
||||
|
||||
QDir dir(path);
|
||||
if (!dir.exists())
|
||||
return {};
|
||||
|
||||
const auto names = dir.entryList({"*.js"}, QDir::Files);
|
||||
return names;
|
||||
}
|
||||
|
||||
QStringList Translator::availableLanguageNames()
|
||||
{
|
||||
QStringList names;
|
||||
LanguageCodes languages;
|
||||
|
||||
for (const auto &bundle : languages.all()) {
|
||||
if (!bundle.second.iso639_1.isEmpty())
|
||||
names.append(QObject::tr(bundle.second.name));
|
||||
}
|
||||
|
||||
return names;
|
||||
}
|
||||
|
||||
void Translator::timerEvent(QTimerEvent * /*event*/)
|
||||
{
|
||||
processQueue();
|
||||
|
@ -21,6 +21,9 @@ public:
|
||||
void updateSettings();
|
||||
void finish(const TaskPtr &task);
|
||||
|
||||
static QStringList availableTranslators(const QString &path);
|
||||
static QStringList availableLanguageNames();
|
||||
|
||||
protected:
|
||||
void timerEvent(QTimerEvent *event) override;
|
||||
void closeEvent(QCloseEvent *event) override;
|
||||
|
Loading…
Reference in New Issue
Block a user