File indexing completed on 2024-12-01 13:10:55

0001 /**
0002  * SPDX-FileCopyrightText: 2019 Black Hat <bhat@encom.eu.org>
0003  *
0004  * SPDX-License-Identifier: GPL-3.0-only
0005  */
0006 
0007 #pragma once
0008 
0009 #include <QObject>
0010 
0011 class QClipboard;
0012 class QImage;
0013 
0014 /**
0015  * Clipboard proxy
0016  */
0017 class Clipboard : public QObject
0018 {
0019     Q_OBJECT
0020     Q_PROPERTY(bool hasImage READ hasImage NOTIFY imageChanged)
0021     Q_PROPERTY(QImage image READ image NOTIFY imageChanged)
0022 
0023 public:
0024     explicit Clipboard(QObject *parent = nullptr);
0025 
0026     [[nodiscard]] bool hasImage() const;
0027     [[nodiscard]] QImage image() const;
0028 
0029     Q_INVOKABLE bool saveImage(const QUrl &localPath) const;
0030 
0031     Q_INVOKABLE void saveText(QString message);
0032 
0033 private:
0034     QClipboard *m_clipboard;
0035 
0036 Q_SIGNALS:
0037     void imageChanged();
0038 };