[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=fe2679a
The following commit has been merged in the master branch:
commit fe2679a8a5d118bb1e05871e79bf5a80e684eac1
Author: Aleix Pol <aleixpol at kde.org>
Date: Sat Sep 12 15:02:59 2015 +0200
Prevent the kcm from refreshing the UI while interacting with it
Only refresh it when the available plugins actually change.
---
kcm/kcm.cpp | 45 +++++++++++++++++++++++++--------------------
kcm/kcm.h | 1 +
2 files changed, 26 insertions(+), 20 deletions(-)
diff --git a/kcm/kcm.cpp b/kcm/kcm.cpp
index db225d1..85dfcc6 100644
--- a/kcm/kcm.cpp
+++ b/kcm/kcm.cpp
@@ -207,32 +207,37 @@ void KdeConnectKcm::resetCurrentDevice()
}
}
- //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);
+ const QStringList unsupportedPluginNames = currentDevice->unsupportedPlugins();
- kcmUi->pluginSelector->setConfigurationArguments(QStringList(currentDevice->id()));
+ 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->name_label->setText(currentDevice->name());
- kcmUi->status_label->setText(currentDevice->isPaired()? i18n("(paired)") : i18n("(unpaired)"));
+ kcmUi->pluginSelector->setConfigurationArguments(QStringList(currentDevice->id()));
- const QList<KPluginInfo> pluginInfo = KPluginInfo::fromMetaData(KPluginLoader::findPlugins("kdeconnect/"));
- QList<KPluginInfo> availablePluginInfo;
- QList<KPluginInfo> missingPluginInfo;
+ kcmUi->name_label->setText(currentDevice->name());
+ kcmUi->status_label->setText(currentDevice->isPaired()? i18n("(paired)") : i18n("(unpaired)"));
- QStringList missingPluginNames = currentDevice->unsupportedPlugins();
- for (auto it = pluginInfo.cbegin(), itEnd = pluginInfo.cend(); it!=itEnd; ++it) {
- if (missingPluginNames.contains(it->pluginName())) {
- missingPluginInfo.append(*it);
- } else {
- availablePluginInfo.append(*it);
+ 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);
+ }
}
- }
- KSharedConfigPtr deviceConfig = KSharedConfig::openConfig(currentDevice->pluginsConfigFile());
- kcmUi->pluginSelector->addPlugins(availablePluginInfo, KPluginSelector::ReadConfigFile, i18n("Available plugins"), QString(), deviceConfig);
- kcmUi->pluginSelector->addPlugins(missingPluginInfo, KPluginSelector::ReadConfigFile, i18n("Plugins unsupported by the device"), QString(), deviceConfig);
+ 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);
+
+ m_oldUnsupportedPluginNames = unsupportedPluginNames;
+ }
connect(kcmUi->pluginSelector, SIGNAL(changed(bool)),
this, SLOT(pluginsConfigChanged()));
diff --git a/kcm/kcm.h b/kcm/kcm.h
index 1fcbfa9..38873fe 100644
--- a/kcm/kcm.h
+++ b/kcm/kcm.h
@@ -68,6 +68,7 @@ private:
DevicesSortProxyModel* sortProxyModel;
DeviceDbusInterface* currentDevice;
QModelIndex currentIndex;
+ QStringList m_oldUnsupportedPluginNames;
public Q_SLOTS:
void unpair();
--
kdeconnect packaging
More information about the pkg-kde-commits
mailing list