Accelerators missing from dialogs in KDE 4.3

Thomas Lübking thomas.luebking at web.de
Sun Jun 7 16:28:52 BST 2009


Am Sunday 07 June 2009 schrieb Anders Lund:
> Would it be possible to do it at kde library level?
for KDE widgets, sure. but you'd have to reimplement all painting routines 
(QPainter::drawText() sets the mnemonic flag) - and thus all widgets just for 
this purpose... and as soon as an app says e.g. 'new QLabel("text", parent)' 
you're out :-( (so you shifted the problem from "telling styles to not do 
weird things on mnemonics" to "telling all apps to migrate to KDE classes 
only" ... :-\

overmore KDE apps would stop to integrate on other DEs (while one could check 
the environment and/or provide a checkbox for this) but "we need to 
reimplement QLabel to override Qt's mnemonic strategy and thus you must not 
use e.g. QLabel - or any 3rd party inheritor" is afaik the showstopper for 
this.

another option was to force the usage of a general proxystyle - but this can 
lead to quite some trouble as well (i.e. "forcing" maybe the wrong approach, 
"providing" was likely better - i wrote one to allow e.g. all styles to make 
use of the XBar and later on the GMBv2 protocol - no issues on some rough 
tests, but also nothing i'd "force load" by any app) - unfortunately /not/ 
autolading it is rather inconvenient... i'm still looking for a more 
transparent solution

the solution to your problem is however as simple as mentioned:
make it configurable or usefully preset by KStyle and ask at least styles 
shipped with KDE not to override it.

and if another style breaks that, it's users will be either confident with it 
or start mourning (the reason why i made it configurable...).
as styles are a) plugins and b) expression of the users personal taste, i 
don't see any problem on this. *shrug*

Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20090607/6b168ee6/attachment.htm>


More information about the kde-core-devel mailing list