[LibreOffice] find ctrl-g/ctrl-shift-g accelerator patch
Jan Holesovsky
kendy at suse.cz
Tue Mar 6 02:20:02 PST 2012
Hi Cameron,
This is some good research, I hope you don't mind if I CC: the devel
mailing list, and the UX advise list too? :-)
On 2012-03-05 at 16:41 -0500, Cameron Paul wrote:
> It turns out I was mistaken. I was only able to move .uno:RepeatSearch
> to ctrl-g. Using .uno:DownSearch or .uno:UpSearch did nothing. I
> suspect this is because those events need some data source telling
> them what to search for, and that data isn't present when the find bar
> is closed. I have attached a patch that simply moves .uno:RepeatSearch
> from F_SHIFT_MOD1 to G_MOD1. This does cause some inconsistent
> behavior though since ctrl-g will be RepeatSearch when the document is
> selected and DownSearch when the toolbar is selected.
Yes, this is not ideal.
> I think an ideal solution would be one where RepeatSearch could remain
> at F_SHIFT_MOD1, and DownSearch/UpSearch simply be added to
> G_MOD1/G_SHIFT_MOD1. This would allow us to keep all 3 functions bound
> to shortcuts and avoid confusing anyone who already knows the
> ctrl-shift-f shortcut. Unfortunately it is not immediately obvious to
> me how to implement it like this.
I think this is actually a good question for the UX advise list :-) My
proposal would be to get rid of the RepeatSearch functionality (and
consequently of Ctrl-Shift-f), and let only DownSearch and UpSearch -
more consistency, and more control for the user. RepeatSearch it is not
accessible from the menu, so I'd expect that not that many people will
know that - but of course some hard data would be good here.
So - if the UX advise guys agree, I'd try to make DownSearch and
UpSearch working even without the toolbar active. The code for
RepeatSearch is here:
sw/source/ui/uiview/viewsrch.cxx
The code for Up/DownSearch here:
svx/source/tbxctrls/tbunosearchcontrollers.cxx
[DownSearchToolboxController::execute()]
I'd try to look if the control flow gets to the ::execute() when you
bind Ctrl-g to .uno:DownSearch and use it in the document. If yes, then
it might be only a matter of checking why exactly it does nothing. Of
course, if the control flow does not get there at all, it is for deeper
investigation - I'd then try to spot differences between what is
happening in the .uno:RepeatSearch and .uno:DownSearch case. If it gets
more complicated, please let me know; but hopefully it'll be OK.
> As for the accelerators not working when a text area in a menu bar is
> selected, I think that might be a bigger problem. For example, this
> also prevents things like ctrl-s saving a document, which could
> potentially lead to data loss if someone doesn't know their work is
> not being saved. I don't know what changing that would actually
> involve, but I would be happy to work on it if people want that
> modification.
Good point! I have just checked, and it is a more general problem -
when you try that in eg. the 'Font size' combobox, you cannot do Ctrl-s
either. Should I file an easy hack for that, or will you try to
investigate this one too? :-)
All the best,
Kendy
More information about the LibreOffice
mailing list