From d473d23d551d094f02eee347c858011433bcc8c8 Mon Sep 17 00:00:00 2001 From: Anton Thomasson Date: Sun, 19 Feb 2023 21:14:09 +0100 Subject: [PATCH] Support getting text data from dbus in PlatformData --- src/dbusadaptor.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/dbusadaptor.cpp b/src/dbusadaptor.cpp index e4d5564..86a5d3e 100644 --- a/src/dbusadaptor.cpp +++ b/src/dbusadaptor.cpp @@ -12,11 +12,21 @@ DBusAdaptor::~DBusAdaptor() { } -void DBusAdaptor::Open(const QStringList &uris, const QVariantMap &) +void DBusAdaptor::Open(const QStringList& uris, const QVariantMap& platformData) { - if (!uris.isEmpty()) { + qDebug() << platformData; + if (!uris.isEmpty() && uris[0] != "") { QMetaObject::invokeMethod(_view->rootObject(), "openFile", Q_ARG(QVariant, uris.at(0))); } + else if(platformData.contains("data")) + { + QTemporaryFile tmpfile(QDir::tempPath() + "/" + (platformData.contains("name") ? platformData["name"].toString() : "seaprint")); + tmpfile.setAutoRemove(false); + tmpfile.open(); + tmpfile.write(platformData["data"].toString().toUtf8()); + tmpfile.close(); + QMetaObject::invokeMethod(_view->rootObject(), "openFile", Q_ARG(QVariant, tmpfile.fileName())); + } QMetaObject::invokeMethod(_view->rootObject(), "activate"); }