image picker with clipboard and drag-n-drop capability for linux.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

35 lines
712 B

#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;
};