34 #include <QStringList> 40 class QAbstractItemModel;
41 class QStandardItemModel;
42 class QSortFilterProxyModel;
43 class QFileSystemWatcher;
96 QStringList LocalPrefixesChain_;
97 QStringList GlobalPrefixesChain_;
98 QString RelativePath_;
100 QHash<QString, QStringList> Entry2Paths_;
102 QStandardItemModel *SubElemModel_;
103 QStringList NameFilters_;
104 QDir::Filters AttrFilters_;
105 QSortFilterProxyModel *SortModel_;
107 QFileSystemWatcher *Watcher_;
109 QTimer *CacheFlushTimer_;
110 mutable QCache<QString, QByteArray> CachePathContents_;
111 mutable QCache<QString, QPixmap> CachePixmaps_;
129 void AddGlobalPrefix ();
137 void AddLocalPrefix (QString prefix = QString ());
152 void SetCacheParams (
int size,
int timeout);
178 QFileInfoList List (
const QString& option,
179 const QStringList& names = {},
180 QDir::Filters filters = QDir::NoFilter)
const;
206 QString GetPath (
const QStringList& pathVariants)
const;
225 QString GetIconPath (
const QString& basename)
const;
238 QIODevice_ptr Load (
const QStringList& pathVariants,
bool open =
false)
const;
253 QIODevice_ptr Load (
const QString& pathVariant,
bool open =
false)
const;
268 QIODevice_ptr GetIconDevice (
const QString& basename,
bool open =
false)
const;
286 QPixmap LoadPixmap (
const QString& basename)
const;
305 QAbstractItemModel* GetSubElemModel ()
const;
322 void SetAttrFilters (QDir::Filters);
339 void SetNameFilters (
const QStringList&);
341 void ScanPath (
const QString&);
343 void handleDirectoryChanged (
const QString&);
344 void handleFlushCaches ();
346 void watchedDirectoriesChanged ();
Utility class for loading a file from a set of locations.
std::shared_ptr< QIODevice > QIODevice_ptr