aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/stylehelper.cpp
diff options
context:
space:
mode:
authorAleksei German <aleksei.german@qt.io>2020-04-07 19:17:33 +0200
committerAleksei German <aleksei.german@qt.io>2020-04-07 18:40:59 +0000
commitab5a0c9cb18a69bf0b014807d9a03193feeedcb4 (patch)
tree41b24ccddf07dabefbfd24797dcaac09bd994e86 /src/libs/utils/stylehelper.cpp
parent38a7bfe4eb519f893947e2fe0029ce1eb662b334 (diff)
QDS IconFont to Icons importer
Change-Id: Idae58499cf3a3e3967e701597b0f00c16367c602 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/libs/utils/stylehelper.cpp')
-rw-r--r--src/libs/utils/stylehelper.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/libs/utils/stylehelper.cpp b/src/libs/utils/stylehelper.cpp
index f91c24b52ac..28d07392271 100644
--- a/src/libs/utils/stylehelper.cpp
+++ b/src/libs/utils/stylehelper.cpp
@@ -35,6 +35,7 @@
#include <QCommonStyle>
#include <QStyleOption>
#include <QWindow>
+#include <QFontDatabase>
#include <qmath.h>
// Clamps float color values within (0, 255)
@@ -542,6 +543,33 @@ QLinearGradient StyleHelper::statusBarGradient(const QRect &statusBarRect)
return grad;
}
+QPixmap StyleHelper::getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize)
+{
+ QFontDatabase a;
+
+ Q_ASSERT(a.hasFamily(fontName));
+
+ if (a.hasFamily(fontName)) {
+ QPixmap icon(iconSize, iconSize);
+ icon.fill(Qt::transparent);
+ QPainter painter(&icon);
+ QFont font(fontName);
+ font.setPixelSize(fontSize);
+ QColor penColor = QApplication::palette("QWidget").color(QPalette::Normal, QPalette::ButtonText);
+
+ painter.save();
+ painter.setPen(penColor);
+ painter.setFont(font);
+ painter.drawText(QRectF(0, 0, iconSize, iconSize), iconSymbol);
+
+ painter.restore();
+
+ return icon;
+ }
+
+ return {};
+}
+
QString StyleHelper::dpiSpecificImageFile(const QString &fileName)
{
// See QIcon::addFile()