2020-02-21 00:45:53 +07:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "stfwd.h"
|
|
|
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
class QWebEngineView;
|
|
|
|
class QTabWidget;
|
2020-03-07 00:08:41 +07:00
|
|
|
class QLineEdit;
|
2020-02-21 00:45:53 +07:00
|
|
|
|
|
|
|
class WebPage;
|
|
|
|
|
|
|
|
class Translator : public QWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
explicit Translator(Manager &manager);
|
|
|
|
~Translator();
|
|
|
|
|
|
|
|
void translate(const TaskPtr &task);
|
|
|
|
void updateSettings(const Settings &settings);
|
|
|
|
void finish(const TaskPtr &task);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void timerEvent(QTimerEvent *event) override;
|
|
|
|
void closeEvent(QCloseEvent *event) override;
|
|
|
|
|
|
|
|
private:
|
2020-03-07 00:08:41 +07:00
|
|
|
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);
|
|
|
|
|
|
|
|
Manager &manager_;
|
|
|
|
QWebEngineView *view_;
|
2020-03-07 00:08:41 +07:00
|
|
|
QLineEdit *url_;
|
|
|
|
QAction *loadImages_;
|
2020-02-21 00:45:53 +07:00
|
|
|
QTabWidget *tabs_;
|
|
|
|
std::vector<TaskPtr> queue_;
|
|
|
|
std::map<QString, std::unique_ptr<WebPage>> pages_;
|
|
|
|
};
|