]> granicus.if.org Git - python/commitdiff
#10404: Use ctl-button-1 for context menus on OSX Idle.
authorR. David Murray <rdmurray@bitdance.com>
Sat, 18 Dec 2010 17:19:10 +0000 (17:19 +0000)
committerR. David Murray <rdmurray@bitdance.com>
Sat, 18 Dec 2010 17:19:10 +0000 (17:19 +0000)
This provides access to the context menus where they previously could
not be accessed due to the way OSX Tk binds buttons.  It also
improves platform consistency.

Patch by Ned Deily.

Lib/idlelib/EditorWindow.py
Misc/NEWS

index a634962375009c1f59edbff39b521320672020e5..a06c341be850cab111a56c592526ee547758f55a 100644 (file)
@@ -138,6 +138,14 @@ class EditorWindow(object):
         if macosxSupport.runningAsOSXApp():
             # 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,
+            # so use control-click for pulldown menus there.
+            #  (Note, AquaTk defines <2> as the right button if
+            #   present and the Tk Text widget already binds <2>.)
+            text.bind("<Control-Button-1>",self.right_menu_event)
+        else:
+            # Elsewhere, use right-click for pulldown menus.
+            text.bind("<3>",self.right_menu_event)
         text.bind("<<cut>>", self.cut)
         text.bind("<<copy>>", self.copy)
         text.bind("<<paste>>", self.paste)
@@ -156,7 +164,6 @@ class EditorWindow(object):
         text.bind("<<find-selection>>", self.find_selection_event)
         text.bind("<<replace>>", self.replace_event)
         text.bind("<<goto-line>>", self.goto_line_event)
-        text.bind("<3>", self.right_menu_event)
         text.bind("<<smart-backspace>>",self.smart_backspace_event)
         text.bind("<<newline-and-indent>>",self.newline_and_indent_event)
         text.bind("<<smart-indent>>",self.smart_indent_event)
index 020ddd1000eb0d31869be06131f2057aff8ec4a9..456b1ef40d990c09bc6eea2b174c5129937ecfce 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -23,7 +23,9 @@ Core and Builtins
 Library
 -------
 
-- Issue $9907: Fix tab handling on OSX when using editline by calling
+- Issue #10404: Use ctl-button-1 on OSX for the context menu in Idle.
+
+- Issue #9907: Fix tab handling on OSX when using editline by calling
   rl_initialize first, then setting our custom defaults, then reading .editrc.
 
 - Issue #4188: Avoid creating dummy thread objects when logging operations