Fix Icon Button ripple geometry

This commit is contained in:
johanneshilden 2017-10-01 22:34:55 +03:00
parent a65e32cd5d
commit e98c026fc9
2 changed files with 17 additions and 0 deletions

View File

@ -26,6 +26,8 @@ void QtMaterialIconButtonPrivate::init()
rippleOverlay = new QtMaterialRippleOverlay(q->parentWidget());
useThemeColors = true;
rippleOverlay->installEventFilter(q);
q->setStyle(&QtMaterialStyle::instance());
QSizePolicy policy;
@ -142,6 +144,20 @@ bool QtMaterialIconButton::event(QEvent *event)
return QAbstractButton::event(event);
}
/*!
* \reimp
*/
bool QtMaterialIconButton::eventFilter(QObject *obj, QEvent *event)
{
if (QEvent::Resize == event->type())
{
Q_D(QtMaterialIconButton);
d->rippleOverlay->setGeometry(geometry().adjusted(-8, -8, 8, 8));
}
return QAbstractButton::eventFilter(obj, event);
}
/*!
* \reimp
*/

View File

@ -28,6 +28,7 @@ protected:
QtMaterialIconButton(QtMaterialIconButtonPrivate &d, QWidget *parent = 0);
bool event(QEvent *event) Q_DECL_OVERRIDE;
bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE;
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;