RCC for icons - update: Re: Icons installed by apps

René J.V. Bertin rjvbertin at gmail.com
Thu Feb 18 13:51:58 UTC 2016


On Thursday February 18 2016 13:55:18 Jaroslaw Staniek wrote:

>>> > since QIcon::fromTheme() apaprently isn't able to find app icons.

Care to explain? QIcon::fromTheme() doesn't find anything "out of the box" on OS X (and I presume on MS Windows), but that is only because no theme search path is set on those platforms. When you add the standard XDG icon repository to the icon search path on OS X, even "pure" Qt5 application will start showing icons all over if you have an icon theme installed -- including in widgets that should not have icons according to the HIG.
Also on OS X, fromTheme() will only return the application icon (as in the icon shown in the Finder) if the current theme defines that same icon for the calling application, and the theme search path is set of course. In all other cases it will not, because the application icon is not defined through a theme on OS X (nor is it on MS Windows, I presume).

>> I think the solution with a packaged breeze icons resource working
>> out-of-the box could be a good (lightweight) addition for non-Plasma
>> (non-Linux?) users of KF5, to popularize KF5. They grab the icons package

Popularise, with Breeze "art"work? O:-)
Anyway,  I don't think "grabbing an icon package" will work on OS X, not if you want to create standalone app bundles which by definition contain everything they need.

>> and icons just work without thousands of files, caching, etc. 'One in a
>> million' would of these users would be interested in theming.

I'd up that estimate if we're still talking about Breeze icons here O:-)

>> PS2: I have been beaten by situations such as KToolBar setting 0-size
>> icons by default.

Partly this is because almost no KF5 code uses the fallback argument of QIcon::fromTheme() explicitly, which means that the function returns an empty icon if the search fails. 
In particular, statements like

app->setWindowIcon(QIcon::fromTheme(programName))

should read

app->setWindowIcon(QIcon::fromTheme(programName, app->windowIcon()))


>> This is in a Windows env where no themes are (properly) installed. If the
>> rcc-based solution is in use I would imagine that ideally all the KF5 code
>> detects this somehow and would not look for xdg standard themes through the
>> classic KIconLoader but silently adapt so the rcc resource works great.
>> Just a dream.

If your rcc resource corresponds to the resource mentioned in the QIcon::fromTheme() documentation (I think that talks about "qrc") and if I interpret that documentation correctly then yes, code using that function will find icons from the rcc/qrc "builtin" resource over those in xdg themes (if the XDG icon repository is even in the icon theme search path).

>>> What I don't know however is whether artists consider that these icons
>>> should be themeable...

I think icon artists will consider that you should touch their icons (for theming or anything else). They will probably also consider that their icons are the "best" but they really should also consider it a right for anyone to use other icons ;)

R.


More information about the Kde-frameworks-devel mailing list