Skip to content

Commit 62d6c8c

Browse files
committed
Also show a preview tooltip for symbol buttons
1 parent 8f78beb commit 62d6c8c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/gui/qgssymbolbutton.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,15 @@ void QgsSymbolButton::updatePreview( const QColor &color, QgsSymbol *tempSymbol
470470
QIcon icon = QgsSymbolLayerUtils::symbolPreviewIcon( previewSymbol.get(), currentIconSize );
471471
setIconSize( currentIconSize );
472472
setIcon( icon );
473+
474+
// set tooltip
475+
// create very large preview image
476+
int size = static_cast< int >( Qgis::UI_SCALE_FACTOR * fontMetrics().width( 'X' ) * 20 );
477+
QPixmap pm = QgsSymbolLayerUtils::symbolPreviewPixmap( previewSymbol.get(), QSize( size, size ), size / 20 );
478+
QByteArray data;
479+
QBuffer buffer( &data );
480+
pm.save( &buffer, "PNG", 100 );
481+
setToolTip( QStringLiteral( "<img src='data:image/png;base64, %3'>" ).arg( QString( data.toBase64() ) ) );
473482
}
474483

475484
bool QgsSymbolButton::colorFromMimeData( const QMimeData *mimeData, QColor &resultColor, bool &hasAlpha )

0 commit comments

Comments
 (0)