From 2c62c0b5b940f5be52f101ad5e9e82933a0ee808 Mon Sep 17 00:00:00 2001 From: Pierre Lamot Date: Fri, 29 Sep 2017 10:25:10 +0200 Subject: [PATCH] qt: fix rendering of FramelessButton with HiDpi Signed-off-by: Jean-Baptiste Kempf --- modules/gui/qt/components/playlist/selector.cpp | 4 +++- modules/gui/qt/util/customwidgets.cpp | 5 ++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/gui/qt/components/playlist/selector.cpp b/modules/gui/qt/components/playlist/selector.cpp index 1d41f7f6af..a7cef6be13 100644 --- a/modules/gui/qt/components/playlist/selector.cpp +++ b/modules/gui/qt/components/playlist/selector.cpp @@ -93,7 +93,9 @@ void PLSelItem::addAction( ItemAction act, const QString& tooltip ) lblAction = new SelectorActionButton(); lblAction->setIcon( icon ); - lblAction->setMinimumWidth( lblAction->sizeHint().width() + 6 ); + int icon_size = fontMetrics().height(); + lblAction->setIconSize( QSize( icon_size, icon_size ) ); + lblAction->setMinimumWidth( lblAction->sizeHint().width() + icon_size ); if( !tooltip.isEmpty() ) lblAction->setToolTip( tooltip ); diff --git a/modules/gui/qt/util/customwidgets.cpp b/modules/gui/qt/util/customwidgets.cpp index 8ffb6d7870..dfb8307337 100644 --- a/modules/gui/qt/util/customwidgets.cpp +++ b/modules/gui/qt/util/customwidgets.cpp @@ -50,9 +50,8 @@ QFramelessButton::QFramelessButton( QWidget *parent ) void QFramelessButton::paintEvent( QPaintEvent * ) { QPainter painter( this ); - QPixmap pix = icon().pixmap( size() ); - QPoint pos( (width() - pix.width()) / 2, (height() - pix.height()) / 2 ); - painter.drawPixmap( QRect( pos.x(), pos.y(), pix.width(), pix.height() ), pix ); + icon().paint(&painter, QRect( 0, 0, width(), height())); + } QElidingLabel::QElidingLabel( const QString &s, Qt::TextElideMode mode, QWidget * parent ) -- 2.11.4.GIT