mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Issue #17654: Ensure IDLE menus are customized properly on OS X for
non-framework builds and for all variants of Tk.
This commit is contained in:
parent
e7d532fbc9
commit
b7601676b0
12 changed files with 130 additions and 94 deletions
|
@ -109,8 +109,8 @@ class EditorWindow(object):
|
|||
'Python%s.chm' % _sphinx_version())
|
||||
if os.path.isfile(chmfile):
|
||||
dochome = chmfile
|
||||
elif macosxSupport.runningAsOSXApp():
|
||||
# documentation is stored inside the python framework
|
||||
elif sys.platform == 'darwin':
|
||||
# documentation may be stored inside a python framework
|
||||
dochome = os.path.join(sys.base_prefix,
|
||||
'Resources/English.lproj/Documentation/index.html')
|
||||
dochome = os.path.normpath(dochome)
|
||||
|
@ -166,7 +166,7 @@ class EditorWindow(object):
|
|||
|
||||
self.top.protocol("WM_DELETE_WINDOW", self.close)
|
||||
self.top.bind("<<close-window>>", self.close_event)
|
||||
if macosxSupport.runningAsOSXApp():
|
||||
if macosxSupport.isAquaTk():
|
||||
# Command-W on editorwindows doesn't work without this.
|
||||
text.bind('<<close-window>>', self.close_event)
|
||||
# Some OS X systems have only one mouse button,
|
||||
|
@ -409,7 +409,7 @@ class EditorWindow(object):
|
|||
|
||||
def set_status_bar(self):
|
||||
self.status_bar = self.MultiStatusBar(self.top)
|
||||
if macosxSupport.runningAsOSXApp():
|
||||
if sys.platform == "darwin":
|
||||
# Insert some padding to avoid obscuring some of the statusbar
|
||||
# by the resize widget.
|
||||
self.status_bar.set_label('_padding1', ' ', side=RIGHT)
|
||||
|
@ -436,7 +436,7 @@ class EditorWindow(object):
|
|||
("help", "_Help"),
|
||||
]
|
||||
|
||||
if macosxSupport.runningAsOSXApp():
|
||||
if sys.platform == "darwin":
|
||||
menu_specs[-2] = ("windows", "_Window")
|
||||
|
||||
|
||||
|
@ -447,7 +447,7 @@ class EditorWindow(object):
|
|||
underline, label = prepstr(label)
|
||||
menudict[name] = menu = Menu(mbar, name=name)
|
||||
mbar.add_cascade(label=label, menu=menu, underline=underline)
|
||||
if macosxSupport.isCarbonAquaTk(self.root):
|
||||
if macosxSupport.isCarbonTk():
|
||||
# Insert the application menu
|
||||
menudict['application'] = menu = Menu(mbar, name='apple')
|
||||
mbar.add_cascade(label='IDLE', menu=menu)
|
||||
|
@ -1673,7 +1673,7 @@ def get_accelerator(keydefs, eventname):
|
|||
keylist = keydefs.get(eventname)
|
||||
# issue10940: temporary workaround to prevent hang with OS X Cocoa Tk 8.5
|
||||
# if not keylist:
|
||||
if (not keylist) or (macosxSupport.runningAsOSXApp() and eventname in {
|
||||
if (not keylist) or (macosxSupport.isCocoaTk() and eventname in {
|
||||
"<<open-module>>",
|
||||
"<<goto-line>>",
|
||||
"<<change-indentwidth>>"}):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue