[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Accelerators missing from dialogs in KDE 4.3
From:       Thomas =?iso-8859-15?q?L=FCbking?= <thomas.luebking () web ! de>
Date:       2009-06-07 15:28:52
Message-ID: 200906071728.52400.thomas.luebking () web ! de
[Download RAW message or body]

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

[Attachment #3 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" \
"http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style \
type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Segoe'; \
font-size:9pt; font-weight:400; font-style:normal;">Am Sunday 07 June 2009 schrieb Anders Lund:<br> &gt; \
Would it be possible to do it at kde library level?<br> 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" ... :-\<br> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>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.<br> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>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<br> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>the solution to your problem is however \
as simple as mentioned:<br> make it configurable or usefully preset by KStyle and ask at least styles \
shipped with KDE not to override it.<br> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>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...).<br> as styles are a) plugins and b) \
expression of the users personal taste, i don't see any problem on this. *shrug*<br> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Thomas</p></body></html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic