1 /* 2 uiresources.h 3 4 This file is part of GammaRay, the Qt application inspection and 5 manipulation tool. 6 7 Copyright (C) 2014-2021 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com 8 Author: Filipe Azevedo <filipe.azevedo@kdab.com> 9 10 Licensees holding valid commercial KDAB GammaRay licenses may use this file in 11 accordance with GammaRay Commercial License Agreement provided with the Software. 12 13 Contact info@kdab.com if any conditions of this licensing are not clear to you. 14 15 This program is free software; you can redistribute it and/or modify 16 it under the terms of the GNU General Public License as published by 17 the Free Software Foundation, either version 2 of the License, or 18 (at your option) any later version. 19 20 This program is distributed in the hope that it will be useful, 21 but WITHOUT ANY WARRANTY; without even the implied warranty of 22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 GNU General Public License for more details. 24 25 You should have received a copy of the GNU General Public License 26 along with this program. If not, see <http://www.gnu.org/licenses/>. 27 */ 28 29 #ifndef GAMMARAY_UIRESOURCES_H 30 #define GAMMARAY_UIRESOURCES_H 31 32 #include "gammaray_ui_export.h" 33 34 #include <QIcon> 35 #include <QPixmap> 36 #include <QImage> 37 38 namespace GammaRay { 39 namespace UIResources { 40 enum Theme { 41 Unknown, 42 Light, 43 Dark, 44 Default = Light 45 }; 46 47 enum ThemeEntryType { 48 Icon, 49 Pixmap 50 }; 51 52 // Set the current theme to use for UI icons used in actions and toolbars. 53 GAMMARAY_UI_EXPORT void setTheme(UIResources::Theme theme); 54 55 // Relative to UIResources::themePath/icons of the current theme 56 GAMMARAY_UI_EXPORT QIcon themedIcon(const QString &filePath); 57 58 // Relative to UIResources::themePath/pixmaps of the current theme 59 GAMMARAY_UI_EXPORT QPixmap themedPixmap(const QString &filePath, QWidget *widget); 60 61 // Relative to UIResources::themePath/pixmaps of the current theme 62 GAMMARAY_UI_EXPORT QImage themedImage(const QString &filePath, QWidget *widget); 63 64 // Relative to UIResources::themePath/[icons|pixmap] of the current theme 65 GAMMARAY_UI_EXPORT QString themedFilePath(UIResources::ThemeEntryType type, const QString &filePath, QWidget *widget); 66 67 GAMMARAY_UI_EXPORT QImage tintedImage(const QImage &image, const QColor &color); 68 GAMMARAY_UI_EXPORT QPixmap tintedPixmap(const QImage &image, const QColor &color); 69 70 // Deprecated, use setTheme 71 typedef Theme IconTheme; setIconTheme(UIResources::IconTheme theme)72 inline void setIconTheme(UIResources::IconTheme theme) 73 { setTheme(theme); } 74 } 75 } 76 77 #endif // GAMMARAY_UIRESOURCES_H 78