ScreenTranslator/src/translate/translator.h

52 lines
1.1 KiB
C
Raw Normal View History

2020-02-21 00:45:53 +07:00
#pragma once
#include "stfwd.h"
#include <QWidget>
class QWebEngineView;
class QTabWidget;
class QLineEdit;
2020-02-21 00:45:53 +07:00
class WebPage;
class Translator : public QWidget
{
Q_OBJECT
public:
2020-03-21 17:03:58 +07:00
Translator(Manager &manager, const Settings &settings);
2020-02-21 00:45:53 +07:00
~Translator();
void translate(const TaskPtr &task);
2020-03-21 17:03:58 +07:00
void updateSettings();
2020-02-21 00:45:53 +07:00
void finish(const TaskPtr &task);
static QStringList availableTranslators(const QString &path);
static QStringList availableLanguageNames();
2020-02-21 00:45:53 +07:00
protected:
void timerEvent(QTimerEvent *event) override;
private:
WebPage *currentPage() const;
void udpateCurrentPage();
void updateUrl();
void setPageLoadImages(bool isOn);
2020-02-21 00:45:53 +07:00
void processQueue();
void markTranslated(const TaskPtr &task);
void createPage(const QString &scriptName, const QString &scriptText);
void showDebugView();
2020-02-21 00:45:53 +07:00
Manager &manager_;
2020-03-21 17:03:58 +07:00
const Settings &settings_;
2020-02-21 00:45:53 +07:00
QWebEngineView *view_;
std::unique_ptr<QWebEngineView> debugView_;
QLineEdit *url_;
QAction *loadImages_;
QAction *showDebugAction_;
2020-02-21 00:45:53 +07:00
QTabWidget *tabs_;
std::vector<TaskPtr> queue_;
std::map<QString, std::unique_ptr<WebPage>> pages_;
quint16 debugPort_{0};
2020-02-21 00:45:53 +07:00
};