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
4#ifndef QABSTRACTFILEICONPROVIDER_H
5#define QABSTRACTFILEICONPROVIDER_H
6
7#include <QtGui/qtguiglobal.h>
8#include <QtCore/qfileinfo.h>
9#include <QtCore/qscopedpointer.h>
10#include <QtGui/qicon.h>
11
12QT_BEGIN_NAMESPACE
13
14class QAbstractFileIconProviderPrivate;
15
16class Q_GUI_EXPORT QAbstractFileIconProvider
17{
18 Q_GADGET
19public:
20 enum IconType { Computer, Desktop, Trashcan, Network, Drive, Folder, File };
21 Q_ENUM(IconType)
22 enum Option {
23 DontUseCustomDirectoryIcons = 0x00000001
24 };
25 Q_DECLARE_FLAGS(Options, Option)
26
27 QAbstractFileIconProvider();
28 virtual ~QAbstractFileIconProvider();
29
30 virtual QIcon icon(IconType) const;
31 virtual QIcon icon(const QFileInfo &) const;
32 virtual QString type(const QFileInfo &) const;
33
34 virtual void setOptions(Options);
35 virtual Options options() const;
36
37protected:
38 QAbstractFileIconProvider(QAbstractFileIconProviderPrivate &dd);
39 QScopedPointer<QAbstractFileIconProviderPrivate> d_ptr;
40
41private:
42 Q_DECLARE_PRIVATE(QAbstractFileIconProvider)
43 Q_DISABLE_COPY(QAbstractFileIconProvider)
44};
45
46Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractFileIconProvider::Options)
47
48QT_END_NAMESPACE
49
50#endif // QABSTRACTFILEICONPROVIDER_H
static QPlatformTheme::IconOptions toThemeIconOptions(QAbstractFileIconProvider::Options options)
Q_GLOBAL_STATIC(QReadWriteLock, g_updateMutex)