diff options
author | Ahmad Samir <a.samirh78@gmail.com> | 2024-01-05 22:17:28 +0200 |
---|---|---|
committer | Ahmad Samir <a.samirh78@gmail.com> | 2024-01-13 17:01:24 +0200 |
commit | 27dd17890060313d684b72c871be9da7eb2b74fe (patch) | |
tree | 67948a887399d5068144c019ce15e03fd1184db4 | |
parent | e366a47d65c782055a9e361ad7e18bda6cd33780 (diff) |
QFileSystem{Model,Watcher}: port to PMF signal/slot syntax
Also remove the `_q_` prefix from private slot names, it was needed to
mark them as being used with Q_PRIVATE_SLOT, which is also gone in this
commit.
Drive-by change: de-duplicate some code.
Change-Id: Ib41d0ac24ae584746751c0c2b5c477f600627db1
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
-rw-r--r-- | src/corelib/io/qfilesystemwatcher.cpp | 53 | ||||
-rw-r--r-- | src/corelib/io/qfilesystemwatcher.h | 4 | ||||
-rw-r--r-- | src/corelib/io/qfilesystemwatcher_p.h | 12 | ||||
-rw-r--r-- | src/gui/itemmodels/qfilesystemmodel.cpp | 28 | ||||
-rw-r--r-- | src/gui/itemmodels/qfilesystemmodel.h | 7 | ||||
-rw-r--r-- | src/gui/itemmodels/qfilesystemmodel_p.h | 8 |
6 files changed, 49 insertions, 63 deletions
diff --git a/src/corelib/io/qfilesystemwatcher.cpp b/src/corelib/io/qfilesystemwatcher.cpp index 9ffbe31d3d..7138f8260b 100644 --- a/src/corelib/io/qfilesystemwatcher.cpp +++ b/src/corelib/io/qfilesystemwatcher.cpp @@ -58,29 +58,29 @@ QFileSystemWatcherPrivate::QFileSystemWatcherPrivate() { } +void QFileSystemWatcherPrivate::connectEngine(QFileSystemWatcherEngine *engine) +{ + QObjectPrivate::connect(engine, &QFileSystemWatcherEngine::fileChanged, + this, &QFileSystemWatcherPrivate::fileChanged); + QObjectPrivate::connect(engine, &QFileSystemWatcherEngine::directoryChanged, + this, &QFileSystemWatcherPrivate::directoryChanged); +} + void QFileSystemWatcherPrivate::init() { Q_Q(QFileSystemWatcher); native = createNativeEngine(q); if (native) { - QObject::connect(native, - SIGNAL(fileChanged(QString,bool)), - q, - SLOT(_q_fileChanged(QString,bool))); - QObject::connect(native, - SIGNAL(directoryChanged(QString,bool)), - q, - SLOT(_q_directoryChanged(QString,bool))); + connectEngine(native); #if defined(Q_OS_WIN) - QObject::connect(static_cast<QWindowsFileSystemWatcherEngine *>(native), - &QWindowsFileSystemWatcherEngine::driveLockForRemoval, - q, [this] (const QString &p) { _q_winDriveLockForRemoval(p); }); - QObject::connect(static_cast<QWindowsFileSystemWatcherEngine *>(native), - &QWindowsFileSystemWatcherEngine::driveLockForRemovalFailed, - q, [this] (const QString &p) { _q_winDriveLockForRemovalFailed(p); }); - QObject::connect(static_cast<QWindowsFileSystemWatcherEngine *>(native), - &QWindowsFileSystemWatcherEngine::driveRemoved, - q, [this] (const QString &p) { _q_winDriveRemoved(p); }); + auto *windowsWatcher = static_cast<QWindowsFileSystemWatcherEngine *>(native); + using WinE = QWindowsFileSystemWatcherEngine; + QObjectPrivate::connect(windowsWatcher, &WinE::driveLockForRemoval, + this, &QFileSystemWatcherPrivate::winDriveLockForRemoval); + QObjectPrivate::connect(windowsWatcher, &WinE::driveLockForRemovalFailed, + this, &QFileSystemWatcherPrivate::winDriveLockForRemovalFailed); + QObjectPrivate::connect(windowsWatcher, &WinE::driveRemoved, + this, &QFileSystemWatcherPrivate::winDriveRemoved); #endif // Q_OS_WIN } } @@ -92,17 +92,10 @@ void QFileSystemWatcherPrivate::initPollerEngine() Q_Q(QFileSystemWatcher); poller = new QPollingFileSystemWatcherEngine(q); // that was a mouthful - QObject::connect(poller, - SIGNAL(fileChanged(QString,bool)), - q, - SLOT(_q_fileChanged(QString,bool))); - QObject::connect(poller, - SIGNAL(directoryChanged(QString,bool)), - q, - SLOT(_q_directoryChanged(QString,bool))); + connectEngine(poller); } -void QFileSystemWatcherPrivate::_q_fileChanged(const QString &path, bool removed) +void QFileSystemWatcherPrivate::fileChanged(const QString &path, bool removed) { Q_Q(QFileSystemWatcher); qCDebug(lcWatcher) << "file changed" << path << "removed?" << removed << "watching?" << files.contains(path); @@ -115,7 +108,7 @@ void QFileSystemWatcherPrivate::_q_fileChanged(const QString &path, bool removed emit q->fileChanged(path, QFileSystemWatcher::QPrivateSignal()); } -void QFileSystemWatcherPrivate::_q_directoryChanged(const QString &path, bool removed) +void QFileSystemWatcherPrivate::directoryChanged(const QString &path, bool removed) { Q_Q(QFileSystemWatcher); qCDebug(lcWatcher) << "directory changed" << path << "removed?" << removed << "watching?" << directories.contains(path); @@ -130,7 +123,7 @@ void QFileSystemWatcherPrivate::_q_directoryChanged(const QString &path, bool re #if defined(Q_OS_WIN) -void QFileSystemWatcherPrivate::_q_winDriveLockForRemoval(const QString &path) +void QFileSystemWatcherPrivate::winDriveLockForRemoval(const QString &path) { // Windows: Request to lock a (removable/USB) drive for removal, release // its paths under watch, temporarily storing them should the lock fail. @@ -147,7 +140,7 @@ void QFileSystemWatcherPrivate::_q_winDriveLockForRemoval(const QString &path) } } -void QFileSystemWatcherPrivate::_q_winDriveLockForRemovalFailed(const QString &path) +void QFileSystemWatcherPrivate::winDriveLockForRemovalFailed(const QString &path) { // Windows: Request to lock a (removable/USB) drive failed (blocked by other // application), restore the watched paths. @@ -161,7 +154,7 @@ void QFileSystemWatcherPrivate::_q_winDriveLockForRemovalFailed(const QString &p } } -void QFileSystemWatcherPrivate::_q_winDriveRemoved(const QString &path) +void QFileSystemWatcherPrivate::winDriveRemoved(const QString &path) { // Windows: Drive finally removed, clear out paths stored in lock request. if (!path.isEmpty()) diff --git a/src/corelib/io/qfilesystemwatcher.h b/src/corelib/io/qfilesystemwatcher.h index f5400bc9d8..668bc143b2 100644 --- a/src/corelib/io/qfilesystemwatcher.h +++ b/src/corelib/io/qfilesystemwatcher.h @@ -34,10 +34,6 @@ public: Q_SIGNALS: void fileChanged(const QString &path, QPrivateSignal); void directoryChanged(const QString &path, QPrivateSignal); - -private: - Q_PRIVATE_SLOT(d_func(), void _q_fileChanged(const QString &path, bool removed)) - Q_PRIVATE_SLOT(d_func(), void _q_directoryChanged(const QString &path, bool removed)) }; QT_END_NAMESPACE diff --git a/src/corelib/io/qfilesystemwatcher_p.h b/src/corelib/io/qfilesystemwatcher_p.h index 34fef20704..c34e3e2408 100644 --- a/src/corelib/io/qfilesystemwatcher_p.h +++ b/src/corelib/io/qfilesystemwatcher_p.h @@ -69,13 +69,15 @@ public: QStringList files, directories; // private slots - void _q_fileChanged(const QString &path, bool removed); - void _q_directoryChanged(const QString &path, bool removed); + void fileChanged(const QString &path, bool removed); + void directoryChanged(const QString &path, bool removed); + + void connectEngine(QFileSystemWatcherEngine *e); #if defined(Q_OS_WIN) - void _q_winDriveLockForRemoval(const QString &); - void _q_winDriveLockForRemovalFailed(const QString &); - void _q_winDriveRemoved(const QString &); + void winDriveLockForRemoval(const QString &); + void winDriveLockForRemovalFailed(const QString &); + void winDriveRemoved(const QString &); private: QHash<QChar, QStringList> temporarilyRemovedPaths; diff --git a/src/gui/itemmodels/qfilesystemmodel.cpp b/src/gui/itemmodels/qfilesystemmodel.cpp index 482b8537d5..6924165732 100644 --- a/src/gui/itemmodels/qfilesystemmodel.cpp +++ b/src/gui/itemmodels/qfilesystemmodel.cpp @@ -997,7 +997,7 @@ Qt::ItemFlags QFileSystemModel::flags(const QModelIndex &index) const /*! \internal */ -void QFileSystemModelPrivate::_q_performDelayedSort() +void QFileSystemModelPrivate::performDelayedSort() { Q_Q(QFileSystemModel); q->sort(sortColumn, sortOrder); @@ -1764,7 +1764,7 @@ bool QFileSystemModel::rmdir(const QModelIndex &aindex) Performed quick listing and see if any files have been added or removed, then fetch more information on visible files. */ -void QFileSystemModelPrivate::_q_directoryChanged(const QString &directory, const QStringList &files) +void QFileSystemModelPrivate::directoryChanged(const QString &directory, const QStringList &files) { QFileSystemModelPrivate::QFileSystemNode *parentNode = node(directory, false); if (parentNode->children.size() == 0) @@ -1912,7 +1912,7 @@ void QFileSystemModelPrivate::removeVisibleFile(QFileSystemNode *parentNode, int The thread has received new information about files, update and emit dataChanged if it has actually changed. */ -void QFileSystemModelPrivate::_q_fileSystemChanged(const QString &path, +void QFileSystemModelPrivate::fileSystemChanged(const QString &path, const QList<std::pair<QString, QFileInfo>> &updates) { #if QT_CONFIG(filesystemwatcher) @@ -2023,7 +2023,7 @@ void QFileSystemModelPrivate::_q_fileSystemChanged(const QString &path, /*! \internal */ -void QFileSystemModelPrivate::_q_resolvedName(const QString &fileName, const QString &resolvedName) +void QFileSystemModelPrivate::resolvedName(const QString &fileName, const QString &resolvedName) { resolvedSymLinks[fileName] = resolvedName; } @@ -2102,16 +2102,18 @@ void QFileSystemModelPrivate::init() qRegisterMetaType<QList<std::pair<QString, QFileInfo>>>(); #if QT_CONFIG(filesystemwatcher) - q->connect(fileInfoGatherer.get(), SIGNAL(newListOfFiles(QString,QStringList)), - q, SLOT(_q_directoryChanged(QString,QStringList))); - q->connect(fileInfoGatherer.get(), SIGNAL(updates(QString,QList<std::pair<QString,QFileInfo>>)), q, - SLOT(_q_fileSystemChanged(QString,QList<std::pair<QString,QFileInfo>>))); - q->connect(fileInfoGatherer.get(), SIGNAL(nameResolved(QString,QString)), - q, SLOT(_q_resolvedName(QString,QString))); - q->connect(fileInfoGatherer.get(), SIGNAL(directoryLoaded(QString)), - q, SIGNAL(directoryLoaded(QString))); + QObjectPrivate::connect(fileInfoGatherer.get(), &QFileInfoGatherer::newListOfFiles, + this, &QFileSystemModelPrivate::directoryChanged); + QObjectPrivate::connect(fileInfoGatherer.get(), &QFileInfoGatherer::updates, + this, &QFileSystemModelPrivate::fileSystemChanged); + QObjectPrivate::connect(fileInfoGatherer.get(), &QFileInfoGatherer::nameResolved, + this, &QFileSystemModelPrivate::resolvedName); + q->connect(fileInfoGatherer.get(), &QFileInfoGatherer::directoryLoaded, + q, &QFileSystemModel::directoryLoaded); #endif // filesystemwatcher - q->connect(&delayedSortTimer, SIGNAL(timeout()), q, SLOT(_q_performDelayedSort()), Qt::QueuedConnection); + QObjectPrivate::connect(&delayedSortTimer, &QTimer::timeout, + this, &QFileSystemModelPrivate::performDelayedSort, + Qt::QueuedConnection); } /*! diff --git a/src/gui/itemmodels/qfilesystemmodel.h b/src/gui/itemmodels/qfilesystemmodel.h index 01eb233cdd..70e5cc2024 100644 --- a/src/gui/itemmodels/qfilesystemmodel.h +++ b/src/gui/itemmodels/qfilesystemmodel.h @@ -134,13 +134,6 @@ private: Q_DECLARE_PRIVATE(QFileSystemModel) Q_DISABLE_COPY(QFileSystemModel) - Q_PRIVATE_SLOT(d_func(), void _q_directoryChanged(const QString &directory, const QStringList &list)) - Q_PRIVATE_SLOT(d_func(), void _q_performDelayedSort()) - Q_PRIVATE_SLOT(d_func(), - void _q_fileSystemChanged(const QString &path, - const QList<std::pair<QString, QFileInfo>> &)) - Q_PRIVATE_SLOT(d_func(), void _q_resolvedName(const QString &fileName, const QString &resolvedName)) - friend class QFileDialogPrivate; }; diff --git a/src/gui/itemmodels/qfilesystemmodel_p.h b/src/gui/itemmodels/qfilesystemmodel_p.h index 784c135357..7c9e41622e 100644 --- a/src/gui/itemmodels/qfilesystemmodel_p.h +++ b/src/gui/itemmodels/qfilesystemmodel_p.h @@ -250,10 +250,10 @@ public: QString type(const QModelIndex &index) const; QString time(const QModelIndex &index) const; - void _q_directoryChanged(const QString &directory, const QStringList &list); - void _q_performDelayedSort(); - void _q_fileSystemChanged(const QString &path, const QList<std::pair<QString, QFileInfo>> &); - void _q_resolvedName(const QString &fileName, const QString &resolvedName); + void directoryChanged(const QString &directory, const QStringList &list); + void performDelayedSort(); + void fileSystemChanged(const QString &path, const QList<std::pair<QString, QFileInfo>> &); + void resolvedName(const QString &fileName, const QString &resolvedName); QDir rootDir; #if QT_CONFIG(filesystemwatcher) |