johnwdubois / rezonator

Rezonator: Dynamics of human engagement
35 stars 2 forks source link

Find function (= Find Next) #632

Open Georgio-Klironomos opened 4 years ago

Georgio-Klironomos commented 4 years ago

Background Users often want to find the next instance of a word, without having to crank up the full Search function. There should be no need to switch to the Search screen to accomplish this.

What to do NOTE: Much of the functionality described below is the same as that required for the Search dialogue update, so the 2 issues should be addressed together.

  1. Create a "Find" function, which moves the user's cursor to the next instance of the word that the user inputs. (The so-called "Find" function basically does a "Find Next", but we don't call it that.)
  2. The "Find" function should NOT involve the Search screen, nor should it create a Hit grid, nor a Search grid. It's intended to be quick, simple, and lightweight.
  3. The keystrokes to use for "finding" and "searching" are as follows:
    • The "f" key invokes the "Find" function
    • The "CTRL-f" key combination invokes the (current) "Search" function. (This pops uothe current dialogue box for Search, and the full Search screen, as it currently operates).
    • Notice that this is a (minor) reassignment of the key bindings, so the localization team should be notified.
  4. Pressing "f" pops up the "Find" dialogue box, which shows:
    • the message: "Find:"
    • a text box that the user can type a word into
    • button options [FIND] and [CANCEL]
  5. When the user selects [FIND]:
    • if there is a string in the dialogue box, the cursor moves to the next instance of the input word.
    • if there is no string in the dialogue box, show the user an error message: "Type a word to search for!". Then let them try again.
  6. Remember the user's most recent search word (the search string), and display it in the dialogue box. The word should be highlighted (white text on black background).
    • If the user selects [FIND], or hits [RETURN], do another search for the next instance of the same word (without making the user retype the word).
    • If the user starts typing, the highlighted word (from the previous search) disappears, and the new word that the user is typing takes its place.
    • If the user has recently done a full Search using "CTRL-f", this search word should be remembered and presented in the "Find" box (This is the one exception where there is an interaction between the "Find" function and the "Search" function.)
  7. If the user has not done a previous "Find", the default behavior should be:
    • The Search text box for "Find" is pre-populated with the "Text" value for the Word/Token the user is currently focused on.
    • Pressing "F" for "Find" moves the cursor to the next instance of this value.
  8. The "Find" function should also be available from the main Menu. To pop up the "Find" dialogue box, the user selects Edit > Find.

Related to

johnwdubois commented 3 years ago

I have made significant changes to this ticket, so please check it out. - JWD