diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py index 86532f873bd..da08d7151af 100644 --- a/Lib/idlelib/EditorWindow.py +++ b/Lib/idlelib/EditorWindow.py @@ -486,6 +486,7 @@ class EditorWindow: if self.flist: self.flist.filename_changed_edit(self) self.saved_change_hook() + self.top.update_windowlist_registry(self) if self.ispythonsource(self.io.filename): self.addcolorizer() else: diff --git a/Lib/idlelib/FileList.py b/Lib/idlelib/FileList.py index 7a46afaa028..4e08e705d60 100644 --- a/Lib/idlelib/FileList.py +++ b/Lib/idlelib/FileList.py @@ -61,10 +61,6 @@ class FileList: def new(self, filename=None): return self.EditorWindow(self, filename) - def new_callback(self, event): - self.new() - return "break" - def close_all_callback(self, event): for edit in self.inversedict.keys(): reply = edit.close() diff --git a/Lib/idlelib/WindowList.py b/Lib/idlelib/WindowList.py index 542b738674f..ba9f3b34c95 100644 --- a/Lib/idlelib/WindowList.py +++ b/Lib/idlelib/WindowList.py @@ -29,9 +29,6 @@ class WindowList: list.append((title, window)) list.sort() for title, window in list: - if title == "Python Shell": - # Hack -- until we have a better way to this - continue menu.add_command(label=title, command=window.wakeup) def register_callback(self, callback): @@ -72,6 +69,9 @@ class ListedToplevel(Toplevel): if not registry.dict: self.quit() + def update_windowlist_registry(self, window): + registry.call_callbacks() + def get_title(self): # Subclass can override return self.wm_title()