diff options
author | axis <qt-info@nokia.com> | 2009-06-02 08:14:04 (GMT) |
---|---|---|
committer | axis <qt-info@nokia.com> | 2009-06-02 08:14:04 (GMT) |
commit | 3c594257c4aedf113de92c5888e74f676ba87385 (patch) | |
tree | e309c7502e13f552203b509494a20792125fed29 /src/gui/dialogs/qfilesystemmodel.cpp | |
parent | 539989f41316329e7aba69ba97e1579eed6036e6 (diff) | |
parent | 0ff7b68f2e3f184d809cf6fd13ff930efa493e9f (diff) | |
download | Qt-3c594257c4aedf113de92c5888e74f676ba87385.zip Qt-3c594257c4aedf113de92c5888e74f676ba87385.tar.gz Qt-3c594257c4aedf113de92c5888e74f676ba87385.tar.bz2 |
Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt
Conflicts:
configure.exe
examples/itemviews/puzzle/puzzle.pro
examples/qtconcurrent/imagescaling/imagescaling.pro
examples/widgets/movie/movie.pro
tools/configure/configureapp.cpp
Will rebuild configure.exe in next commit.
Diffstat (limited to 'src/gui/dialogs/qfilesystemmodel.cpp')
-rw-r--r-- | src/gui/dialogs/qfilesystemmodel.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gui/dialogs/qfilesystemmodel.cpp b/src/gui/dialogs/qfilesystemmodel.cpp index 49a3f2e..44adc75 100644 --- a/src/gui/dialogs/qfilesystemmodel.cpp +++ b/src/gui/dialogs/qfilesystemmodel.cpp @@ -1095,6 +1095,7 @@ private: */ void QFileSystemModelPrivate::sortChildren(int column, const QModelIndex &parent) { + Q_Q(QFileSystemModel); QFileSystemModelPrivate::QFileSystemNode *indexNode = node(parent); if (indexNode->children.count() == 0) return; @@ -1118,6 +1119,16 @@ void QFileSystemModelPrivate::sortChildren(int column, const QModelIndex &parent indexNode->visibleChildren.append(values.at(i).first->fileName); values.at(i).first->isVisible = true; } + + if (!disableRecursiveSort) { + for (int i = 0; i < q->rowCount(parent); ++i) { + const QModelIndex childIndex = q->index(i, 0, parent); + QFileSystemModelPrivate::QFileSystemNode *indexNode = node(childIndex); + //Only do a recursive sort on visible nodes + if (indexNode->isVisible) + sortChildren(column, childIndex); + } + } } /*! |