Difference between revisions of "Specification search toolbar"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Previous Button)
(Future Tasks)
 
(65 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This page exists to implemente a search toolbar for OOo. (The specifications can be created using the [[Specification template]])
+
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 tool bar which will provider search quickly text feature(like firfox search toolbar), it includes searching text, backwards searching, forward searching, Match of lowercase  or uppercase, Match the Whole word and Closer button. It can be closed by mouse or pressing a Keyboard shortcut.
+
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.
 
Any discussion of the specification should happen in the maillist(discuss@ux.openoffice.org), or on the discussion pages.
Line 8: Line 8:
 
= Search toolbar  =
 
= Search toolbar  =
  
= Swriter Scalc Impress Drawing =  
+
= Writer =  
 
{| border=1 cellspacing=0 cellpadding=5
 
{| border=1 cellspacing=0 cellpadding=5
 
| Document - ID
 
| Document - ID
 
| Specification Owner
 
| Specification Owner
| Last Change
+
| Last Change - 2009-10-09
 
| Status
 
| Status
 
|-
 
|-
 
|
 
|
| Shizhoubo
+
| Carsten Driesner / Stefan Baltzer
| 2009-04-22
+
| 2009-09-10
| Draft
+
| Late draft
 
|-
 
|-
 
| Conforms to   
 
| Conforms to   
Line 26: Line 26:
 
|-
 
|-
 
| Applies to
 
| Applies to
| Swriter, Scalc, Impress, Drawing
+
| Writer
 
|
 
|
 
|
 
|
Line 42: Line 42:
  
 
=== Abstract ===
 
=== Abstract ===
The Search tool bar is tool bar which will provider search quickly text feature(like fireforx toolbar), it includes searching text, backwards searching, forward searching, Match of lowercase  or uppercase, Match the Whole word and Closer button. It can be closed by mouse or pressing a Keyboard shortcut.
+
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) ===
 
=== i-Team Members (The specification owner is part of the i-Team) ===
Line 53: Line 53:
 
|-
 
|-
 
| User Experience
 
| User Experience
| Jaron Kuppers (Jaron),Philip Ganchev(Philip)
+
| Jaron Kuppers (Jaron) (not active on this project anymore)
| jaronbaron@gmail.com, phil.ganchev@gmail.com  
+
| jaronbaron@gmail.com  
 
|-
 
|-
 
| Development
 
| Development
| shizhoubo(robertzhou)
+
| shizhoubo(robertzhou),Carsten Driesner
| shizhoubo@redoffice.com
+
| robertzhou@openoffice.org, cd@openoffice.org
 
|-
 
|-
 
| Quality Assurance
 
| Quality Assurance
| <Name + Initials>
+
| Li Meiying,Zhu Lihua,Stefan Baltzer
|  
+
| limeiying@redoffice.com,zhulihua@redoffice.com,sba@openoffice.org
 
|-
 
|-
 
| Documentation
 
| Documentation
| shizhoubo(robertzhou)
+
|
| shizhoubo@redoffice.com
+
|
 
|}
 
|}
  
Line 82: Line 82:
 
|-
 
|-
 
| Development
 
| Development
| <Name>
+
| Carsten Driesner
| <Date>
+
| 2009-10-09
 
|-
 
|-
 
| Quality Assurance
 
| Quality Assurance
| <Name>
+
| Stefan Baltzer
| <Date>
+
| 2009-10-09
 
|-
 
|-
 
| Documentation
 
| Documentation
Line 108: Line 108:
 
|-
 
|-
 
| 1.0
 
| 1.0
| initial version
+
| First incomplete version
 
|
 
|
 
| 2009-04-23
 
| 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
  
 
|}
 
|}
Line 121: Line 136:
 
| Description
 
| 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 ==
 
== Motivation ==
The motivation for this feature is to enhance the speed of searching text ,and the search tool bar does not hid the content of the document.
+
 
 +
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 ==
 
== User Scenarios ==
In current OpenOffice.org ,users use the search dialog to search text, when the users want to see content which the search dialog hid, the uses have to move the search dialog via mouse,because the search dialog always display.
+
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 ==
 
== Goals ==
The goal for OpenOffice.org 3.x is to provide a tool bar which gives uses the possibility to apply frequently uesed for searching text. The search tool bar will provide a simple, shortcut way to searching text, without the users not have to open the search dialog.
+
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 and Dependencies ==
  
 
=== Requirements ===
 
=== Requirements ===
Provide a tool bar which gives users the possibility to apply frequently used commands without the opening search dialog.
+
Provide a tool bar which gives users the possibility to apply frequently used search commands without using the Find & Replace dialog.
  
 
=== Technical Dependencies ===
 
=== Technical Dependencies ===
Implementation of the search tool bar depend on these searching codes  which the current search dialog is using the searching codes , but it has nothing to do with the search dialog.
+
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 ==
 
== Competitive Analyses ==
 
=== Google Chrome Browser===
 
=== Google Chrome Browser===
The Google Chrome Search tool bar (Figure 1,marked by the redline). it is located on the below of  the address Tool bar and can't be moved. The Search tool bar can made visible by pressing Ctrl+F. The search toolbar is very simple , it only provide searching text and not match Match Case. It includes backwards searching , forwards searching text and count of the searching text. The Search tool bar organized into a number of buttons or lable which are arranged from the left to the right with it.
+
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.  
 
[[Image:Chrome_Browser_1.JPG]]
 
[[Image:Chrome_Browser_1.JPG]]
  
 
=== Mozilla Firefox Browser ===
 
=== Mozilla Firefox Browser ===
  
Mozillas Search Tool bar(Figure 2) , It is located at the above of the staus bar and can't be moved .The Search tool bar can made visible by pressing Ctrl+F.  
+
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.<br/>
The  Search tool bar organized into a number of buttons which are arranged from the left to the right with it. The mouse can opterator any button and every button has states.
+
 
[[Image:Mozilla_browser_1.JPG]]
 
[[Image:Mozilla_browser_1.JPG]]
 +
 +
=== Safari (Mac) ===
 +
* Missing
 +
 +
=== MS Office ===
 +
* Missing
  
 
== Detailed Specification ==
 
== Detailed Specification ==
The OpenOffice Search Tool Bar(Figure3) shall be located at the above of the status bar. And it can't be moved.  It can made visible by pressing Ctrl+F1.  It is make up of the tool  bar item , of course , these tool bar item  can be BUTTON_SYMBOLTEXT or BUTTON_SYMBOL.
+
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.<br/>
 +
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 ===
  
[[Image:SpecSearc_Toolbar1.JPG]]
+
[[Image:Search_Toolbar.png‎]]
  
 
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse;  width: 100%"
 
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse;  width: 100%"
Line 196: Line 268:
 
|
 
|
 
|-
 
|-
| colspan="3" bgcolor="#eeeeee" |'''Toolbar Items:'''
+
|}
|-
+
| rowspan="2" | '''Item Name:'''
+
| <EN-US>
+
|-
+
| <Other Language (Optional)>
+
|
+
|-
+
| '''Item Icon:'''
+
| <Link to Image here>
+
|
+
|-
+
| '''Action:'''
+
| <Specify action here. E.g. Finding>
+
|
+
|-
+
| '''Other Properties:'''
+
| <Specify properties here>
+
|
+
|}  
+
 
+
  
 
=== 1. "Find" Label ===
 
=== 1. "Find" Label ===
Line 229: Line 281:
 
|}
 
|}
  
The static text info only describe information to explain what the edit controller input. It name “Find”, it only is static text and showed in the searching tool bar. It should support multilingual property.
+
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. Input for searching TextField ===
+
=== 2. Search Text Field ===
  
 
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
 
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
Line 238: Line 290:
 
|-
 
|-
 
| '''Enabled:'''
 
| '''Enabled:'''
| during one of documents is opening
+
| When the search toolbar is enabled this control is also enabled
| these documents is only swriter,scalc,impress or drawing
+
 
|-
 
|-
 
| '''Disabled:'''
 
| '''Disabled:'''
Line 274: Line 325:
 
|}  
 
|}  
  
 
+
* The Search Text Field is a combo box.
 
+
* The user inputs the search text string via keyboard or clipboard.
The Edit Controller is TextField Controller, users can input searching text in the edit Text, and it always is showed in the searching tool bar. When users did not find searching text in current document, the edit text background color should be set gray which mean  not find searching text.
+
* 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 ===
 
=== 3. "Next" Button ===
Line 285: Line 339:
 
|-
 
|-
 
| '''Enabled:'''
 
| '''Enabled:'''
| if there is any text content in the TextField Controller, it will be always enabled
+
| if there is any text in the Search Text Field
 
|
 
|
 
|-
 
|-
 
| '''Disabled:'''
 
| '''Disabled:'''
| if there is nothing text content in the TextField Controller, it will be disabled
+
| if there is no text in the Search Text Field
 
|
 
|
 
|-
 
|-
 
| '''On Click:'''
 
| '''On Click:'''
| find backward searching text in the current document
+
| Forward searches the current document for the search text
 
|  
 
|  
 
|-
 
|-
Line 305: Line 359:
 
|}  
 
|}  
  
The is a simple tool bar item with BUTTON_SYMBOLTEXT type. Users can use to find backward searching text in the current document. When the searching text is showed at end of the document, the The Dynamic Text Info2 will shown “ reached end of  document,continue form top” information.
+
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 ===
 
=== 4. "Previous" Button ===
Line 313: Line 367:
 
|-
 
|-
 
| '''Enabled:'''
 
| '''Enabled:'''
| During one of the documents, it is always enabled
+
| if there is any text in the Search Text Field
 
|
 
|
 
|-
 
|-
 
| '''Disabled:'''
 
| '''Disabled:'''
| If the 2.TextField has only nothing, it will be disabled
+
| if there is no text in the Search Text Field
 
|
 
|
 
|-
 
|-
 
| '''On Click:'''
 
| '''On Click:'''
| Find forwards searching text in the current document
+
| Backward searches the current document for the search text
 
|
 
|
 
|-
 
|-
Line 333: Line 387:
 
|}  
 
|}  
  
 +
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.
  
The is a simple tool bar item with BUTTON_SYMBOLTEXT type. Users can use to find forwards searching text in the current document. When the searching text is showed at top of the document, the The Dynamic Text Info2 will shown “ reached top of  document,continue form end” information.
+
=== 5. "Search All" Button ===
  
=== Search All Button ===
+
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
 +
|-
 +
| width="200"  bgcolor="#dddddd" | '''Property''' || bgcolor="#dddddd" | '''State''' || bgcolor="#dddddd" | '''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 BUTTON_SYMBOLTEXT type,when users click it, the searching text will be shown hightlight and selected(like following Figure7 image). The “search all button” need not changed states.
+
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.
  
=== Match Case Button ===
+
=== 6. "Match Case" CheckBox ===
  
The Match Case Button is a check box button, after the check box is selected, searching text will match case to find in the current document,  when searching text may not exist, The Dynamic Text Info2 will shown “ phrase not found” information. Like following red line mark.
+
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
 +
|-
 +
| width="200"  bgcolor="#dddddd" | '''Property''' || bgcolor="#dddddd" | '''State''' || bgcolor="#dddddd" | '''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>
 +
|
 +
|}
  
=== Whole Word Button ===
+
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.
  
The Whole Word Button is a check box button, after it  is  selected , searching text will match the whole word to find in the current document. When the whole word searching text not exist , he Dynamic Text Info2 will shown “ phrase not found” information. Like following red line mark.
+
=== 7. "Whole Word" CheckBox===
  
=== Dynamic Text Info1 ===
+
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
 +
|-
 +
| width="200"  bgcolor="#dddddd" | '''Property''' || bgcolor="#dddddd" | '''State''' || bgcolor="#dddddd" | '''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 Dynamic Text info1 is a dynamic string, is show information which means to show count of searching text in the current documents. When user use only “Search all” to find string, the Dynamic Text info2 will be shown , and tell user count of the searching text in the current document. Like following image of red line mark.
+
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 ===
 +
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
 +
|-
 +
| width="200"  bgcolor="#dddddd" | '''Property''' || bgcolor="#dddddd" | '''Label''' || bgcolor="#dddddd" | '''Comment'''
 +
|-
 +
| '''Label:'''
 +
| None, it is dynamic stirng, it show different message according to result of searching text
 +
|
 +
|} 
  
=== Dynamic Text Info2 ===
+
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.
  
The Dynamic Text info2 is a dynamic string, is show information which remain following informations to users. “phrase not found “, “ reached top of  document,continue form end”,  “reached end of  document,continue form top” .  What the dynamic text is depend to result of searching text.
+
== Search behavior ==
  
But the Dynamic Text Info1 and Info2 would support multilingual property.
+
* 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)?
  
=== Close Button ===
+
* 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.
  
The is tool bar item with only BUTTON_SYMBOL type, it can close the search tool bar.
+
== Accessibility ==
 +
 
 +
* High contrast
 +
* Mouse control
 +
* Keyboard control
 +
* Voice over
  
 
== Future Tasks ==
 
== Future Tasks ==
None at this time.
+
 
 +
* 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 ==
 
== Notes ==
Line 371: Line 540:
  
 
== References ==
 
== References ==
none
+
The current searching dialog in the OOo.
 +
The search toolbar of the Mozilla firefox.
 +
 
 +
 
 
[[Category:Features]]
 
[[Category:Features]]

Latest revision as of 08:56, 13 October 2009

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