[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:57:20 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-accounts-kcm.git;a=commitdiff;h=93edc15
The following commit has been merged in the master branch:
commit 93edc153a1a990c587a5b69da62842d0cd99ed29
Author: George Goldberg <grundleborg at googlemail.com>
Date: Wed Jul 22 18:13:26 2009 +0000
Create the ProtocolItems in the protocol selection model.
svn path=/trunk/playground/network/telepathy-accounts-kcm/; revision=1001237
---
src/connection-manager-item.cpp | 5 ++++-
src/connection-manager-item.h | 3 +++
src/protocol-item.cpp | 5 +++++
src/protocol-item.h | 2 ++
src/protocol-list-model.cpp | 28 ++++++++++++++++++++++++++++
src/protocol-list-model.h | 3 +++
6 files changed, 45 insertions(+), 1 deletion(-)
diff --git a/src/connection-manager-item.cpp b/src/connection-manager-item.cpp
index 6a143d0..91eea62 100644
--- a/src/connection-manager-item.cpp
+++ b/src/connection-manager-item.cpp
@@ -65,7 +65,10 @@ void ConnectionManagerItem::onConnectionManagerReady(Tp::PendingOperation *op)
return;
}
- // TODO: Implement me!
+ // Emit the protocol() signal for every protocol supported by this connection manager.
+ foreach (const QString &protocol, m_connectionManager->supportedProtocols()) {
+ Q_EMIT newProtocol(protocol);
+ }
}
diff --git a/src/connection-manager-item.h b/src/connection-manager-item.h
index a42436f..dfb589a 100644
--- a/src/connection-manager-item.h
+++ b/src/connection-manager-item.h
@@ -42,6 +42,9 @@ public:
virtual ~ConnectionManagerItem();
Tp::ConnectionManagerPtr connectionManager() const;
+Q_SIGNALS:
+ void newProtocol(const QString &protocol);
+
private Q_SLOTS:
void onConnectionManagerReady(Tp::PendingOperation *op);
diff --git a/src/protocol-item.cpp b/src/protocol-item.cpp
index 889cc76..baa5a49 100644
--- a/src/protocol-item.cpp
+++ b/src/protocol-item.cpp
@@ -40,6 +40,11 @@ ProtocolItem::~ProtocolItem()
// TODO: Implement me...
}
+QString ProtocolItem::protocol() const
+{
+ return m_protocol;
+}
+
#include "protocol-item.moc"
diff --git a/src/protocol-item.h b/src/protocol-item.h
index 6979e04..5210ce6 100644
--- a/src/protocol-item.h
+++ b/src/protocol-item.h
@@ -35,6 +35,8 @@ public:
ConnectionManagerItem *parent = 0);
virtual ~ProtocolItem();
+ QString protocol() const;
+
private:
QString m_protocol;
};
diff --git a/src/protocol-list-model.cpp b/src/protocol-list-model.cpp
index b72eddb..b023389 100644
--- a/src/protocol-list-model.cpp
+++ b/src/protocol-list-model.cpp
@@ -91,6 +91,34 @@ void ProtocolListModel::addConnectionManager(Tp::ConnectionManagerPtr connection
ConnectionManagerItem *item = new ConnectionManagerItem(connectionManager, this);
m_connectionManagerItems.append(item);
+
+ connect(item, SIGNAL(newProtocol(const QString&)),
+ this, SLOT(onNewProtocol(const QString&)));
+}
+
+
+void ProtocolListModel::onNewProtocol(const QString& protocol)
+{
+ kDebug();
+
+ // New protocol supported by a connection manager. Get the ConnectionManagerItem for it.
+ ConnectionManagerItem *cmItem = qobject_cast<ConnectionManagerItem*>(sender());
+ if (!cmItem) {
+ kWarning() << "Slot was called by a non-ConnectionManagerItem object.";
+ return;
+ }
+
+ // Check that the protocol/cm pair are not already in the model.
+ foreach (ProtocolItem *pi, m_protocolItems) {
+ if ((pi->parent() == cmItem) && (pi->protocol() == protocol)) {
+ kWarning() << "Protocol/CM pair already in the model.";
+ return;
+ }
+ }
+
+ // Add the Protocol/CM pair to the model.
+ ProtocolItem *item = new ProtocolItem(protocol, cmItem);
+ m_protocolItems.append(item);
}
diff --git a/src/protocol-list-model.h b/src/protocol-list-model.h
index 1543fde..227ce30 100644
--- a/src/protocol-list-model.h
+++ b/src/protocol-list-model.h
@@ -41,6 +41,9 @@ public:
void addConnectionManager(Tp::ConnectionManagerPtr connectionManager);
void addProtocolItem(ProtocolItem *item);
+private Q_SLOTS:
+ void onNewProtocol(const QString& protocol);
+
private:
QList<ConnectionManagerItem*> m_connectionManagerItems;
QList<ProtocolItem*> m_protocolItems;
--
ktp-accounts-kcm packaging
More information about the pkg-kde-commits
mailing list