Jacek Caban : mshtml: Added IDM_SELECTALL implementation.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Aug 13 06:31:42 CDT 2007


Module: wine
Branch: master
Commit: 50868fe75150b3f14e66a6c9c2b92b1d6266dc0d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=50868fe75150b3f14e66a6c9c2b92b1d6266dc0d

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sun Aug 12 17:40:01 2007 +0200

mshtml: Added IDM_SELECTALL implementation.

---

 dlls/mshtml/editor.c        |   24 ++++++++++++++++++++++++
 dlls/mshtml/tests/htmldoc.c |    1 +
 2 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/dlls/mshtml/editor.c b/dlls/mshtml/editor.c
index 022f41d..a627077 100644
--- a/dlls/mshtml/editor.c
+++ b/dlls/mshtml/editor.c
@@ -62,6 +62,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
 #define NSCMD_OL           "cmd_ol"
 #define NSCMD_OUTDENT      "cmd_outdent"
 #define NSCMD_PASTE        "cmd_paste"
+#define NSCMD_SELECTALL           "cmd_selectAll"
 #define NSCMD_SELECTBEGINLINE     "cmd_selectBeginLine"
 #define NSCMD_SELECTBOTTOM        "cmd_selectBottom"
 #define NSCMD_SELECTCHARNEXT      "cmd_selectCharNext"
@@ -778,6 +779,20 @@ static HRESULT exec_fontsize(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in,
     return S_OK;
 }
 
+static HRESULT exec_selectall(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
+{
+    TRACE("(%p)\n", This);
+
+    if(in || out)
+        FIXME("unsupported args\n");
+
+    if(This->nscontainer)
+        do_ns_command(This->nscontainer, NSCMD_SELECTALL, NULL);
+
+    update_doc(This, UPDATE_UI);
+    return S_OK;
+}
+
 static HRESULT exec_bold(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
 {
     TRACE("(%p)\n", This);
@@ -1110,10 +1125,19 @@ static HRESULT query_edit_status(HTMLDocument *This, OLECMD *cmd)
     return S_OK;
 }
 
+static HRESULT query_selall_status(HTMLDocument *This, OLECMD *cmd)
+{
+    TRACE("(%p)->(%p)\n", This, cmd);
+
+    cmd->cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED;
+    return S_OK;
+}
+
 const cmdtable_t editmode_cmds[] = {
     {IDM_DELETE,          query_edit_status,    exec_delete},
     {IDM_FONTNAME,        query_edit_status,    exec_fontname},
     {IDM_FONTSIZE,        query_edit_status,    exec_fontsize},
+    {IDM_SELECTALL,       query_selall_status , exec_selectall},
     {IDM_FORECOLOR,       query_edit_status,    exec_forecolor},
     {IDM_BOLD,            query_edit_status,    exec_bold},
     {IDM_ITALIC,          query_edit_status,    exec_italic},
diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c
index 4379cdc..d54e7cc 100644
--- a/dlls/mshtml/tests/htmldoc.c
+++ b/dlls/mshtml/tests/htmldoc.c
@@ -2727,6 +2727,7 @@ static void test_MSHTML_QueryStatus(IUnknown *unk, DWORD cmdf)
 
     test_QueryStatus(unk, &CGID_MSHTML, IDM_FONTNAME, cmdf);
     test_QueryStatus(unk, &CGID_MSHTML, IDM_FONTSIZE, cmdf);
+    test_QueryStatus(unk, &CGID_MSHTML, IDM_SELECTALL, cmdf|OLECMDF_ENABLED);
     test_QueryStatus(unk, &CGID_MSHTML, IDM_BOLD, cmdf);
     test_QueryStatus(unk, &CGID_MSHTML, IDM_FORECOLOR, cmdf);
     test_QueryStatus(unk, &CGID_MSHTML, IDM_JUSTIFYCENTER, cmdf);




More information about the wine-cvs mailing list