Difference between revisions of "Specification search toolbar"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Detailed Specification)
(Future Tasks)
 
(76 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.
  
=== Static Text info ===
+
=== 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
  
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.
+
=== 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.
  
=== Edit Controller ===
+
=== 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.
  
The Edit Controller is Edit Text, 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. Like following image of red line mark.
+
=== 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.
  
=== Next Button ===
+
=== Tool bar items ===
  
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 like following red line mark.  
+
[[Image:Search_Toolbar.png‎]]
  
=== Previous 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'''
 +
|-
 +
| rowspan="2" | '''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
 +
|
 +
|-
 +
|}
  
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 like following red line mark.
+
=== 1. "Find" Label ===
  
=== 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" | '''Label''' || bgcolor="#dddddd" | '''Comment'''
 +
|-
 +
| '''Label:'''
 +
| Find
 +
| 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 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.
  
=== Match Case Button ===
+
=== 2. Search Text Field ===
  
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 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
 +
|}
  
=== Whole Word Button ===
+
* 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.
  
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.
+
=== 3. "Next" Button ===
  
=== 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:'''
 +
| 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 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 “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 ===
 +
{| 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:'''
 +
| Backward searches the current document for the search text
 +
|
 +
|-
 +
| '''Other:'''
 +
| None
 +
|
 +
|-
 +
|'''Button Label:'''
 +
| <EN-US>
 +
|
 +
|}
  
=== Dynamic Text Info2 ===
+
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 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.
+
=== 5. "Search All" Button ===
  
But the Dynamic Text Info1 and Info2 would support multilingual property.
+
{| 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>
 +
|
 +
|}
  
=== Close Button ===
+
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.
  
The is tool bar item with only BUTTON_SYMBOL type, it can close the search tool bar.
+
=== 6. "Match Case" CheckBox ===
  
== Future Tasks ==
+
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
None at this time.
+
|-
 +
| 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>
 +
|
 +
|}
  
== Notes ==
+
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.
  
I think it would be useful to have a mode in which Impress does not rely on any X11 server information for the layout of the presenter screen. For example, I might not want the presentation window to be full screen, or I might be sharing a subrectangle of my desktop with VNC.  To specify what the presentation layout should be, maybe there could be a mode similar to Apple's Keynote design screen, except that in addition to all the presenter tools, the absolute position and size of the slide that the audience sees could also be chosen.  Of course, "full screen on the second display" is a special case of this.  In some other presentations, I might want to have the slide window and an editable notes window up on the audience screen.
+
=== 7. "Whole Word" CheckBox===
  
== References ==
+
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
http://qa.openoffice.org/issues/show_bug.cgi?id=71505
+
|-
Issue 71505 Add a presenter view
+
| 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>
 +
|
 +
|}
  
http://www.openoffice.org/issues/show_bug.cgi?id=12719
+
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).
Bug 12719 Support for multiscreen displays (dual monitors)
+
  
http://www.oooforum.org/forum/viewtopic.phtml?t=19080
+
=== 9. Dynamic Text Info ===
Other forum posts requesting feature
+
{| 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
 +
|
 +
|} 
  
http://www.oooforum.org/forum/viewtopic.phtml?p=86445#86445
+
The Dynamic Text info is a dynamic text label. It states “phrase not found” in these scenarios:
Temporary Linux workaround
+
* “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.
  
http://www.apple.com/iwork/keynote/features/presentertools.html
+
== Search behavior ==
Apple's implementation
+
 
 +
* 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.
  
http://michaelhyatt.blogs.com/workingsmart/2005/01/powerpoints_pre.html
 
Article describing Microsoft's implementation
 
  
[[Category:Impress issues]]
 
 
[[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