mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 04:13:18 +00:00
[SHELL32] Display cut items as ghosted (#7739)
- When Ctrl+X is pressed on a selected item, it will appear ghosted until another clipboard action takes place. - Generate SHCNE_UPDATE* notifications when file attributes change. - When an items hidden attribute is changed (filesystem notification), we must update the ghosted state. CORE-9465
This commit is contained in:
parent
c3505bb4f6
commit
f1a66daeeb
12 changed files with 158 additions and 46 deletions
|
@ -1031,10 +1031,16 @@ HRESULT CDefaultContextMenu::DoCopyOrCut(LPCMINVOKECOMMANDINFOEX lpcmi, BOOL bCo
|
|||
GlobalUnlock(medium.hGlobal);
|
||||
m_pDataObj->SetData(&formatetc, &medium, TRUE);
|
||||
|
||||
CComPtr<IShellFolderView> psfv;
|
||||
if (SUCCEEDED(IUnknown_QueryService(m_site, SID_SFolderView, IID_PPV_ARG(IShellFolderView, &psfv))))
|
||||
psfv->SetPoints(m_pDataObj);
|
||||
|
||||
HRESULT hr = OleSetClipboard(m_pDataObj);
|
||||
if (FAILED_UNEXPECTEDLY(hr))
|
||||
return hr;
|
||||
|
||||
if (psfv)
|
||||
psfv->SetClipboard(!bCopy);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
@ -1161,7 +1167,7 @@ CDefaultContextMenu::DoCreateNewFolder(
|
|||
return S_OK;
|
||||
|
||||
/* Get a pointer to the shell view */
|
||||
hr = IUnknown_QueryService(m_site, SID_IFolderView, IID_PPV_ARG(IShellView, &psv));
|
||||
hr = IUnknown_QueryService(m_site, SID_SFolderView, IID_PPV_ARG(IShellView, &psv));
|
||||
if (FAILED_UNEXPECTEDLY(hr))
|
||||
return S_OK;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue