[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