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

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


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

The following commit has been merged in the master branch:
commit 30b920b9a14d8508ab6730cb40777836dbf9f3a4
Author: Albert Vaca <albertvaka at gmail.com>
Date:   Tue Jul 23 17:50:09 2013 +0200

    Added clipboard sync
    Merged "package emitters" and "package receivers" in "package interfaces"
---
 daemon/CMakeLists.txt                              |  9 ++--
 daemon/daemon.cpp                                  | 12 +++--
 daemon/daemon.h                                    |  2 +-
 daemon/device.h                                    |  5 +-
 daemon/networkpackagetypes.h                       |  2 +
 .../clipboardpackageinterface.cpp                  | 55 ++++++++++++++++++++++
 .../clipboardpackageinterface.h}                   | 26 ++++++----
 .../notificationpackagereceiver.cpp                |  0
 .../notificationpackagereceiver.h                  |  0
 .../packagereceiver.cpp                            |  0
 .../packagereceiver.h                              |  3 ++
 .../pausemusicpackagereceiver.cpp                  |  0
 .../pausemusicpackagereceiver.h                    |  0
 .../pingpackagereceiver.cpp                        |  0
 .../pingpackagereceiver.h                          |  0
 15 files changed, 95 insertions(+), 19 deletions(-)

diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt
index 135a9a4..d1de7a1 100644
--- a/daemon/CMakeLists.txt
+++ b/daemon/CMakeLists.txt
@@ -10,10 +10,11 @@ set(kded_kdeconnect_SRCS
     devicelinks/udpdevicelink.cpp
     devicelinks/tcpdevicelink.cpp
 
-    packagereceivers/packagereceiver.cpp
-    packagereceivers/pingpackagereceiver.cpp
-    packagereceivers/notificationpackagereceiver.cpp
-    packagereceivers/pausemusicpackagereceiver.cpp
+    packageinterfaces/packagereceiver.cpp
+    packageinterfaces/pingpackagereceiver.cpp
+    packageinterfaces/notificationpackagereceiver.cpp
+    packageinterfaces/pausemusicpackagereceiver.cpp
+    packageinterfaces/clipboardpackageinterface.cpp
 
     networkpackage.cpp
     daemon.cpp
diff --git a/daemon/daemon.cpp b/daemon/daemon.cpp
index 4dacf5d..8bca738 100644
--- a/daemon/daemon.cpp
+++ b/daemon/daemon.cpp
@@ -20,9 +20,10 @@
 
 #include "daemon.h"
 #include "networkpackage.h"
-#include "packagereceivers/pingpackagereceiver.h"
-#include "packagereceivers/notificationpackagereceiver.h"
-#include "packagereceivers/pausemusicpackagereceiver.h"
+#include "packageinterfaces/pingpackagereceiver.h"
+#include "packageinterfaces/notificationpackagereceiver.h"
+#include "packageinterfaces/pausemusicpackagereceiver.h"
+#include "packageinterfaces/clipboardpackageinterface.h"
 #include "announcers/avahiannouncer.h"
 #include "announcers/avahitcpannouncer.h"
 #include "announcers/fakeannouncer.h"
@@ -61,6 +62,7 @@ Daemon::Daemon(QObject *parent, const QList<QVariant>&)
     packageReceivers.push_back(new PingPackageReceiver());
     packageReceivers.push_back(new NotificationPackageReceiver());
     packageReceivers.push_back(new PauseMusicPackageReceiver());
+    packageReceivers.push_back(new ClipboardPackageInterface());
 
     //TODO: Do not hardcode the load of the device locators
     //use: https://techbase.kde.org/Development/Tutorials/Services/Plugins
@@ -82,6 +84,8 @@ Daemon::Daemon(QObject *parent, const QList<QVariant>&)
         Q_FOREACH (PackageReceiver* pr, packageReceivers) {
             connect(device,SIGNAL(receivedPackage(const Device&, const NetworkPackage&)),
                     pr,SLOT(receivePackage(const Device&, const NetworkPackage&)));
+            connect(pr,SIGNAL(sendPackage(const NetworkPackage&)),
+                    device,SLOT(sendPackage(const NetworkPackage&)));
         }
     }
 
@@ -142,6 +146,8 @@ void Daemon::onNewDeviceLink(const NetworkPackage& identityPackage, DeviceLink*
         Q_FOREACH (PackageReceiver* pr, packageReceivers) {
             connect(device,SIGNAL(receivedPackage(const Device&, const NetworkPackage&)),
                     pr,SLOT(receivePackage(const Device&, const NetworkPackage&)));
+            connect(pr,SIGNAL(sendPackage(const NetworkPackage&)),
+                    device,SLOT(sendPackage(const NetworkPackage&)));
         }
         emit newDeviceAdded(id);
     }
diff --git a/daemon/daemon.h b/daemon/daemon.h
index eeef7a9..4d14e4d 100644
--- a/daemon/daemon.h
+++ b/daemon/daemon.h
@@ -39,7 +39,7 @@
 #include <KConfig>
 
 #include "device.h"
-#include "packagereceivers/packagereceiver.h"
+#include "packageinterfaces/packagereceiver.h"
 #include "devicelinks/devicelink.h"
 #include "announcers/announcer.h"
 
diff --git a/daemon/device.h b/daemon/device.h
index 51475c9..7bc0441 100644
--- a/daemon/device.h
+++ b/daemon/device.h
@@ -51,12 +51,13 @@ public:
     void removeLink(DeviceLink*);
 
     //Send and receive
-    bool sendPackage(const NetworkPackage& np);
 Q_SIGNALS:
     void receivedPackage(const Device& device, const NetworkPackage& np);
-
 public Q_SLOTS:
+    bool sendPackage(const NetworkPackage& np);
+
     //Public dbus interface
+public Q_SLOTS:
     Q_SCRIPTABLE QString id() const{ return m_deviceId; }
     Q_SCRIPTABLE QString name() const { return m_deviceName; }
     Q_SCRIPTABLE QStringList availableLinks() const;
diff --git a/daemon/networkpackagetypes.h b/daemon/networkpackagetypes.h
index 3ea3cc7..b5d6338 100644
--- a/daemon/networkpackagetypes.h
+++ b/daemon/networkpackagetypes.h
@@ -25,6 +25,8 @@
 #define PACKAGE_TYPE_PING QString("kdeconnect.ping")
 #define PACKAGE_TYPE_NOTIFICATION QString("kdeconnect.notification")
 #define PACKAGE_TYPE_CALL QString("kdeconnect.call")
+#define PACKAGE_TYPE_CLIPBOARD QString("kdeconnect.clipboard")
+
 
 
 #endif // NETWORKPACKAGETYPES_H
diff --git a/daemon/packageinterfaces/clipboardpackageinterface.cpp b/daemon/packageinterfaces/clipboardpackageinterface.cpp
new file mode 100644
index 0000000..b310270
--- /dev/null
+++ b/daemon/packageinterfaces/clipboardpackageinterface.cpp
@@ -0,0 +1,55 @@
+/**
+ * Copyright 2013 Albert Vaca <albertvaka at gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License or (at your option) version 3 or any later version
+ * accepted by the membership of KDE e.V. (or its successor approved
+ * by the membership of KDE e.V.), which shall act as a proxy
+ * defined in Section 14 of version 3 of the license.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "clipboardpackageinterface.h"
+
+#include <QClipboard>
+#include <KDebug>
+#include <QApplication>
+
+ClipboardPackageInterface::ClipboardPackageInterface() {
+    qDebug() << "ClipboardPackageInterface";
+    clipboard = QApplication::clipboard();
+    ignore_next_clipboard_change = false;
+    connect(clipboard,SIGNAL(changed(QClipboard::Mode)),this,SLOT(clipboardChanged()));
+}
+
+void ClipboardPackageInterface::clipboardChanged()
+{
+    if (ignore_next_clipboard_change) {
+        ignore_next_clipboard_change = false;
+        return;
+    }
+    qDebug() << "ClipboardChanged";
+    NetworkPackage np(PACKAGE_TYPE_CLIPBOARD);
+    np.set("content",clipboard->text());
+    emit sendPackage(np);
+}
+
+bool ClipboardPackageInterface::receivePackage(const Device& device, const NetworkPackage& np)
+{
+    Q_UNUSED(device);
+    if (np.type() == PACKAGE_TYPE_CLIPBOARD) {
+        ignore_next_clipboard_change = true;
+        clipboard->setText(np.get<QString>("content"));
+        return true;
+    }
+    return false;
+}
diff --git a/daemon/packagereceivers/packagereceiver.h b/daemon/packageinterfaces/clipboardpackageinterface.h
similarity index 72%
copy from daemon/packagereceivers/packagereceiver.h
copy to daemon/packageinterfaces/clipboardpackageinterface.h
index 35ef271..0f41064 100644
--- a/daemon/packagereceivers/packagereceiver.h
+++ b/daemon/packageinterfaces/clipboardpackageinterface.h
@@ -18,26 +18,34 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef PACKAGERECEIVER_H
-#define PACKAGERECEIVER_H
+#ifndef CLIPBOARDPACKAGEINTERFACE_H
+#define CLIPBOARDPACKAGEINTERFACE_H
 
 #include <QObject>
+#include <QClipboard>
 
 #include "networkpackage.h"
 #include "device.h"
+#include "packagereceiver.h"
 
-class PackageReceiver
-    : public QObject
+class ClipboardPackageInterface
+    : public PackageReceiver
 {
     Q_OBJECT
 
 public:
-    PackageReceiver();
-    virtual ~PackageReceiver() { }
+    ClipboardPackageInterface();
+    virtual ~ClipboardPackageInterface() { }
 
 public Q_SLOTS:
-    //Returns true if it has handled the package in some way
-    virtual bool receivePackage(const Device& device, const NetworkPackage& np) = 0;
+    virtual bool receivePackage(const Device& device, const NetworkPackage& np);
+
+private Q_SLOTS:
+    void clipboardChanged();
+
+private:
+    bool ignore_next_clipboard_change;
+    QClipboard *clipboard;
 };
 
-#endif // PACKAGERECEIVER_H
+#endif
diff --git a/daemon/packagereceivers/notificationpackagereceiver.cpp b/daemon/packageinterfaces/notificationpackagereceiver.cpp
similarity index 100%
rename from daemon/packagereceivers/notificationpackagereceiver.cpp
rename to daemon/packageinterfaces/notificationpackagereceiver.cpp
diff --git a/daemon/packagereceivers/notificationpackagereceiver.h b/daemon/packageinterfaces/notificationpackagereceiver.h
similarity index 100%
rename from daemon/packagereceivers/notificationpackagereceiver.h
rename to daemon/packageinterfaces/notificationpackagereceiver.h
diff --git a/daemon/packagereceivers/packagereceiver.cpp b/daemon/packageinterfaces/packagereceiver.cpp
similarity index 100%
rename from daemon/packagereceivers/packagereceiver.cpp
rename to daemon/packageinterfaces/packagereceiver.cpp
diff --git a/daemon/packagereceivers/packagereceiver.h b/daemon/packageinterfaces/packagereceiver.h
similarity index 95%
rename from daemon/packagereceivers/packagereceiver.h
rename to daemon/packageinterfaces/packagereceiver.h
index 35ef271..ab979bc 100644
--- a/daemon/packagereceivers/packagereceiver.h
+++ b/daemon/packageinterfaces/packagereceiver.h
@@ -38,6 +38,9 @@ public:
 public Q_SLOTS:
     //Returns true if it has handled the package in some way
     virtual bool receivePackage(const Device& device, const NetworkPackage& np) = 0;
+
+Q_SIGNALS:
+    void sendPackage(const NetworkPackage& np);
 };
 
 #endif // PACKAGERECEIVER_H
diff --git a/daemon/packagereceivers/pausemusicpackagereceiver.cpp b/daemon/packageinterfaces/pausemusicpackagereceiver.cpp
similarity index 100%
rename from daemon/packagereceivers/pausemusicpackagereceiver.cpp
rename to daemon/packageinterfaces/pausemusicpackagereceiver.cpp
diff --git a/daemon/packagereceivers/pausemusicpackagereceiver.h b/daemon/packageinterfaces/pausemusicpackagereceiver.h
similarity index 100%
rename from daemon/packagereceivers/pausemusicpackagereceiver.h
rename to daemon/packageinterfaces/pausemusicpackagereceiver.h
diff --git a/daemon/packagereceivers/pingpackagereceiver.cpp b/daemon/packageinterfaces/pingpackagereceiver.cpp
similarity index 100%
rename from daemon/packagereceivers/pingpackagereceiver.cpp
rename to daemon/packageinterfaces/pingpackagereceiver.cpp
diff --git a/daemon/packagereceivers/pingpackagereceiver.h b/daemon/packageinterfaces/pingpackagereceiver.h
similarity index 100%
rename from daemon/packagereceivers/pingpackagereceiver.h
rename to daemon/packageinterfaces/pingpackagereceiver.h

-- 
kdeconnect packaging



More information about the pkg-kde-commits mailing list