#pragma once #include "stfwd.h" class QString; class Manager { public: Manager(); ~Manager(); void captured(const TaskPtr &task); void captureCanceled(); void recognized(const TaskPtr &task); void corrected(const TaskPtr &task); void translated(const TaskPtr &task); void applySettings(const Settings &settings); void fatalError(const QString &text); void capture(); void repeatCapture(); void showLast(); void settings(); void copyLastToClipboard(); void about(); void quit(); private: void updateSettings(const Settings &settings); void setupProxy(const Settings &settings); void finishTask(const TaskPtr &task); std::unique_ptr tray_; std::unique_ptr capturer_; std::unique_ptr recognizer_; std::unique_ptr corrector_; std::unique_ptr translator_; std::unique_ptr representer_; std::unique_ptr updater_; std::unique_ptr updateAutoChecker_; TaskPtr last_; int activeTaskCount_{0}; };