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
19ALBERT_EXPORT QIcon qIcon(std::unique_ptr<albert::Icon> icon);
20
23ALBERT_EXPORT std::unique_ptr<Icon> iconFromUrl(const QString &url);
24
27ALBERT_EXPORT std::unique_ptr<Icon> iconFromUrls(const QStringList &urls);
28
29
30// ---------------------------------------------------------------------------------------------------------------------
31
33ALBERT_EXPORT std::unique_ptr<Icon> makeImageIcon(const QString &path);
34
36ALBERT_EXPORT std::unique_ptr<Icon> makeImageIcon(const std::filesystem::path &path);
37
38
39// ---------------------------------------------------------------------------------------------------------------------
40
42ALBERT_EXPORT std::unique_ptr<Icon> makeFileTypeIcon(const QString &path);
43
45ALBERT_EXPORT std::unique_ptr<Icon> makeFileTypeIcon(const std::filesystem::path &path);
46
47
48// ---------------------------------------------------------------------------------------------------------------------
49
53{
134
136ALBERT_EXPORT std::unique_ptr<Icon> makeStandardIcon(StandardIconType type);
137
138
139// ---------------------------------------------------------------------------------------------------------------------
140
142ALBERT_EXPORT std::unique_ptr<Icon> makeThemeIcon(const QString &icon_name);
143
144
145// ---------------------------------------------------------------------------------------------------------------------
146
148ALBERT_EXPORT const QBrush &graphemeIconDefaultColor();
149
151ALBERT_EXPORT double graphemeIconDefaultScalar();
152
154ALBERT_EXPORT std::unique_ptr<Icon> makeGraphemeIcon(const QString &grapheme,
155 double scalar = graphemeIconDefaultScalar(),
156 const QBrush &color = graphemeIconDefaultColor());
157
158
159// ---------------------------------------------------------------------------------------------------------------------
160
162ALBERT_EXPORT const QBrush &rectIconDefaultColor();
163
165ALBERT_EXPORT const QBrush &rectIconDefaultBorderColor();
166
168ALBERT_EXPORT double rectIconDefaultRadius();
169
171ALBERT_EXPORT int rectIconDefaultBorderWidth();
172
174ALBERT_EXPORT std::unique_ptr<Icon> makeRectIcon(const QBrush &color = rectIconDefaultColor(),
175 double radius = rectIconDefaultRadius(),
176 int border_width = rectIconDefaultBorderWidth(),
177 const QBrush &border_color = rectIconDefaultBorderColor());
178
179
180// ---------------------------------------------------------------------------------------------------------------------
181
183ALBERT_EXPORT const QBrush &iconifiedIconDefaultColor();
184
186ALBERT_EXPORT double iconifiedIconDefaultBorderRadius();
187
190
192ALBERT_EXPORT const QBrush &iconifiedIconDefaultBorderColor();
193
194
198ALBERT_EXPORT std::unique_ptr<Icon> makeIconifiedIcon(std::unique_ptr<Icon> src,
199 const QBrush &color = iconifiedIconDefaultColor(),
200 double border_radius = iconifiedIconDefaultBorderRadius(),
201 int border_width = iconifiedIconDefaultBorderWidth(),
202 const QBrush &border_color = iconifiedIconDefaultBorderColor());
203
204
205// ---------------------------------------------------------------------------------------------------------------------
206
208ALBERT_EXPORT double composedIconDefaultSize();
209
211ALBERT_EXPORT double composedIconDefaultPos1();
212
214ALBERT_EXPORT double composedIconDefaultPos2();
215
219ALBERT_EXPORT std::unique_ptr<Icon> makeComposedIcon(std::unique_ptr<Icon> src1,
220 std::unique_ptr<Icon> src2,
221 double size1 = composedIconDefaultSize(),
222 double size2 = composedIconDefaultSize(),
223 double x1 = composedIconDefaultPos1(),
224 double y1 = composedIconDefaultPos1(),
225 double x2 = composedIconDefaultPos2(),
226 double y2 = composedIconDefaultPos2());
228
229} // namespace albert
230
231
Albert core interface namespace.
Definition albert.h:14
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:53
@ TitleBarContextHelpButton
Definition iconutil.h:61
@ ComputerIcon
Definition iconutil.h:69
@ TitleBarCloseButton
Definition iconutil.h:57
@ BrowserReload
Definition iconutil.h:113
@ DialogApplyButton
Definition iconutil.h:99
@ DialogYesButton
Definition iconutil.h:102
@ DirOpenIcon
Definition iconutil.h:75
@ DialogNoToAllButton
Definition iconutil.h:126
@ TrashIcon
Definition iconutil.h:68
@ ToolBarHorizontalExtensionButton
Definition iconutil.h:81
@ FileDialogBack
Definition iconutil.h:91
@ TitleBarShadeButton
Definition iconutil.h:59
@ MessageBoxInformation
Definition iconutil.h:63
@ FileDialogStart
Definition iconutil.h:83
@ DriveHDIcon
Definition iconutil.h:71
@ DesktopIcon
Definition iconutil.h:67
@ ArrowUp
Definition iconutil.h:104
@ ArrowBack
Definition iconutil.h:108
@ DialogNoButton
Definition iconutil.h:103
@ DialogSaveAllButton
Definition iconutil.h:127
@ ArrowDown
Definition iconutil.h:105
@ FileIcon
Definition iconutil.h:79
@ DialogOpenButton
Definition iconutil.h:96
@ FileDialogEnd
Definition iconutil.h:84
@ MediaVolumeMuted
Definition iconutil.h:123
@ FileDialogNewFolder
Definition iconutil.h:86
@ DialogAbortButton
Definition iconutil.h:128
@ MediaSkipForward
Definition iconutil.h:118
@ FileDialogDetailedView
Definition iconutil.h:87
@ ToolBarVerticalExtensionButton
Definition iconutil.h:82
@ DialogYesToAllButton
Definition iconutil.h:125
@ DirLinkOpenIcon
Definition iconutil.h:78
@ DriveFDIcon
Definition iconutil.h:70
@ DialogHelpButton
Definition iconutil.h:95
@ DialogRetryButton
Definition iconutil.h:129
@ MediaSeekBackward
Definition iconutil.h:121
@ TitleBarMinButton
Definition iconutil.h:55
@ DirLinkIcon
Definition iconutil.h:77
@ DirClosedIcon
Definition iconutil.h:76
@ DialogSaveButton
Definition iconutil.h:97
@ MediaPlay
Definition iconutil.h:115
@ DirHomeIcon
Definition iconutil.h:110
@ DriveCDIcon
Definition iconutil.h:72
@ ArrowRight
Definition iconutil.h:107
@ MediaSkipBackward
Definition iconutil.h:119
@ MessageBoxQuestion
Definition iconutil.h:66
@ FileDialogListView
Definition iconutil.h:90
@ DialogResetButton
Definition iconutil.h:100
@ FileDialogInfoView
Definition iconutil.h:88
@ FileDialogToParent
Definition iconutil.h:85
@ MediaVolume
Definition iconutil.h:122
@ ArrowForward
Definition iconutil.h:109
@ DialogOkButton
Definition iconutil.h:93
@ DialogCloseButton
Definition iconutil.h:98
@ TitleBarNormalButton
Definition iconutil.h:58
@ TitleBarUnshadeButton
Definition iconutil.h:60
@ DialogIgnoreButton
Definition iconutil.h:130
@ DockWidgetCloseButton
Definition iconutil.h:62
@ CommandLink
Definition iconutil.h:111
@ TitleBarMenuButton
Definition iconutil.h:54
@ MessageBoxCritical
Definition iconutil.h:65
@ TabCloseButton
Definition iconutil.h:132
@ LineEditClearButton
Definition iconutil.h:124
@ DriveDVDIcon
Definition iconutil.h:73
@ RestoreDefaultsButton
Definition iconutil.h:131
@ DialogCancelButton
Definition iconutil.h:94
@ MessageBoxWarning
Definition iconutil.h:64
@ BrowserStop
Definition iconutil.h:114
@ VistaShield
Definition iconutil.h:112
@ DialogDiscardButton
Definition iconutil.h:101
@ MediaPause
Definition iconutil.h:117
@ MediaStop
Definition iconutil.h:116
@ ArrowLeft
Definition iconutil.h:106
@ MediaSeekForward
Definition iconutil.h:120
@ FileLinkIcon
Definition iconutil.h:80
@ DirIcon
Definition iconutil.h:92
@ DriveNetIcon
Definition iconutil.h:74
@ TitleBarMaxButton
Definition iconutil.h:56
@ FileDialogContentsView
Definition iconutil.h:89
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).