reactos/reactos
Giannis Adamopoulos 551d8fa312 [SHELL32]
- CDefaultContextMenu: Make it respect the IContextMenu interface and expect menu id offsets instead of real menu ids and actually use the idCmdFirst and idCmdLast parameters in QueryContextMenu. Make the default part use and existed menu from the resources but changed accordingly so the ids of its elements can be adjusted to the next free id of the constructed menu. Rename InsertMenuItemsOfDynamicContextMenuExtension to AddShellExtensionsToMenu, DoDynamicShellExtensions to InvokeShellExt, and DoStaticShellExtensions to InvokeRegVerb. Make AddShellExtensionsToMenu and AddStaticContextMenusToMenu behave like QueryContextMenu to return the number of ids they occupy. Add two helpers SHGetMenuIdFromMenuMsg and SHSetMenuIdInMenuMsg to change the id that is contained in the lparam of WM_DRAWITEM and WM_MEASUREITEM before forwarding them.
- CDefView: When calling QueryContextMenu before using TrackPopupMenu, use 1 as the first id that will filled by the IContextMenu because we want 0 to be used as an indicator that the menu was canceled. Use SHGetMenuIdFromMenuMsg and SHSetMenuIdInMenuMsg to change the lparam of the messages forwarded to the IContextMenu accordingly.
- CDefViewBckgrndMenu: Add a hack so as to keep the code as simple as possible while respecting idCmdFirst and idCmdLast.
- CNewMenu: Remove a hack that was needed because WM_DRAWITEM didn't come with the menu id offset but with the real menu id.
- CDesktopFolder, CFSFolder: Make the callbacks avoid adding an extra separators.
After that shell extensions in menus should work better and callbacks to shell folders should really be able to add several menu items. 

svn path=/trunk/; revision=75533
2017-08-14 15:25:58 +00:00
..
base [USETUP] Remove one special case for keyboard devices 2017-08-13 13:11:43 +00:00
boot [USETUP] Remove one special case for keyboard devices 2017-08-13 13:11:43 +00:00
dll [SHELL32] 2017-08-14 15:25:58 +00:00
drivers [NFS] 2017-08-04 19:43:42 +00:00
hal [HAL] 2017-06-01 17:31:23 +00:00
media [RAPPS] Delete uTorrent until CORE-13666 is cleared up. 2017-08-10 17:09:58 +00:00
modules
ntoskrnl [BOOTLIB] 2017-07-25 17:30:21 +00:00
sdk [EVTLIB]: Allow specifying a memory allocation tag when freeing the allocated buffers (functionality similar to the Ex**WithTag kernel functions). 2017-08-11 12:37:15 +00:00
subsystems [DLLS] 2017-07-27 18:48:19 +00:00
win32ss [USER32] -Make it clear when VersionRegisterClass is used. This should be called after a versioned class was not found hence it should appear after some failures in win32k (and this is exactly how RegisterClassNameW was designed to be used, after a failure to find a class). 2017-08-08 21:09:51 +00:00
apistatus.lst
CMakeLists.txt
configure.cmd
configure.sh
COPYING
COPYING.ARM
COPYING.LIB
COPYING3
COPYING3.LIB
CREDITS
Doxyfile
INSTALL
PreLoad.cmake
README
toolchain-clang.cmake
toolchain-gcc.cmake
toolchain-msvc.cmake

========================
ReactOS™ Version 0.4.x
Updated January 5, 2016
========================

1. What is ReactOS?
-------------------

ReactOS™ is an Open Source effort to develop a quality operating system that is
compatible with applications and drivers written for the Microsoft® Windows™ NT
family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).

The ReactOS project, although currently focused on Windows Server 2003
compatibility, is always keeping an eye toward compatibility with
Windows Vista and future Windows NT releases.

More information is available at: https://www.reactos.org

2. Building ReactOS
-------------------

See the INSTALL file for more details.

3. More information
-------------------

See the media\doc subdirectory for some sparse notes.

4. Who is responsible
---------------------

See the CREDITS file.