#56589 - Add shared menus support (requires version 1.2 of SharedMenus.component) for CFM version of Mozilla for Mac OS X. r=bnesse,sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@131488 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -3261,6 +3261,16 @@
|
||||
<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
|
||||
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
|
||||
</SETTING>
|
||||
<SETTING>
|
||||
<SETTING><NAME>SearchPath</NAME>
|
||||
<SETTING><NAME>Path</NAME><VALUE>:MacOS Support:(Third Party Support):Carbonized Menu Sharing:</VALUE></SETTING>
|
||||
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
|
||||
<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
|
||||
</SETTING>
|
||||
<SETTING><NAME>Recursive</NAME><VALUE>true</VALUE></SETTING>
|
||||
<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
|
||||
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
|
||||
</SETTING>
|
||||
</SETTING>
|
||||
<SETTING><NAME>SystemSearchPaths</NAME>
|
||||
<SETTING>
|
||||
@@ -4444,6 +4454,13 @@
|
||||
<FILEKIND>Library</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>MenuSharing.c</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
</FILELIST>
|
||||
<LINKORDER>
|
||||
<FILEREF>
|
||||
@@ -4716,6 +4733,11 @@
|
||||
<PATH>WidgetSupportDebug.shlb</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>MenuSharing.c</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</LINKORDER>
|
||||
</TARGET>
|
||||
<TARGET>
|
||||
@@ -4800,6 +4822,16 @@
|
||||
<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
|
||||
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
|
||||
</SETTING>
|
||||
<SETTING>
|
||||
<SETTING><NAME>SearchPath</NAME>
|
||||
<SETTING><NAME>Path</NAME><VALUE>:MacOS Support:(Third Party Support):Carbonized Menu Sharing:</VALUE></SETTING>
|
||||
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
|
||||
<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
|
||||
</SETTING>
|
||||
<SETTING><NAME>Recursive</NAME><VALUE>true</VALUE></SETTING>
|
||||
<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
|
||||
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
|
||||
</SETTING>
|
||||
</SETTING>
|
||||
<SETTING><NAME>SystemSearchPaths</NAME>
|
||||
<SETTING>
|
||||
@@ -5983,6 +6015,13 @@
|
||||
<FILEKIND>Library</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>MenuSharing.c</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
</FILELIST>
|
||||
<LINKORDER>
|
||||
<FILEREF>
|
||||
@@ -6255,6 +6294,11 @@
|
||||
<PATH>WidgetSupport.shlb</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>MenuSharing.c</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</LINKORDER>
|
||||
</TARGET>
|
||||
</TARGETLIST>
|
||||
@@ -6311,6 +6355,12 @@
|
||||
<PATH>nsTSMStrategy.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<TARGETNAME>widgetCarbonDebug.shlb</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>MenuSharing.c</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</GROUP>
|
||||
<GROUP><NAME>Mac Apps</NAME>
|
||||
<FILEREF>
|
||||
|
||||
@@ -86,6 +86,9 @@
|
||||
#include "nsISocketTransportService.h"
|
||||
#include "nsIFileTransportService.h"
|
||||
|
||||
#if TARGET_CARBON && !XP_MACOSX
|
||||
#include "MenuSharing.h"
|
||||
#endif
|
||||
|
||||
#ifndef topLeft
|
||||
#define topLeft(r) (((Point *) &(r))[0])
|
||||
@@ -189,6 +192,22 @@ static long ConvertOSMenuResultToPPMenuResult(long menuResult)
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#if TARGET_CARBON && !XP_MACOSX
|
||||
#pragma mark MenuSharingToolkitSupport
|
||||
//=================================================================
|
||||
static pascal void ErrorDialog (Str255 s)
|
||||
{
|
||||
//ParamText (s, "\p", "\p", "\p");
|
||||
//Alert (kMenuSharingAlertID, nil);
|
||||
}
|
||||
|
||||
//=================================================================
|
||||
static pascal void EventFilter (EventRecord *ev)
|
||||
{
|
||||
// Hrm, prolly should do _something_ here
|
||||
}
|
||||
#pragma mark -
|
||||
#endif
|
||||
|
||||
static NS_DEFINE_CID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID);
|
||||
|
||||
@@ -214,6 +233,11 @@ nsMacMessagePump::nsMacMessagePump(nsToolkit *aToolkit)
|
||||
|
||||
// startup the watch cursor idle time vbl task
|
||||
nsWatchTask::GetTask().Start();
|
||||
|
||||
#if TARGET_CARBON && !XP_MACOSX
|
||||
// added to support Menu Sharing API. Initializes the Menu Sharing API.
|
||||
InitSharedMenus (ErrorDialog, EventFilter);
|
||||
#endif
|
||||
}
|
||||
|
||||
//=================================================================
|
||||
@@ -983,6 +1007,14 @@ void nsMacMessagePump::DoIdle(EventRecord &anEvent)
|
||||
// send mouseMove event
|
||||
static Point lastWhere = {0, 0};
|
||||
|
||||
#if TARGET_CARBON && !XP_MACOSX
|
||||
if ( nsToolkit::IsAppInForeground() )
|
||||
{
|
||||
// Shared Menu support - note we hardcode first menu ID available as 31000
|
||||
CheckSharedMenus(31000);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (*(long*)&lastWhere == *(long*)&anEvent.where)
|
||||
return;
|
||||
|
||||
|
||||
@@ -70,6 +70,10 @@
|
||||
|
||||
#include "nsGUIEvent.h"
|
||||
|
||||
#if !XP_MACOSX
|
||||
#include "MenuSharing.h"
|
||||
#endif
|
||||
|
||||
// CIDs
|
||||
#include "nsWidgetsCID.h"
|
||||
static NS_DEFINE_CID(kMenuBarCID, NS_MENUBAR_CID);
|
||||
@@ -351,6 +355,20 @@ nsMenuBarX :: CommandEventHandler ( EventHandlerCallRef inHandlerChain, EventRef
|
||||
break;
|
||||
}
|
||||
|
||||
#if !XP_MACOSX
|
||||
case 'SHMN':
|
||||
{ // Shared menu support
|
||||
MenuItemIndex index = command.menu.menuItemIndex;
|
||||
if (index)
|
||||
{
|
||||
(void)SharedMenuHit(GetMenuID(command.menu.menuRef), command.menu.menuItemIndex);
|
||||
::HiliteMenu(0);
|
||||
handled = noErr;
|
||||
}
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
default:
|
||||
{
|
||||
// given the commandID, look it up in our hashtable and dispatch to
|
||||
|
||||
Reference in New Issue
Block a user