Issue 31275 - Tree view entries (i.e. in the Navigator, Styles an Formattings, Option dialog) should be accessible by pressing their first letter on the keyboard
Summary: Tree view entries (i.e. in the Navigator, Styles an Formattings, Option dialo...
Alias: None
Product: ui
Classification: Code
Component: ui (show other issues)
Version: OOo 1.1
Hardware: All All
: P3 Trivial with 8 votes (vote)
Target Milestone: 3.4.0
Assignee: eric.savary
QA Contact: issues@ui
Keywords: usability
: 20971 26626 108279 (view as issue list)
Depends on:
Blocks: 97765
  Show dependency tree
Reported: 2004-07-09 07:51 UTC by urska
Modified: 2017-05-20 09:26 UTC (History)
6 users (show)

See Also:
Latest Confirmation in: ---
Developer Difficulty: ---

initial patch (33.57 KB, patch)
2009-06-17 13:45 UTC, Frank Schönheit
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description urska 2004-07-09 07:51:42 UTC
it would be nice to be able to search the styles in the Stylist by typing the
first letter of the style. so, if you wanted to find Body text, you would press
B on the keyboard and be taken straight to the first entry in the list which
starts with this letter. this is similar functionality than that of a list box.

i wouldn't mind the ability to search by the first n letters of the style (bod
for body text), but at least the first-letter search would be really nice.

hope i've made myself clear
Comment 1 stefan.baltzer 2004-07-09 17:12:44 UTC
SBA: A clear description, thanks. Confirmed.
Reassigned to Bettina.
Comment 2 abqbill 2009-03-03 23:12:44 UTC
Appears that issue 26626 is a duplicate of this issue.
Comment 3 Oliver Specht 2009-06-11 11:15:22 UTC

*** This issue has been marked as a duplicate of 26626 ***
Comment 4 Oliver Specht 2009-06-11 11:15:55 UTC
Comment 5 eric.savary 2009-06-11 11:29:52 UTC
*** Issue 26626 has been marked as a duplicate of this issue. ***
Comment 6 eric.savary 2009-06-11 11:33:04 UTC
*** Issue 20971 has been marked as a duplicate of this issue. ***
Comment 7 eric.savary 2009-06-11 11:49:15 UTC
@OS: that was the issue I wanted to keep alive (later ID but more votes than the
others)! :)
So reopening.

As discussed:
- The functionality is already implemented but not switched on = easy to fix.
- you may do this for 3.2 (first evaluation!)

-> great! :)
Comment 8 eric.savary 2009-06-11 11:50:14 UTC
Reassigned for implementation
Comment 9 cno 2009-06-11 12:02:20 UTC
3.2 ... :-) Thanks !
Comment 10 Frank Schönheit 2009-06-17 13:45:28 UTC
Created attachment 63041 [details]
initial patch
Comment 11 Frank Schönheit 2009-06-17 13:52:59 UTC
fs->os: The attached patch implements this, by outsourcing the ListBox'es quick
search functionality into a dedicated QuickSelectionEngine class, and re-using
it in the SvLBox.

Two quirks so far:

First, entries below collapsed nodes are included in the quick search, which
probably is not desired. This should be easily fixable by adjusting
FirstSearchEntry and NextSearchEntry in the SvLBox  to not include such entries.

Second, traveling does to reset the "quick search term". That is, when you type
e.g. "sea", then an entry starting with this string is selected. When you press
an additional "r" within a given time span, then an entry starting with "sear"
is selected. If you wait to long before pressing "r", then the search term has
been reset meanwhile, and a new search term consisting of "r" only is used, so
the next entry starting with "r" is selected.
Now what would be desirable is that if you move the cursor before typing "r",
then the search term is reset, too. However, this does not work currently. The
problem is that the SvLBox, which manages the QuickSelectionEngine instances,
does not known about the cursors of its derived classes. More precise, it is not
notified when the current entry changes.
Two possible solutions come to my mind: a) Implement an OnCurEntryChanged (or
so) in the SvLBox, to be called appropriately by all derived classes. b) use the
(abstract) GetCurEntry in SvLBox::HandleKeyInput, and if the current entry
changed since the last call to QuickSelectionEngine::HandleKeyEvent, then call
Comment 12 Frank Schönheit 2009-06-17 14:01:02 UTC
forgot to say: The patch introduces a EnableSelectAsYouType (uhm, I wanted to
rename this to EnableQuickSearch before doing the patch :-\ ) at the SvLBox,
which needs to be called explicitly for every class which wants the feature. In
the patch, this is done for the stylist (and some central class in Base :), but
no for other classes.
Comment 13 abqbill 2009-07-29 15:57:47 UTC
This is a very good enhancement, thank you!
Comment 14 Oliver Specht 2009-10-05 14:26:24 UTC
Target changed
Comment 15 michael.ruess 2010-01-13 10:16:06 UTC
*** Issue 108279 has been marked as a duplicate of this issue. ***
Comment 16 Frank Schönheit 2010-09-27 22:18:14 UTC
I really miss this behavior, the patch is nearly ready, we have a branch which
has quite a while to mature 'til the next release :) - so why not spend the
missing two hours?

grabbing the issue
Comment 17 eric.savary 2010-09-27 22:23:38 UTC
@FS: Thanx! :)
Comment 18 Frank Schönheit 2010-09-27 22:50:39 UTC
fixed in CWS dba34a

find more information about this CWS, like when it is available in the master
builds, in EIS, the Environment Information System:
Comment 19 caolanm 2010-09-27 23:23:21 UTC
ooh, shiny!
Comment 20 cno 2010-09-28 05:16:02 UTC
+ 1 - thanks a lot!
Comment 21 Frank Schönheit 2010-09-29 10:06:45 UTC
looks good in CWS, except ... repeatedly pressing the same character is expected
to cycle through the entries starting with this character (assuming there is no
entry starting with more than one incarnations of this very character). This
doesn't work. Investigating.
Comment 22 Frank Schönheit 2010-09-29 10:25:13 UTC
minor adjustment, fixing the above problem, committed to CWS
Comment 23 eric.savary 2010-09-29 10:46:09 UTC
@FS: back to me when done, ok? ;)
Comment 24 Frank Schönheit 2010-09-29 10:52:21 UTC
@es: that's the plan, yes - build will be finished in an hour or so
Comment 25 Frank Schönheit 2010-09-29 20:38:34 UTC
fs->es: please verify in CWS dba34a
Comment 26 eric.savary 2010-11-03 11:16:29 UTC
Verified in CWS dba34a