Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qabstractfileiconprovider.h
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QABSTRACTFILEICONPROVIDER_H
6#define QABSTRACTFILEICONPROVIDER_H
7
8#include <QtGui/qtguiglobal.h>
9#include <QtCore/qfileinfo.h>
10#include <QtCore/qscopedpointer.h>
11#include <QtGui/qicon.h>
12
13QT_BEGIN_NAMESPACE
14
15class QAbstractFileIconProviderPrivate;
16
17class Q_GUI_EXPORT QAbstractFileIconProvider
18{
19 Q_GADGET
20public:
21 enum IconType { Computer, Desktop, Trashcan, Network, Drive, Folder, File };
22 Q_ENUM(IconType)
23 enum Option {
24 DontUseCustomDirectoryIcons = 0x00000001
25 };
26 Q_DECLARE_FLAGS(Options, Option)
27
28 QAbstractFileIconProvider();
29 virtual ~QAbstractFileIconProvider();
30
31 virtual QIcon icon(IconType) const;
32 virtual QIcon icon(const QFileInfo &) const;
33 virtual QString type(const QFileInfo &) const;
34
35 virtual void setOptions(Options);
36 virtual Options options() const;
37
38protected:
39 QAbstractFileIconProvider(QAbstractFileIconProviderPrivate &dd);
40 QScopedPointer<QAbstractFileIconProviderPrivate> d_ptr;
41
42private:
43 Q_DECLARE_PRIVATE(QAbstractFileIconProvider)
44 Q_DISABLE_COPY(QAbstractFileIconProvider)
45};
46
47Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractFileIconProvider::Options)
48
49QT_END_NAMESPACE
50
51#endif // QABSTRACTFILEICONPROVIDER_H
Combined button and popup list for selecting options.
static QPlatformTheme::IconOptions toThemeIconOptions(QAbstractFileIconProvider::Options options)
Q_GLOBAL_STATIC(QReadWriteLock, g_updateMutex)