[PATCH] misbehaving of KToggleActions in exclusiveGroup

David Faure faure at kde.org
Mon Oct 17 13:55:28 BST 2005


On Monday 17 October 2005 13:45, Tobias Koenig wrote:
> On Mon, Oct 17, 2005 at 12:52:10PM +0200, David Faure wrote:
> > Hmm. setExclusiveGroup( "...", KAction::AlwaysSelectOne ) ?
> > Of course it will only make sense if all actions in a group use the same flag...
> Or we change KXMLGUIClient::plugActionList to take a new class KActionList
> as parameter which inherits from QList<KAction*> and sets the mode for all items
> automatically?

We have two problems here. KDE 3.5 and KDE 4.
The main purpose of my mail was to raise awareness that your change broke
compatibility for kdelibs-3.4 -> 3.5 upgrading, so I think it should be reverted,
or implemented as an additional flag in setExclusiveGroup() so that the default
behavior remains the same between 3.4 and 3.5 - or maybe you have a better
idea, but IMHO it should be one that fits into the 3.x design of things, where there
is no "list of actions" for exclusive groups, only "those actions use the same group name".
plugActionList() takes a list of actions, but works quite differently from normal
actions with an exclusive group. In particular it's for dynamic lists of actions,
so the name of the actions don't appear in the xmlgui .rc file, and those actions
don't appear in "configure toolbars", etc. So I don't think we should abuse
the support for dynamic lists of actions (plugActionList) for something as simple
(and static) as exclusive actions.

For KDE 4 we can think of other solutions, but for now I think the urgency
is to fix kdelibs-3.5.

-- 
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).





More information about the kde-core-devel mailing list