|
|
- #pragma once
-
- #include <QClipboard>
- #include <QObject>
- #include <QImage>
- #include <QUrl>
- #include <QProcess>
- #include <iostream>
- #include <QGuiApplication>
-
- class Clipboard : public QObject {
- Q_OBJECT
-
- public:
- Clipboard(QGuiApplication *owner, const char *app) : _app(app), _owner(owner) { }
- virtual ~Clipboard() {};
-
- Q_INVOKABLE void setClipboard(QUrl str) {
- QProcess proc;
- proc.setProgram(QString(_app));
-
- QStringList args{"clipboard", str.path()};
- proc.setArguments(args);
-
- qint64 pid;
- proc.startDetached(&pid);
- std::cout << "clipboard owner " << _app << " started: " << pid << std::endl;
-
- _owner->quit();
- }
-
- private:
- const char *_app;
- QGuiApplication *_owner;
- };
|