| To: vim-dev@vim.org |
| Subject: patch 7.1.007 (extra) |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=ISO-8859-1 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.1.007 (extra) |
| Problem: Mac: Context menu doesn't work on Intel Macs. |
| Scrollbars are not dimmed when Vim is not the active application. |
| Solution: Remove the test whether context menus are supported. They are |
| always there in OS/X. Handle the dimming. (Nicolas Weber) |
| Files: src/gui_mac.c, src/gui.h |
| |
| |
| |
| |
| |
| *** 1676,1688 **** |
| /* TODO: NEEDED? */ |
| clickIsPopup = FALSE; |
| |
| ! if ((gui.MacOSHaveCntxMenu) && (mouse_model_popup())) |
| ! if (IsShowContextualMenuClick(theEvent)) |
| ! { |
| ! vimMouseButton = MOUSE_RIGHT; |
| ! vimModifiers &= ~MOUSE_CTRL; |
| ! clickIsPopup = TRUE; |
| ! } |
| |
| /* Is it a double click ? */ |
| dblClick = ((theEvent->when - lastMouseTick) < GetDblTime()); |
| --- 1676,1687 ---- |
| /* TODO: NEEDED? */ |
| clickIsPopup = FALSE; |
| |
| ! if (mouse_model_popup() && IsShowContextualMenuClick(theEvent)) |
| ! { |
| ! vimMouseButton = MOUSE_RIGHT; |
| ! vimModifiers &= ~MOUSE_CTRL; |
| ! clickIsPopup = TRUE; |
| ! } |
| |
| /* Is it a double click ? */ |
| dblClick = ((theEvent->when - lastMouseTick) < GetDblTime()); |
| |
| *** 1920,1943 **** |
| WindowPtr whichWindow; |
| |
| whichWindow = (WindowPtr) event->message; |
| ! if ((event->modifiers) & activeFlag) |
| ! /* Activate */ |
| ! gui_focus_change(TRUE); |
| ! else |
| { |
| ! /* Deactivate */ |
| ! gui_focus_change(FALSE); |
| ! /* DON'T KNOW what the code below was doing |
| ! found in the deactivate clause, but the |
| ! clause writing TRUE into in_focus (BUG) |
| ! */ |
| ! |
| ! #if 0 /* Removed by Dany as per above June 2001 */ |
| ! a_bool = false; |
| ! SetPreserveGlyph(a_bool); |
| ! SetOutlinePreferred(a_bool); |
| ! #endif |
| } |
| } |
| |
| |
| --- 1919,1937 ---- |
| WindowPtr whichWindow; |
| |
| whichWindow = (WindowPtr) event->message; |
| ! /* Dim scrollbars */ |
| ! if (whichWindow == gui.VimWindow) |
| { |
| ! ControlRef rootControl; |
| ! GetRootControl(gui.VimWindow, &rootControl); |
| ! if ((event->modifiers) & activeFlag) |
| ! ActivateControl(rootControl); |
| ! else |
| ! DeactivateControl(rootControl); |
| } |
| + |
| + /* Activate */ |
| + gui_focus_change((event->modifiers) & activeFlag); |
| } |
| |
| |
| |
| *** 2559,2574 **** |
| OSErr error; |
| |
| /* Handle contextual menu right now (if needed) */ |
| ! if (gui.MacOSHaveCntxMenu) |
| ! if (IsShowContextualMenuClick(event)) |
| ! { |
| # if 0 |
| ! gui_mac_handle_contextual_menu(event); |
| # else |
| ! gui_mac_doMouseDownEvent(event); |
| # endif |
| ! return; |
| ! } |
| |
| /* Handle normal event */ |
| switch (event->what) |
| --- 2553,2567 ---- |
| OSErr error; |
| |
| /* Handle contextual menu right now (if needed) */ |
| ! if (IsShowContextualMenuClick(event)) |
| ! { |
| # if 0 |
| ! gui_mac_handle_contextual_menu(event); |
| # else |
| ! gui_mac_doMouseDownEvent(event); |
| # endif |
| ! return; |
| ! } |
| |
| /* Handle normal event */ |
| switch (event->what) |
| |
| *** 2782,2795 **** |
| (void) InstallAEHandlers(); |
| #endif |
| |
| - if (Gestalt(gestaltContextualMenuAttr, &gestalt_rc) == noErr) |
| - gui.MacOSHaveCntxMenu = BitTst(&gestalt_rc, 31-gestaltContextualMenuTrapAvailable); |
| - else |
| - gui.MacOSHaveCntxMenu = false; |
| - |
| - if (gui.MacOSHaveCntxMenu) |
| - gui.MacOSHaveCntxMenu = (InitContextualMenus()==noErr); |
| - |
| pomme = NewMenu(256, "\p\024"); /* 0x14= = Apple Menu */ |
| |
| AppendMenu(pomme, "\pAbout VIM"); |
| --- 2775,2780 ---- |
| |
| *** 2941,2946 **** |
| --- 2926,2932 ---- |
| #ifdef USE_CARBONKEYHANDLER |
| EventHandlerRef keyEventHandlerRef; |
| #endif |
| + ControlRef rootControl; |
| |
| if (Gestalt(gestaltSystemVersion, &gMacSystemVersion) != noErr) |
| gMacSystemVersion = 0x1000; /* TODO: Default to minimum sensible value */ |
| |
| *** 2954,2968 **** |
| (void) InstallAEHandlers(); |
| #endif |
| |
| - /* Ctrl click */ |
| - if (Gestalt(gestaltContextualMenuAttr, &gestalt_rc) == noErr) |
| - gui.MacOSHaveCntxMenu = BitTst(&gestalt_rc, 31-gestaltContextualMenuTrapAvailable); |
| - else |
| - gui.MacOSHaveCntxMenu = false; |
| - |
| - if (gui.MacOSHaveCntxMenu) |
| - gui.MacOSHaveCntxMenu = (InitContextualMenus()==noErr); |
| - |
| pomme = NewMenu(256, "\p\024"); /* 0x14= = Apple Menu */ |
| |
| AppendMenu(pomme, "\pAbout VIM"); |
| --- 2940,2945 ---- |
| |
| *** 2981,2986 **** |
| --- 2958,2964 ---- |
| gui.VimWindow = NewCWindow(nil, &windRect, "\pgVim on Macintosh", true, |
| zoomDocProc, |
| (WindowPtr)-1L, true, 0); |
| + CreateRootControl(gui.VimWindow, &rootControl); |
| InstallReceiveHandler((DragReceiveHandlerUPP)receiveHandler, |
| gui.VimWindow, NULL); |
| SetPortWindowPort(gui.VimWindow); |
| |
| |
| |
| *** 460,466 **** |
| WindowPtr VimWindow; |
| MenuHandle MacOSHelpMenu; /* Help menu provided by the MacOS */ |
| int MacOSHelpItems; /* Nr of help-items supplied by MacOS */ |
| - int MacOSHaveCntxMenu; /* Contextual menu available */ |
| WindowPtr wid; /* Window id of text area */ |
| int visibility; /* Is window partially/fully obscured? */ |
| #endif |
| --- 460,465 ---- |
| |
| |
| |
| *** 668,669 **** |
| --- 668,671 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 7, |
| /**/ |
| |
| -- |
| When danger reared its ugly head, |
| He bravely turned his tail and fled |
| Yes, Brave Sir Robin turned about |
| And gallantly he chickened out |
| Bravely taking to his feet |
| He beat a very brave retreat |
| Bravest of the brave Sir Robin |
| Petrified of being dead |
| Soiled his pants then brave Sir Robin |
| Turned away and fled. |
| "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ download, build and distribute -- http://www.A-A-P.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |