Jacek Caban : mshtml: Added edit mode IDM_CUT implementation.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jun 11 08:46:40 CDT 2007


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Jun 11 00:30:30 2007 +0200

mshtml: Added edit mode IDM_CUT implementation.

---

 dlls/mshtml/editor.c         |   12 ++++++++++++
 dlls/mshtml/mshtml_private.h |    1 +
 dlls/mshtml/olecmd.c         |    7 ++++++-
 3 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/dlls/mshtml/editor.c b/dlls/mshtml/editor.c
index 4630cfb..d257c5f 100644
--- a/dlls/mshtml/editor.c
+++ b/dlls/mshtml/editor.c
@@ -42,6 +42,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
 #define NSCMD_CHARNEXT     "cmd_charNext"
 #define NSCMD_CHARPREVIOUS "cmd_charPrevious"
 #define NSCMD_COPY         "cmd_copy"
+#define NSCMD_CUT          "cmd_cut"
 #define NSCMD_FONTCOLOR    "cmd_fontColor"
 #define NSCMD_FONTFACE     "cmd_fontFace"
 #define NSCMD_INDENT       "cmd_indent"
@@ -946,6 +947,17 @@ HRESULT editor_exec_copy(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARI
     return S_OK;
 }
 
+HRESULT editor_exec_cut(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
+{
+    update_doc(This, UPDATE_UI);
+
+    if(!This->nscontainer)
+        return E_FAIL;
+
+    do_ns_editor_command(This->nscontainer, NSCMD_CUT);
+    return S_OK;
+}
+
 HRESULT editor_exec_paste(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
 {
     update_doc(This, UPDATE_UI);
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 4c4ee4a..74ee748 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -399,6 +399,7 @@ void init_editor(HTMLDocument*);
 void set_ns_editmode(NSContainer*);
 void handle_edit_event(HTMLDocument*,nsIDOMEvent*);
 HRESULT editor_exec_copy(HTMLDocument*,DWORD,VARIANT*,VARIANT*);
+HRESULT editor_exec_cut(HTMLDocument*,DWORD,VARIANT*,VARIANT*);
 HRESULT editor_exec_paste(HTMLDocument*,DWORD,VARIANT*,VARIANT*);
 
 extern DWORD mshtml_tls;
diff --git a/dlls/mshtml/olecmd.c b/dlls/mshtml/olecmd.c
index e2b749c..288a12b 100644
--- a/dlls/mshtml/olecmd.c
+++ b/dlls/mshtml/olecmd.c
@@ -487,7 +487,12 @@ static HRESULT query_mshtml_cut(HTMLDocument *This, OLECMD *cmd)
 
 static HRESULT exec_mshtml_cut(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
 {
-    FIXME("(%p)->(%08x %p %p)\n", This, cmdexecopt, in, out);
+    TRACE("(%p)->(%08x %p %p)\n", This, cmdexecopt, in, out);
+
+    if(This->usermode == EDITMODE)
+        return editor_exec_cut(This, cmdexecopt, in, out);
+
+    FIXME("Unimplemented in browse mode\n");
     return E_NOTIMPL;
 }
 




More information about the wine-cvs mailing list