[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