Commit graph

16 commits

Author SHA1 Message Date
Whindmar Saksit
53685ada35
[SHELL32][SHDOCVW] Only forward menu messages to the correct shell extension (#7968)
Folder Marker 1.4 fails if it gets a WM_INITPOPUPMENU it does not expect.

CORE-17811
2025-05-15 12:21:22 +02:00
Whindmar Saksit
cc8ec38a87
[SHELL32] Use SHGDN_FOREDITING when renaming in BrowseForFolder (#7840)
- Use SHGDN_FOREDITING when renaming.
- Handle rename change notification without full refresh.
- Don't use FS path when deleting.

CORE-20064
2025-03-30 23:11:27 +02:00
Denis Robert
894e5cddd6
[SHELL32] Fix BrowseForFolder expanding a folder containing a zip (#7585)
Commit 325d74c30f (PR #7437) introduced a side effect that made impossible
to expand a folder when it contained both a ZIP file and subfolders.

Fix this by ignoring the return value of BrFolder_InsertItem and free the
pidlTemp pointer explicitly in all cases.

CORE-19955 CORE-19751
2024-12-30 16:14:44 +03:00
Whindmar Saksit
6d109254ab
[SHELL32] Correctly compare pidls for SHBrowseForFolder BFFM_SETEXPANDED (#7499)
_ILIsEqualSimple just does a memcmp and that does not work for all items.

Should improve shell change notifications (CORE-13950).
2024-11-16 16:28:28 +01:00
Whindmar Saksit
325d74c30f
[SHELL32] Don't display .zip files in BrowseForFolder (#7437)
.zip files have both SFGAO_STREAM and SFGAO_FOLDER attributes set (https://devblogs.microsoft.com/oldnewthing/20171101-00/?p=97325)

CORE-19751
2024-10-11 23:57:28 +02:00
Whindmar Saksit
d4815873fe
[SHELL32] Don't leak SetProp (#7347) 2024-09-18 21:48:58 +02:00
Whindmar Saksit
63935f857f
[SHELL32] Implement the desktop folder menu for Explorer tree (#7026)
Enumerates but does not actually allow you to get CF_HDROP if the desktop PIDL is present in the dataobject.
2024-06-21 19:19:49 +02:00
Whindmar Saksit
7c3d3851b8
[SHELL32] Respect menu Ctrl/Shift in CMenuBand and SHBrowseForFolder (#7015) 2024-06-13 13:11:34 +02:00
Katayama Hirofumi MZ
b50ab0dc68
[SHELL32] brfolder.cpp: Refresh items (#6965)
Refresh the items in the tree-view
control of SHBrowseForFolderA/W
functions against change notifications.
JIRA issue: CORE-17340
- Add BrFolder_IsTreeItemInEnum and
  BrFolder_TreeItemHasThisChild helper
  functions.
- Add BrFolder_Refresh,
  BrFolder_RefreshRecurse, and
  BrFolder_UpdateItem functions to
  refresh items.
- Call BrFolder_Refresh in
  BrFolder_OnChangeEx function and on
  keyboard F5 and Ctrl+R actions.
2024-05-31 22:40:56 +09:00
Whindmar Saksit
3da9e7e251
[SHELL32] Implement SHBrowseForFolder items contextmenu (#6952)
* [SHELL32] Implement SHBrowseForFolder items contextmenu

CORE-16944 CORE-19597
2024-05-30 17:53:44 +02:00
Whindmar Saksit
dc0ed6de1e
[SHELL32] SHBrowseForFolder must rename using IShellFolder (#6953)
To support renaming My Computer and other non-FS folders, one cannot convert the pidl to a path.

CORE-19622
2024-05-29 16:00:28 +02:00
Katayama Hirofumi MZ
4696996ee2
[SHELL32] brfolder.cpp: Remove pEnumIL member (#6946)
Refactoring. Simplify item insertion code.
JIRA issue: CORE-17340
- Remove pEnumIL member from BrItemData structure.
- Add BrFolder_GetChildrenEnum helper function.
- Remove IEnumIDList* argument from BrFolder_InsertItem and
  BrFolder_Expand functions.
- Add BrFolder_OnOK function and use it.
2024-05-28 08:00:12 +09:00
Katayama Hirofumi MZ
4988de4b1d
[SHELL32] brfolder.cpp: Adopt SHCNRF_NewDelivery method (#6938)
New delivery method is better than old method
in performance. Now deletion notification
partially works.
JIRA issue: CORE-17340
- Specify (SHCNRF_ShellLevel |
  SHCNRF_NewDelivery).
- Rewrite BrFolder_OnChange function and
  add BrFolder_OnChangeEx helper function.
2024-05-26 04:58:30 +09:00
Katayama Hirofumi MZ
61fe74030b
[SHELL32] Reorder IDD_BROWSE_FOR_FOLDER dialog items (#6934)
By correctly ordering the items of the dialog, the dialog can use auto focus.
JIRA issue: N/A
- Change the ordering of IDD_BROWSE_FOR_FOLDER dialog items.
- Remove SetFocus call.
2024-05-25 16:45:06 +09:00
Katayama Hirofumi MZ
8df5aac9ba
[SHELL32] brfolder.cpp: Follow-up of af03438 (#6936)
Follow-up of #6909 (af03438). Fix assertions and exceptions of
CComPtr and CComHeapPtr.
JIRA issue: CORE-17340
- Don't use AddRef, Release, and Attach methods against CComPtr
  template class. Simply use assignment.
- Fix the 3rd parameter of three IShellFolder::GetAttributesOf
  method calls. It had referenced CHeapPtr::operator&.
2024-05-25 16:17:00 +09:00
Katayama Hirofumi MZ
ed7c23fc41 [SHELL32] brfolder.cpp: Rename BrsFolder as BrFolder
and rename BrsItemData as BrItemData to reduce binary size of
Debug version.
JIRA issue: CORE-17340
2024-05-24 22:54:27 +09:00
Renamed from dll/win32/shell32/brsfolder.cpp (Browse further)