summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews/qtreeview_p.h
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2014-10-11 12:54:55 +0200
committerDavid Faure <david.faure@kdab.com>2014-10-12 10:37:58 +0200
commitcd824ee79188b889df85d4d648a625589655e15e (patch)
treeda1366a70e028cd6a890b8c3aa49647e90d973e1 /src/widgets/itemviews/qtreeview_p.h
parent97f119af14d3cc1be24400a5e542d26fca96d36b (diff)
QAIV: speed up isRowHidden for the case where no rows are hidden.
isPersistent(index) is a linear search, which we can avoid altogether (as well as the creation of a persistent model index, is idx is indeed persistent) when the row-hiding feature isn't used at all. Change-Id: I07488dddf56e299806cc29749e633da00115fc30 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Diffstat (limited to 'src/widgets/itemviews/qtreeview_p.h')
-rw-r--r--src/widgets/itemviews/qtreeview_p.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/widgets/itemviews/qtreeview_p.h b/src/widgets/itemviews/qtreeview_p.h
index bc444eb37f..72cb897353 100644
--- a/src/widgets/itemviews/qtreeview_p.h
+++ b/src/widgets/itemviews/qtreeview_p.h
@@ -210,6 +210,8 @@ public:
QSet<QPersistentModelIndex> hiddenIndexes;
inline bool isRowHidden(const QModelIndex &idx) const {
+ if (hiddenIndexes.isEmpty())
+ return false;
//We first check if the idx is a QPersistentModelIndex, because creating QPersistentModelIndex is slow
return isPersistent(idx) && hiddenIndexes.contains(idx);
}