Jacek Caban : mshtml: Added edit mode IDM_PASTE implementation.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jun 11 08:46:40 CDT 2007
Module: wine
Branch: master
Commit: 775425b24bad6a3bea8353aaca0c206cd1476740
URL: http://source.winehq.org/git/wine.git/?a=commit;h=775425b24bad6a3bea8353aaca0c206cd1476740
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Jun 11 00:29:53 2007 +0200
mshtml: Added edit mode IDM_PASTE 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 432f48c..4630cfb 100644
--- a/dlls/mshtml/editor.c
+++ b/dlls/mshtml/editor.c
@@ -53,6 +53,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
#define NSCMD_MOVEPAGEUP "cmd_movePageUp"
#define NSCMD_OL "cmd_ol"
#define NSCMD_OUTDENT "cmd_outdent"
+#define NSCMD_PASTE "cmd_paste"
#define NSCMD_SELECTCHARNEXT "cmd_selectCharNext"
#define NSCMD_SELECTCHARPREVIOUS "cmd_selectCharPrevious"
#define NSCMD_SELECTLINENEXT "cmd_selectLineNext"
@@ -945,6 +946,17 @@ HRESULT editor_exec_copy(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARI
return S_OK;
}
+HRESULT editor_exec_paste(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_PASTE);
+ return S_OK;
+}
+
static HRESULT query_edit_status(HTMLDocument *This, OLECMD *cmd)
{
switch(cmd->cmdID) {
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 33806f6..4c4ee4a 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_paste(HTMLDocument*,DWORD,VARIANT*,VARIANT*);
extern DWORD mshtml_tls;
diff --git a/dlls/mshtml/olecmd.c b/dlls/mshtml/olecmd.c
index 61deb68..e2b749c 100644
--- a/dlls/mshtml/olecmd.c
+++ b/dlls/mshtml/olecmd.c
@@ -500,7 +500,12 @@ static HRESULT query_mshtml_paste(HTMLDocument *This, OLECMD *cmd)
static HRESULT exec_mshtml_paste(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_paste(This, cmdexecopt, in, out);
+
+ FIXME("Unimplemented in browse mode\n");
return E_NOTIMPL;
}
More information about the wine-cvs
mailing list