A KSelectAction dedicated to QTextCodec selection ?

Hamish Rodda rodda at kde.org
Sat Oct 21 12:25:47 BST 2006


On Saturday 21 October 2006 18:25, Michel Hermier wrote:
> 2006/10/21, Hamish Rodda <rodda at kde.org>:
> > On Saturday 21 October 2006 05:36, Michel Hermier wrote:
> > > Hi,
> > >
> > > 2006/10/20, David Faure <faure at kde.org>:
> > > > Hello!
> > > >
> > > > On Friday, October 20, 2006 01:19:05 PM Michel Hermier wrote:
> > > > > I noticed while preparing the changes locally, that I need one of
> > > > > my local change for KSelectAction (well only a return change, but
> > > > > the patch adds a little more).
> > > > > So I delay the commit for now.
> > > > >
> > > > > Can someone maintaining KSelectAction review the patch.
> > > > > What changed with this patch:
> > > > > - bool setCurrentAction(QAction *, DeselectionMode mode) should be
> > > > > more safe, checking that the action really belongs to the action
> > > > > group before activating the action. Also added an extra parameter
> > > > > with default value to mimic the old behaviour. This extra parameter
> > > > > allow to not deselect the previous action in case of falure to
> > > > > select the action.
> > > >
> > > > Why does this need to be configurable? Deselection the previous
> > > > action and not selecting any new one instead looks like a bug, not a
> > > > feature.
> >
> > No, unselecting the current action is needed in the case where we want to
> > clear the current selection.  For example, in KRecentFilesAction, when a
> > file is closed, its action is deselected so it is no longer checked.
>
> I meant, "there migth be some usage to if I can't set to the current
> action, let the selection as before", especially when trying to set
> the current action using a text research.

So you really want a findAction() function, which you can follow up with 
setCurrentAction() if you find something...?

> > > > Did you make it configurable "just in case", or is there a real use
> > > > case for this?
> > >
> > > I think it's needed to be configurable if we allow to have multiple
> > > selection enabled.
> > > Because in this case you have to look at all the actions to search to
> > > know wich ones are enabled, since the API don't offer to get all the
> > > selected items (directly).
> >
> > KSelectAction is not designed to allow multiple selection.
>
> Are there any anoying reason, we can't make it multiple selection aware ?

I can think of a few:
1) Menus (which is the main method which KSelectActions use) are poorly 
designed to accomodate multiple selection (you have to open the menu multiple 
times to make the selection, and then you have selection clearing problems)

2) The combo box widget wouldn't work with multiple selection

3) It would significantly pollute the api (and it's not that clean to start)

I really think you're better off creating a "Configure codecs..." action and 
putting it at the end of the select action, which can bring up a dialog with 
a proper configuration widget.  If you really want to have multiple 
selection, perhaps creating a KMultiSelectAction class (based off KAction) 
would be the best course of action.

Cheers,
Hamish.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20061021/1d5366b0/attachment.sig>


More information about the kde-core-devel mailing list