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

ISvItemCm_fnInvokeCommand: added support for "delete" command.

parent f6a70969
...@@ -426,34 +426,60 @@ static HRESULT WINAPI ISvItemCm_fnInvokeCommand( ...@@ -426,34 +426,60 @@ static HRESULT WINAPI ISvItemCm_fnInvokeCommand(
IContextMenu *iface, IContextMenu *iface,
LPCMINVOKECOMMANDINFO lpcmi) LPCMINVOKECOMMANDINFO lpcmi)
{ {
ICOM_THIS(ItemCmImpl, iface); ICOM_THIS(ItemCmImpl, iface);
TRACE("(%p)->(invcom=%p verb=%p wnd=%p)\n",This,lpcmi,lpcmi->lpVerb, lpcmi->hwnd); if (lpcmi->cbSize != sizeof(CMINVOKECOMMANDINFO))
FIXME("Is an EX structure\n");
if(LOWORD(lpcmi->lpVerb) > FCIDM_SHVIEWLAST) return E_INVALIDARG;
TRACE("(%p)->(invcom=%p verb=%p wnd=%p)\n",This,lpcmi,lpcmi->lpVerb, lpcmi->hwnd);
switch(LOWORD(lpcmi->lpVerb))
{ if( HIWORD(lpcmi->lpVerb)==0 && LOWORD(lpcmi->lpVerb) > FCIDM_SHVIEWLAST)
case FCIDM_SHVIEW_EXPLORE: {
DoOpenExplore(iface, lpcmi->hwnd, "explore"); TRACE("Invalid Verb %x\n",LOWORD(lpcmi->lpVerb));
break; return E_INVALIDARG;
case FCIDM_SHVIEW_OPEN: }
DoOpenExplore(iface, lpcmi->hwnd, "open");
break; if (HIWORD(lpcmi->lpVerb) == 0)
case FCIDM_SHVIEW_RENAME: {
DoRename(iface, lpcmi->hwnd); switch(LOWORD(lpcmi->lpVerb))
break; {
case FCIDM_SHVIEW_DELETE: case FCIDM_SHVIEW_EXPLORE:
DoDelete(iface); TRACE("Verb FCIDM_SHVIEW_EXPLORE\n");
break; DoOpenExplore(iface, lpcmi->hwnd, "explore");
case FCIDM_SHVIEW_COPY: break;
DoCopyOrCut(iface, lpcmi->hwnd, FALSE); case FCIDM_SHVIEW_OPEN:
break; TRACE("Verb FCIDM_SHVIEW_OPEN\n");
case FCIDM_SHVIEW_CUT: DoOpenExplore(iface, lpcmi->hwnd, "open");
DoCopyOrCut(iface, lpcmi->hwnd, TRUE); break;
break; case FCIDM_SHVIEW_RENAME:
} TRACE("Verb FCIDM_SHVIEW_RENAME\n");
return NOERROR; DoRename(iface, lpcmi->hwnd);
break;
case FCIDM_SHVIEW_DELETE:
TRACE("Verb FCIDM_SHVIEW_DELETE\n");
DoDelete(iface);
break;
case FCIDM_SHVIEW_COPY:
TRACE("Verb FCIDM_SHVIEW_COPY\n");
DoCopyOrCut(iface, lpcmi->hwnd, FALSE);
break;
case FCIDM_SHVIEW_CUT:
TRACE("Verb FCIDM_SHVIEW_CUT\n");
DoCopyOrCut(iface, lpcmi->hwnd, TRUE);
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;
} }
/************************************************************************** /**************************************************************************
......
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