forked from qt-creator/qt-creator
QDS IconFont to Icons importer
Change-Id: Idae58499cf3a3e3967e701597b0f00c16367c602 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -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()
|
||||
|
@@ -93,6 +93,8 @@ public:
|
||||
static void tintImage(QImage &img, const QColor &tintColor);
|
||||
static QLinearGradient statusBarGradient(const QRect &statusBarRect);
|
||||
|
||||
static QPixmap getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize);
|
||||
|
||||
static QString dpiSpecificImageFile(const QString &fileName);
|
||||
static QString imageFileWithResolution(const QString &fileName, int dpr);
|
||||
static QList<int> availableImageResolutions(const QString &fileName);
|
||||
|
Reference in New Issue
Block a user