[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:06:35 UTC 2016


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

The following commit has been merged in the master branch:
commit cda92b08fe03d5ecaa9ee758432da5d0c6c77684
Author: David Edmundson <david at davidedmundson.co.uk>
Date:   Mon Mar 11 11:49:12 2013 +0000

    Allow AbstractGroupingProxyModels to signal that the group index has changed
    
    This is used to fix a bug in which the AccountsTreeProxyModel would not update instantly if the name or icon changes
    
    REVIEW: 109380
---
 KTp/Models/abstract-grouping-proxy-model.cpp | 14 ++++++++++++++
 KTp/Models/abstract-grouping-proxy-model.h   |  1 +
 KTp/Models/accounts-tree-proxy-model.cpp     |  8 ++++++++
 KTp/Models/accounts-tree-proxy-model.h       |  1 +
 4 files changed, 24 insertions(+)

diff --git a/KTp/Models/abstract-grouping-proxy-model.cpp b/KTp/Models/abstract-grouping-proxy-model.cpp
index a37b039..a46c75b 100644
--- a/KTp/Models/abstract-grouping-proxy-model.cpp
+++ b/KTp/Models/abstract-grouping-proxy-model.cpp
@@ -56,6 +56,7 @@ public:
     QString group() const;
     virtual QVariant data(int role) const;
     bool forced() const;
+    void changed(); //expose protected method in QStandardItem
     void setForced(bool forced);
 private:
     const QString m_groupId;
@@ -120,6 +121,11 @@ bool GroupNode::forced() const
     return m_forced;
 }
 
+void GroupNode::changed()
+{
+    QStandardItem::emitDataChanged();
+}
+
 
 KTp::AbstractGroupingProxyModel::AbstractGroupingProxyModel(QAbstractItemModel *source):
     QStandardItemModel(source),
@@ -162,6 +168,14 @@ void KTp::AbstractGroupingProxyModel::unforceGroup(const QString &group)
     }
 }
 
+void KTp::AbstractGroupingProxyModel::groupChanged(const QString &group)
+{
+    GroupNode *node = d->groupMap[group];
+    if (node) {
+        node->changed();
+    }
+}
+
 
 /* Called when source items inserts a row
  *
diff --git a/KTp/Models/abstract-grouping-proxy-model.h b/KTp/Models/abstract-grouping-proxy-model.h
index b013eeb..4308254 100644
--- a/KTp/Models/abstract-grouping-proxy-model.h
+++ b/KTp/Models/abstract-grouping-proxy-model.h
@@ -42,6 +42,7 @@ public:
     void forceGroup(const QString &group);
     void unforceGroup(const QString &group);
 
+    void groupChanged(const QString &group);
 
 //protected:
     /** Return a list of all groups this items belongs to. Subclasses must override this*/
diff --git a/KTp/Models/accounts-tree-proxy-model.cpp b/KTp/Models/accounts-tree-proxy-model.cpp
index fa61e2f..e0b9111 100644
--- a/KTp/Models/accounts-tree-proxy-model.cpp
+++ b/KTp/Models/accounts-tree-proxy-model.cpp
@@ -91,9 +91,17 @@ QVariant KTp::AccountsTreeProxyModel::dataForGroup(const QString &group, int rol
     return QVariant();
 }
 
+void KTp::AccountsTreeProxyModel::onAccountChanged()
+{
+    Tp::AccountPtr account(qobject_cast<Tp::Account*>(sender()));
+    groupChanged(account->objectPath());
+}
+
 void KTp::AccountsTreeProxyModel::onAccountAdded(const Tp::AccountPtr &account)
 {
     forceGroup(account->objectPath());
+    connect(account.data(), SIGNAL(normalizedNameChanged(QString)), SLOT(onAccountChanged()));
+    connect(account.data(), SIGNAL(iconNameChanged(QString)), SLOT(onAccountChanged()));
 }
 
 void KTp::AccountsTreeProxyModel::onAccountRemoved(const Tp::AccountPtr &account)
diff --git a/KTp/Models/accounts-tree-proxy-model.h b/KTp/Models/accounts-tree-proxy-model.h
index 9f0eec3..620b860 100644
--- a/KTp/Models/accounts-tree-proxy-model.h
+++ b/KTp/Models/accounts-tree-proxy-model.h
@@ -37,6 +37,7 @@ public:
     virtual QVariant dataForGroup(const QString &group, int role) const;
 
 private Q_SLOTS:
+    void onAccountChanged();
     void onAccountAdded(const Tp::AccountPtr &account);
     void onAccountRemoved(const Tp::AccountPtr &account);
 

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list