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

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


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

The following commit has been merged in the master branch:
commit 2707d1f0a840226c561eb2abc2841fd963c352ee
Author: Aleix Pol <aleixpol at kde.org>
Date:   Sat Sep 12 19:43:15 2015 +0200

    Fix reload when changing current device on the kcm
---
 kcm/kcm.cpp | 74 +++++++++++++++++++++++++++++++------------------------------
 kcm/kcm.h   |  2 ++
 2 files changed, 40 insertions(+), 36 deletions(-)

diff --git a/kcm/kcm.cpp b/kcm/kcm.cpp
index 85dfcc6..98d5bb6 100644
--- a/kcm/kcm.cpp
+++ b/kcm/kcm.cpp
@@ -172,15 +172,6 @@ void KdeConnectKcm::deviceSelected(const QModelIndex& current)
     currentIndex = sortProxyModel->mapToSource(current);
     currentDevice = devicesModel->getDevice(currentIndex.row());
 
-    resetCurrentDevice();
-
-    connect(currentDevice, SIGNAL(pluginsChanged()), this, SLOT(resetCurrentDevice()));
-    connect(currentDevice, SIGNAL(pairingChanged(bool)), this, SLOT(pairingChanged(bool)));
-    connect(currentDevice, SIGNAL(pairingFailed(QString)), this, SLOT(pairingFailed(QString)));
-}
-
-void KdeConnectKcm::resetCurrentDevice()
-{
     kcmUi->noDevicePlaceholder->setVisible(false);
     bool valid = (currentDevice != nullptr && currentDevice->isValid());
     kcmUi->deviceInfo->setVisible(valid);
@@ -206,41 +197,52 @@ void KdeConnectKcm::resetCurrentDevice()
             kcmUi->ping_button->setVisible(false);
         }
     }
+    resetDeviceView();
+
+    connect(currentDevice, SIGNAL(pluginsChanged()), this, SLOT(resetCurrentDevice()));
+    connect(currentDevice, SIGNAL(pairingChanged(bool)), this, SLOT(pairingChanged(bool)));
+    connect(currentDevice, SIGNAL(pairingFailed(QString)), this, SLOT(pairingFailed(QString)));
+}
 
+void KdeConnectKcm::resetCurrentDevice()
+{
     const QStringList unsupportedPluginNames = currentDevice->unsupportedPlugins();
 
     if (m_oldUnsupportedPluginNames != unsupportedPluginNames) {
-        //KPluginSelector has no way to remove a list of plugins and load another, so we need to destroy and recreate it each time
-        delete kcmUi->pluginSelector;
-        kcmUi->pluginSelector = new KPluginSelector(this);
-        kcmUi->deviceInfo_layout->addWidget(kcmUi->pluginSelector);
-
-        kcmUi->pluginSelector->setConfigurationArguments(QStringList(currentDevice->id()));
-
-        kcmUi->name_label->setText(currentDevice->name());
-        kcmUi->status_label->setText(currentDevice->isPaired()? i18n("(paired)") : i18n("(unpaired)"));
-
-        const QList<KPluginInfo> pluginInfo = KPluginInfo::fromMetaData(KPluginLoader::findPlugins("kdeconnect/"));
-        QList<KPluginInfo> availablePluginInfo;
-        QList<KPluginInfo> unsupportedPluginInfo;
-
-        for (auto it = pluginInfo.cbegin(), itEnd = pluginInfo.cend(); it!=itEnd; ++it) {
-            if (unsupportedPluginNames.contains(it->pluginName())) {
-                unsupportedPluginInfo.append(*it);
-            } else {
-                availablePluginInfo.append(*it);
-            }
-        }
+        resetDeviceView();
+    }
+}
+
+void KdeConnectKcm::resetDeviceView()
+{
+    //KPluginSelector has no way to remove a list of plugins and load another, so we need to destroy and recreate it each time
+    delete kcmUi->pluginSelector;
+    kcmUi->pluginSelector = new KPluginSelector(this);
+    kcmUi->deviceInfo_layout->addWidget(kcmUi->pluginSelector);
+
+    kcmUi->pluginSelector->setConfigurationArguments(QStringList(currentDevice->id()));
+
+    kcmUi->name_label->setText(currentDevice->name());
+    kcmUi->status_label->setText(currentDevice->isPaired()? i18n("(paired)") : i18n("(unpaired)"));
 
-        KSharedConfigPtr deviceConfig = KSharedConfig::openConfig(currentDevice->pluginsConfigFile());
-        kcmUi->pluginSelector->addPlugins(availablePluginInfo, KPluginSelector::ReadConfigFile, i18n("Available plugins"), QString(), deviceConfig);
-        kcmUi->pluginSelector->addPlugins(unsupportedPluginInfo, KPluginSelector::ReadConfigFile, i18n("Plugins unsupported by the device"), QString(), deviceConfig);
+    const QList<KPluginInfo> pluginInfo = KPluginInfo::fromMetaData(KPluginLoader::findPlugins("kdeconnect/"));
+    QList<KPluginInfo> availablePluginInfo;
+    QList<KPluginInfo> unsupportedPluginInfo;
 
-        m_oldUnsupportedPluginNames = unsupportedPluginNames;
+    m_oldUnsupportedPluginNames = currentDevice->unsupportedPlugins();
+    for (auto it = pluginInfo.cbegin(), itEnd = pluginInfo.cend(); it!=itEnd; ++it) {
+        if (m_oldUnsupportedPluginNames.contains(it->pluginName())) {
+            unsupportedPluginInfo.append(*it);
+        } else {
+            availablePluginInfo.append(*it);
+        }
     }
 
-    connect(kcmUi->pluginSelector, SIGNAL(changed(bool)),
-            this, SLOT(pluginsConfigChanged()));
+    KSharedConfigPtr deviceConfig = KSharedConfig::openConfig(currentDevice->pluginsConfigFile());
+    kcmUi->pluginSelector->addPlugins(availablePluginInfo, KPluginSelector::ReadConfigFile, i18n("Available plugins"), QString(), deviceConfig);
+    kcmUi->pluginSelector->addPlugins(unsupportedPluginInfo, KPluginSelector::ReadConfigFile, i18n("Plugins unsupported by the device"), QString(), deviceConfig);
+    connect(kcmUi->pluginSelector, SIGNAL(changed(bool)), this, SLOT(pluginsConfigChanged()));
+
 }
 
 void KdeConnectKcm::requestPair()
diff --git a/kcm/kcm.h b/kcm/kcm.h
index 38873fe..890b2be 100644
--- a/kcm/kcm.h
+++ b/kcm/kcm.h
@@ -62,6 +62,8 @@ private Q_SLOTS:
     void resetCurrentDevice();
 
 private:
+    void resetDeviceView();
+
     Ui::KdeConnectKcmUi* kcmUi;
     DaemonDbusInterface* daemon;
     DevicesModel* devicesModel;

-- 
kdeconnect packaging



More information about the pkg-kde-commits mailing list