gadamopoulos in reactos

[SHELL32] -Simplify the drop target of CRecycleBin to let the data object generate the list of names that can be passed to SHFileOperationW.
[SHELL32] -CDefaultContextMenu: Correctly differentiate the copy and the cut commands.
[SHELL32] -CDefViewBckgrndMenu: Fix pasting in the background of a folder.
[WIN32K] -NtUserEmptyClipboard: Change its behaviour to wait for WM_DESTROYCLIPBOARD to return so it behaves like windows and our ole32 doesn't trip on its assumptions that everything works fine. A test will be written soon to prove that this is correct. CORE-12302
    • -1
    • +1
    /trunk/reactos/win32ss/user/ntuser/clipboard.c
[SHELL32] Shell extension support for files.

- CFSFolder: Implement binding to files, implement loading arbitrary extensions for GetUIObjectOf from the registry, implement loading IconHandler shell extensions. Use the new helper routines to simplify getting the drop target.

- Improve the shortcut icons hack.

    • -1
    • +1
    /trunk/reactos/dll/win32/shell32/iconcache.cpp
[STOBJECT] Fix bug that caused some resource strings not to be loaded.

- These strings need to either be in every language file or have their own resource range but since we are using the same resource ids with windows I will just duplicate them.

[WIN32K] -Fix a bug with TransparentBlt when it should really ignore the alpha channel. CORE-13040. Approved by Timo.
    • -1
    • +1
    /trunk/reactos/win32ss/gdi/dib/dib32bpp.c
[UXTHEME] -Remove some dead code
    • -20
    • +0
    /trunk/reactos/dll/win32/uxtheme/nonclient.c
[SHELL32] -Simplify some coe in CShellLink.cpp
    • -31
    • +31
    /trunk/reactos/dll/win32/shell32/CShellLink.cpp
[SHELL32] -AddFSClassKeysToArray: Increase the size of the buffer for the value read from the registry. There are cases when 40 are not enough.
    • -1
    • +1
    /trunk/reactos/dll/win32/shell32/shlfolder.cpp
[COM_APITEST] -Add tests for CLSID_AttachmentServices.
    • -0
    • +7
    /trunk/rostests/apitests/com/shdocvw.c
[ADVAPI32] -RegOpenKeyExW: Call NtOpenKey again with aligned parameters if STATUS_DATATYPE_MISALIGNMENT was returned the first time. CORE-13689
    • -0
    • +33
    /trunk/reactos/dll/win32/advapi32/reg/reg.c
[SHLWAPI] -Addendum to 75533. Pass the id offset to IContextMenu::InvokeCommand. Fixes launching applications from the start menu. CORE-13680
[SHELL32] -Greatly optimize the already hacky implementations of ILIsEqual, ILIsParent and ILFindChild by not using the crappy _ILSimpleGetText but the new one _ILHACKCompareSimpleIds. CORE-13681
    • -21
    • +56
    /trunk/reactos/dll/win32/shell32/wine/pidl.c
[COMCTL32] -DrawShadowText: Don't print an error when GdiAlphaBlend fails. This can happen when the painting is outside the clip region. Some themes tend to move text elements in weird places so as just to hide them so this only causes spam.
    • -2
    • +1
    /trunk/reactos/dll/win32/comctl32/commctrl.c
[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.

    • -8
    • +6
    /trunk/reactos/dll/win32/shell32/lang/it-IT.rc
    • -8
    • +6
    /trunk/reactos/dll/win32/shell32/lang/zh-CN.rc
    • -8
    • +6
    /trunk/reactos/dll/win32/shell32/lang/nl-NL.rc
    • -8
    • +6
    /trunk/reactos/dll/win32/shell32/lang/pl-PL.rc
    • -8
    • +6
    /trunk/reactos/dll/win32/shell32/lang/zh-TW.rc
    • -8
    • +7
    /trunk/reactos/dll/win32/shell32/lang/en-US.rc
    • -8
    • +6
    /trunk/reactos/dll/win32/shell32/lang/es-ES.rc
    • -8
    • +6
    /trunk/reactos/dll/win32/shell32/lang/ro-RO.rc
    • -8
    • +6
    /trunk/reactos/dll/win32/shell32/lang/ru-RU.rc
    • -8
    • +6
    /trunk/reactos/dll/win32/shell32/lang/ca-ES.rc
    • -8
    • +6
    /trunk/reactos/dll/win32/shell32/lang/da-DK.rc
    • -8
    • +6
    /trunk/reactos/dll/win32/shell32/lang/sq-AL.rc
  1. … 24 more files in changeset.
[UXTHEME] -Implement taking into account the flags set by SetThemeAppProperties. Now the shim that disables themes per application works.
    • -5
    • +25
    /trunk/reactos/dll/win32/uxtheme/themehooks.c
    • -0
    • +12
    /trunk/reactos/dll/win32/uxtheme/system.c
[UXTHEME_APITEST] -Add tests for SetThemeAppProperties.
[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).
[COMCTL32] -Fix a typo.
[SHELL32] -Restore some code I incorrectly removed in r75360. CORE-13564
[SYSSETUP] -Implement a wizard page that lets the user select lautus as the default theme. If the user keeps pressing enter, the theme will not be applied.
    • -1
    • +126
    /trunk/reactos/dll/win32/syssetup/wizard.c
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/bg-BG.rc
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc
    • binary
    /trunk/reactos/dll/win32/syssetup/resources/thmclassic.bmp
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/zh-TW.rc
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/sv-SE.rc
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/he-IL.rc
    • -0
    • +2
    /trunk/reactos/dll/win32/syssetup/syssetup.rc
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/pt-BR.rc
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/el-GR.rc
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/et-EE.rc
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/it-IT.rc
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/lt-LT.rc
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/id-ID.rc
    • -0
    • +11
    /trunk/reactos/dll/win32/syssetup/lang/es-ES.rc
  1. … 20 more files in changeset.
[COMCTL32] -Implement BUTTON_IMAGELIST_ALIGN_RIGHT, BUTTON_IMAGELIST_ALIGN_TOP, BUTTON_IMAGELIST_ALIGN_BOTTOM
    • -8
    • +62
    /trunk/reactos/dll/win32/comctl32/button.c
[COMCTL32] -BUTTON_PaintWithTheme: Draw checked pushlike buttons as pressed.
[hivecls.inf] -Add an option to immediately enable an msstyles file with right click.
    • -0
    • +1
    /trunk/reactos/boot/bootdata/hivecls.inf
[DESK.CPL]

-Improve the hack that lets it process arguments by using the process command line instead of the one shell32 gives to the cpl.

-Implement a new action called ActivateMSTheme that activates an msstyle file without showing any gui. If no file is passed, the classic theme is activated thus making it possible to switch themes from command line (or any other application may need to switch themes by launching desk.cpl).

    • -0
    • +48
    /trunk/reactos/dll/cpl/desk/theme.c
    • -0
    • +1
    /trunk/reactos/dll/cpl/desk/appearance.h
    • -15
    • +18
    /trunk/reactos/dll/cpl/desk/desk.c
[SYSSETUP.INF] -Move registering comctl32.dll and ole32.dll much earlier in the setup.
    • -2
    • +10
    /trunk/reactos/media/inf/syssetup.inf
[COMCTL32] -Fix some failed tests for TB_GETMETRICS. Add support for button spacing.
    • -10
    • +8
    /trunk/reactos/dll/win32/comctl32/toolbar.c
[COMCTL32_APITESTS] -Add toolbar tests for TB_SETBUTTONSIZE, TB_SETPADDING, TB_GETBUTTONSIZE, TB_GETMETRICS.
[EXPLORER] -Fix calculatting the size of the tray icons for ral this time. When positioning the windows in the tray take into account the theme content margins.
    • -14
    • +14
    /trunk/reactos/base/shell/explorer/trayntfy.cpp