[SCM] ktp-common-internals packaging branch, master, updated. debian/15.12.1-2-1839-gf0635e9

Maximiliano Curia maxy at moszumanska.debian.org
Mon May 9 09:07:07 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-common-internals.git;a=commitdiff;h=73f27b0

The following commit has been merged in the master branch:
commit 73f27b0f301ad17a16770aef016ab8c86e31e64b
Author: David Edmundson <kde at davidedmundson.co.uk>
Date:   Tue Sep 10 01:00:47 2013 +0000

    Fix empty combo box in "add contact" dialog
    
    In Kpeople mode we never request FeatureRoster to reduce DBus traffic
    fetching a roster list that we get from Nepomuk anyway.
    The add contact dialog needs this in order to tell if a roster is editable.
    
    This patch upgrades all connections.
    
    REVIEW: 112631
    BUG: 324698
---
 KTp/Widgets/add-contact-dialog.cpp | 29 +++++++++++++++++++++++++++++
 KTp/Widgets/add-contact-dialog.h   |  1 +
 2 files changed, 30 insertions(+)

diff --git a/KTp/Widgets/add-contact-dialog.cpp b/KTp/Widgets/add-contact-dialog.cpp
index fb34eb5..045c0e3 100644
--- a/KTp/Widgets/add-contact-dialog.cpp
+++ b/KTp/Widgets/add-contact-dialog.cpp
@@ -22,6 +22,8 @@
 #include "add-contact-dialog.h"
 #include "ui_add-contact-dialog.h"
 
+#include <KTp/types.h>
+
 #include <QObject>
 #include <QCloseEvent>
 
@@ -36,6 +38,7 @@
 #include <TelepathyQt/PendingContacts>
 #include <TelepathyQt/Filter>
 #include <TelepathyQt/AccountSet>
+#include <TelepathyQt/PendingReady>
 
 namespace KTp {
 
@@ -90,11 +93,27 @@ AddContactDialog::AddContactDialog(const Tp::AccountManagerPtr &accountManager,
     d->ui->setupUi(widget);
     setMainWidget(widget);
 
+
     Tp::AccountFilterPtr filter = Tp::AccountFilterPtr(new KTp::SubscribableAccountFilter());
     Tp::AccountSetPtr accountSet = accountManager->filterAccounts(filter);
 
     d->ui->accountCombo->setAccountSet(accountSet);
 
+    //bodge.
+    //Wtih KPeople support we don't enable FeatureRoster
+    //We need FeatureRoster in order to determine canRequestPresenceSubscription();
+    //so we upgrade any accounts here
+
+    //See https://bugs.kde.org/show_bug.cgi?id=324698
+    Q_FOREACH(const Tp::AccountPtr &account, accountManager->allAccounts()) {
+        if (account->connection()) {
+            Tp::PendingOperation *op = account->connection()->becomeReady(Tp::Connection::FeatureRoster);
+            op->setProperty("account", QVariant::fromValue<Tp::AccountPtr>(account));
+            connect(op, SIGNAL(finished(Tp::PendingOperation*)), SLOT(_k_onAccountUpgraded(Tp::PendingOperation*)));
+        }
+    }
+    //end bodge
+
     d->ui->screenNameLineEdit->setFocus();
 }
 
@@ -104,6 +123,16 @@ AddContactDialog::~AddContactDialog()
     delete d;
 }
 
+//bodge
+void AddContactDialog::_k_onAccountUpgraded(Tp::PendingOperation* op)
+{
+    const Tp::AccountPtr &account = op->property("account").value<Tp::AccountPtr>();
+    //pretend the account changed.
+    //emit that the account properties have changed to invalidate the filter
+    QMetaObject::invokeMethod(account.data(), "propertyChanged", Q_ARG(QString, QString()));
+}
+//end bodge
+
 void AddContactDialog::accept()
 {
     Tp::AccountPtr account = d->ui->accountCombo->currentAccount();
diff --git a/KTp/Widgets/add-contact-dialog.h b/KTp/Widgets/add-contact-dialog.h
index c12834a..2004a27 100644
--- a/KTp/Widgets/add-contact-dialog.h
+++ b/KTp/Widgets/add-contact-dialog.h
@@ -50,6 +50,7 @@ protected:
 private Q_SLOTS:
     KTP_NO_EXPORT void _k_onContactsForIdentifiersFinished(Tp::PendingOperation *op);
     KTP_NO_EXPORT void _k_onRequestPresenceSubscriptionFinished(Tp::PendingOperation *op);
+    KTP_NO_EXPORT void _k_onAccountUpgraded(Tp::PendingOperation *op);
 
 private:
     KTP_NO_EXPORT void setInProgress(bool inProgress);

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list