Commit f7f7bd0c authored by Aric Stewart's avatar Aric Stewart Committed by Alexandre Julliard

ISvItemCm_fnInvokeCommand: added support for "delete" command.

parent f6a70969
...@@ -428,30 +428,56 @@ static HRESULT WINAPI ISvItemCm_fnInvokeCommand( ...@@ -428,30 +428,56 @@ static HRESULT WINAPI ISvItemCm_fnInvokeCommand(
{ {
ICOM_THIS(ItemCmImpl, iface); ICOM_THIS(ItemCmImpl, iface);
if (lpcmi->cbSize != sizeof(CMINVOKECOMMANDINFO))
FIXME("Is an EX structure\n");
TRACE("(%p)->(invcom=%p verb=%p wnd=%p)\n",This,lpcmi,lpcmi->lpVerb, lpcmi->hwnd); TRACE("(%p)->(invcom=%p verb=%p wnd=%p)\n",This,lpcmi,lpcmi->lpVerb, lpcmi->hwnd);
if(LOWORD(lpcmi->lpVerb) > FCIDM_SHVIEWLAST) return E_INVALIDARG; if( HIWORD(lpcmi->lpVerb)==0 && LOWORD(lpcmi->lpVerb) > FCIDM_SHVIEWLAST)
{
TRACE("Invalid Verb %x\n",LOWORD(lpcmi->lpVerb));
return E_INVALIDARG;
}
if (HIWORD(lpcmi->lpVerb) == 0)
{
switch(LOWORD(lpcmi->lpVerb)) switch(LOWORD(lpcmi->lpVerb))
{ {
case FCIDM_SHVIEW_EXPLORE: case FCIDM_SHVIEW_EXPLORE:
TRACE("Verb FCIDM_SHVIEW_EXPLORE\n");
DoOpenExplore(iface, lpcmi->hwnd, "explore"); DoOpenExplore(iface, lpcmi->hwnd, "explore");
break; break;
case FCIDM_SHVIEW_OPEN: case FCIDM_SHVIEW_OPEN:
TRACE("Verb FCIDM_SHVIEW_OPEN\n");
DoOpenExplore(iface, lpcmi->hwnd, "open"); DoOpenExplore(iface, lpcmi->hwnd, "open");
break; break;
case FCIDM_SHVIEW_RENAME: case FCIDM_SHVIEW_RENAME:
TRACE("Verb FCIDM_SHVIEW_RENAME\n");
DoRename(iface, lpcmi->hwnd); DoRename(iface, lpcmi->hwnd);
break; break;
case FCIDM_SHVIEW_DELETE: case FCIDM_SHVIEW_DELETE:
TRACE("Verb FCIDM_SHVIEW_DELETE\n");
DoDelete(iface); DoDelete(iface);
break; break;
case FCIDM_SHVIEW_COPY: case FCIDM_SHVIEW_COPY:
TRACE("Verb FCIDM_SHVIEW_COPY\n");
DoCopyOrCut(iface, lpcmi->hwnd, FALSE); DoCopyOrCut(iface, lpcmi->hwnd, FALSE);
break; break;
case FCIDM_SHVIEW_CUT: case FCIDM_SHVIEW_CUT:
TRACE("Verb FCIDM_SHVIEW_CUT\n");
DoCopyOrCut(iface, lpcmi->hwnd, TRUE); DoCopyOrCut(iface, lpcmi->hwnd, TRUE);
break; break;
default:
FIXME("Unhandled Verb %xl\n",LOWORD(lpcmi->lpVerb));
}
}
else
{
TRACE("Verb is %s\n",debugstr_a(lpcmi->lpVerb));
if (strcmp(lpcmi->lpVerb,"delete")==0)
DoDelete(iface);
else
FIXME("Unhandled string verb %s\n",debugstr_a(lpcmi->lpVerb));
} }
return NOERROR; return NOERROR;
} }
......
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