![]() |
Qt 6.x
The Qt SDK
|
#include <qfilesystemmodel_p.h>
Classes | |
struct | Fetching |
class | QFileSystemNode |
Public Types | |
enum | { NameColumn , SizeColumn , TypeColumn , TimeColumn , NumColumns = 4 } |
![]() | |
typedef void(* | StaticMetaCallFunction) (QObject *, QMetaObject::Call, int, void **) |
using | ConnectionDataPointer = QExplicitlySharedDataPointer< ConnectionData > |
Static Public Member Functions | |
static QString | myComputer () |
static QString | size (qint64 bytes) |
![]() | |
static QAbstractItemModel * | staticEmptyModel () |
static bool | variantLessThan (const QVariant &v1, const QVariant &v2) |
static const QHash< int, QByteArray > & | defaultRoleNames () |
static bool | isVariantLessThan (const QVariant &left, const QVariant &right, Qt::CaseSensitivity cs=Qt::CaseSensitive, bool isLocaleAware=false) |
![]() | |
static bool | removeConnection (Connection *c) |
static QObjectPrivate * | get (QObject *o) |
static const QObjectPrivate * | get (const QObject *o) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot) |
static QMetaObject::Connection | connectImpl (const QObject *sender, int signal_index, const QObject *receiver, void **slot, QtPrivate::QSlotObjectBase *slotObj, int type, const int *types, const QMetaObject *senderMetaObject) |
static QMetaObject::Connection | connect (const QObject *sender, int signal_index, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type) |
static QMetaObject::Connection | connect (const QObject *sender, int signal_index, const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type) |
static bool | disconnect (const QObject *sender, int signal_index, void **slot) |
static bool | disconnect (const QObject *sender, int signal_index, const QObject *receiver, void **slot) |
Definition at line 61 of file qfilesystemmodel_p.h.
anonymous enum |
Enumerator | |
---|---|
NameColumn | |
SizeColumn | |
TypeColumn | |
TimeColumn | |
NumColumns |
Definition at line 66 of file qfilesystemmodel_p.h.
|
default |
|
default |
void QFileSystemModelPrivate::_q_directoryChanged | ( | const QString & | directory, |
const QStringList & | files | ||
) |
Performed quick listing and see if any files have been added or removed, then fetch more information on visible files.
Definition at line 1767 of file qfilesystemmodel.cpp.
References QFileSystemModelPrivate::QFileSystemNode::children, directory, files, i, node(), and removeNode().
Referenced by init().
void QFileSystemModelPrivate::_q_fileSystemChanged | ( | const QString & | path, |
const QList< QPair< QString, QFileInfo > > & | updates | ||
) |
The thread has received new information about files, update and emit dataChanged if it has actually changed.
Definition at line 1915 of file qfilesystemmodel.cpp.
References addNode(), addVisibleFiles(), QList< T >::append(), QList< T >::at(), QList< T >::begin(), bypassFilters, Qt::CaseInsensitive, QFileSystemModelPrivate::QFileSystemNode::caseSensitive(), QFileSystemModelPrivate::QFileSystemNode::children, QString::compare(), delayedSort(), emit, QList< T >::end(), QFileSystemModelPrivate::QFileSystemNode::fileName, fileName, filtersAcceptsNode(), forceSort, info, QFileSystemModelPrivate::QFileSystemNode::isVisible, NameColumn, node(), QFileSystemModelPrivate::QFileSystemNode::populate(), Q_ASSERT, Q_UNUSED, removeVisibleFile(), QList< T >::size(), sortColumn, translateVisibleLocation(), QFileSystemModelPrivate::QFileSystemNode::visibleChildren, and QFileSystemModelPrivate::QFileSystemNode::visibleLocation().
Referenced by init().
void QFileSystemModelPrivate::_q_performDelayedSort | ( | ) |
Definition at line 1000 of file qfilesystemmodel.cpp.
References sortColumn, and sortOrder.
Referenced by init().
void QFileSystemModelPrivate::_q_resolvedName | ( | const QString & | fileName, |
const QString & | resolvedName | ||
) |
Definition at line 2026 of file qfilesystemmodel.cpp.
References fileName, and resolvedSymLinks.
Referenced by init().
QFileSystemModelPrivate::QFileSystemNode * QFileSystemModelPrivate::addNode | ( | QFileSystemNode * | parentNode, |
const QString & | fileName, | ||
const QFileInfo & | info | ||
) |
Adds a new file to the children of parentNode
WARNING* this will change the count of children
Definition at line 1812 of file qfilesystemmodel.cpp.
References QFileSystemModelPrivate::QFileSystemNode::children, QFileSystemModelPrivate::QFileSystemNode::fileName, fileName, info, QString::isEmpty(), node(), QFileSystemModelPrivate::QFileSystemNode::populate(), Q_ASSERT, and Q_UNUSED.
Referenced by _q_fileSystemChanged(), and node().
void QFileSystemModelPrivate::addVisibleFiles | ( | QFileSystemNode * | parentNode, |
const QStringList & | newFiles | ||
) |
File at parentNode->children(itemLocation) was not visible before, but now should be and emit signals if necessary.
WARNING* this will change the visible count
Definition at line 1866 of file qfilesystemmodel.cpp.
References QList< T >::append(), QFileSystemModelPrivate::QFileSystemNode::children, QFileSystemModelPrivate::QFileSystemNode::dirtyChildrenIndex, isHiddenByFilter(), QObjectData::parent, QList< T >::size(), and QFileSystemModelPrivate::QFileSystemNode::visibleChildren.
Referenced by _q_fileSystemChanged(), and node().
|
inline |
Definition at line 239 of file qfilesystemmodel_p.h.
Referenced by _q_fileSystemChanged().
QString QFileSystemModelPrivate::displayName | ( | const QModelIndex & | index | ) | const |
Definition at line 831 of file qfilesystemmodel.cpp.
References node().
QString QFileSystemModelPrivate::filePath | ( | const QModelIndex & | index | ) | const |
Definition at line 1390 of file qfilesystemmodel.cpp.
References QString::append(), QString::endsWith(), QFileSystemModelPrivate::QFileSystemNode::fileName, QDir::fromNativeSeparators(), QModelIndex::isValid(), QString::length(), QString::mid(), node(), QModelIndex::parent(), Q_ASSERT, Q_UNUSED, QDir::separator(), and QString::size().
Referenced by name().
bool QFileSystemModelPrivate::filtersAcceptsNode | ( | const QFileSystemNode * | node | ) | const |
Returns false
if node doesn't pass the filters otherwise true
QDir::Modified is not supported QDir::Drives is not supported
Definition at line 2106 of file qfilesystemmodel.cpp.
References QDir::AllDirs, bypassFilters, QDir::Dirs, QDir::Executable, QFileSystemModelPrivate::QFileSystemNode::fileName, QDir::Files, filters, QFileSystemModelPrivate::QFileSystemNode::hasInformation(), QDir::Hidden, QFileSystemModelPrivate::QFileSystemNode::isDir(), QFileSystemModelPrivate::QFileSystemNode::isExecutable(), QFileSystemModelPrivate::QFileSystemNode::isFile(), QFileSystemModelPrivate::QFileSystemNode::isHidden(), QFileSystemModelPrivate::QFileSystemNode::isReadable(), QFileSystemModelPrivate::QFileSystemNode::isSymLink(), QFileSystemModelPrivate::QFileSystemNode::isSystem(), QFileSystemModelPrivate::QFileSystemNode::isWritable(), nameFilterDisables, node(), QDir::NoDot, QDir::NoDotDot, QDir::NoSymLinks, QFileSystemModelPrivate::QFileSystemNode::parent, passNameFilters(), QDir::PermissionMask, QDir::Readable, root, QDir::System, and QDir::Writable.
Referenced by _q_fileSystemChanged(), and sortChildren().
QIcon QFileSystemModelPrivate::icon | ( | const QModelIndex & | index | ) | const |
Definition at line 844 of file qfilesystemmodel.cpp.
References QFileSystemModelPrivate::QFileSystemNode::icon(), and node().
QModelIndex QFileSystemModelPrivate::index | ( | const QFileSystemNode * | node, |
int | column = 0 |
||
) | const |
Definition at line 595 of file qfilesystemmodel.cpp.
References QFileSystemModelPrivate::QFileSystemNode::fileName, QFileSystemModelPrivate::QFileSystemNode::isVisible, node(), QFileSystemModelPrivate::QFileSystemNode::parent, Q_ASSERT, root, translateVisibleLocation(), and QFileSystemModelPrivate::QFileSystemNode::visibleLocation().
|
inline |
Definition at line 205 of file qfilesystemmodel_p.h.
References index().
Referenced by index().
void QFileSystemModelPrivate::init | ( | ) |
Definition at line 2078 of file qfilesystemmodel.cpp.
References _q_directoryChanged(), _q_fileSystemChanged(), _q_performDelayedSort(), _q_resolvedName(), delayedSortTimer, Qt::QueuedConnection, QTimer::setSingleShot(), SIGNAL, and SLOT.
|
inline |
Definition at line 199 of file qfilesystemmodel_p.h.
Referenced by addVisibleFiles(), removeNode(), and removeVisibleFile().
|
inlinestatic |
Definition at line 227 of file qfilesystemmodel_p.h.
Referenced by QFileSystemModel::myComputer(), node(), and QFileSystemModel::setRootPath().
QString QFileSystemModelPrivate::name | ( | const QModelIndex & | index | ) | const |
Definition at line 812 of file qfilesystemmodel.cpp.
References QFileSystemModelPrivate::QFileSystemNode::fileName, filePath(), QDir::fromNativeSeparators(), QHash< Key, T >::isEmpty(), QFileSystemModelPrivate::QFileSystemNode::isSymLink(), node(), QT_CONFIG, resolvedSymLinks, and QHash< Key, T >::value().
QFileSystemModelPrivate::QFileSystemNode * QFileSystemModelPrivate::node | ( | const QModelIndex & | index | ) | const |
Return the QFileSystemNode that goes to index.
Definition at line 270 of file qfilesystemmodel.cpp.
References Q_ASSERT, and root.
Referenced by _q_directoryChanged(), _q_fileSystemChanged(), addNode(), displayName(), filePath(), filtersAcceptsNode(), icon(), index(), name(), node(), passNameFilters(), removeNode(), size(), sortChildren(), time(), and type().
QFileSystemModelPrivate::QFileSystemNode * QFileSystemModelPrivate::node | ( | const QString & | path, |
bool | fetch = true |
||
) | const |
Given a path return the matching QFileSystemNode or &root if invalid
Definition at line 319 of file qfilesystemmodel.cpp.
References QDir::absolutePath(), absolutePath(), addNode(), addVisibleFiles(), QString::append(), QObject::children(), QFileSystemModelPrivate::QFileSystemNode::children, QString::chop(), QListSpecialMethodsBase< T >::contains(), dir, QString::endsWith(), QFileInfo::exists(), QDir::fromNativeSeparators(), QFileSystemModelPrivate::QFileSystemNode::hasInformation(), i, info, QString::isEmpty(), QFileSystemModelPrivate::QFileSystemNode::isVisible, it, myComputer(), node(), QObjectData::parent, QDir::path(), QFileSystemModelPrivate::QFileSystemNode::populate(), Q_ASSERT, Q_UNUSED, root, rootDir, QDir::rootPath(), QList< T >::size(), Qt::SkipEmptyParts, QString::split(), QString::startsWith(), QString::toLower(), translateVisibleLocation(), QList< T >::value(), and QFileSystemModelPrivate::QFileSystemNode::visibleLocation().
bool QFileSystemModelPrivate::passNameFilters | ( | const QFileSystemNode * | node | ) | const |
Definition at line 2152 of file qfilesystemmodel.cpp.
References QDir::AllDirs, QString::contains(), QFileSystemModelPrivate::QFileSystemNode::fileName, filters, QFileSystemModelPrivate::QFileSystemNode::isDir(), node(), and Q_UNUSED.
Referenced by filtersAcceptsNode().
void QFileSystemModelPrivate::removeNode | ( | QFileSystemModelPrivate::QFileSystemNode * | parentNode, |
const QString & | name | ||
) |
File at parentNode->children(itemLocation) has been removed, remove from the lists and emit signals if necessary
WARNING* this will change the count of children and could change visibleChildren
Definition at line 1839 of file qfilesystemmodel.cpp.
References QFileSystemModelPrivate::QFileSystemNode::children, isHiddenByFilter(), node(), QObjectData::parent, QList< T >::removeAt(), translateVisibleLocation(), QFileSystemModelPrivate::QFileSystemNode::visibleChildren, and QFileSystemModelPrivate::QFileSystemNode::visibleLocation().
Referenced by _q_directoryChanged().
void QFileSystemModelPrivate::removeVisibleFile | ( | QFileSystemNode * | parentNode, |
int | vLocation | ||
) |
File was visible before, but now should NOT be
WARNING* this will change the visible count
Definition at line 1893 of file qfilesystemmodel.cpp.
References QList< T >::at(), QFileSystemModelPrivate::QFileSystemNode::children, isHiddenByFilter(), QObjectData::parent, QList< T >::removeAt(), translateVisibleLocation(), and QFileSystemModelPrivate::QFileSystemNode::visibleChildren.
Referenced by _q_fileSystemChanged().
QString QFileSystemModelPrivate::size | ( | const QModelIndex & | index | ) | const |
Definition at line 760 of file qfilesystemmodel.cpp.
References node().
Definition at line 779 of file qfilesystemmodel.cpp.
References QLocale::formattedDataSize(), and QLocale::system().
void QFileSystemModelPrivate::sortChildren | ( | int | column, |
const QModelIndex & | parent | ||
) |
Definition at line 1087 of file qfilesystemmodel.cpp.
References QList< T >::append(), QFileSystemModelPrivate::QFileSystemNode::children, QList< T >::clear(), QFileSystemModelPrivate::QFileSystemNode::dirtyChildrenIndex, disableRecursiveSort, QFileSystemModelPrivate::QFileSystemNode::fileName, filtersAcceptsNode(), i, QFileSystemModelPrivate::QFileSystemNode::isVisible, node(), QObjectData::parent, QList< T >::reserve(), sortChildren(), and QFileSystemModelPrivate::QFileSystemNode::visibleChildren.
Referenced by sortChildren().
QString QFileSystemModelPrivate::time | ( | const QModelIndex & | index | ) | const |
Definition at line 787 of file qfilesystemmodel.cpp.
References QTimeZone::LocalTime, node(), Q_UNUSED, QLocale::ShortFormat, QLocale::system(), and QLocale::toString().
|
inline |
Definition at line 215 of file qfilesystemmodel_p.h.
References Qt::AscendingOrder, and parent.
Referenced by _q_fileSystemChanged(), index(), node(), removeNode(), and removeVisibleFile().
QString QFileSystemModelPrivate::type | ( | const QModelIndex & | index | ) | const |
Definition at line 802 of file qfilesystemmodel.cpp.
References node(), and QFileSystemModelPrivate::QFileSystemNode::type().
QHash<const QFileSystemNode*, bool> QFileSystemModelPrivate::bypassFilters |
Definition at line 267 of file qfilesystemmodel_p.h.
Referenced by _q_fileSystemChanged(), and filtersAcceptsNode().
QTimer QFileSystemModelPrivate::delayedSortTimer |
Definition at line 266 of file qfilesystemmodel_p.h.
Referenced by init().
bool QFileSystemModelPrivate::disableRecursiveSort = false |
Definition at line 295 of file qfilesystemmodel_p.h.
Referenced by sortChildren().
QBasicTimer QFileSystemModelPrivate::fetchingTimer |
Definition at line 284 of file qfilesystemmodel_p.h.
QDir::Filters QFileSystemModelPrivate::filters = QDir::AllEntries | QDir::NoDotAndDotDot | QDir::AllDirs |
Definition at line 286 of file qfilesystemmodel_p.h.
Referenced by filtersAcceptsNode(), and passNameFilters().
bool QFileSystemModelPrivate::forceSort = true |
Definition at line 289 of file qfilesystemmodel_p.h.
Referenced by _q_fileSystemChanged().
bool QFileSystemModelPrivate::nameFilterDisables = true |
Definition at line 292 of file qfilesystemmodel_p.h.
Referenced by filtersAcceptsNode().
bool QFileSystemModelPrivate::readOnly = true |
Definition at line 290 of file qfilesystemmodel_p.h.
Definition at line 273 of file qfilesystemmodel_p.h.
Referenced by _q_resolvedName(), and name().
QFileSystemNode QFileSystemModelPrivate::root |
Definition at line 275 of file qfilesystemmodel_p.h.
Referenced by filtersAcceptsNode(), index(), node(), and node().
QDir QFileSystemModelPrivate::rootDir |
Definition at line 258 of file qfilesystemmodel_p.h.
Referenced by node().
bool QFileSystemModelPrivate::setRootPath = false |
Definition at line 291 of file qfilesystemmodel_p.h.
int QFileSystemModelPrivate::sortColumn = 0 |
Definition at line 287 of file qfilesystemmodel_p.h.
Referenced by _q_fileSystemChanged(), and _q_performDelayedSort().
Qt::SortOrder QFileSystemModelPrivate::sortOrder = Qt::AscendingOrder |
Definition at line 288 of file qfilesystemmodel_p.h.
Referenced by _q_performDelayedSort().
Definition at line 282 of file qfilesystemmodel_p.h.