#pragma once #include "stfwd.h" #include class QWebEngineView; class QTabWidget; 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: void changeCurrentPage(int tabIndex); void processQueue(); void markTranslated(const TaskPtr &task); Manager &manager_; QWebEngineView *view_; QTabWidget *tabs_; std::vector queue_; std::map> pages_; };