From d0cadba85f1c70e8bce20dbe8cc54a4e1fe8cb5e Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Sun, 11 Oct 2015 22:07:31 -0400 Subject: Issue #22726: Re-activate config dialog help button with some content about the other buttons and the new IDLE Dark theme. --- Lib/idlelib/configDialog.py | 51 ++++++++++++++++++++++++++++----------------- Lib/idlelib/textView.py | 2 +- 2 files changed, 33 insertions(+), 20 deletions(-) diff --git a/Lib/idlelib/configDialog.py b/Lib/idlelib/configDialog.py index 94a9fb8..48cd991 100644 --- a/Lib/idlelib/configDialog.py +++ b/Lib/idlelib/configDialog.py @@ -20,7 +20,9 @@ from idlelib.keybindingDialog import GetKeysDialog from idlelib.configSectionNameDialog import GetCfgSectionNameDialog from idlelib.configHelpSourceEdit import GetHelpSourceDialog from idlelib.tabbedpages import TabbedPageSet +from idlelib.textView import view_text from idlelib import macosxSupport + class ConfigDialog(Toplevel): def __init__(self, parent, title='', _htest=False, _utest=False): @@ -85,6 +87,7 @@ class ConfigDialog(Toplevel): self.CreatePageKeys() self.CreatePageGeneral() self.create_action_buttons().pack(side=BOTTOM) + def create_action_buttons(self): if macosxSupport.isAquaTk(): # Changing the default padding on OSX results in unreadable @@ -94,28 +97,18 @@ class ConfigDialog(Toplevel): paddingArgs = {'padx':6, 'pady':3} outer = Frame(self, pady=2) buttons = Frame(outer, pady=2) - self.buttonOk = Button( - buttons, text='Ok', command=self.Ok, - takefocus=FALSE, **paddingArgs) - self.buttonApply = Button( - buttons, text='Apply', command=self.Apply, - takefocus=FALSE, **paddingArgs) - self.buttonCancel = Button( - buttons, text='Cancel', command=self.Cancel, - takefocus=FALSE, **paddingArgs) - self.buttonOk.pack(side=LEFT, padx=5) - self.buttonApply.pack(side=LEFT, padx=5) - self.buttonCancel.pack(side=LEFT, padx=5) -# Comment out Help button creation and packing until implement self.Help -## self.buttonHelp = Button( -## buttons, text='Help', command=self.Help, -## takefocus=FALSE, **paddingArgs) -## self.buttonHelp.pack(side=RIGHT, padx=5) - + for txt, cmd in ( + ('Ok', self.Ok), + ('Apply', self.Apply), + ('Cancel', self.Cancel), + ('Help', self.Help)): + Button(buttons, text=txt, command=cmd, takefocus=FALSE, + **paddingArgs).pack(side=LEFT, padx=5) # add space above buttons Frame(outer, height=2, borderwidth=0).pack(side=TOP) buttons.pack(side=BOTTOM) return outer + def CreatePageFontTab(self): parent = self.parent self.fontSize = StringVar(parent) @@ -1183,7 +1176,27 @@ class ConfigDialog(Toplevel): self.ActivateConfigChanges() def Help(self): - pass + page = self.tabPages._current_page + view_text(self, title='Help for IDLE preferences', + text=help_common+help_pages.get(page, '')) + +help_common = '''\ +When you click either the Apply or Ok buttons, settings in this +dialog that are different from IDLE's default are saved in +a .idlerc directory in your home directory. Except as noted, +hese changes apply to all versions of IDLE installed on this +machine. Some do not take affect until IDLE is restarted. +[Cancel] only cancels changes made since the last save. +''' +help_pages = { + 'Highlighting':''' +Highlighting: +The IDLE Dark color theme is new in Octover 2015. It can only +be used with older IDLE releases if it is saved as a custom +theme, with a different name. +''' +} + class VerticalScrolledFrame(Frame): """A pure Tkinter vertically scrollable frame. diff --git a/Lib/idlelib/textView.py b/Lib/idlelib/textView.py index 4257eea..01b2d8f 100644 --- a/Lib/idlelib/textView.py +++ b/Lib/idlelib/textView.py @@ -21,7 +21,7 @@ class TextViewer(Toplevel): Toplevel.__init__(self, parent) self.configure(borderwidth=5) # place dialog below parent if running htest - self.geometry("=%dx%d+%d+%d" % (625, 500, + self.geometry("=%dx%d+%d+%d" % (750, 500, parent.winfo_rootx() + 10, parent.winfo_rooty() + (10 if not _htest else 100))) #elguavas - config placeholders til config stuff completed -- cgit v0.12