classification
Title: Modernize the IDLE Find/Replace/Find in Files dialogs
Type: enhancement Stage: patch review
Components: IDLE Versions: Python 3.5, Python 3.4, Python 2.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: Al.Sweigart, markroseman, rhettinger, terry.reedy
Priority: normal Keywords: patch

Created on 2015-01-10 10:00 by Al.Sweigart, last changed 2016-11-07 19:33 by terry.reedy.

Files
File name Uploaded Description Edit
idle_grep_compare.png Al.Sweigart, 2015-01-10 10:00 Before/after screenshots of the dialog redesign.
idle_find_ui_redesign.diff Al.Sweigart, 2015-01-10 10:02 Patch for the changes review
idle_grep_compare2.png Al.Sweigart, 2015-01-18 09:35 Updated comparison image
idle_find_ui_redesign2.diff Al.Sweigart, 2015-01-18 09:40 Patch for the changes v2 review
idle_find_ttk.png markroseman, 2015-08-02 20:57
find-dialogs.patch markroseman, 2015-09-25 23:55 review
Messages (7)
msg233812 - (view) Author: Al Sweigart (Al.Sweigart) * Date: 2015-01-10 10:00
Various changes to modernize the user interface of the Find, Replace, and Find in Files dialogs:

- Got rid of the "close" button, since it is redundant.
- Moved the buttons below the text fields, to make better use of screen real estate.
- Shorten the titles by getting rid of the "Dialog" part.
- Renamed "Search" title to "Find" to match the menu item.
- Renamed "Regular expression" label to the shorter "Regex"
- Added slightly more padding.
- Removed the "Replace+Find" and made "Replace" have this functionality. (all modern editors use Replace to mean "Replace and Find")

The attached png shows the before/after differences in the design of these dialogs.
msg234230 - (view) Author: Al Sweigart (Al.Sweigart) * Date: 2015-01-18 09:40
I've made some minor updates: Adding colons to the labels and right-justifying them. These updates can be seen in the second comparison screenshot.
msg247893 - (view) Author: Mark Roseman (markroseman) * Date: 2015-08-02 20:57
For illustration, attached idle_find_ttk.png, which is a minor layout tweak of the existing one (works on all the various find dialogs, though not shown in screen shot). I agree with Al's other suggestions here.
msg247906 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2015-08-02 22:31
These changes all seem reasonable and have a nice look.
I have misgivings about shortening "regular expression" to "regex".
Otherwise, +1 for everything else.
msg251623 - (view) Author: Mark Roseman (markroseman) * Date: 2015-09-25 23:55
Have attached find-dialogs.patch, which does some cosmetic tweaks to the existing dialogs, as per the previous screenshot. It uses ttk widgets if available, and standard Tk widgets if not.

Relies on the ui.py module (not attached, as it is changing often).
msg280129 - (view) Author: Al Sweigart (Al.Sweigart) * Date: 2016-11-06 03:22
*Bump* Just wanted to bring attention to this issue. We could keep "Regular expression" instead of "Regex" for the label (Sublime Text and other editors have "Regular expression")

I think Mark's patch would be better over mine.
msg280227 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2016-11-07 19:33
Al, thanks for the honest comparison. 

For 3.6, we can just import and use ttk with no fuss. 

When I get to this, I will review tests and responses to <Return> and <Escape> (see #27621).
History
Date User Action Args
2016-11-07 19:33:39terry.reedysetmessages: + msg280227
2016-11-06 03:22:29Al.Sweigartsetmessages: + msg280129
2015-09-25 23:55:34markrosemansetfiles: + find-dialogs.patch

messages: + msg251623
2015-08-02 22:31:07rhettingersetnosy: + rhettinger
messages: + msg247906
2015-08-02 20:57:27markrosemansetfiles: + idle_find_ttk.png
nosy: + markroseman
messages: + msg247893

2015-01-18 09:40:35Al.Sweigartsetmessages: + msg234230
2015-01-18 09:40:04Al.Sweigartsetfiles: + idle_find_ui_redesign2.diff
2015-01-18 09:35:48Al.Sweigartsetfiles: + idle_grep_compare2.png
2015-01-11 16:12:19berker.peksagsetnosy: + terry.reedy

stage: patch review
2015-01-11 04:06:58Al.Sweigartsetversions: + Python 2.7, Python 3.4
2015-01-10 10:02:37Al.Sweigartsetfiles: + idle_find_ui_redesign.diff
keywords: + patch
2015-01-10 10:00:51Al.Sweigartcreate