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

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


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

The following commit has been merged in the master branch:
commit 08938689c5954c581be6b7e117a66aea83afd71b
Author: Albert Vaca <albertvaka at gmail.com>
Date:   Sun Jun 21 19:39:04 2015 -0700

    Emit less redundant events
---
 core/daemon.cpp | 28 +++++++++++++---------------
 core/device.cpp | 11 +++++++++--
 core/device.h   |  2 +-
 3 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/core/daemon.cpp b/core/daemon.cpp
index 40d7988..79bdf6b 100644
--- a/core/daemon.cpp
+++ b/core/daemon.cpp
@@ -127,7 +127,11 @@ void Daemon::onNewDeviceLink(const NetworkPackage& identityPackage, DeviceLink*
     if (d->mDevices.contains(id)) {
         //qCDebug(KDECONNECT_CORE) << "It is a known device";
         Device* device = d->mDevices[id];
+        bool wasReachable = device->isReachable();
         device->addLink(identityPackage, dl);
+        if (!wasReachable) {
+            Q_EMIT deviceVisibilityChanged(id, true);
+        }
     } else {
         //qCDebug(KDECONNECT_CORE) << "It is a new device";
 
@@ -137,8 +141,6 @@ void Daemon::onNewDeviceLink(const NetworkPackage& identityPackage, DeviceLink*
 
         Q_EMIT deviceAdded(id);
     }
-
-    Q_EMIT deviceVisibilityChanged(id, true);
 }
 
 void Daemon::onDeviceReachableStatusChanged()
@@ -146,21 +148,17 @@ void Daemon::onDeviceReachableStatusChanged()
     Device* device = (Device*)sender();
     QString id = device->id();
 
-    Q_EMIT deviceVisibilityChanged(id, device->isReachable());
-
-    //qCDebug(KDECONNECT_CORE) << "Device" << device->name() << "reachable status changed:" << device->isReachable();
-
-    if (!device->isReachable()) {
-
-        if (!device->isPaired()) {
-
-            qCDebug(KDECONNECT_CORE) << "Destroying device" << device->name();
-            Q_EMIT deviceRemoved(id);
-            d->mDevices.remove(id);
-            device->deleteLater();
-        }
+    qCDebug(KDECONNECT_CORE) << "Device" << device->name() << "status changed. Reachable:" << device->isReachable() << ". Paired: " << device->isPaired();
 
+    if (!device->isReachable() && !device->isPaired()) {
+        qCDebug(KDECONNECT_CORE) << "Destroying device" << device->name();
+        d->mDevices.remove(id);
+        device->deleteLater();
+        Q_EMIT deviceRemoved(id);
+    } else {
+        Q_EMIT deviceVisibilityChanged(id, device->isReachable());
     }
+
 }
 
 void Daemon::setAnnouncedName(QString name)
diff --git a/core/device.cpp b/core/device.cpp
index 3eedbd0..c2dc609 100644
--- a/core/device.cpp
+++ b/core/device.cpp
@@ -236,10 +236,13 @@ void Device::unpair()
 
 void Device::unpairInternal()
 {
+    bool alreadyUnpaired = (m_pairStatus != Device::Paired);
     m_pairStatus = Device::NotPaired;
     KdeConnectConfig::instance()->removeTrustedDevice(id());
     reloadPlugins(); //Will unload the plugins
-    Q_EMIT pairingChanged(false);
+    if (!alreadyUnpaired) {
+        Q_EMIT pairingChanged(false);
+    }
 }
 
 void Device::pairingTimeout()
@@ -444,6 +447,8 @@ void Device::acceptPairing()
 void Device::setAsPaired()
 {
 
+    bool alreadyPaired = (m_pairStatus == Device::Paired);
+
     m_pairStatus = Device::Paired;
 
     m_pairingTimeut.stop(); //Just in case it was started
@@ -453,7 +458,9 @@ void Device::setAsPaired()
 
     reloadPlugins(); //Will actually load the plugins
 
-    Q_EMIT pairingChanged(true);
+    if (!alreadyPaired) {
+        Q_EMIT pairingChanged(true);
+    }
 
 }
 
diff --git a/core/device.h b/core/device.h
index 02faf21..f3c7797 100644
--- a/core/device.h
+++ b/core/device.h
@@ -121,8 +121,8 @@ private Q_SLOTS:
     void pairingTimeout();
 
 Q_SIGNALS:
-    Q_SCRIPTABLE void reachableStatusChanged();
     Q_SCRIPTABLE void pluginsChanged();
+    Q_SCRIPTABLE void reachableStatusChanged();
     Q_SCRIPTABLE void pairingChanged(bool paired);
     Q_SCRIPTABLE void pairingFailed(const QString& error);
     Q_SCRIPTABLE void nameChanged(const QString& name);

-- 
kdeconnect packaging



More information about the pkg-kde-commits mailing list