Commit 47f29a67 authored by Ronald Oussoren's avatar Ronald Oussoren

Patch 1693258: Fix for duplicate "preferences" menu-OS X

Backport of 56204.
parent 43f1f68b
...@@ -80,32 +80,40 @@ def overrideRootMenu(root, flist): ...@@ -80,32 +80,40 @@ def overrideRootMenu(root, flist):
import configDialog import configDialog
configDialog.ConfigDialog(root, 'Settings') configDialog.ConfigDialog(root, 'Settings')
root.bind('<<about-idle>>', about_dialog) root.bind('<<about-idle>>', about_dialog)
root.bind('<<open-config-dialog>>', config_dialog) root.bind('<<open-config-dialog>>', config_dialog)
if flist: if flist:
root.bind('<<close-all-windows>>', flist.close_all_callback) root.bind('<<close-all-windows>>', flist.close_all_callback)
for mname, entrylist in Bindings.menudefs:
menu = menudict.get(mname) ###check if Tk version >= 8.4.14; if so, use hard-coded showprefs binding
if not menu: tkversion = root.tk.eval('info patchlevel')
continue if tkversion >= '8.4.14':
for entry in entrylist: Bindings.menudefs[0] = ('application', [
if not entry: ('About IDLE', '<<about-idle>>'),
menu.add_separator() None,
])
root.createcommand('::tk::mac::ShowPreferences', config_dialog)
else:
for mname, entrylist in Bindings.menudefs:
menu = menudict.get(mname)
if not menu:
continue
else: else:
label, eventname = entry for entry in entrylist:
underline, label = prepstr(label) if not entry:
accelerator = get_accelerator(Bindings.default_keydefs, menu.add_separator()
else:
label, eventname = entry
underline, label = prepstr(label)
accelerator = get_accelerator(Bindings.default_keydefs,
eventname) eventname)
def command(text=root, eventname=eventname): def command(text=root, eventname=eventname):
text.event_generate(eventname) text.event_generate(eventname)
menu.add_command(label=label, underline=underline, menu.add_command(label=label, underline=underline,
command=command, accelerator=accelerator) command=command, accelerator=accelerator)
def setupApp(root, flist): def setupApp(root, flist):
""" """
Perform setup for the OSX application bundle. Perform setup for the OSX application bundle.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment