On Sonntag, 13. Dezember 2015 16:20:19 CEST, René J.V. wrote:
There has been some discussion around one of my RRs concerning
how to respect KDE's ShowIconsOnPushButtons and Qt's
SH_DialogButtonBox_ButtonsHaveIcons style hint.
The ultimate way would be in the style that does the actual
drawing, but that is probably not the one with the smallest
overhead.
I object the overhead concern. The global solution is easily applied by the
style (the icon isn't loaded from disk or rendered until you/the style requires
a pixmap from painting - until then there's just a string that hints which icon
to use)
The dialog in question is a KMessageBox with a few KStandardGuiItems.
In a comparable situation, Qt's own code simply doesn't add the
standard icons to the buttons being created, when
SH_DialogButtonBox_ButtonsHaveIcons is false.
KMessageBox isn't a QDialogButtonBox
No, but it uses one - the problem is the same as in the kdelibs4support code of
KDialogButtonBox - the assignment of the KGuiItem which ignores
SH_DialogButtonBox_ButtonsHaveIcons in all the *Internal functions of
KMessageBox. Needs a similar fix (to respect the hint)
So this is as well orthogonal to the general Pushbutton
icon/ShowIconsOnPushButtons question (but simply a bug that needs to be fixed)
It might seem reasonable to query the parent widget of the button in KGuiItem to catch a
variety of occasions at once (though this doesn't guarantee anything, parent and style
would have to be tracked to make this "perfect" or QPushButton would check its
parent widget on painting and conditionally omit the icon when it's a buttonbox and the
style doesn't want icons there)
Cheers,
Thomas
_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel