From 3be2e54adcc5c8fd87f5f21e09ee4a85d230f8c5 Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Fri, 25 Sep 2015 22:22:55 -0400 Subject: [PATCH] Issue #25173: Replace 'master' with 'parent' in tkinter.messagebox calls. This associates the message box with the widget and is better for Mac OSX. Patch by Mark Roseman. --- Lib/idlelib/IOBinding.py | 20 ++++++++++---------- Lib/idlelib/OutputWindow.py | 2 +- Lib/idlelib/PyShell.py | 12 ++++++------ Lib/idlelib/ScriptBinding.py | 4 ++-- Lib/idlelib/run.py | 2 +- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Lib/idlelib/IOBinding.py b/Lib/idlelib/IOBinding.py index 505cc8b83e7..1e9398750fe 100644 --- a/Lib/idlelib/IOBinding.py +++ b/Lib/idlelib/IOBinding.py @@ -217,7 +217,7 @@ class IOBinding: f.seek(0) bytes = f.read() except OSError as msg: - tkMessageBox.showerror("I/O Error", str(msg), master=self.text) + tkMessageBox.showerror("I/O Error", str(msg), parent=self.text) return False chars, converted = self._decode(two_lines, bytes) if chars is None: @@ -266,7 +266,7 @@ class IOBinding: title="Error loading the file", message="The encoding '%s' is not known to this Python "\ "installation. The file may not display correctly" % name, - master = self.text) + parent = self.text) enc = None except UnicodeDecodeError: return None, False @@ -321,7 +321,7 @@ class IOBinding: title="Save On Close", message=message, default=tkMessageBox.YES, - master=self.text) + parent=self.text) if confirm: reply = "yes" self.save(None) @@ -381,7 +381,7 @@ class IOBinding: return True except OSError as msg: tkMessageBox.showerror("I/O Error", str(msg), - master=self.text) + parent=self.text) return False def encode(self, chars): @@ -418,7 +418,7 @@ class IOBinding: tkMessageBox.showerror( "I/O Error", "%s.\nSaving as UTF-8" % failed, - master = self.text) + parent = self.text) # Fallback: save as UTF-8, with BOM - ignoring the incorrect # declared encoding return BOM_UTF8 + chars.encode("utf-8") @@ -433,7 +433,7 @@ class IOBinding: title="Print", message="Print to Default Printer", default=tkMessageBox.OK, - master=self.text) + parent=self.text) if not confirm: self.text.focus_set() return "break" @@ -470,10 +470,10 @@ class IOBinding: status + output if output: output = "Printing command: %s\n" % repr(command) + output - tkMessageBox.showerror("Print status", output, master=self.text) + tkMessageBox.showerror("Print status", output, parent=self.text) else: #no printing for this platform message = "Printing is not enabled for this platform: %s" % platform - tkMessageBox.showinfo("Print status", message, master=self.text) + tkMessageBox.showinfo("Print status", message, parent=self.text) if tempfilename: os.unlink(tempfilename) return "break" @@ -492,7 +492,7 @@ class IOBinding: def askopenfile(self): dir, base = self.defaultfilename("open") if not self.opendialog: - self.opendialog = tkFileDialog.Open(master=self.text, + self.opendialog = tkFileDialog.Open(parent=self.text, filetypes=self.filetypes) filename = self.opendialog.show(initialdir=dir, initialfile=base) return filename @@ -513,7 +513,7 @@ class IOBinding: dir, base = self.defaultfilename("save") if not self.savedialog: self.savedialog = tkFileDialog.SaveAs( - master=self.text, + parent=self.text, filetypes=self.filetypes, defaultextension=self.defaultextension) filename = self.savedialog.show(initialdir=dir, initialfile=base) diff --git a/Lib/idlelib/OutputWindow.py b/Lib/idlelib/OutputWindow.py index 9dacc492b59..e614f9b2bb7 100644 --- a/Lib/idlelib/OutputWindow.py +++ b/Lib/idlelib/OutputWindow.py @@ -91,7 +91,7 @@ class OutputWindow(EditorWindow): "No special line", "The line you point at doesn't look like " "a valid file name followed by a line number.", - master=self.text) + parent=self.text) return filename, lineno = result edit = self.flist.open(filename) diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py index 6bbd45678ac..57aa6dae2ed 100755 --- a/Lib/idlelib/PyShell.py +++ b/Lib/idlelib/PyShell.py @@ -774,7 +774,7 @@ class ModifiedInterpreter(InteractiveInterpreter): "Exit?", "Do you want to exit altogether?", default="yes", - master=self.tkconsole.text): + parent=self.tkconsole.text): raise else: self.showtraceback() @@ -812,7 +812,7 @@ class ModifiedInterpreter(InteractiveInterpreter): "Run IDLE with the -n command line switch to start without a " "subprocess and refer to Help/IDLE Help 'Running without a " "subprocess' for further details.", - master=self.tkconsole.text) + parent=self.tkconsole.text) def display_no_subprocess_error(self): tkMessageBox.showerror( @@ -820,14 +820,14 @@ class ModifiedInterpreter(InteractiveInterpreter): "IDLE's subprocess didn't make connection. Either IDLE can't " "start a subprocess or personal firewall software is blocking " "the connection.", - master=self.tkconsole.text) + parent=self.tkconsole.text) def display_executing_dialog(self): tkMessageBox.showerror( "Already executing", "The Python Shell window is already executing a command; " "please wait until it is finished.", - master=self.tkconsole.text) + parent=self.tkconsole.text) class PyShell(OutputWindow): @@ -931,7 +931,7 @@ class PyShell(OutputWindow): if self.executing: tkMessageBox.showerror("Don't debug now", "You can only toggle the debugger when idle", - master=self.text) + parent=self.text) self.set_debugger_indicator() return "break" else: @@ -1239,7 +1239,7 @@ class PyShell(OutputWindow): tkMessageBox.showerror("No stack trace", "There is no stack trace yet.\n" "(sys.last_traceback is not defined)", - master=self.text) + parent=self.text) return from idlelib.StackViewer import StackBrowser StackBrowser(self.root, self.flist) diff --git a/Lib/idlelib/ScriptBinding.py b/Lib/idlelib/ScriptBinding.py index e5636dfe9a7..5cb818d833b 100644 --- a/Lib/idlelib/ScriptBinding.py +++ b/Lib/idlelib/ScriptBinding.py @@ -197,10 +197,10 @@ class ScriptBinding: confirm = tkMessageBox.askokcancel(title="Save Before Run or Check", message=msg, default=tkMessageBox.OK, - master=self.editwin.text) + parent=self.editwin.text) return confirm def errorbox(self, title, message): # XXX This should really be a function of EditorWindow... - tkMessageBox.showerror(title, message, master=self.editwin.text) + tkMessageBox.showerror(title, message, parent=self.editwin.text) self.editwin.text.focus_set() diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py index 228875c5917..595e7bc3aa1 100644 --- a/Lib/idlelib/run.py +++ b/Lib/idlelib/run.py @@ -174,7 +174,7 @@ def show_socket_error(err, address): tkMessageBox.showerror("IDLE Subprocess Error", msg, parent=root) else: tkMessageBox.showerror("IDLE Subprocess Error", - "Socket Error: %s" % err.args[1]) + "Socket Error: %s" % err.args[1], parent=root) root.destroy() def print_exception():