[Differential] [Changed Subscribers] D3892: [Icon Item] Support non-square icons
davidedmundson (David Edmundson)
noreply at phabricator.kde.org
Sun Jan 1 19:51:53 UTC 2017
davidedmundson added inline comments.
INLINE COMMENTS
> iconitem.cpp:325
> + const QSize &paintedSize = m_iconPixmap.size().scaled(actualContainerSize, Qt::KeepAspectRatio);
> + return QSize(Units::roundToIconSize(paintedSize.width()), Units::roundToIconSize(paintedSize.height()));
> }
This makes no sense.
You can't round it to icon sizes *after* scaling, it means the shorter size is always just wrong.
If we do merge this patch, you want:
m_iconPixmap.size().scaled(QSize(Units.roundtoIconSize(actualContainerSize.width), Units.roundToIconSize(actualContainerSize.height)
> iconitem.cpp:377
> if (m_sizeChanged) {
> - const int iconSize = Units::roundToIconSize(qMin(boundingRect().size().width(), boundingRect().size().height()));
> - const QRect destRect(QPointF(boundingRect().center() - QPointF(iconSize/2, iconSize/2)).toPoint(),
> - QSize(iconSize, iconSize));
> -
> + const QSize &newSize = paintedSize();
> + const QRect destRect(QPointF(boundingRect().center() - QPointF(newSize.width(), newSize.height()) / 2).toPoint(), newSize);
You're using references a lot in a few patches that don't make any sense.
paintedSize returns a new QSize object; you're keeping a reference to a value that would just be immediately discarded. This doesn't result in an optimisation but instead doing something that would crash if it wasn't for a magic C++ feature where it lengthens the lifespan of the object.
REPOSITORY
R242 Plasma Frameworks
REVISION DETAIL
https://phabricator.kde.org/D3892
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: broulik, #plasma, hein
Cc: davidedmundson, plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170101/454df702/attachment-0001.html>
More information about the Plasma-devel
mailing list