// SPDX-License-Identifier: LGPL-3.0-or-later // The Clipboard class exposes system clipboard management and retrieval // to QML. #ifndef CLIPBOARD_H #define CLIPBOARD_H #include #include class Clipboard : public QObject { Q_OBJECT Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged) Q_PROPERTY(QString selection READ selection WRITE setSelection NOTIFY selectionChanged) Q_PROPERTY(bool supportsSelection READ supportsSelection CONSTANT) public: explicit Clipboard(QObject *parent = 0); // Normal primary clipboard QString text() const; void setText(const QString &text); // X11 select-middle-click-paste clipboard QString selection() const; void setSelection(const QString &text); bool supportsSelection() const; signals: void textChanged(); void selectionChanged(); private: QClipboard *m_clipboard = QGuiApplication::clipboard(); }; #endif