Make the iconwidget's a teeny bit smaller when pressed down. This gives a good response when clicking buttons in plasma.
svn path=/trunk/KDE/kdelibs/; revision=946711
This commit is contained in:
parent
183d79adb2
commit
570242531f
@ -618,7 +618,7 @@ void IconWidgetPrivate::drawBackground(QPainter *painter, IconWidgetState state)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QPixmap IconWidgetPrivate::decoration(const QStyleOptionGraphicsItem *option, bool useHoverEffect)
|
QPixmap IconWidgetPrivate::decoration(const QStyleOptionGraphicsItem *option, bool useHoverEffect, bool usePressedEffect)
|
||||||
{
|
{
|
||||||
QPixmap result;
|
QPixmap result;
|
||||||
|
|
||||||
@ -643,6 +643,10 @@ QPixmap IconWidgetPrivate::decoration(const QStyleOptionGraphicsItem *option, bo
|
|||||||
result = icon.pixmap(size, mode, state);
|
result = icon.pixmap(size, mode, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (usePressedEffect) {
|
||||||
|
result = result.scaled(result.size() * 0.9, Qt::KeepAspectRatio);
|
||||||
|
}
|
||||||
|
|
||||||
// We disable the iconeffect here since we cannot get it into sync with
|
// We disable the iconeffect here since we cannot get it into sync with
|
||||||
// the fade animation. TODO: Enable it when animations are switched off
|
// the fade animation. TODO: Enable it when animations are switched off
|
||||||
if (!result.isNull() && useHoverEffect) {
|
if (!result.isNull() && useHoverEffect) {
|
||||||
@ -934,7 +938,7 @@ void IconWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option
|
|||||||
state = IconWidgetPrivate::HoverState;
|
state = IconWidgetPrivate::HoverState;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPixmap icon = d->decoration(option, state != IconWidgetPrivate::NoState);
|
QPixmap icon = d->decoration(option, state != IconWidgetPrivate::NoState, state & IconWidgetPrivate::PressedState);
|
||||||
const QPointF iconPos = d->iconPosition(option, icon);
|
const QPointF iconPos = d->iconPosition(option, icon);
|
||||||
|
|
||||||
d->drawBackground(painter, state);
|
d->drawBackground(painter, state);
|
||||||
|
@ -114,7 +114,7 @@ public:
|
|||||||
void drawTextItems(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
void drawTextItems(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||||
const QTextLayout &labelLayout, const QTextLayout &infoLayout) const;
|
const QTextLayout &labelLayout, const QTextLayout &infoLayout) const;
|
||||||
|
|
||||||
QPixmap decoration(const QStyleOptionGraphicsItem *option, bool useHoverEffect);
|
QPixmap decoration(const QStyleOptionGraphicsItem *option, bool useHoverEffect, bool usePressedEffect);
|
||||||
QPointF iconPosition(const QStyleOptionGraphicsItem *option, const QPixmap &pixmap) const;
|
QPointF iconPosition(const QStyleOptionGraphicsItem *option, const QPixmap &pixmap) const;
|
||||||
|
|
||||||
QSizeF displaySizeHint(const QStyleOptionGraphicsItem *option, const qreal width) const;
|
QSizeF displaySizeHint(const QStyleOptionGraphicsItem *option, const qreal width) const;
|
||||||
|
Loading…
Reference in New Issue
Block a user