Commit Graph
26 Commits
Author SHA1 Message Date
Timo Kreuzer 1cf31524d5 [REACTOS] Stop using non-conforming swprintf / vswprintf
Use the underscored versions instead.
2026-05-07 06:27:58 +00:00
Katayama Hirofumi MZ f6bb2c98d8 [SHELL32] Fix L'PerceivedType ' typo (#8620)
JIRA issue: N/A
2026-01-22 21:19:09 +09:00
Whindmar Saksit 59e556f3f3 [SHELL32] Implement DragDropHandlers shell extension context menus (#8143)
CORE-11240 CORE-11238
2025-06-19 20:54:28 +02:00
Whindmar Saksit d3456f5060 [SHELL32] Implement IShellFolder2::GetDetailsEx (#7880) 2025-04-21 23:21:44 +02:00
Whindmar Saksit fb6191b71a [SHELL32] Respect StrCmpLogicalW policy in shell folders (#7900) 2025-04-21 23:06:47 +02:00
Whindmar Saksit 56e7afe56c [SHDOCVW][SHELL32] Rename RegItem to empty name must reset the name to the default (#7794)
CORE-18839
2025-03-21 13:51:45 +01:00
Whindmar Saksit 7f49ae633b [SHELL32] Multiple drives property sheet support (#7787)
Supports multiple drives in a single property sheet

CORE-20025
2025-03-20 13:33:51 +01:00
Whindmar Saksit 2aadf2eb26 [SHELL32] Implement and use SHOpenPropSheet (#7432)
- Implement SHOpenPropSheetW.
- Reuse already opened propertysheets and format dialogs by finding the existing unique stub window.
- Default .lnk property dialog to the shortcut tab.
2024-11-27 17:45:03 +01:00
Timo Kreuzer e4930be4ff [REACTOS] Use the ISO C and C++ conformant names: _wcsicmp, _stricmp
Stop using non-conforming wcsicmp, stricmp, strcasecmp
2024-10-20 14:12:25 +03:00
Whindmar Saksit 6ae11ba09d [SHELL32] Don't display non-enumerable nor non-folder items in Explorer tree (#7189)
This partially implements RegFolder required items as described by Geoff Chappell.

CORE-19176 CORE-14061
2024-08-29 20:45:59 +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 75db8c633a [SHELL32] SHMultiFileProperties workaround and minimal SHObjectProperties (#7025) 2024-06-21 16:26:52 +02:00
Whindmar Saksit daf806802a [SHELL32] Use common default DFM callback message handler (#6779)
Moves default processing of all DFM_ callback messages in SHELL32 to a single function.

CORE-18585
2024-05-09 19:52:05 +02:00
Katayama Hirofumi MZ 7fdec96009 [SHELL32] Fix ParseDisplayName Part 2 (#6740)
Follow-up to #6721. Reduce
SHParseDisplayName failures.
JIRA issue: CORE-19495
- Re-implement CFSFolder::ParseDisplayName
  method to validate the names.
- Add CFSFolder::_ParseSimple,
  CFSFolder::_GetFindDataFromName, and
  CFSFolder::_CreateIDListFromName helper
  methods.
- Add PathIsDotOrDotDotW, PathIsValidElement,
  PathIsDosDevice, and SHILAppend helper
  functions.
- Delete GetNextElementW and add
  Shell_NextElement function.
2024-04-13 21:07:12 +09:00
Whindmar Saksit a83e40f6d1 [SHELL32] Fix FS folder assoc array class order (#6047)
Fixes the reg class key order for FS items. The existing code was close,
but for some reason used `//` as the path separator for SystemFileAssociations!

- Fixed SystemFileAssociations.

- Swapped the order of `*` and `AllFilesystemObjects`. This is the documented
  order and can also be observed in Process Monitor.
  https://learn.microsoft.com/en-us/windows/win32/shell/fa-associationarray#about-association-arrays

- Removed `(..., L"%s//%s", extension, wszClass)`, this does not seem to be
  a valid thing (`.TestAAExtWeird` in my tests).

- Adds the `Unknown` class when appropriate. Not adding the `openas` verb
  to `Unknown` rgs registration now to mimic Windows, because ROS
  `CDefaultContextMenu` lacks verb de-duplication and the menu would end up
  with two "Open With" entries. This just uses `(cidl == 1)` to simulate
  Windows, while Windows on NT6 uses `MultiSelectModel=Single`, a NT6 feature
  not implemented in ROS.

- The class order for folders was wrong and is still "wrong" in this PR,
  but I chose to use the Windows menu display order until the exact mechanics
  required in `CDefaultContextMenu` can be understood.

- Extracts the extension from ANSI PIDLs.
2024-03-24 21:37:59 +01:00
Whindmar Saksit 1408de02ce [SHELL32] SHOpenFolderAndSelectItems should handle children correctly (#6151)
- Free pidl from ILCombine.
- ILGetNext will never return NULL on valid input, it is not the correct way to check.
2024-03-23 22:24:04 +01:00
Joachim Henze 6f91b6c0fe [SHELL32] Tweak formatting and logging
Some style-improvements I wanted to apply before a planned backport.
E.g. The biggest source-file CDefView.cpp in [SHELL32] can be shrinked considerably by stripping some outdated
comments from 10 and more years ago, when this class was still non-OOP and named ShellView.
Less excessive line-lengths also here and there.

In case it is not obvious when reviewing: In the beginning of CDevView.cpp in the declaration-part I just
reduced the indentation-level by 4 spaces for a big block.

Some shell classes were touched during 0.4.15-dev'ing for fixes like the 'unkown'-typo in
0.4.15-dev-6323-g 3854a5d8e9 for example
or missing \n were added to dbgprints like in
0.4.15-dev-4492-g 03422451b3
Touched again here, because I want to port those improvements back,
but don't intend to increase the size in older releases.

The commit looks big, but does consist solely of trivialities.
There is no functional change in this commit, aside the logging ofc.
2024-02-20 02:08:56 +01:00
Whindmar Saksit 34066e475a GetDetailsOf does not support column flags (#5755)
GetDetailsOf does not support the column flags used by CompareIDs.
As a side effect, also fixes LPARAM to UINT truncation on 64-bit.
2023-10-03 10:43:44 +02:00
Mark Jansen 57d0e1d207 [SHELL32] Remove unused function 2022-10-15 00:01:45 +02:00
Mark Jansen 6a1f287820 [SHELL32] Show file / drive properties at the position where the mouse was.
CORE-18386
2022-10-14 21:02:33 +02:00
Mark Jansen bc5603d9d0 [SHELL32] Show properties dialog in a new thread 2022-02-07 20:56:46 +01:00
Mark Jansen fa0f5cc4be [SHELL32] Simplify HIDA usage 2021-11-15 20:02:14 +01:00
Hermès Bélusca-Maïto 9393fc320e [FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Thomas Faber aee6cbc50a [SHELL] Add SHOpenFolderAndSelectItems to shlobj.h. 2020-01-18 13:10:35 +01:00
Katayama Hirofumi MZ 55469633cf [SHELL32] Add 'Properties' menu item in My Computer (#647)
- Add a Shell_DefaultContextMenuCallBack() helper function.
- Implement the IContextMenuCB interface in CDrivesFolder.
CORE-12509
2018-07-08 17:01:12 +02:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00