MSHTML: Added default MSHTML context menu
Jacek Caban
jack at itma.pwr.wroc.pl
Thu Aug 25 18:20:44 CDT 2005
Changelog:
Added default MSHTML context menu
-------------- next part --------------
? dlls/mshtml/En.rc
? dlls/mshtml/resource.h
Index: dlls/mshtml/olewnd.c
===================================================================
RCS file: /home/wine/wine/dlls/mshtml/olewnd.c,v
retrieving revision 1.8
diff -u -p -r1.8 olewnd.c
--- dlls/mshtml/olewnd.c 25 Aug 2005 19:24:58 -0000 1.8
+++ dlls/mshtml/olewnd.c 25 Aug 2005 21:15:32 -0000
@@ -31,6 +31,7 @@
#include "wine/debug.h"
#include "mshtml_private.h"
+#include "resource.h"
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
@@ -257,6 +258,7 @@ static IOleInPlaceObjectWindowlessVtbl O
void HTMLDocument_ShowContextMenu(HTMLDocument *This, DWORD dwID, POINT *ppt)
{
+ HMENU menu_res, menu;
HRESULT hres;
hres = IDocHostUIHandler_ShowContextMenu(This->hostui, dwID, ppt,
@@ -264,7 +266,13 @@ void HTMLDocument_ShowContextMenu(HTMLDo
if(hres == S_OK)
return;
- FIXME("Show default context menu\n");
+ menu_res = LoadMenuW(hInst, MAKEINTRESOURCEW(IDR_BROWSE_CONTEXT_MENU));
+ menu = GetSubMenu(menu_res, dwID);
+
+ TrackPopupMenu(menu, TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD,
+ ppt->x, ppt->y, 0, This->hwnd, NULL);
+
+ DestroyMenu(menu_res);
}
void HTMLDocument_Window_Init(HTMLDocument *This)
Index: dlls/mshtml/rsrc.rc
===================================================================
RCS file: /home/wine/wine/dlls/mshtml/rsrc.rc,v
retrieving revision 1.4
diff -u -p -r1.4 rsrc.rc
--- dlls/mshtml/rsrc.rc 30 Jun 2005 21:01:03 -0000 1.4
+++ dlls/mshtml/rsrc.rc 25 Aug 2005 21:15:32 -0000
@@ -16,6 +16,13 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#include "windef.h"
+#include "winbase.h"
+
+#include "resource.h"
+
+#include "En.rc"
+
REGINST REGINST mshtml.inf
blank.htm HTML "blank.htm"
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dlls/mshtml/resource.h 2005-08-25 23:14:45.000000000 +0000
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2005 Jacek Caban
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#define IDR_BROWSE_CONTEXT_MENU 24641
+
+#define IDM_COPY 15
+#define IDM_CUT 16
+#define IDM_DELETE 17
+
+#define IDM_PASTE 26
+#define IDM_PRINT 27
+#define IDM_PROPERTIES 28
+
+#define IDM_SELECTALL 31
+
+#define IDM_UNDO 43
+
+#define IDM_BROWSEVIEW 2126
+#define IDM_EDITVIEW 2127
+
+#define IDM_OPENLINK 2136
+#define IDM_OPENINNEWWINDOW 2137
+
+#define IDM_VIEWSOURCE 2139
+
+#define IDM_CELL 2206
+#define IDM_ROW 2207
+#define IDM_COLUMN 2208
+#define IDM_TABLE 2209
+#define IDM_TABLEPROPERTIES 2210
+#define IDM_CELLPROPERTIES 2211
+
+#define IDM_ADDTOFAVOURITES 2261
+#define IDM_COPYSHORTCUT 2262
+#define IDM_SAVEBACKGROUNDAS 2263
+#define IDM_SETASBACKGROUND 2264
+#define IDM_COPYBACKGROUND 2265
+#define IDM_CREATESHORTCUT 2266
+
+#define IDM_SAVETARGETAS 2268
+#define IDM_SHOWPICTURE 2269
+#define IDM_SAVEPICTUREAS 2270
+#define IDM_PLAY 2271
+#define IDM_STOP 2272
+#define IDM_PRINTTARGET 2273
+
+#define IDM_REWIND 2276
+
+#define IDM_SETASDESKTOPITEM 2278
+
+#define IDM_BACK 2282
+#define IDM_FORWARD 2283
+
+#define IDM_GOTOMYPICTURES 2287
+#define IDM_EMAILPICTURE 2288
+#define IDM_PRINTPICTURE 2289
+
+#define IDM_ENCODING 2292
+
+#define IDM_SCROLLHERE 2380
+#define IDM_TOP 2381
+#define IDM_BOTTOM 2382
+#define IDM_PAGEUP 2383
+#define IDM_PAGEDOWN 2384
+#define IDM_SCROLLUP 2385
+#define IDM_SCROLLDOWN 2386
+#define IDM_LEFTEDGE 2387
+#define IDM_RIGHTEDGE 2388
+#define IDM_PAGELEFT 2389
+#define IDM_PAGERIGHT 2390
+#define IDM_SCROLLLEFT 2391
+#define IDM_SCROLLRIGHT 2392
+
+#define IDM_TRACETAGS 6004
+#define IDM_RESOURCEFAILURES 6005
+#define IDM_DUMPTRACKINGINFO 6006
+#define IDM_DEBUGBREAK 6007
+#define IDM_DEBUGVIEW 6008
+#define IDM_DUMPTREE 6009
+#define IDM_DUMPLINES 6010
+
+#define IDM_SAVEHTML 6012
+#define IDM_MEMORYMONITOR 6013
+#define IDM_PERFORMANCEMETERS 6014
+#define IDM_DUMPDISPLAYTREE 6015
+#define IDM_DUMPFORMATCACHES 6016
+#define IDM_DUMPLAYOUTRECTS 6017
+
+#define IDM_REFRESH 6042
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ dlls/mshtml/En.rc 2005-08-25 23:14:33.000000000 +0000
@@ -0,0 +1,238 @@
+/*
+ * Copyright 2005 Jacek Caban
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+
+LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
+
+/* FIXME: This should be in shdoclc.dll */
+
+IDR_BROWSE_CONTEXT_MENU MENU
+{
+ POPUP "Default"
+ {
+ MENUITEM "&Back", IDM_BACK
+ MENUITEM "F&orward", IDM_FORWARD
+ MENUITEM SEPARATOR
+ MENUITEM "&Save Background As...", IDM_SAVEBACKGROUNDAS
+ MENUITEM "Set As Back&ground", IDM_SETASBACKGROUND
+ MENUITEM "&Copy Background", IDM_COPYBACKGROUND
+ MENUITEM "Set as &Desktop Item", IDM_SETASDESKTOPITEM
+ MENUITEM SEPARATOR
+ MENUITEM "Select &All", IDM_SELECTALL
+ MENUITEM "&Paste", IDM_PASTE
+ MENUITEM SEPARATOR
+ MENUITEM "Create Shor&tcut", IDM_CREATESHORTCUT
+ MENUITEM "Add to &Favourites", IDM_ADDTOFAVOURITES
+ MENUITEM "&View Source", IDM_VIEWSOURCE
+ MENUITEM SEPARATOR
+ MENUITEM "&Encoding", IDM_ENCODING
+ MENUITEM SEPARATOR
+ MENUITEM "Pr&int", IDM_PRINT
+ MENUITEM "&Refresh", IDM_REFRESH
+ MENUITEM SEPARATOR
+ MENUITEM SEPARATOR
+ MENUITEM "&Properties", IDM_PROPERTIES
+ }
+
+ POPUP "Image"
+ {
+ MENUITEM "&Open Link", IDM_OPENLINK
+ MENUITEM "Open Link in &New Window", IDM_OPENINNEWWINDOW
+ MENUITEM "Save Target &As...", IDM_SAVETARGETAS
+ MENUITEM "&Print Target", IDM_PRINTTARGET
+ MENUITEM SEPARATOR
+ MENUITEM "S&how Picture", IDM_SHOWPICTURE
+ MENUITEM "&Save Picture As...", IDM_SAVEPICTUREAS
+ MENUITEM "&E-mail Picture...", IDM_EMAILPICTURE
+ MENUITEM "Pr&int Picture...", IDM_PRINTPICTURE
+ MENUITEM "&Go to My Pictures", IDM_GOTOMYPICTURES
+ MENUITEM "Set as Back&ground", IDM_SETASBACKGROUND
+ MENUITEM "Set as &Desktop Item...", IDM_SETASDESKTOPITEM
+ MENUITEM SEPARATOR
+ MENUITEM "Cu&t", IDM_CUT
+ MENUITEM "&Copy", IDM_COPY
+ MENUITEM "Copy Shor&tcut", IDM_COPYSHORTCUT
+ MENUITEM "&Paste", IDM_PASTE
+ MENUITEM SEPARATOR
+ MENUITEM "Add to &Favorites...", IDM_ADDTOFAVOURITES
+ MENUITEM SEPARATOR
+ MENUITEM SEPARATOR
+ MENUITEM "P&roperties", IDM_PROPERTIES
+ }
+
+ POPUP "Control"
+ {
+ MENUITEM "&Undo", IDM_UNDO
+ MENUITEM SEPARATOR
+ MENUITEM "Cu&t", IDM_CUT
+ MENUITEM "&Copy", IDM_COPY
+ MENUITEM "&Paste", IDM_PASTE
+ MENUITEM "&Delete", IDM_DELETE
+ MENUITEM SEPARATOR
+ MENUITEM SEPARATOR
+ MENUITEM "Select &All", IDM_SELECTALL
+ }
+
+ POPUP "Table"
+ {
+ POPUP "&Select"
+ {
+ MENUITEM "&Cell", IDM_CELL
+ MENUITEM "&Row", IDM_ROW
+ MENUITEM "&Column", IDM_COLUMN
+ MENUITEM "&Table", IDM_TABLE
+ }
+ MENUITEM SEPARATOR
+ MENUITEM SEPARATOR
+ MENUITEM "&Cell Properties", IDM_CELLPROPERTIES
+ MENUITEM "&Table Properties", IDM_TABLEPROPERTIES
+ }
+
+ POPUP "1DSite Select"
+ {
+ MENUITEM "Cu&t", IDM_CUT
+ MENUITEM "&Copy", IDM_COPY
+ MENUITEM "Paste", IDM_PASTE
+ MENUITEM "Select &All", IDM_SELECTALL
+ MENUITEM "&Print", IDM_PRINT
+ MENUITEM SEPARATOR
+ }
+
+ POPUP "Anchor"
+ {
+ MENUITEM "&Open", IDM_OPENLINK
+ MENUITEM "Open in &New Window", IDM_OPENINNEWWINDOW
+ MENUITEM "Save Target &As...", IDM_SAVETARGETAS
+ MENUITEM "&Print Target", IDM_PRINTTARGET
+ MENUITEM SEPARATOR
+ MENUITEM "Cut", IDM_CUT
+ MENUITEM "&Copy", IDM_COPY
+ MENUITEM "Copy Shor&tcut", IDM_COPYSHORTCUT
+ MENUITEM "&Paste", IDM_PASTE
+ MENUITEM SEPARATOR
+ MENUITEM "Add to &Favorites...", IDM_ADDTOFAVOURITES
+ MENUITEM SEPARATOR
+ MENUITEM SEPARATOR
+ MENUITEM "P&roperties", IDM_PROPERTIES
+ }
+
+ POPUP "Context Unknown"
+ {
+ MENUITEM SEPARATOR
+ }
+
+ POPUP "DYNSRC Image"
+ {
+ MENUITEM "&Open Link", IDM_OPENLINK
+ MENUITEM "Open Link in &New Window", IDM_OPENINNEWWINDOW
+ MENUITEM "Save Target &As...", IDM_SAVETARGETAS
+ MENUITEM "&Print Target", IDM_PRINTTARGET
+ MENUITEM SEPARATOR
+ MENUITEM "S&how Picture", IDM_SHOWPICTURE
+ MENUITEM "&Save Video As...", IDM_SAVEPICTUREAS
+ MENUITEM "Set as Back&ground", IDM_SETASBACKGROUND
+ MENUITEM "Set as &Desktop Item...", IDM_SETASDESKTOPITEM
+ MENUITEM SEPARATOR
+ MENUITEM "Cu&t", IDM_CUT
+ MENUITEM "&Copy", IDM_COPY
+ MENUITEM "Copy Shor&tcut", IDM_COPYSHORTCUT
+ MENUITEM "&Paste", IDM_PASTE
+ MENUITEM SEPARATOR
+ MENUITEM "Add to &Favorites...", IDM_ADDTOFAVOURITES
+ MENUITEM SEPARATOR
+ MENUITEM SEPARATOR
+ MENUITEM "Play", IDM_PLAY
+ MENUITEM "Stop", IDM_STOP
+ MENUITEM "P&roperties", IDM_PROPERTIES
+ }
+
+ POPUP "ART Image"
+ {
+ MENUITEM "&Open Link", IDM_OPENLINK
+ MENUITEM "Open Link in &New Window", IDM_OPENINNEWWINDOW
+ MENUITEM "Save Target &As...", IDM_SAVETARGETAS
+ MENUITEM "&Print Target", IDM_PRINTTARGET
+ MENUITEM SEPARATOR
+ MENUITEM "S&how Picture", IDM_SHOWPICTURE
+ MENUITEM "&Save Picture As...", IDM_SAVEPICTUREAS
+ MENUITEM "Set as Back&ground", IDM_SETASBACKGROUND
+ MENUITEM "Set as &Desktop Item...", IDM_SETASDESKTOPITEM
+ MENUITEM SEPARATOR
+ MENUITEM "Cu&t", IDM_CUT
+ MENUITEM "&Copy", IDM_COPY
+ MENUITEM "Copy Shor&tcut", IDM_COPYSHORTCUT
+ MENUITEM "&Paste", IDM_PASTE
+ MENUITEM SEPARATOR
+ MENUITEM "Add to &Favorites...", IDM_ADDTOFAVOURITES
+ MENUITEM SEPARATOR
+ MENUITEM "Play", IDM_PLAY
+ MENUITEM "Stop", IDM_STOP
+ MENUITEM "Rewind", IDM_REWIND
+ MENUITEM SEPARATOR
+ MENUITEM SEPARATOR
+ MENUITEM "P&roperties", IDM_PROPERTIES
+ }
+
+ POPUP "Debug"
+ {
+ MENUITEM "Trace Tags", IDM_TRACETAGS
+ MENUITEM "Resource Failures", IDM_RESOURCEFAILURES
+ MENUITEM "Dump Tracking Info", IDM_DUMPTRACKINGINFO
+ MENUITEM "Debug Break", IDM_DEBUGBREAK
+ MENUITEM "Debug View", IDM_DEBUGVIEW
+ MENUITEM "Dump Tree", IDM_DUMPTREE
+ MENUITEM "Dump Lines", IDM_DUMPLINES
+ MENUITEM "Dump DisplayTree", IDM_DUMPDISPLAYTREE
+ MENUITEM "Dump FormatCaches", IDM_DUMPFORMATCACHES
+ MENUITEM "Dump LayoutRects", IDM_DUMPLAYOUTRECTS
+ MENUITEM "Memory Monitor", IDM_MEMORYMONITOR
+ MENUITEM "Performance Meters", IDM_PERFORMANCEMETERS
+ MENUITEM "Save HTML", IDM_SAVEHTML
+ MENUITEM SEPARATOR
+ MENUITEM "&Browse View", IDM_BROWSEVIEW
+ MENUITEM "&Edit View", IDM_EDITVIEW
+ }
+
+ POPUP "Vertical Scrollbar"
+ {
+ MENUITEM "Scroll Here", IDM_SCROLLHERE
+ MENUITEM SEPARATOR
+ MENUITEM "Top", IDM_TOP
+ MENUITEM "Bottom", IDM_BOTTOM
+ MENUITEM SEPARATOR
+ MENUITEM "Page Up", IDM_PAGEUP
+ MENUITEM "Page Down", IDM_PAGEDOWN
+ MENUITEM SEPARATOR
+ MENUITEM "Scroll Up", IDM_SCROLLUP
+ MENUITEM "Scroll Down", IDM_SCROLLDOWN
+ }
+
+ POPUP "Horizontal Scrollbar"
+ {
+ MENUITEM "Scroll Here", IDM_SCROLLHERE
+ MENUITEM SEPARATOR
+ MENUITEM "Left Edge", IDM_LEFTEDGE
+ MENUITEM "Right Edge", IDM_RIGHTEDGE
+ MENUITEM SEPARATOR
+ MENUITEM "Page Left", IDM_PAGELEFT
+ MENUITEM "Page Right", IDM_PAGERIGHT
+ MENUITEM SEPARATOR
+ MENUITEM "Scroll Left", IDM_SCROLLLEFT
+ MENUITEM "Scroll Right", IDM_SCROLLRIGHT
+ }
+}
More information about the wine-patches
mailing list