mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-09-09 01:51:37 +02:00
qt, refactor: Limit scope of QPainter object
This commit is contained in:
@@ -66,24 +66,25 @@ bool QRImageWidget::setQR(const QString& data, const QString& text)
|
|||||||
|
|
||||||
QImage qrAddrImage = QImage(QR_IMAGE_SIZE, QR_IMAGE_SIZE + (text.isEmpty() ? 0 : 20), QImage::Format_RGB32);
|
QImage qrAddrImage = QImage(QR_IMAGE_SIZE, QR_IMAGE_SIZE + (text.isEmpty() ? 0 : 20), QImage::Format_RGB32);
|
||||||
qrAddrImage.fill(0xffffff);
|
qrAddrImage.fill(0xffffff);
|
||||||
QPainter painter(&qrAddrImage);
|
{
|
||||||
painter.drawImage(0, 0, qrImage.scaled(QR_IMAGE_SIZE, QR_IMAGE_SIZE));
|
QPainter painter(&qrAddrImage);
|
||||||
|
painter.drawImage(0, 0, qrImage.scaled(QR_IMAGE_SIZE, QR_IMAGE_SIZE));
|
||||||
|
|
||||||
if (!text.isEmpty()) {
|
if (!text.isEmpty()) {
|
||||||
QFont font = GUIUtil::fixedPitchFont();
|
QFont font = GUIUtil::fixedPitchFont();
|
||||||
font.setStyleStrategy(QFont::NoAntialias);
|
font.setStyleStrategy(QFont::NoAntialias);
|
||||||
QRect paddedRect = qrAddrImage.rect();
|
QRect paddedRect = qrAddrImage.rect();
|
||||||
|
|
||||||
// calculate ideal font size
|
// calculate ideal font size
|
||||||
qreal font_size = GUIUtil::calculateIdealFontSize(paddedRect.width() - 20, text, font);
|
qreal font_size = GUIUtil::calculateIdealFontSize(paddedRect.width() - 20, text, font);
|
||||||
font.setPointSizeF(font_size);
|
font.setPointSizeF(font_size);
|
||||||
|
|
||||||
painter.setFont(font);
|
painter.setFont(font);
|
||||||
paddedRect.setHeight(QR_IMAGE_SIZE+12);
|
paddedRect.setHeight(QR_IMAGE_SIZE+12);
|
||||||
painter.drawText(paddedRect, Qt::AlignBottom|Qt::AlignCenter, text);
|
painter.drawText(paddedRect, Qt::AlignBottom|Qt::AlignCenter, text);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
painter.end();
|
|
||||||
setPixmap(QPixmap::fromImage(qrAddrImage));
|
setPixmap(QPixmap::fromImage(qrAddrImage));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user