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 }