[SCM] ktp-accounts-kcm packaging branch, master, updated. debian/15.12.1-1-1157-gc4589c5

Maximiliano Curia maxy at moszumanska.debian.org
Fri May 27 23:59:58 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-accounts-kcm.git;a=commitdiff;h=fa4067e

The following commit has been merged in the master branch:
commit fa4067e61e6f7332e46fe32a39d0bb3594a1e7dd
Author: Daniele E. Domenichelli <daniele.domenichelli at gmail.com>
Date:   Mon Sep 19 16:43:26 2011 +0100

    Disable the checkbox if telepathy-salut is not installed
---
 src/kcm-telepathy-accounts.cpp | 33 +++++++++++++++++++++++++++++++++
 src/kcm-telepathy-accounts.h   |  1 +
 2 files changed, 34 insertions(+)

diff --git a/src/kcm-telepathy-accounts.cpp b/src/kcm-telepathy-accounts.cpp
index 6d0fd89..b2b1836 100644
--- a/src/kcm-telepathy-accounts.cpp
+++ b/src/kcm-telepathy-accounts.cpp
@@ -43,6 +43,7 @@
 #include <TelepathyQt4/PendingOperation>
 #include <TelepathyQt4/PendingReady>
 #include <TelepathyQt4/Types>
+#include <TelepathyQt4/ConnectionManager>
 
 
 K_PLUGIN_FACTORY(KCMTelepathyAccountsFactory, registerPlugin<KCMTelepathyAccounts>();)
@@ -158,6 +159,13 @@ KCMTelepathyAccounts::KCMTelepathyAccounts(QWidget *parent, const QVariantList&
     connect(m_ui->salutEnableCheckbox,
             SIGNAL(toggled(bool)),
             SLOT(onSalutEnableButtonToggled(bool)));
+
+    // Check if salut is enabled
+    Tp::ConnectionManagerPtr cm = Tp::ConnectionManager::create(QLatin1String("salut"));
+    Tp::PendingReady *op = cm->becomeReady(Tp::Features() << Tp::ConnectionManager::FeatureCore);
+    connect(op,
+            SIGNAL(finished(Tp::PendingOperation*)),
+            SLOT(onSalutConnectionManagerReady(Tp::PendingOperation*)));
 }
 
 KCMTelepathyAccounts::~KCMTelepathyAccounts()
@@ -321,6 +329,31 @@ void KCMTelepathyAccounts::onSalutEnableButtonToggled(bool checked)
     }
 }
 
+void KCMTelepathyAccounts::onSalutConnectionManagerReady(Tp::PendingOperation* op)
+{
+    bool error = false;
+    if(op->isError()) {
+        kWarning() << "Creating salut ConnectionManager failed:" << op->errorName() << op->errorMessage();
+        error = true;
+    } else {
+        Tp::ConnectionManagerPtr cm = Tp::ConnectionManagerPtr::qObjectCast(qobject_cast<Tp::PendingReady*>(op)->proxy());
+
+        if(!cm->isValid()) {
+            kWarning() << "Invalid salut ConnectionManager";
+            error = true;
+        } else if(!cm->supportedProtocols().contains(QLatin1String("local-xmpp"))) {
+            kWarning() << "salut ConnectionManager doesn't support local-xmpp... this is weird";
+            error = true;
+        }
+    }
+
+    // Salut is not installed or has some problem
+    if(error) {
+        m_ui->salutEnableFrame->setDisabled(true);
+        m_ui->salutEnableStatusLabel->setText("Install telepathy-salut to enable");
+    }
+}
+
 /////
 
 ErrorOverlay::ErrorOverlay(QWidget *baseWidget, const QString &details, QWidget *parent) :
diff --git a/src/kcm-telepathy-accounts.h b/src/kcm-telepathy-accounts.h
index 462ef71..1e8d92b 100644
--- a/src/kcm-telepathy-accounts.h
+++ b/src/kcm-telepathy-accounts.h
@@ -65,6 +65,7 @@ private Q_SLOTS:
     void onRemoveAccountClicked();
     void onModelDataChanged();
     void onSalutEnableButtonToggled(bool checked);
+    void onSalutConnectionManagerReady(Tp::PendingOperation*);
 
 private:
     Ui::MainWidget *m_ui;

-- 
ktp-accounts-kcm packaging



More information about the pkg-kde-commits mailing list