summaryrefslogtreecommitdiffstats
path: root/src/gui/dialogs/qfilesystemmodel.cpp
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2009-06-02 08:14:04 (GMT)
committeraxis <qt-info@nokia.com>2009-06-02 08:14:04 (GMT)
commit3c594257c4aedf113de92c5888e74f676ba87385 (patch)
treee309c7502e13f552203b509494a20792125fed29 /src/gui/dialogs/qfilesystemmodel.cpp
parent539989f41316329e7aba69ba97e1579eed6036e6 (diff)
parent0ff7b68f2e3f184d809cf6fd13ff930efa493e9f (diff)
downloadQt-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.cpp11
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);
+ }
+ }
}
/*!