Albert
Loading...
Searching...
No Matches
iconutil.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 Manuel Schneider
2// SPDX-License-Identifier: MIT
3
4#pragma once
5#include <albert/export.h>
6#include <albert/icon.h>
7#include <filesystem>
8#include <QString>
9class QIcon;
10class QBrush;
11
12namespace albert
13{
14
17
21ALBERT_EXPORT QIcon qIcon(std::unique_ptr<albert::Icon> icon);
22
28ALBERT_EXPORT std::unique_ptr<Icon> iconFromUrl(const QString &url);
29
35ALBERT_EXPORT std::unique_ptr<Icon> iconFromUrls(const QStringList &urls);
36
37
38// ---------------------------------------------------------------------------------------------------------------------
39
42
46ALBERT_EXPORT std::unique_ptr<Icon> makeImageIcon(const QString &path);
47
51ALBERT_EXPORT std::unique_ptr<Icon> makeImageIcon(const std::filesystem::path &path);
52
54
55// ---------------------------------------------------------------------------------------------------------------------
56
59
63ALBERT_EXPORT std::unique_ptr<Icon> makeFileTypeIcon(const QString &path);
64
68ALBERT_EXPORT std::unique_ptr<Icon> makeFileTypeIcon(const std::filesystem::path &path);
69
71
72// ---------------------------------------------------------------------------------------------------------------------
73
76
83{
97 TrashIcon = 14,
107 DirIcon = 38,
110 FileIcon = 25,
135 ArrowUp = 50,
163};
164
165
169ALBERT_EXPORT std::unique_ptr<Icon> makeStandardIcon(StandardIconType type);
170
172
173// ---------------------------------------------------------------------------------------------------------------------
174
177
181ALBERT_EXPORT std::unique_ptr<Icon> makeThemeIcon(const QString &icon_name);
182
184
185// ---------------------------------------------------------------------------------------------------------------------
186
189
193ALBERT_EXPORT const QBrush &graphemeIconDefaultColor();
194
198ALBERT_EXPORT double graphemeIconDefaultScalar();
199
203ALBERT_EXPORT std::unique_ptr<Icon> makeGraphemeIcon(const QString &grapheme,
204 double scalar = graphemeIconDefaultScalar(),
205 const QBrush &color = graphemeIconDefaultColor());
206
208
209// ---------------------------------------------------------------------------------------------------------------------
210
213
217ALBERT_EXPORT const QBrush &rectIconDefaultColor();
218
222ALBERT_EXPORT const QBrush &rectIconDefaultBorderColor();
223
227ALBERT_EXPORT double rectIconDefaultRadius();
228
232ALBERT_EXPORT int rectIconDefaultBorderWidth();
233
237ALBERT_EXPORT std::unique_ptr<Icon> makeRectIcon(const QBrush &color = rectIconDefaultColor(),
238 double radius = rectIconDefaultRadius(),
239 int border_width = rectIconDefaultBorderWidth(),
240 const QBrush &border_color = rectIconDefaultBorderColor());
241
243
244// ---------------------------------------------------------------------------------------------------------------------
245
248
252ALBERT_EXPORT const QBrush &iconifiedIconDefaultColor();
253
257ALBERT_EXPORT double iconifiedIconDefaultBorderRadius();
258
263
267ALBERT_EXPORT const QBrush &iconifiedIconDefaultBorderColor();
268
269
276ALBERT_EXPORT std::unique_ptr<Icon> makeIconifiedIcon(std::unique_ptr<Icon> src,
277 const QBrush &color = iconifiedIconDefaultColor(),
278 double border_radius = iconifiedIconDefaultBorderRadius(),
279 int border_width = iconifiedIconDefaultBorderWidth(),
280 const QBrush &border_color = iconifiedIconDefaultBorderColor());
281
283
284// ---------------------------------------------------------------------------------------------------------------------
285
288
292ALBERT_EXPORT double composedIconDefaultSize();
293
297ALBERT_EXPORT double composedIconDefaultPos1();
298
302ALBERT_EXPORT double composedIconDefaultPos2();
303
310ALBERT_EXPORT std::unique_ptr<Icon> makeComposedIcon(std::unique_ptr<Icon> src1,
311 std::unique_ptr<Icon> src2,
312 double size1 = composedIconDefaultSize(),
313 double size2 = composedIconDefaultSize(),
314 double x1 = composedIconDefaultPos1(),
315 double y1 = composedIconDefaultPos1(),
316 double x2 = composedIconDefaultPos2(),
317 double y2 = composedIconDefaultPos2());
318
320
322
323} // namespace albert
324
325
std::unique_ptr< Icon > makeComposedIcon(std::unique_ptr< Icon > src1, std::unique_ptr< Icon > src2, double size1=composedIconDefaultSize(), double size2=composedIconDefaultSize(), double x1=composedIconDefaultPos1(), double y1=composedIconDefaultPos1(), double x2=composedIconDefaultPos2(), double y2=composedIconDefaultPos2())
Returns a composed icon of src1 and src2.
std::unique_ptr< Icon > makeRectIcon(const QBrush &color=rectIconDefaultColor(), double radius=rectIconDefaultRadius(), int border_width=rectIconDefaultBorderWidth(), const QBrush &border_color=rectIconDefaultBorderColor())
Returns a simple rectangular icon with the given color, radius, border_width and border_color.
std::unique_ptr< Icon > makeIconifiedIcon(std::unique_ptr< Icon > src, const QBrush &color=iconifiedIconDefaultColor(), double border_radius=iconifiedIconDefaultBorderRadius(), int border_width=iconifiedIconDefaultBorderWidth(), const QBrush &border_color=iconifiedIconDefaultBorderColor())
Returns an iconified src.
std::unique_ptr< Icon > makeFileTypeIcon(const QString &path)
Returns an icon representing the file type of the file at path.
const QBrush & iconifiedIconDefaultColor()
Returns the default background color (a top down gradient from white to some darker white).
std::unique_ptr< Icon > makeThemeIcon(const QString &icon_name)
Returns an icon from the current icon theme with the given icon_name.
double rectIconDefaultRadius()
Returns the default border radius (1.0).
const QBrush & graphemeIconDefaultColor()
Returns the default color (black).
const QBrush & rectIconDefaultBorderColor()
Returns the default border color (black).
std::unique_ptr< Icon > makeStandardIcon(StandardIconType type)
Returns a standard icon for the given type.
int rectIconDefaultBorderWidth()
Returns the default border width (0).
StandardIconType
This enum describes the available standard icons.
Definition iconutil.h:83
double composedIconDefaultSize()
Returns the default relative size 0.7.
std::unique_ptr< Icon > makeImageIcon(const QString &path)
Returns an icon from an image file at path.
double iconifiedIconDefaultBorderRadius()
Returns the default relative radius 1.0.
std::unique_ptr< Icon > makeGraphemeIcon(const QString &grapheme, double scalar=graphemeIconDefaultScalar(), const QBrush &color=graphemeIconDefaultColor())
Returns an icon rendering the given grapheme, scaled by scalar and colored with color.
double composedIconDefaultPos1()
Returns the default relative position 0.0 of the first item.
const QBrush & iconifiedIconDefaultBorderColor()
Returns the default border color (a gradient slightly darker than the default background).
std::unique_ptr< Icon > iconFromUrls(const QStringList &urls)
Returns a built-in icon for the given urls.
int iconifiedIconDefaultBorderWidth()
Returns the default border width (1).
std::unique_ptr< Icon > iconFromUrl(const QString &url)
Returns a built-in icon for the given url.
QIcon qIcon(std::unique_ptr< albert::Icon > icon)
Returns a QIcon using icon as icon engine.
const QBrush & rectIconDefaultColor()
Returns the default color (black).
double composedIconDefaultPos2()
Returns the default relative position 1.0 of the second item.
double graphemeIconDefaultScalar()
Returns the default scaling factor (1.0).
@ TitleBarContextHelpButton
The Context help button on title bars.
Definition iconutil.h:91
@ ComputerIcon
The "My computer" icon.
Definition iconutil.h:98
@ TitleBarCloseButton
Close button on title bars.
Definition iconutil.h:87
@ BrowserReload
Icon indicating that the current page should be reloaded.
Definition iconutil.h:143
@ DialogApplyButton
Icon for a standard Apply button in a QDialogButtonBox.
Definition iconutil.h:130
@ DialogYesButton
Icon for a standard Yes button in a QDialogButtonBox.
Definition iconutil.h:133
@ DirOpenIcon
The open directory icon.
Definition iconutil.h:105
@ DialogNoToAllButton
Icon for a standard NoToAll button in a QDialogButtonBox.
Definition iconutil.h:156
@ TrashIcon
The "trash" icon.
Definition iconutil.h:97
@ ToolBarHorizontalExtensionButton
Extension button for horizontal toolbars.
Definition iconutil.h:122
@ FileDialogBack
The back arrow in a file dialog.
Definition iconutil.h:120
@ TitleBarShadeButton
Shade button on title bars.
Definition iconutil.h:89
@ MessageBoxInformation
The "information" icon.
Definition iconutil.h:92
@ FileDialogStart
The "start" icon in a file dialog.
Definition iconutil.h:112
@ DriveHDIcon
The harddrive icon.
Definition iconutil.h:100
@ DesktopIcon
The "desktop" icon.
Definition iconutil.h:96
@ ArrowUp
Icon arrow pointing up.
Definition iconutil.h:135
@ ArrowBack
Equivalent to SP_ArrowLeft when the current layout direction is Qt::LeftToRight, otherwise SP_ArrowRi...
Definition iconutil.h:139
@ DialogNoButton
Icon for a standard No button in a QDialogButtonBox.
Definition iconutil.h:134
@ DialogSaveAllButton
Icon for a standard SaveAll button in a QDialogButtonBox.
Definition iconutil.h:157
@ ArrowDown
Icon arrow pointing down.
Definition iconutil.h:136
@ FileIcon
The file icon.
Definition iconutil.h:110
@ DialogOpenButton
Icon for a standard Open button in a QDialogButtonBox.
Definition iconutil.h:127
@ FileDialogEnd
The "end" icon in a file dialog.
Definition iconutil.h:113
@ MediaVolumeMuted
Icon indicating a muted volume control.
Definition iconutil.h:153
@ FileDialogNewFolder
The "create new folder" icon in a file dialog.
Definition iconutil.h:115
@ DialogAbortButton
Icon for a standard Abort button in a QDialogButtonBox.
Definition iconutil.h:158
@ MediaSkipForward
Icon indicating that media should skip forward.
Definition iconutil.h:148
@ FileDialogDetailedView
The detailed view icon in a file dialog.
Definition iconutil.h:116
@ ToolBarVerticalExtensionButton
Extension button for vertical toolbars.
Definition iconutil.h:123
@ DialogYesToAllButton
Icon for a standard YesToAll button in a QDialogButtonBox.
Definition iconutil.h:155
@ DirLinkOpenIcon
The link to open directory icon.
Definition iconutil.h:109
@ DriveFDIcon
The floppy icon.
Definition iconutil.h:99
@ DialogHelpButton
Icon for a standard Help button in a QDialogButtonBox.
Definition iconutil.h:126
@ DialogRetryButton
Icon for a standard Retry button in a QDialogButtonBox.
Definition iconutil.h:159
@ MediaSeekBackward
Icon indicating that media should seek backward.
Definition iconutil.h:151
@ TitleBarMinButton
Menu button on a title bar.
Definition iconutil.h:84
@ DirLinkIcon
The link to directory icon.
Definition iconutil.h:108
@ DirClosedIcon
The closed directory icon.
Definition iconutil.h:106
@ DialogSaveButton
Icon for a standard Save button in a QDialogButtonBox.
Definition iconutil.h:128
@ MediaPlay
Icon indicating that media should begin playback.
Definition iconutil.h:145
@ DirHomeIcon
The home directory icon.
Definition iconutil.h:104
@ DriveCDIcon
The CD icon.
Definition iconutil.h:101
@ ArrowRight
Icon arrow pointing right.
Definition iconutil.h:138
@ MediaSkipBackward
Icon indicating that media should skip backward.
Definition iconutil.h:149
@ MessageBoxQuestion
The "question" icon.
Definition iconutil.h:95
@ FileDialogListView
The list view icon in a file dialog.
Definition iconutil.h:119
@ DialogResetButton
Icon for a standard Reset button in a QDialogButtonBox.
Definition iconutil.h:131
@ FileDialogInfoView
The file info icon in a file dialog.
Definition iconutil.h:117
@ FileDialogToParent
The "parent directory" icon in a file dialog.
Definition iconutil.h:114
@ MediaVolume
Icon indicating a volume control.
Definition iconutil.h:152
@ ArrowForward
Equivalent to SP_ArrowRight when the current layout direction is Qt::LeftToRight, otherwise SP_ArrowL...
Definition iconutil.h:140
@ DialogOkButton
Icon for a standard OK button in a QDialogButtonBox.
Definition iconutil.h:124
@ DialogCloseButton
Icon for a standard Close button in a QDialogButtonBox.
Definition iconutil.h:129
@ TitleBarNormalButton
Normal (restore) button on title bars.
Definition iconutil.h:88
@ TitleBarUnshadeButton
Unshade button on title bars.
Definition iconutil.h:90
@ DialogIgnoreButton
Icon for a standard Ignore button in a QDialogButtonBox.
Definition iconutil.h:160
@ DockWidgetCloseButton
Close button on dock windows (see also QDockWidget).
Definition iconutil.h:121
@ CommandLink
Icon used to indicate a Vista style command link glyph.
Definition iconutil.h:141
@ TitleBarMenuButton
Minimize button on title bars (e.g., in QMdiSubWindow).
Definition iconutil.h:85
@ MessageBoxCritical
The "critical" icon.
Definition iconutil.h:94
@ TabCloseButton
Icon for the close button in the tab of a QTabBar.
Definition iconutil.h:162
@ LineEditClearButton
Icon for a standard clear button in a QLineEdit.
Definition iconutil.h:154
@ DriveDVDIcon
The DVD icon.
Definition iconutil.h:102
@ RestoreDefaultsButton
Icon for a standard RestoreDefaults button in a QDialogButtonBox.
Definition iconutil.h:161
@ DialogCancelButton
Icon for a standard Cancel button in a QDialogButtonBox.
Definition iconutil.h:125
@ MessageBoxWarning
The "warning" icon.
Definition iconutil.h:93
@ BrowserStop
Icon indicating that the page loading should stop.
Definition iconutil.h:144
@ VistaShield
Icon used to indicate UAC prompts on Windows Vista. This will return a null pixmap or icon on all oth...
Definition iconutil.h:142
@ DialogDiscardButton
Icon for a standard Discard button in a QDialogButtonBox.
Definition iconutil.h:132
@ MediaPause
Icon indicating that media should pause playback.
Definition iconutil.h:147
@ MediaStop
Icon indicating that media should stop playback.
Definition iconutil.h:146
@ ArrowLeft
Icon arrow pointing left.
Definition iconutil.h:137
@ MediaSeekForward
Icon indicating that media should seek forward.
Definition iconutil.h:150
@ FileLinkIcon
The link to file icon.
Definition iconutil.h:111
@ DirIcon
The directory icon.
Definition iconutil.h:107
@ DriveNetIcon
The network icon.
Definition iconutil.h:103
@ TitleBarMaxButton
Maximize button on title bars.
Definition iconutil.h:86
@ FileDialogContentsView
The contents view icon in a file dialog.
Definition iconutil.h:118
Definition app.h:58