1 /*
2  * DQt - D bindings for the Qt Toolkit
3  *
4  * GNU Lesser General Public License Usage
5  * This file may be used under the terms of the GNU Lesser
6  * General Public License version 3 as published by the Free Software
7  * Foundation and appearing in the file LICENSE.LGPL3 included in the
8  * packaging of this file. Please review the following information to
9  * ensure the GNU Lesser General Public License version 3 requirements
10  * will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
11  */
12 module qt.gui.abstractfileiconprovider;
13 extern(C++):
14 
15 import qt.config;
16 import qt.core.fileinfo;
17 import qt.core.flags;
18 import qt.core.scopedpointer;
19 import qt.core.string;
20 import qt.gui.icon;
21 import qt.helpers;
22 
23 extern(C++, class) struct QAbstractFileIconProviderPrivate;
24 
25 /// Binding for C++ class [QAbstractFileIconProvider](https://doc.qt.io/qt-6/qabstractfileiconprovider.html).
26 class /+ Q_GUI_EXPORT +/ QAbstractFileIconProvider
27 {
28 public:
29     enum IconType { Computer, Desktop, Trashcan, Network, Drive, Folder, File }
30     enum Option {
31         DontUseCustomDirectoryIcons = 0x00000001
32     }
33     /+ Q_DECLARE_FLAGS(Options, Option) +/
34 alias Options = QFlags!(Option);
35     this();
36     /+ virtual +/~this();
37 
38     /+ virtual +/ QIcon icon(IconType) const;
39     /+ virtual +/ QIcon icon(ref const(QFileInfo) ) const;
40     /+ virtual +/ QString type(ref const(QFileInfo) ) const;
41 
42     /+ virtual +/ void setOptions(Options);
43     /+ virtual +/ Options options() const;
44 
45 protected:
46     this(ref QAbstractFileIconProviderPrivate dd);
47     QScopedPointer!(QAbstractFileIconProviderPrivate) d_ptr;
48 
49 private:
50     /+ Q_DECLARE_PRIVATE(QAbstractFileIconProvider) +/
51     /+ Q_DISABLE_COPY(QAbstractFileIconProvider) +/
52     mixin(CREATE_CONVENIENCE_WRAPPERS);
53 }
54 /+pragma(inline, true) QFlags!(QAbstractFileIconProvider.Options.enum_type) operator |(QAbstractFileIconProvider.Options.enum_type f1, QAbstractFileIconProvider.Options.enum_type f2)/+noexcept+/{return QFlags!(QAbstractFileIconProvider.Options.enum_type)(f1)|f2;}+/
55 /+pragma(inline, true) QFlags!(QAbstractFileIconProvider.Options.enum_type) operator |(QAbstractFileIconProvider.Options.enum_type f1, QFlags!(QAbstractFileIconProvider.Options.enum_type) f2)/+noexcept+/{return f2|f1;}+/
56 /+pragma(inline, true) QFlags!(QAbstractFileIconProvider.Options.enum_type) operator &(QAbstractFileIconProvider.Options.enum_type f1, QAbstractFileIconProvider.Options.enum_type f2)/+noexcept+/{return QFlags!(QAbstractFileIconProvider.Options.enum_type)(f1)&f2;}+/
57 /+pragma(inline, true) QFlags!(QAbstractFileIconProvider.Options.enum_type) operator &(QAbstractFileIconProvider.Options.enum_type f1, QFlags!(QAbstractFileIconProvider.Options.enum_type) f2)/+noexcept+/{return f2&f1;}+/
58 /+pragma(inline, true) void operator +(QAbstractFileIconProvider.Options.enum_type f1, QAbstractFileIconProvider.Options.enum_type f2)/+noexcept+/;+/
59 /+pragma(inline, true) void operator +(QAbstractFileIconProvider.Options.enum_type f1, QFlags!(QAbstractFileIconProvider.Options.enum_type) f2)/+noexcept+/;+/
60 /+pragma(inline, true) void operator +(int f1, QFlags!(QAbstractFileIconProvider.Options.enum_type) f2)/+noexcept+/;+/
61 /+pragma(inline, true) void operator -(QAbstractFileIconProvider.Options.enum_type f1, QAbstractFileIconProvider.Options.enum_type f2)/+noexcept+/;+/
62 /+pragma(inline, true) void operator -(QAbstractFileIconProvider.Options.enum_type f1, QFlags!(QAbstractFileIconProvider.Options.enum_type) f2)/+noexcept+/;+/
63 /+pragma(inline, true) void operator -(int f1, QFlags!(QAbstractFileIconProvider.Options.enum_type) f2)/+noexcept+/;+/
64 /+pragma(inline, true) QIncompatibleFlag operator |(QAbstractFileIconProvider.Options.enum_type f1, int f2)/+noexcept+/{return QIncompatibleFlag(int(f1)|f2);}+/
65 /+pragma(inline, true) void operator +(int f1, QAbstractFileIconProvider.Options.enum_type f2)/+noexcept+/;+/
66 /+pragma(inline, true) void operator +(QAbstractFileIconProvider.Options.enum_type f1, int f2)/+noexcept+/;+/
67 /+pragma(inline, true) void operator -(int f1, QAbstractFileIconProvider.Options.enum_type f2)/+noexcept+/;+/
68 /+pragma(inline, true) void operator -(QAbstractFileIconProvider.Options.enum_type f1, int f2)/+noexcept+/;+/
69 
70 /+ Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractFileIconProvider::Options) +/