[BROWSEUI][SHELL32] Implement MoveTo/CopyTo buttons (#3128)

Implement the actions of the MoveTo/CopyTo/Delete buttons.
CORE-11132
This commit is contained in:
Katayama Hirofumi MZ 2020-09-07 09:42:43 +09:00 committed by GitHub
parent 828cf19a29
commit 8fa3c147b6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 0 deletions

View file

@ -1539,6 +1539,10 @@ LRESULT CInternetToolbar::OnForwardToCommandTarget(WORD wNotifyCode, WORD wID, H
if (fCommandTarget.p != NULL)
{
hResult = fCommandTarget->Exec(&fCommandCategory, wID, 0, NULL, NULL);
if (FAILED(hResult))
{
::SendMessageW(::GetParent(m_hWnd), WM_COMMAND, wID, 0);
}
}
return 1;
}

View file

@ -95,6 +95,7 @@ class CDefaultContextMenu :
HRESULT DoCopyOrCut(LPCMINVOKECOMMANDINFO lpcmi, BOOL bCopy);
HRESULT DoRename(LPCMINVOKECOMMANDINFO lpcmi);
HRESULT DoProperties(LPCMINVOKECOMMANDINFO lpcmi);
HRESULT DoUndo(LPCMINVOKECOMMANDINFO lpcmi);
HRESULT DoCreateNewFolder(LPCMINVOKECOMMANDINFO lpici);
HRESULT DoCopyToMoveToFolder(LPCMINVOKECOMMANDINFO lpici, BOOL bCopy);
HRESULT InvokeShellExt(LPCMINVOKECOMMANDINFO lpcmi);
@ -895,6 +896,13 @@ CDefaultContextMenu::DoProperties(
return S_OK;
}
HRESULT
CDefaultContextMenu::DoUndo(LPCMINVOKECOMMANDINFO lpcmi)
{
ERR("TODO: Undo");
return E_NOTIMPL;
}
HRESULT
CDefaultContextMenu::DoCopyToMoveToFolder(LPCMINVOKECOMMANDINFO lpici, BOOL bCopy)
{
@ -1293,6 +1301,9 @@ CDefaultContextMenu::InvokeCommand(
case FCIDM_SHVIEW_MOVETO:
Result = DoCopyToMoveToFolder(&LocalInvokeInfo, FALSE);
break;
case FCIDM_SHVIEW_UNDO:
Result = DoUndo(&LocalInvokeInfo);
break;
default:
Result = E_INVALIDARG;
ERR("Unhandled Verb %xl\n", LOWORD(LocalInvokeInfo.lpVerb));

View file

@ -797,6 +797,7 @@
#define FCIDM_TB_REPORTVIEW 0xA004
#define FCIDM_TB_DESKTOP 0xA005 /* FIXME */
#define IDM_UNDO (FCIDM_SHVIEW_UNDO - 0x7000)
#define IDM_CUT (FCIDM_SHVIEW_CUT - 0x7000)
#define IDM_COPY (FCIDM_SHVIEW_COPY - 0x7000)
#define IDM_INSERT (FCIDM_SHVIEW_INSERT - 0x7000)