KIcon API replacement (Re: patches on kcolors)

David Faure faure at kde.org
Thu Mar 15 20:21:07 UTC 2012


On Thursday 15 March 2012 19:53:36 Kevin Ottens wrote:
> On Saturday 10 March 2012 13:03:10 David Faure wrote:
> > On Saturday 10 March 2012 11:49:21 David Faure wrote:
> > > Maybe we want to make it a method of
> > > KIconLoader/KIconEngine instead?
> > 
> > KIconLoader::loadIcon is already taken (and returns a QPixmap), and
> > KIconEngine is an internal class.
> > 
> > So a new suggestion would be:
> > 
> > namespace KDE {
> > 
> >   QIcon loadIcon(const QString& iconName, KIconLoader* iconLoader = 0,
> >   const
> > 
> > QStringList& overlays = QStringList());
> > }
> 
> Looks good to me. We probably want also an overload without the iconLoader
> parameter I guess.

It default to 0, so I assume you mean for the case where someone wants to 
specify overlays and use the default iconloader, and a ,0 would look ugly?

> ***
> As a bonus, the crazy idea of the day:
> What about making an exception to the casing rule for naming in cases like
> that (not excluding there's more than K/QIcon matching that pattern) and
> going for:
> namespace KDE {
>     QIcon Icon(...);
> }
> 
> Client code would then look like:
> QIcon i = KDE::Icon("foo");
> instead of:
> QIcon i = KDE::loadIcon("foo");
> 
> (I personally think it conveys better the idea as it makes it feel almost
> like a prototype object)

Well, it's not so crazy. After I send the mail I thought, icon() would be 
better than loadIcon(), especially since the loading doesn't happen at that 
point, but on demand.
I was thinking icon() lowercase though, Icon() is a little bit crazier indeed.

But I'm not necessarily against crazy ideas ;-)

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Sponsored by Nokia to work on KDE, incl. KDE Frameworks 5



More information about the Kde-frameworks-devel mailing list