FileInfo RemoteFileInfoGatherer::getInfo(const QString &path) { QFileInfo finfo(path); FileInfo info = toFileInfo(finfo); #if 0 info.icon = m_iconProvider->icon(path); info.displayType = m_iconProvider->type(path); #endif #ifndef QT_NO_FILESYSTEMWATCHER // ### Not ready to listen all modifications by default static const bool watchFiles = qEnvironmentVariableIsSet("QT_FILESYSTEMMODEL_WATCH_FILES"); if (watchFiles) { if (!finfo.exists() && !finfo.isSymLink()) { watcher->removePath(finfo.absoluteFilePath()); } else { const QString path = finfo.absoluteFilePath(); if (!path.isEmpty() && finfo.exists() && finfo.isFile() && finfo.isReadable() && !watcher->files().contains(path)) { watcher->addPath(path); } } } #endif #ifdef Q_OS_WIN if (m_resolveSymlinks && info.isSymLink(/* ignoreNtfsSymLinks = */ true)) { QFileInfo resolvedInfo(finfo.symLinkTarget()); resolvedInfo = resolvedInfo.canonicalFilePath(); if (resolvedInfo.exists()) { emit nameResolved(finfo.filePath(), resolvedInfo.fileName()); } } #endif return info; }
int QFileInfoGatherer::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QThread::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: updates((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QList<QPair<QString,QFileInfo> >(*)>(_a[2]))); break; case 1: newListOfFiles((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QStringList(*)>(_a[2]))); break; case 2: nameResolved((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 3: list((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 4: fetchExtendedInformation((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QStringList(*)>(_a[2]))); break; case 5: updateFile((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 6: setResolveSymlinks((*reinterpret_cast< bool(*)>(_a[1]))); break; case 7: { bool _r = resolveSymlinks(); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 8: setIconProvider((*reinterpret_cast< QFileIconProvider*(*)>(_a[1]))); break; case 9: { QFileIconProvider* _r = iconProvider(); if (_a[0]) *reinterpret_cast< QFileIconProvider**>(_a[0]) = _r; } break; } _id -= 10; } return _id; }