mshtml: Added edit mode IDM_PASTE implementation.

This commit is contained in:
Jacek Caban 2007-06-11 00:29:53 +02:00 committed by Alexandre Julliard
parent 4231c9e2ee
commit 775425b24b
3 changed files with 19 additions and 1 deletions

View File

@ -53,6 +53,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
#define NSCMD_MOVEPAGEUP "cmd_movePageUp" #define NSCMD_MOVEPAGEUP "cmd_movePageUp"
#define NSCMD_OL "cmd_ol" #define NSCMD_OL "cmd_ol"
#define NSCMD_OUTDENT "cmd_outdent" #define NSCMD_OUTDENT "cmd_outdent"
#define NSCMD_PASTE "cmd_paste"
#define NSCMD_SELECTCHARNEXT "cmd_selectCharNext" #define NSCMD_SELECTCHARNEXT "cmd_selectCharNext"
#define NSCMD_SELECTCHARPREVIOUS "cmd_selectCharPrevious" #define NSCMD_SELECTCHARPREVIOUS "cmd_selectCharPrevious"
#define NSCMD_SELECTLINENEXT "cmd_selectLineNext" #define NSCMD_SELECTLINENEXT "cmd_selectLineNext"
@ -945,6 +946,17 @@ HRESULT editor_exec_copy(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARI
return S_OK; 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) static HRESULT query_edit_status(HTMLDocument *This, OLECMD *cmd)
{ {
switch(cmd->cmdID) { switch(cmd->cmdID) {

View File

@ -399,6 +399,7 @@ void init_editor(HTMLDocument*);
void set_ns_editmode(NSContainer*); void set_ns_editmode(NSContainer*);
void handle_edit_event(HTMLDocument*,nsIDOMEvent*); void handle_edit_event(HTMLDocument*,nsIDOMEvent*);
HRESULT editor_exec_copy(HTMLDocument*,DWORD,VARIANT*,VARIANT*); HRESULT editor_exec_copy(HTMLDocument*,DWORD,VARIANT*,VARIANT*);
HRESULT editor_exec_paste(HTMLDocument*,DWORD,VARIANT*,VARIANT*);
extern DWORD mshtml_tls; extern DWORD mshtml_tls;

View File

@ -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) 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; return E_NOTIMPL;
} }