File indexing completed on 2026-09-04 09:23:25
0001
0002
0003
0004 #ifndef QABSTRACTFILEICONPROVIDER_H
0005 #define QABSTRACTFILEICONPROVIDER_H
0006
0007 #include <QtGui/qtguiglobal.h>
0008 #include <QtCore/qfileinfo.h>
0009 #include <QtCore/qscopedpointer.h>
0010 #include <QtGui/qicon.h>
0011
0012 QT_BEGIN_NAMESPACE
0013
0014 class QAbstractFileIconProviderPrivate;
0015
0016 class Q_GUI_EXPORT QAbstractFileIconProvider
0017 {
0018 Q_GADGET
0019 public:
0020 enum IconType { Computer, Desktop, Trashcan, Network, Drive, Folder, File };
0021 Q_ENUM(IconType)
0022 enum Option {
0023 DontUseCustomDirectoryIcons = 0x00000001
0024 };
0025 Q_DECLARE_FLAGS(Options, Option)
0026
0027 QAbstractFileIconProvider();
0028 virtual ~QAbstractFileIconProvider();
0029
0030 virtual QIcon icon(IconType) const;
0031 virtual QIcon icon(const QFileInfo &) const;
0032 virtual QString type(const QFileInfo &) const;
0033
0034 virtual void setOptions(Options);
0035 virtual Options options() const;
0036
0037 protected:
0038 QAbstractFileIconProvider(QAbstractFileIconProviderPrivate &dd);
0039 QScopedPointer<QAbstractFileIconProviderPrivate> d_ptr;
0040
0041 private:
0042 Q_DECLARE_PRIVATE(QAbstractFileIconProvider)
0043 Q_DISABLE_COPY(QAbstractFileIconProvider)
0044 };
0045
0046 Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractFileIconProvider::Options)
0047
0048 QT_END_NAMESPACE
0049
0050 #endif