diff options
author | David Faure <david.faure@kdab.com> | 2014-10-12 11:38:41 (GMT) |
---|---|---|
committer | David Faure <david.faure@kdab.com> | 2014-10-13 09:42:02 (GMT) |
commit | 918ca6151976ab43c330ff9ced9456837601a43a (patch) | |
tree | b00c10537b57c35c77fd7c3da983b391d111c1d5 /src/gui | |
parent | eb55d48d1035d06408ffe73696223464957aa71d (diff) | |
download | Qt-918ca6151976ab43c330ff9ced9456837601a43a.zip Qt-918ca6151976ab43c330ff9ced9456837601a43a.tar.gz Qt-918ca6151976ab43c330ff9ced9456837601a43a.tar.bz2 |
QTreeView: 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: I55ef204dd9b79a89d51d5d3aacc1c110d37a4ea0
(cherry picked from qtbase/cd824ee79188b889df85d4d648a625589655e15e)
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/itemviews/qtreeview_p.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gui/itemviews/qtreeview_p.h b/src/gui/itemviews/qtreeview_p.h index 5d8c4ff..451e3f8 100644 --- a/src/gui/itemviews/qtreeview_p.h +++ b/src/gui/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); } |