* Fix some small things that were getting in the way of fixing the start menu (which was broken and no one noticed). The actual fix will come tomorrow since my brain is about to implode at this time.
svn path=/branches/shell-experiments/; revision=65065
[SHELL32]
[BROWSEUI]
* Move undocshell.h to a shared location, and move some shared utility functions into it.
* Replace all the COM object constructor functions with generic equivalents.
* Fixes a big bunch of "problems" found by Coverity Scan, but I don't have the list of CID at the moment.
svn path=/branches/shell-experiments/; revision=64854
* Use the IAugmentedShellFolder methods instead of the old constructor.
[SHELL32]
* Fix gcc compilation.
svn path=/branches/shell-experiments/; revision=63708
* CFocusManager: Try to fix some weird behaviour.
* CMergedFolder: Downgrade some prints to TRACEs, and implement a couple methods needed by some debugging code.
* Activate merged folders by default. TODO: implement the filtering of the "Programs" submenu, and use it for the real Programs menu item.
[SHELL32]
* defcontextmenu.cpp: Make a copy of the apidl array before storing it for later, since it may be a pointer to the stack which may not be available later. Fixes the merged folders not working on clicks and context menu.
* shlmenu.cpp: While debugging, I made Shell_MergeMenus closer to WINE's.
svn path=/branches/shell-experiments/; revision=63702
* Use the debugging class to track COM refcounting of the CMenuBand.
* CMenuSite: Remove an useless line.
[BROWSEUI]
* Refactor the CreateMenuBar method in an attempt to figure out a seemingly magic crash with VS2010 (not yet solved).
* Begin fixing some unused-but-set warnings.
[SHELL32]
* Fix some small bugs spotted by Victor.
svn path=/branches/shell-experiments/; revision=63546
* Improvements on the focus manager. The menus work better, but still not fully. Commiting for backup/history purposes.
CORE-7586
svn path=/branches/shell-experiments/; revision=62601
* Redesigned large portions of the focus manager. All the mouse interactions seem to work now
CORE-7586.
svn path=/branches/shell-experiments/; revision=62567
* Improve logging in case of unexpected failures, and trace the creation of toolbar (menu) items.
CORE-7586
svn path=/branches/shell-experiments/; revision=62414
* Move dependency copying to the target script, so that the target properly depends on the source and not the other way around.
* Make all the custom constructors WINAPI.
* Add all the custom constructors to the spec file.
CORE-7596
svn path=/branches/shell-experiments/; revision=62365
* Add a new logging wrapper to record calls from the start menu back to the explorer site.
CORE-7586
svn path=/branches/shell-experiments/; revision=62335
* Show the start menu at the same position and alignment Windows uses.
[RSHELL]
* Use IShellFolder methods instead of SHCreateShellItem.
* Handle toolbar window events from the toolbar class.
* Improve the positioning calculations.
* TODO: How to tell the submenus of the start menu to show towards the left? For when the taskbar is ABE_RIGHT.
CORE-7596
svn path=/branches/shell-experiments/; revision=62334
* Some menu style improvements.
* Some code style improvements.
* Added a skeleton CMergedFolder, as a base towards showing items from both the user and the common start menus. It does not work yet.
CORE-7586
svn path=/branches/shell-experiments/; revision=62330
* Take "DbgPrint" function from explorer-new.
* CMenuBand: Show placeholder if the band gets an empty IShellFolder. Added what I guess is a hack, to allow CMenuDeskBar to get the submenu popup from the band.
* CMenuDeskBar: Use WM_ACTIVATE and WM_ACTIVATEAPP to detect when the menu should be closed. Uses the hack above for the exception of showing a submenu.
CORE-7886
svn path=/branches/shell-experiments/; revision=62295
* Improve the layout of the class definitions to make the important details easier to find.
* Rename private (non-COM) class methods to more appropriate names, including a prefix.
* CMenuBand: Make one submenu close before showing another one. This may not be happening in the same exact way windows does it.
CORE-7881
svn path=/branches/shell-experiments/; revision=62263
* CMenuDeskBar: Use the submenu pointer to pass on the cancel events. Windows appears to call this with code=2 (cancellevel).
* CMenuBand: Begin implementing a focus manager for the menu windows. This class will take care of handling mouse and keyboard interactions, including closing the start menu and submenus when the user clicks outside the menu window.
CORE-7881
svn path=/branches/shell-experiments/; revision=62259
* Improve the logging system to allow using the same logger for both windows classes and rshell classes.
* Add a wrapper for CMenuSite.
* CMenuDeskBar: Reduce the log differences by keeping a cached copy of the client HWND.
* CMenuBand: Reduce the log differences by keeping a copy of the top level HWND. Will be used later.
CORE-7586
svn path=/branches/shell-experiments/; revision=62253
* CMenuBand: Improve the code structure.
* Make the class selection better managed.
Thanks Giannis.
CORE-7881
svn path=/branches/shell-experiments/; revision=62231
* Remove from build while it hangs VS2013.
[EXPLORER-NEW]
* Hack it to work on Windows 7, even if an existing explorer is already running.
* Move start menu popup to its own function, for easier debugging.
* Maybe-fix a drawing issue if no theme is selected.
[RSHELL]
* Added wrapper for CMenuBand
* The cmake script should not use a hardcoded path
* Better name for the log file.
CORE-7886
svn path=/branches/shell-experiments/; revision=62134
* Implemented a class that wraps CMenuBand, for the purpose of logging the calls, with parameters and returned values (disabled, set WRAP_LOG to 1).
* Partial (WIP) implementation of CMenuBand.
[ATL]
* VirtualAlloc can not have a non-zero size while using MEM_RELEASE.
svn path=/branches/shell-experiments/; revision=62132