diff options
author | David Faure <david.faure@kdab.com> | 2014-10-11 12:54:55 +0200 |
---|---|---|
committer | David Faure <david.faure@kdab.com> | 2014-10-12 10:37:58 +0200 |
commit | cd824ee79188b889df85d4d648a625589655e15e (patch) | |
tree | da1366a70e028cd6a890b8c3aa49647e90d973e1 /src/widgets/itemviews/qtreeview_p.h | |
parent | 97f119af14d3cc1be24400a5e542d26fca96d36b (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.h | 2 |
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); } |