ScreenTranslator/src/represent/representer.h

45 lines
990 B
C
Raw Normal View History

2020-02-21 00:45:53 +07:00
#pragma once
#include "stfwd.h"
2020-04-05 01:03:27 +07:00
#include <QObject>
2020-02-21 00:45:53 +07:00
enum class ResultMode;
class ResultWidget;
2020-03-29 15:09:55 +07:00
class ResultEditor;
2020-02-21 00:45:53 +07:00
2020-04-05 01:03:27 +07:00
class Representer : public QObject
2020-02-21 00:45:53 +07:00
{
2020-04-05 01:03:27 +07:00
Q_OBJECT
2020-02-21 00:45:53 +07:00
public:
2020-03-29 15:09:55 +07:00
Representer(Manager &manager, TrayIcon &tray, const Settings &settings,
const CommonModels &models);
2020-02-21 00:45:53 +07:00
~Representer();
void showLast();
void clipboardLast();
2020-02-21 00:45:53 +07:00
void represent(const TaskPtr &task);
bool isVisible() const;
void hide();
2020-03-21 17:03:58 +07:00
void updateSettings();
2020-02-21 00:45:53 +07:00
2020-03-29 15:09:55 +07:00
void clipboardText(const TaskPtr &task);
void clipboardImage(const TaskPtr &task);
void edit(const TaskPtr &task);
2020-04-05 01:03:27 +07:00
bool eventFilter(QObject *watched, QEvent *event) override;
2020-02-21 00:45:53 +07:00
private:
void showTooltip(const TaskPtr &task);
void showWidget(const TaskPtr &task);
Manager &manager_;
TrayIcon &tray_;
2020-03-21 17:03:58 +07:00
const Settings &settings_;
2020-03-29 15:09:55 +07:00
const CommonModels &models_;
2020-04-05 01:03:27 +07:00
Generation generation_{};
std::vector<std::unique_ptr<ResultWidget>> widgets_;
2020-03-29 15:09:55 +07:00
std::unique_ptr<ResultEditor> editor_;
TaskPtr lastTooltipTask_;
2020-02-21 00:45:53 +07:00
};