File indexing completed on 2024-05-05 16:09:10

0001 /*
0002     SPDX-FileCopyrightText: 2020 David Edmundson <davidedmundson@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include <QDebug>
0008 #include <QGuiApplication>
0009 #include <QImage>
0010 #include <QMimeData>
0011 
0012 #include "../systemclipboard/ksystemclipboard.h"
0013 
0014 int main(int argc, char **argv)
0015 {
0016     QGuiApplication app(argc, argv);
0017     auto clip = KSystemClipboard::instance();
0018     QObject::connect(clip, &KSystemClipboard::changed, &app, [clip](QClipboard::Mode mode) {
0019         if (mode != QClipboard::Clipboard) {
0020             return;
0021         }
0022         auto dbg = qDebug();
0023         dbg << "New clipboard content: ";
0024 
0025         const QMimeData *mime = clip->mimeData(QClipboard::Clipboard);
0026 
0027         if (mime) {
0028             if (mime->hasText()) {
0029                 dbg << "text data:" << mime->text();
0030             } else if (mime->hasImage()) {
0031                 const QImage image = qvariant_cast<QImage>(mime->imageData());
0032                 dbg << "image data: " << image.size();
0033             } else {
0034                 dbg << "data: " << mime->formats();
0035             }
0036         } else {
0037             dbg << "[empty]";
0038         }
0039     });
0040 
0041     qDebug() << "Watching for new clipboard content...";
0042 
0043     app.exec();
0044 }