Difference between revisions of "Specification search toolbar"

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: This page exists to implemente a search toolbar for OOo. (The specifications can be created using the Specification template) The Search tool bar is tool bar which will provider searc...)
 
(Future Tasks)
 
(90 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
 
|-
 
|-
 
|
 
|
| DavidFraser
+
| Carsten Driesner / Stefan Baltzer
| 2005-12-15
+
| 2009-09-10
| Draft
+
| Late draft
 
|-
 
|-
 
| Conforms to   
 
| Conforms to   
Line 26: Line 26:
 
|-
 
|-
 
| Applies to
 
| Applies to
| sd, vcl
+
| Writer
 
|
 
|
 
|
 
|
 
|-
 
|-
 
| Task ID(s)
 
| Task ID(s)
| 12179
+
| None
 
|
 
|
 
|
 
|
Line 42: Line 42:
  
 
=== Abstract ===
 
=== Abstract ===
More and more graphics cards support more than one monitor simultaneously. These can either be configured as one large screen (which on X11 is called Xinerama mode) or multiple independent screens. When displaying presentations on video projectors or alternate displays it would be preferable for the user to be able to include a separate display for the presenter to see and control what is being displayed, along with ancillary (but important) information.
+
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
| Mathis Dirksen-Thedens (MDT)
+
| Jaron Kuppers (Jaron) (not active on this project anymore)
| ooo@jesusfan.de
+
| jaronbaron@gmail.com
 
|-
 
|-
 
| Development
 
| Development
| <Name + Initials>
+
| shizhoubo(robertzhou),Carsten Driesner
|  
+
| 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
| <Name + Initials>
+
|
|  
+
|
 
|}
 
|}
  
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
 
|
 
|
| 2005-06-10
+
| 2009-04-23
|-
+
| 1.01
+
| added many texts
+
| MDT
+
| 2005-06-28
+
 
|-
 
|-
 
| 1.1
 
| 1.1
| Added more detail about presenter view, and possible improvements to it. Mike Dark - khelmar@gmail.com
+
| Initial specification draft
| MJD
+
| JK
| 2005-08-26
+
| 2009-07-23
|-
+
| 1.11
+
| ported to this new wiki (pre-split)
+
| JWP
+
| 2005-12-02
+
 
|-
 
|-
 
| 1.2
 
| 1.2
| split into simple and presenter mode specs
+
| Edit
| DF
+
| SBA
| 2005-12-15
+
| 2009-09-14
 
|-
 
|-
 
| 1.3
 
| 1.3
| add this feature to the specification [http://specs.openoffice.org/impress/slideshow/ControllingSlideShow.odt Controlling Slide Show]; target is OOo 2.1; thanks for the great effort at this point
+
| Edit
| MMP
+
| SBA+CD
| 2006-09-13
+
| 2009-10-08
  
 
|}
 
|}
Line 146: Line 136:
 
| Description
 
| Description
 
|-
 
|-
| dual head
+
| Search Tool bar
| the ability to have two separate display devices configured (which together form the desktop)
+
| 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 ==
Many applications for presentation software such as Impress involve multiple displays.  Being able to support a separate control display and presentation display, would allow Impress to function as a replacement for PowerPoint in these applications.
 
  
== User Scenarios ==
+
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 has a projection system, with a dual graphics card. One output is connected to a monitor that is visible only to the presenter.  The other output is connected to a video projector. The user will display the actual presentation on the video projector, while simultaneously being able to view and access the control window on the monitor. One example is during church worship services, where it is desirable for the operator to search through the slides of the presentation without disrupting the display of the current slide to the congregation.
+
 
+
Another example is for those giving a talk at a scientific conference; it's very useful to know what slide is being displayed, while being able to look out over the audience. Ideally, this would be similar to the Presenter View in Powerpoint, which has a timer, navigation buttons, and an area at the bottom of the screen for notes about each slide (which would, ideally, come from the notes page). Notes are VERY useful for keeping track of important points, specific numbers or ratios, etc., and making sure points aren't missed.
+
 
+
The timer is useful for keeping track of how long you're running, especially for practice and monitoring presentations that are time-limited. If someone wanted to get really fancy, it'd be great to setup a time limit and have a separate slide counter; i.e., this presentation lasts 10 minutes, and I have 20 slides, so each slide has a countdown timer of 30 seconds. Then, if one slide goes long, the timer on the remaining slides is decremented, or if one slide takes less time, each additional slide gets more time. That would be fantastic to keep track of how a presentation is going.
+
 
+
http://images.apple.com/iwork/keynote/images/present_window20050111.jpg
+
For an idea of what this should look like, see the above (from Apple's website, listed in the references) - the view on the left would be the output hooked to the projector, while the view on the right would be the laptop / desktop the presenter is viewing. However, it would be nice to have something similar to the "Slides" toolbar showing upcoming slides. Ideally, it would be great to edit slides elsewhere in the presentation while showing another, but that's not a requirement.
+
  
 +
== 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 ==
 
== Goals ==
Provide a robust and easy-to-use dialog, to allow those with multiple-monitor setups to have a separate presenter view that provides additional information (notes, timing, upcoming slides, and the current slide).
+
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 ===
Would need to specify the exact layout and functionality of the presenter view. Then would require implementation of that mode in Impress.
+
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 ===
Requires the implementation of the [[Impress simple multiple display specification]].
+
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 ==
[[http://office.microsoft.com/en-us/powerpoint/HA010565471033.aspx MS PowerPoint]] has a presenter view and in many forums it is named as the key reason why people can't use OOo instead.
+
=== 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.
 +
[[Image:Chrome_Browser_1.JPG]]
  
Virtually every professor and scientist I know uses Powerpoint's "Presenter View" to lecture or give talks, and most are unwilling to switch without similar functionality.
+
=== Mozilla Firefox Browser ===
  
[[http://www.apple.com/iwork/keynote/features/presentertools.html Apple's iWork Keynote has a presenter view]].
+
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/>
 +
[[Image:Mozilla_browser_1.JPG]]
  
 +
=== Safari (Mac) ===
 +
* Missing
 +
 +
=== MS Office ===
 +
* Missing
  
 
== Detailed Specification ==
 
== Detailed Specification ==
In the Impress options, there should be a check-box or separate tab for "Presenter View", allowing enabling of ther presenter view on another monitor. When checked, various options should be presented, such as:
+
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.
  
Drop-down box
+
=== General ===
Screen to show the view on - this should include all screens attached to the computer with the exception of the screen selected to show the full-screen presentation on.
+
* 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
  
A series of check-boxes
+
=== 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.
  
Show:
+
=== Search bar settings ===
* Current Slide - shows the slide displayed on the fullscreen view on the presenter's view
+
* Which ones are are kept (case, whole word, previous search strings) when bar is closed and re-opened?
* Next Slide - Shows a large view of the next slide on the presenter's view
+
* Due to privacy/security reasons, the search string combo box shall be emptied after office restart.
* Slide thumbnails - Shows a view similar to the "Slides" toolbar to see multiple upcoming slides on the presenter's view
+
* Search bar settings are stored individually for each application module.
* Navigation buttons - Add "back", "next", and "blank screen" buttons to the presenter's view
+
* For all new documents of an application module, the last settings are used.
* Notes - Show the "notes" section for the current slide on the presenter's view
+
* Clock - Shows the current time on the presenter's view
+
* Timer - Adds a timer to the presenter's view
+
  
While the timer could be a simple count-up timer, ideally selecting this checkbox should enable other options:
+
=== 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.
  
- Count-up: makes the timer function as a simple stopwatch (starts at 0:00:00 when the presentation starts and counts up from there).
+
=== Tool bar items ===
- Count-down (with an associated scroll-box to set the values): Starts counting down from the value entered by the user when the presentation starts; perhaps with color changes (i.e., green -> yellow and yellow -> red) at user-specified values (yellow -> red at 1 minute remaining).
+
- Individual slide timing - Asks the user to enter the desired presentation length. From that, it divides by the number of slides in the current presentation to determine the amount of time per slide. i.e., a 10 minute presentation with 5 slides means each slide should take 2 minutes. The number of time per slide would be automatically updated with navigation, based on the actual time taken per slide. i.e., if slide #2 in the 10 minute presentation takes 3 minutes, then there would only be 1 minute 40 seconds for the remaining slides (3 slides remaining * 2 minutes per slide = 6 minutes; 6 minutes - 1 minute overrun = 5 minutes remaining; 5 minutes / 3 slides = 1 minute 40 seconds per slide.)
+
  
 +
[[Image:Search_Toolbar.png‎]]
  
==== String list ====
+
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse;  width: 100%"
 
+
{| border=1 cellspacing=0 cellpadding=5
+
 
|-
 
|-
| Item
+
| width="200"  bgcolor="#dddddd" | '''Property''' || bgcolor="#dddddd" | '''State''' || bgcolor="#dddddd" | '''Comment'''
| English
+
| German
+
| Swedish
+
| Comments
+
 
|-
 
|-
| Dropdown Element
+
| rowspan="2" | '''Toolbar Name:'''
| Screen 1
+
| Search toolbar
| Bildschirm 1
+
|-
| Skärm 1
+
| 搜索工具栏
 +
|
 +
|-
 +
| '''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
 +
|
 +
|-
 
|}
 
|}
  
==== Tab Order ====
+
=== 1. "Find" Label ===
Not of any importance.
+
  
==== Key Board Shortcuts ====
+
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
It would be handy, if you could map a Shorcut (e.g. F5 which is used by many presenting devices)
+
|-
 +
| width="200"  bgcolor="#dddddd" | '''Property''' || bgcolor="#dddddd" | '''Label''' || bgcolor="#dddddd" | '''Comment'''
 +
|-
 +
| '''Label:'''
 +
| Find
 +
| EN-US
 +
|}
  
=== G11n ===
+
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.
Nothing known.
+
  
=== Error Conditions ===
+
=== 2. Search Text Field ===
Nothing known.
+
  
=== Migration ===
+
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
Not needed.
+
|-
 +
| 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
 +
|}
  
== Future Tasks ==
+
* The Search Text Field is a combo box.
None at this time.
+
* 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.
  
== Notes ==
+
=== 3. "Next" Button ===
  
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.
+
{| 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>
 +
|
 +
|}
  
== References ==
+
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.
http://qa.openoffice.org/issues/show_bug.cgi?id=71505
+
Issue 71505 Add a presenter view
+
  
http://www.openoffice.org/issues/show_bug.cgi?id=12719
+
=== 4. "Previous" Button ===
Bug 12719 Support for multiscreen displays (dual monitors)
+
{| 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>
 +
|
 +
|}
  
http://www.oooforum.org/forum/viewtopic.phtml?t=19080
+
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.
Other forum posts requesting feature
+
  
http://www.oooforum.org/forum/viewtopic.phtml?p=86445#86445
+
=== 5. "Search All" Button ===
Temporary Linux workaround
+
  
http://www.apple.com/iwork/keynote/features/presentertools.html
+
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
Apple's implementation
+
|-
 +
| 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 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 ===
 +
 
 +
{| 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>
 +
|
 +
|}
 +
 
 +
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===
 +
 
 +
{| 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 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
 +
|
 +
|} 
 +
 
 +
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.
  
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