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