File indexing completed on 2024-12-01 12:32:59
0001 /* 0002 SPDX-FileCopyrightText: 2013 Martin Klapetek <mklapetek@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef KICONUTILS_H 0008 #define KICONUTILS_H 0009 0010 #include <kguiaddons_export.h> 0011 0012 #include <QIcon> 0013 0014 /** 0015 * @namespace KIconUtils 0016 * Provides utility functions for icons. 0017 */ 0018 namespace KIconUtils 0019 { 0020 /** 0021 * Adds the \a overlay over the \a icon in the specified \a position 0022 * 0023 * The \a overlay icon is scaled down approx. to 1/3 or 1/4 (depending on the icon size) 0024 * and placed in one of the corners of the base icon. 0025 */ 0026 KGUIADDONS_EXPORT QIcon addOverlay(const QIcon &icon, const QIcon &overlay, Qt::Corner position); 0027 0028 /** 0029 * Adds \a overlays over the \a icon 0030 * 0031 * The \a overlays is a QHash of Qt::Corner and QIcon. The Qt::Corner value 0032 * decides where the overlay icon will be painted, the QIcon value 0033 * is the overlay icon to be painted. 0034 * 0035 * The overlay icon is scaled down to 1/3 or 1/4 (depending on the icon size) 0036 * and placed in one of the corners of the base icon. 0037 */ 0038 KGUIADDONS_EXPORT QIcon addOverlays(const QIcon &icon, const QHash<Qt::Corner, QIcon> &overlays); 0039 0040 /** 0041 * Adds up to four overlays over the @p icon. 0042 * 0043 * The @p overlays is a QStringList of icon names (e.g. the emblems that are drawn on 0044 * icons in Dolphin and KFileWidget, e.g. symlink, un-mounted device ...etc). 0045 * 0046 * Overlays are added in this order: 0047 * - first icon is used to paint an overlay on the bottom-right corner 0048 * - second icon on the bottom-left corner 0049 * - third icon on the top-left corner 0050 * - fourth icon on the top-right corner 0051 * 0052 * Each overlay icon is scaled down to 1/3 or 1/4 (depending on the icon size). 0053 * 0054 * @since 5.90 0055 */ 0056 KGUIADDONS_EXPORT QIcon addOverlays(const QIcon &icon, const QStringList &overlays); 0057 0058 /** 0059 * Adds up to four overlays on the icon constructed from @p iconName. 0060 * 0061 * The @p overlays is a QStringList of icon names (e.g. the emblems that are drawn on 0062 * icons in Dolphin and KFileWidget, e.g. symlink, un-mounted device ...etc). 0063 * 0064 * Overlays are added in this order: 0065 * - first icon is used to paint an overlay on the bottom-right corner 0066 * - second icon on the bottom-left corner 0067 * - third icon on the top-left corner 0068 * - fourth icon on the top-right corner 0069 * 0070 * Each overlay icon is scaled down to 1/3 or 1/4 (depending on the icon size). 0071 * 0072 * All @c QIcon objects are constructed using @c QIcon::fromTheme(). 0073 * 0074 * @since 5.82 0075 */ 0076 KGUIADDONS_EXPORT QIcon addOverlays(const QString &iconName, const QStringList &overlays); 0077 } 0078 0079 #endif // KICONUTILS_H