-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112079/
-----------------------------------------------------------

(Updated Aug. 26, 2013, 12:07 p.m.)


Review request for KDE Frameworks.


Changes
-------

Changes:
 * Added Q_DECL_OVERRIDE
 * Added unit tests
 * Changed the overlay sizes to be bit bigger (in the higher base icon sizes, 
the overlay was just too tiny)
 * Renamed to plural where it sets multiple overlays (ie. addOverlays(..);).


Description
-------

As this was rejected from QIcon, I decided to implement it in frameworks. The 
idea is new private icon engine (KOverlayIconEngine), which paints the overlays 
itself, and then an utility function in KIconUtils:: namespace, which takes the 
base icon and the overlay icons as parameters and constructs new QIcon using 
KOverlayIconEngine. As QPixmapIconEngine (QIcon default) is private in Qt and 
couldn't be simply extended, the KOverlayIconEngine simply forwards the calls 
to QIcon, which then forwards those calls internally to QPixmapIconEngine 
(QIcon is really mostly just a wrapper around an engine).

There are two functions

QIcon KIconUtils::kIconAddOverlay(const QIcon &icon, const QIcon &overlay, 
Qt::Corner position);

and

QIcon KIconUtils::kIconAddOverlay(const QIcon &icon, QHash<Qt::Corner, QIcon> 
overlays);

The first one serves for single overlay icon, the second one is then for 
multiple overlays, requires the QHash to be built up before passing though.


Diffs (updated)
-----

  staging/kguiaddons/autotests/CMakeLists.txt d6b952c 
  staging/kguiaddons/autotests/kiconutilstest.h PRE-CREATION 
  staging/kguiaddons/autotests/kiconutilstest.cpp PRE-CREATION 
  staging/kguiaddons/src/lib/CMakeLists.txt e62087b 
  staging/kguiaddons/src/lib/util/kiconutils.h PRE-CREATION 
  staging/kguiaddons/src/lib/util/kiconutils.cpp PRE-CREATION 

Diff: http://git.reviewboard.kde.org/r/112079/diff/


Testing
-------

I have a small testing app with 3 QLabels, testing both ::paint() and 
::pixmap() methods, all works \o/ I'm thinking about bundling the app with 
kguiaddons and/or additionally creating a unittest for it (I have one for Qt 
already), but I'll do that later as I'm off to vacation and I'd like to get 
comments for the code.


Thanks,

Martin Klapetek

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to