diff options
Diffstat (limited to 'src/imports/folderlistmodel')
-rw-r--r-- | src/imports/folderlistmodel/fileinfothread.cpp | 12 | ||||
-rw-r--r-- | src/imports/folderlistmodel/fileinfothread_p.h | 4 | ||||
-rw-r--r-- | src/imports/folderlistmodel/qquickfolderlistmodel.cpp | 10 |
3 files changed, 14 insertions, 12 deletions
diff --git a/src/imports/folderlistmodel/fileinfothread.cpp b/src/imports/folderlistmodel/fileinfothread.cpp index 64a4b02e91..0f984bedd9 100644 --- a/src/imports/folderlistmodel/fileinfothread.cpp +++ b/src/imports/folderlistmodel/fileinfothread.cpp @@ -57,7 +57,7 @@ FileInfoThread::FileInfoThread(QObject *parent) sortUpdate(false), showDirs(true), showDirsFirst(false), - showDotDot(false), + showDotAndDotDot(false), showOnlyReadable(false) { #ifndef QT_NO_FILESYSTEMWATCHER @@ -158,10 +158,10 @@ void FileInfoThread::setShowDirsFirst(bool show) condition.wakeAll(); } -void FileInfoThread::setShowDotDot(bool on) +void FileInfoThread::setShowDotAndDotDot(bool on) { QMutexLocker locker(&mutex); - showDotDot = on; + showDotAndDotDot = on; folderUpdate = true; condition.wakeAll(); } @@ -212,10 +212,12 @@ void FileInfoThread::run() void FileInfoThread::getFileInfos(const QString &path) { QDir::Filters filter; - filter = QDir::Files | QDir::NoDot | QDir::CaseSensitive; + filter = QDir::Files | QDir::CaseSensitive; if (showDirs) filter = filter | QDir::AllDirs | QDir::Drives; - if ((path == rootPath) || !showDotDot) + if (!showDotAndDotDot) + filter = filter | QDir::NoDot | QDir::NoDotDot; + else if (path == rootPath) filter = filter | QDir::NoDotDot; if (showOnlyReadable) filter = filter | QDir::Readable; diff --git a/src/imports/folderlistmodel/fileinfothread_p.h b/src/imports/folderlistmodel/fileinfothread_p.h index f9340ca75d..cf6572a279 100644 --- a/src/imports/folderlistmodel/fileinfothread_p.h +++ b/src/imports/folderlistmodel/fileinfothread_p.h @@ -72,7 +72,7 @@ public: void setNameFilters(const QStringList & nameFilters); void setShowDirs(bool showFolders); void setShowDirsFirst(bool show); - void setShowDotDot(bool on); + void setShowDotAndDotDot(bool on); void setShowOnlyReadable(bool on); public Q_SLOTS: @@ -104,7 +104,7 @@ private: bool sortUpdate; bool showDirs; bool showDirsFirst; - bool showDotDot; + bool showDotAndDotDot; bool showOnlyReadable; }; diff --git a/src/imports/folderlistmodel/qquickfolderlistmodel.cpp b/src/imports/folderlistmodel/qquickfolderlistmodel.cpp index 7ba2981a4e..85b59e9c73 100644 --- a/src/imports/folderlistmodel/qquickfolderlistmodel.cpp +++ b/src/imports/folderlistmodel/qquickfolderlistmodel.cpp @@ -55,7 +55,7 @@ class QQuickFolderListModelPrivate public: QQuickFolderListModelPrivate(QQuickFolderListModel *q) : q_ptr(q), - sortField(QQuickFolderListModel::Name), sortReversed(false), showDirs(true), showDirsFirst(false), showDots(false), showOnlyReadable(false) + sortField(QQuickFolderListModel::Name), sortReversed(false), showDirs(true), showDirsFirst(false), showDotAndDotDot(false), showOnlyReadable(false) { nameFilters << QLatin1String("*"); } @@ -72,7 +72,7 @@ public: bool sortReversed; bool showDirs; bool showDirsFirst; - bool showDots; + bool showDotAndDotDot; bool showOnlyReadable; ~QQuickFolderListModelPrivate() {} @@ -681,15 +681,15 @@ void QQuickFolderListModel::setShowDirsFirst(bool on) bool QQuickFolderListModel::showDotAndDotDot() const { Q_D(const QQuickFolderListModel); - return d->showDots; + return d->showDotAndDotDot; } void QQuickFolderListModel::setShowDotAndDotDot(bool on) { Q_D(QQuickFolderListModel); - if (on != d->showDots) { - d->fileInfoThread.setShowDotDot(on); + if (on != d->showDotAndDotDot) { + d->fileInfoThread.setShowDotAndDotDot(on); } } |