diff --git a/xpfe/appshell/public/nsIXULCommand.h b/xpfe/appshell/public/nsIXULCommand.h index 63633777fdd4f978722ae261a36c037255f35bc7..9f3d86f4ef845a207c35c96b2214fae942ff58fa 100644 --- a/xpfe/appshell/public/nsIXULCommand.h +++ b/xpfe/appshell/public/nsIXULCommand.h @@ -38,7 +38,7 @@ class nsIFactory; //---------------------------------------------------------------------- -class nsIXULCommand : public nsISupports { +class nsIXULCommand : public nsIMenuListener { public: static const nsIID& IID() { static nsIID iid = NS_IXULCOMMAND_IID; return iid; } diff --git a/xpfe/appshell/src/nsXULCommand.cpp b/xpfe/appshell/src/nsXULCommand.cpp index ece940db0e742a95bc5bb342c04e26dd49886504..3151db332df3d339c6775632daa813c95e9325b1 100644 --- a/xpfe/appshell/src/nsXULCommand.cpp +++ b/xpfe/appshell/src/nsXULCommand.cpp @@ -345,6 +345,13 @@ nsresult nsXULCommand::KeyPress(nsIDOMEvent* aKeyEvent) { return NS_OK; } + + +nsEventStatus nsXULCommand::MenuSelected(const nsMenuEvent & aMenuEvent) +{ + DoCommand(); + return nsEventStatus_eIgnore;//nsEventStatus_eConsumeNoDefault; +} //---------------------------------------------------------------------- //---------------------------------------------------------------------- diff --git a/xpfe/appshell/src/nsXULCommand.h b/xpfe/appshell/src/nsXULCommand.h index 91e0e0f7d7a41452d1b79e217f414ad9cbbe8f09..d685df606a3222f87ced5b4efc65e8a9ce5066fe 100644 --- a/xpfe/appshell/src/nsXULCommand.h +++ b/xpfe/appshell/src/nsXULCommand.h @@ -88,6 +88,8 @@ public: virtual nsresult KeyUp(nsIDOMEvent* aKeyEvent); virtual nsresult KeyPress(nsIDOMEvent* aKeyEvent); + // nsIMenuListener + virtual nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent); protected: NS_IMETHOD ExecuteJavaScriptString(nsIWebShell* aWebShell, nsString& aJavaScript);