Specification search toolbar

From Apache OpenOffice Wiki
Jump to: navigation, search

This page is the current design of a search toolbar for OOo. (The specifications can be created using the Specification template)

The Search tool bar is a tool bar which will provide quick text searching. It includes highlighting all search occurrences, backwards searching, forward searching, case-matching, whole word matching, and a close button. It can be closed via the close button or by pressing a keyboard shortcut.

Any discussion of the specification should happen in the maillist(discuss@ux.openoffice.org), or on the discussion pages.


Search toolbar

Writer

Document - ID Specification Owner Last Change - 2009-10-09 Status
Carsten Driesner / Stefan Baltzer 2009-09-10 Late draft
Conforms to
Applies to Writer
Task ID(s) None
Category Feature

Abstract

The Search tool bar is a tool bar which will provide quick text searching. It includes highlighting all search occurrences, backwards searching, forward searching, case-matching, whole word matching, and a close button. It can be closed via the close button or by pressing a Keyboard shortcut.

i-Team Members (The specification owner is part of the i-Team)

Name E-mail Address
User Experience Jaron Kuppers (Jaron) (not active on this project anymore) jaronbaron@gmail.com
Development shizhoubo(robertzhou),Carsten Driesner robertzhou@openoffice.org, cd@openoffice.org
Quality Assurance Li Meiying,Zhu Lihua,Stefan Baltzer limeiying@redoffice.com,zhulihua@redoffice.com,sba@openoffice.org
Documentation

Approved for Implementation

Approved by Date
User Experience <Name> <Date>
Development Carsten Driesner 2009-10-09
Quality Assurance Stefan Baltzer 2009-10-09
Documentation <Name> <Date>
String Review <Name> <Date>

Document Change History

Rev. Level Change Initials Date
1.0 First incomplete version 2009-04-23
1.1 Initial specification draft JK 2009-07-23
1.2 Edit SBA 2009-09-14
1.3 Edit SBA+CD 2009-10-08

Glossary

Term Description
Search Tool bar The Search Tool bar is a locked bar (similar to the status bar) and resides above the status bar
Title Label It describes what the search action is, in this case essentially “find”
Search text field A text field where users input the string that will be searched within the document
Search text The text entered in the search text field
Next Button A button which executes searching forward through the document
Previous Button A button which executes searching backward through the document
Search All Button A radio button which searches all the content of the document and highlights the search text
Match Case Check Box A check box that makes text searches case-sensitive
Whole Words Check Box A check box that matches the search text to entire words within the document (aka the search text must match delimited strings)
Dynamic Text Info A text label that gives different text information about the current search status

Motivation

The motivation for this feature is to enhance the speed of searching text and to avoid a dialog window hiding the content of the document.

User Scenarios

Currently OpenOffice.org users must use the "Find & Replace" dialog to search text. When this dialog obscures the document content, the user must move it away with the mouse.

Goals

The goal for OpenOffice.org 3.3 is to provide a tool bar which will provide quick text searching without hiding document content. It shall include forward and backwards searching, highlighting all search occurrences, case matching and whole word match

Requirements and Dependencies

Requirements

Provide a tool bar which gives users the possibility to apply frequently used search commands without using the Find & Replace dialog.

Technical Dependencies

Implementation of the search tool bar depends on the default search algorithms of the current Find & Replace dialog. It won't interfere with that dialog.

Competitive Analyses

Google Chrome Browser

The Google Chrome Search tool bar (Figure 1) is located below the address tool bar and can't be moved. The search tool bar can made visible by pressing Ctrl+F. It is very simple and only provides text searching and no case matching or whole word matching functionality. It includes backward and forward searching and a count of the found search text. The Search tool bar is organized into a number of buttons or labels which are horizontally arranged. Chrome Browser 1.JPG

Mozilla Firefox Browser

The Mozilla Firefox Search Tool bar (Figure 2) is located above the status bar and can't be moved. The Search tool bar can be made visible by pressing Ctrl+F. Once active, Ctrl-F makes cursor jump into search text field. It has a close button and can also be closed with <Esc> key. It is is organized into a number of buttons which are arranged horizontally. The mouse can be used to click the buttons and every button has a state. The situation “Search key not found” will change the search text box background to red, text gets white. At the same time, the dynamic text info on the right of the bar shows text “phrase not found” and a red icon (Stop symbol) appears. In other scenarios, info given in the dynamic text field are “Reached end of page, continued from top” or “Reached top of page, continued from bottom”. This takes place automatically.
Mozilla browser 1.JPG

Safari (Mac)

  • Missing

MS Office

  • Missing

Detailed Specification

The OpenOffice Search Tool Bar (Figure3) shall be located above the status bar and will be immovable. It can made visible by pressing Ctrl+F1. It contains the common tool bar items including BUTTON_SYMBOLTEXT or BUTTON_SYMBOL.

General

  • The search bar will be a standard tool bar and behaves like that wherever possible:
    • A rip-out handle when docked
    • A "close" option in the context menu when docked
    • A title bar and a closer when undocked
    • It can be switched on and off via menu view-toolbars

Position and visibility

By default, the Search bar is located above the status bar at the bottom of the application window. It is invisible by default. Both settings (visibility and position) will be stored and re-used after office is closed and restarted.

Search bar settings

  • Which ones are are kept (case, whole word, previous search strings) when bar is closed and re-opened?
  • Due to privacy/security reasons, the search string combo box shall be emptied after office restart.
  • Search bar settings are stored individually for each application module.
  • For all new documents of an application module, the last settings are used.

Shortcut behavior

  • When the search bar is not visible, pressing <Ctrl>+<F1> makes it visible and set the cursor focus into the text field.
  • When the the search bar is already visible, AND the focus is in the document, pressing <Ctrl>+<F1> set the cursor focus into the text field.
  • When the the search bar is already visible, AND the focus is on the search bar, pressing <Ctrl>+<F1> closes the search bar.

Problem: Tools-Customize, Tab “Keyboard” shows <Ctrl>+<F1> in gray. So this shortcut is already used for “context sensitive help” stuff on all platforms. Thus another shortcut must be taken. At times (looked at DEV300_m61). <Ctrl>+<Alt>+<F> or <Ctrl>+<Shift>+<F> are still available.

Tool bar items

Search Toolbar.png

Property State Comment
Toolbar Name: Search toolbar
搜索工具栏
Has Closer: No
Style: Icon/Text
Initial State: Docked
Initial Docking Position: Bottom, above the status bar
Initial Floating Position: None
List in "View/Toolbars": Yes
Is Context Sensitive: No

1. "Find" Label

Property Label Comment
Label: Find EN-US

The static text info only describes what the purpose of the tool bar is and what should be entered into the Search Text Field. The static text label is “Find.” It should support multilingual properties.

2. Search Text Field

Property State Comment
Enabled: When the search toolbar is enabled this control is also enabled
Disabled: None
Read Only: No
Initial String: Blank space string
String Preselected: Yes
Caret Position: <0>
Characters Not Allowed None
Echo characters (Password Field) None
TextField Label: <EN-US> Here is "Find" label
  • The Search Text Field is a combo box.
  • The user inputs the search text string via keyboard or clipboard.
  • The drop-down entries will show recent search strings from the current office session. The list is empty after office restart.
  • When <Return> is pressed after the search string, the “Find next” function is called.
  • When the search text field is empty, nothing happens after pressing <Enter>
  • The color of text and text background won't change.

3. "Next" Button

Property State Comment
Enabled: if there is any text in the Search Text Field
Disabled: if there is no text in the Search Text Field
On Click: Forward searches the current document for the search text
Other: None
Button Label: <EN-US>

The “Next” button will be of SYMBOL_TEXT style. When triggered, the button forward searches the current document for the search text. After a search was made, the found text is selected. The focus stays in the search text field.

4. "Previous" Button

Property State Comment
Enabled: if there is any text in the Search Text Field
Disabled: if there is no text in the Search Text Field
On Click: Backward searches the current document for the search text
Other: None
Button Label: <EN-US>

The “previous” button will be of SYMBOL_TEXT type. When triggered, the button backward searches the current document for the search text. After a search was made, the found text is selected. The focus stays in the search text field. The arrows shall point “up” and “down” because that would be correct in Right-To-Left UI as well.

5. "Search All" Button

Property State Comment
Enabled: if there is any text in the Search Text Field
Disabled: if there is no text in the Search Text Field
On Click: All instances of the search text, within the document, will be shown highlighted and selected
Other: None
Button Label: <EN-US>

The Button is a tool bar item with SYMBOL_TEXT type. When triggered, all instances of the search text, within the document, will be shown highlighted and selected. The “search all button” will not need to change states. After a search was made, all occurrences of the search text are selected. The focus stays in the search text field.

6. "Match Case" CheckBox

Property State Comment
Enabled: When the search toolbar is enabled, it is always enabled
Disabled: None
Tristate:
Checked: Future text searches via the are case-sensitive
Other: None
CheckBox Label: <EN-US>

The Match Case Check Box is a check box button. When the check box is in a true state, all text searches (next, previous, all) are case-sensitive.

7. "Whole Word" CheckBox

Property State Comment
Enabled: When the search toolbar is enabled, it is always enabled
Disabled: None
Tristate: None
Checked: searching text will match the whole word to find in the current document.
Other: None
CheckBox Label: <EN-US>

The Whole Word Button is a check box. When the check box is in a true state, text searches match the search text to delimited strings, as opposed to any occurrence of the search text string (i.e. as part of a word).

9. Dynamic Text Info

Property Label Comment
Label: None, it is dynamic stirng, it show different message according to result of searching text

The Dynamic Text info is a dynamic text label. It states “phrase not found” in these scenarios:

  • “Find All” brings no results
  • Next (+auto re-run from top) brings no results
  • Previous (+auto re-run from end) brings no results

Note: See “Future tasks” for further enhancements this label could get.

Search behavior

  • When the user enters text in the Search text field and hits <Return>
    • The focus will stay in in the Search text field
    • The forward search is triggered as though the user tabbed from to the Next button or hit it with the mouse

The search ends when a phrase is found. When nothing is found between current position and end of document, the search is re-launched from the top of the document and will go on until the start position in document. …..similar for backward search.....

  • Search order
    • Headings, Footers, Footnotes, Notes, Tables, Objects – All possible (esp. Notes, Objects)?
  • Search in Notes
    • When searching through a document, the old F&R dialog has a notes check box that enables in notes. When checked, “Find All” and “Replace All” are disabled. Check what is possible...
    • When search bar is closed (Shortcut or Toolbar menu), the cursor jumps back into the document.

Accessibility

  • High contrast
  • Mouse control
  • Keyboard control
  • Voice over

Future Tasks

  • Auto-completion or list box selection of previously used search strings
  • Selection (and multiselection) within document is passed on to search field when search bar is called (see Firefox behavior)
  • Search bar integration into Calc, Impress, Draw. (In first step, only Writer is supported to meet OOo 3.3 time line)
  • A button which opens the traditional "Find & Replace" dialog.
  • Differentiate Dynamic Text Info. Note that the info text length is limited.
    • Possible scenarios:
    • Forward search reaches the end of the document: Dynamic text could state "reached the end of the document, continue from the top?"
    • Backward search reaches the beginning of the document: Dynamic text could state "reached the top of the document, continue from end?"
    • Find all, search finds # of occurrences of the search text: Dynamic text changed to "# times"
  • Use default shortcut of old Find&Replace dialog (<Ctrl>+<F>) for the search bar.
  • Support all other application modules (Calc, Impress, Draw, Database)

Notes

None

References

The current searching dialog in the OOo. The search toolbar of the Mozilla firefox.

Personal tools