[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