[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