Jacek Caban : mshtml: Added IDM_INDENT and IDM_OUTDENT implementation.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Nov 13 06:29:55 CST 2006
Module: wine
Branch: master
Commit: 6f4146a30b150f836651f29d0b0d88a1a64e082a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6f4146a30b150f836651f29d0b0d88a1a64e082a
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sat Nov 11 15:30:08 2006 +0100
mshtml: Added IDM_INDENT and IDM_OUTDENT implementation.
---
dlls/mshtml/olecmd.c | 38 ++++++++++++++++++++++++++++++++++----
dlls/mshtml/tests/htmldoc.c | 2 ++
2 files changed, 36 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/olecmd.c b/dlls/mshtml/olecmd.c
index 1e8d048..97e5af7 100644
--- a/dlls/mshtml/olecmd.c
+++ b/dlls/mshtml/olecmd.c
@@ -45,6 +45,8 @@ #define NSCMD_UNDERLINE "cmd_underline"
#define NSCMD_FONTCOLOR "cmd_fontColor"
#define NSCMD_ALIGN "cmd_align"
#define NSCMD_FONTFACE "cmd_fontFace"
+#define NSCMD_INDENT "cmd_indent"
+#define NSCMD_OUTDENT "cmd_outdent"
#define NSSTATE_ATTRIBUTE "state_attribute"
#define NSSTATE_ALL "state_all"
@@ -616,6 +618,26 @@ static HRESULT exec_baselinefont3(HTMLDo
return S_OK;
}
+static HRESULT exec_indent(HTMLDocument *This)
+{
+ TRACE("(%p)\n", This);
+
+ if(This->nscontainer)
+ do_ns_command(This->nscontainer, NSCMD_INDENT, NULL);
+
+ return S_OK;
+}
+
+static HRESULT exec_outdent(HTMLDocument *This)
+{
+ TRACE("(%p)\n", This);
+
+ if(This->nscontainer)
+ do_ns_command(This->nscontainer, NSCMD_OUTDENT, NULL);
+
+ return S_OK;
+}
+
static const struct {
OLECMDF cmdf;
HRESULT (*func)(HTMLDocument*,DWORD,VARIANT*,VARIANT*);
@@ -791,12 +813,12 @@ static HRESULT WINAPI OleCommandTarget_Q
prgCmds[i].cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED;
break;
case IDM_INDENT:
- FIXME("CGID_MSHTML: IDM_INDENT\n");
- prgCmds[i].cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED;
+ TRACE("CGID_MSHTML: IDM_INDENT\n");
+ prgCmds[i].cmdf = query_edit_status(This, NULL);
break;
case IDM_OUTDENT:
- FIXME("CGID_MSHTML: IDM_OUTDENT\n");
- prgCmds[i].cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED;
+ TRACE("CGID_MSHTML: IDM_OUTDENT\n");
+ prgCmds[i].cmdf = query_edit_status(This, NULL);
break;
case IDM_BLOCKDIRLTR:
FIXME("CGID_MSHTML: IDM_BLOCKDIRLTR\n");
@@ -885,6 +907,14 @@ static HRESULT WINAPI OleCommandTarget_E
return exec_editmode(This);
case IDM_BASELINEFONT3:
return exec_baselinefont3(This);
+ case IDM_INDENT:
+ if(pvaIn || pvaOut)
+ FIXME("unsupported arguments\n");
+ return exec_indent(This);
+ case IDM_OUTDENT:
+ if(pvaIn || pvaOut)
+ FIXME("unsupported arguments\n");
+ return exec_outdent(This);
default:
FIXME("unsupported nCmdID %d of CGID_MSHTML group\n", nCmdID);
return OLECMDERR_E_NOTSUPPORTED;
diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c
index a42e296..bbe1d29 100644
--- a/dlls/mshtml/tests/htmldoc.c
+++ b/dlls/mshtml/tests/htmldoc.c
@@ -2048,6 +2048,8 @@ static void test_MSHTML_QueryStatus(IUnk
test_QueryStatus(unk, &CGID_MSHTML, IDM_JUSTIFYRIGHT, cmdf);
test_QueryStatus(unk, &CGID_MSHTML, IDM_ITALIC, cmdf);
test_QueryStatus(unk, &CGID_MSHTML, IDM_UNDERLINE, cmdf);
+ test_QueryStatus(unk, &CGID_MSHTML, IDM_INDENT, cmdf);
+ test_QueryStatus(unk, &CGID_MSHTML, IDM_OUTDENT, cmdf);
}
static void test_OleCommandTarget(IUnknown *unk)
More information about the wine-cvs
mailing list