Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-04 09:23:25

0001 // Copyright (C) 2020 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
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 // QABSTRACTFILEICONPROVIDER_H