diff --git a/src/Gui/InputHintWidget.cpp b/src/Gui/InputHintWidget.cpp index 146cc9f1bc..7c33b5af79 100644 --- a/src/Gui/InputHintWidget.cpp +++ b/src/Gui/InputHintWidget.cpp @@ -61,9 +61,8 @@ void Gui::InputHintWidget::showHints(const std::list& hints) QBuffer buffer; image.save(&buffer, "png"); - return QStringLiteral("") - .arg(QLatin1String(buffer.data().toBase64())) - .arg(image.width()); + return QStringLiteral("") + .arg(QString::fromLatin1(buffer.data().toBase64())); }; const auto getHintHTML = [&](const InputHint& hint) { @@ -133,13 +132,15 @@ QPixmap Gui::InputHintWidget::generateKeyIcon(const InputHint::UserInput key, co const QFontMetrics fm(font); const QString text = inputRepresentation(key); const QRect textBoundingRect = fm.tightBoundingRect(text); + const qreal dpr = BitmapFactoryInst::getMaximumDPR(); const int symbolWidth = std::max(textBoundingRect.width() + padding * 2, iconSymbolHeight); - const QRect keyRect(margin, margin, symbolWidth, 18); + const QRect keyRect(margin, margin, symbolWidth, iconSymbolHeight); - QPixmap pixmap(symbolWidth + margin * 2, iconTotalHeight); + QPixmap pixmap((symbolWidth + margin * 2) * dpr, iconTotalHeight * dpr); pixmap.fill(Qt::transparent); + pixmap.setDevicePixelRatio(dpr); QPainter painter(&pixmap); painter.setRenderHint(QPainter::Antialiasing); diff --git a/src/Gui/InputHintWidget.h b/src/Gui/InputHintWidget.h index c9e86c1d44..94af3107e5 100644 --- a/src/Gui/InputHintWidget.h +++ b/src/Gui/InputHintWidget.h @@ -20,7 +20,7 @@ * . * * * ***************************************************************************/ - + #ifndef INPUTHINTWIDGET_H #define INPUTHINTWIDGET_H @@ -45,8 +45,8 @@ public: private: static std::optional getCustomIconPath(InputHint::UserInput key); - static QPixmap generateKeyIcon(InputHint::UserInput key, QColor color); static QString inputRepresentation(InputHint::UserInput key); + QPixmap generateKeyIcon(InputHint::UserInput key, QColor color); }; } // Namespace Gui