ISvItemCm_fnInvokeCommand: added support for "delete" command.
This commit is contained in:
parent
f6a70969e1
commit
f7f7bd0cfe
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue