Commit a1e55473 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Added IDM_SETDIRTY implementation.

parent 335bd992
...@@ -99,6 +99,24 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml); ...@@ -99,6 +99,24 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
static const WCHAR wszFont[] = {'f','o','n','t',0}; static const WCHAR wszFont[] = {'f','o','n','t',0};
static const WCHAR wszSize[] = {'s','i','z','e',0}; static const WCHAR wszSize[] = {'s','i','z','e',0};
static void set_dirty(HTMLDocument *This, VARIANT_BOOL dirty)
{
nsresult nsres;
if(!This->nscontainer || !This->nscontainer->editor)
return;
if(dirty) {
nsres = nsIEditor_IncrementModificationCount(This->nscontainer->editor, 1);
if(NS_FAILED(nsres))
ERR("IncrementModificationCount failed: %08x\n", nsres);
}else {
nsres = nsIEditor_ResetModificationCount(This->nscontainer->editor);
if(NS_FAILED(nsres))
ERR("ResetModificationCount failed: %08x\n", nsres);
}
}
static void do_ns_editor_command(NSContainer *This, const char *cmd) static void do_ns_editor_command(NSContainer *This, const char *cmd)
{ {
nsresult nsres; nsresult nsres;
...@@ -383,6 +401,8 @@ static void set_font_size(HTMLDocument *This, LPCWSTR size) ...@@ -383,6 +401,8 @@ static void set_font_size(HTMLDocument *This, LPCWSTR size)
nsISelection_Release(nsselection); nsISelection_Release(nsselection);
nsIDOMDocument_Release(nsdoc); nsIDOMDocument_Release(nsdoc);
set_dirty(This, VARIANT_TRUE);
} }
static void handle_arrow_key(HTMLDocument *This, nsIDOMKeyEvent *event, const char * const cmds[4]) static void handle_arrow_key(HTMLDocument *This, nsIDOMKeyEvent *event, const char * const cmds[4])
...@@ -949,6 +969,21 @@ HRESULT editor_exec_paste(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VAR ...@@ -949,6 +969,21 @@ HRESULT editor_exec_paste(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VAR
return S_OK; return S_OK;
} }
static HRESULT exec_setdirty(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
{
TRACE("(%p)->(%08x %p %p)\n", This, cmdexecopt, in, out);
if(!in || This->usermode != EDITMODE)
return S_OK;
if(V_VT(in) == VT_BOOL)
set_dirty(This, V_BOOL(in));
else
FIXME("unsupported vt=%d\n", V_VT(in));
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) {
...@@ -1247,6 +1282,7 @@ const cmdtable_t editmode_cmds[] = { ...@@ -1247,6 +1282,7 @@ const cmdtable_t editmode_cmds[] = {
{IDM_OUTDENT, query_edit_status, exec_outdent}, {IDM_OUTDENT, query_edit_status, exec_outdent},
{IDM_COMPOSESETTINGS, NULL, exec_composesettings}, {IDM_COMPOSESETTINGS, NULL, exec_composesettings},
{IDM_HYPERLINK, query_edit_status, exec_hyperlink}, {IDM_HYPERLINK, query_edit_status, exec_hyperlink},
{IDM_SETDIRTY, NULL, exec_setdirty},
{0,NULL,NULL} {0,NULL,NULL}
}; };
......
...@@ -626,12 +626,6 @@ static HRESULT exec_htmleditmode(HTMLDocument *This, DWORD cmdexecopt, VARIANT * ...@@ -626,12 +626,6 @@ static HRESULT exec_htmleditmode(HTMLDocument *This, DWORD cmdexecopt, VARIANT *
return S_OK; return S_OK;
} }
static HRESULT exec_setdirty(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
{
FIXME("(%p)->(%08x %p %p)\n", This, cmdexecopt, in, out);
return E_NOTIMPL;
}
static HRESULT exec_baselinefont3(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out) static HRESULT exec_baselinefont3(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, VARIANT *out)
{ {
FIXME("(%p)->(%08x %p %p)\n", This, cmdexecopt, in, out); FIXME("(%p)->(%08x %p %p)\n", This, cmdexecopt, in, out);
...@@ -718,7 +712,6 @@ static const cmdtable_t base_cmds[] = { ...@@ -718,7 +712,6 @@ static const cmdtable_t base_cmds[] = {
{IDM_BROWSEMODE, NULL, exec_browsemode}, {IDM_BROWSEMODE, NULL, exec_browsemode},
{IDM_EDITMODE, NULL, exec_editmode}, {IDM_EDITMODE, NULL, exec_editmode},
{IDM_PRINT, query_enabled_stub, exec_print}, {IDM_PRINT, query_enabled_stub, exec_print},
{IDM_SETDIRTY, NULL, exec_setdirty},
{IDM_HTMLEDITMODE, NULL, exec_htmleditmode}, {IDM_HTMLEDITMODE, NULL, exec_htmleditmode},
{IDM_BASELINEFONT3, NULL, exec_baselinefont3}, {IDM_BASELINEFONT3, NULL, exec_baselinefont3},
{IDM_BLOCKDIRLTR, query_enabled_stub, NULL}, {IDM_BLOCKDIRLTR, query_enabled_stub, NULL},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment