[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498

Maximiliano Curia maxy at moszumanska.debian.org
Fri Oct 14 14:27:27 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=566a671

The following commit has been merged in the master branch:
commit 566a671b1503feed9e7b41de585d43614836bf62
Author: Aleix Pol <aleixpol at kde.org>
Date:   Mon Mar 3 04:53:11 2014 +0100

    Make it possible to send files from the kded plugin
    
    Expose the share plugin on dbus
    Add a shareUrl method that will send the file if it's a local url and just
    send a URL otherwise.
    
    REVIEW: 113344
---
 kded/plugins/share/shareplugin.cpp | 25 ++++++++++++++++++++++++-
 kded/plugins/share/shareplugin.h   | 10 ++++++++--
 2 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/kded/plugins/share/shareplugin.cpp b/kded/plugins/share/shareplugin.cpp
index 0f78534..affb0fc 100644
--- a/kded/plugins/share/shareplugin.cpp
+++ b/kded/plugins/share/shareplugin.cpp
@@ -30,6 +30,7 @@
 #include <qprocess.h>
 #include <QDir>
 #include <QDesktopServices>
+#include <QDBusConnection>
 
 #include "../../kdebugnamespace.h"
 #include "../../filetransferjob.h"
@@ -41,7 +42,6 @@ K_EXPORT_PLUGIN( KdeConnectPluginFactory("kdeconnect_share", "kdeconnect-kded")
 SharePlugin::SharePlugin(QObject* parent, const QVariantList& args)
     : KdeConnectPlugin(parent, args)
 {
-
 }
 
 KUrl SharePlugin::destinationDir() const
@@ -140,3 +140,26 @@ void SharePlugin::openDestinationFolder()
 {
     QDesktopServices::openUrl(destinationDir());
 }
+
+void SharePlugin::shareUrl(const QUrl& url)
+{
+    NetworkPackage package(PACKAGE_TYPE_SHARE);
+    if(url.isLocalFile()) {
+        QSharedPointer<QIODevice> ioFile(new QFile(url.toLocalFile()));
+        package.setPayload(ioFile, ioFile->size());
+        package.set<QString>("filename", KUrl(url).fileName());
+    } else {
+        package.set<QString>("url", url.toString());
+    }
+    device()->sendPackage(package);
+}
+
+void SharePlugin::connected()
+{
+    QDBusConnection::sessionBus().registerObject(dbusPath(), this, QDBusConnection::ExportAllContents);
+}
+
+QString SharePlugin::dbusPath() const
+{
+    return "/modules/kdeconnect/devices/" + device()->id() + "/share";
+}
diff --git a/kded/plugins/share/shareplugin.h b/kded/plugins/share/shareplugin.h
index 13de2d7..3ef3391 100644
--- a/kded/plugins/share/shareplugin.h
+++ b/kded/plugins/share/shareplugin.h
@@ -32,19 +32,25 @@ class SharePlugin
     : public KdeConnectPlugin
 {
     Q_OBJECT
+    Q_CLASSINFO("D-Bus Interface", "org.kde.kdeconnect.device.share")
 
 public:
     explicit SharePlugin(QObject *parent, const QVariantList &args);
 
+    ///Helper method, QDBus won't recognize QUrl
+    Q_SCRIPTABLE void shareUrl(const QString& url) { shareUrl(QUrl(url)); }
 public Q_SLOTS:
     virtual bool receivePackage(const NetworkPackage& np);
-    virtual void connected() { }
-    void finished(KJob*);
+    virtual void connected();
 
 private Q_SLOTS:
+    void finished(KJob*);
     void openDestinationFolder();
 
 private:
+    void shareUrl(const QUrl& url);
+
+    QString dbusPath() const;
     KUrl destinationDir() const;
 
 };

-- 
kdeconnect packaging



More information about the pkg-kde-commits mailing list