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();
|
|
|
|
|
|
2020-03-28 16:16:54 +07:00
|
|
|
void showLast();
|
|
|
|
|
void clipboardLast();
|
2020-02-21 00:45:53 +07:00
|
|
|
void represent(const TaskPtr &task);
|
2020-04-01 01:01:51 +07:00
|
|
|
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_;
|
2020-05-09 15:58:40 +07:00
|
|
|
TaskPtr lastTooltipTask_;
|
2020-02-21 00:45:53 +07:00
|
|
|
};
|