* Implement a rudimentary but mostly functional (for start menu purposes) CMergedFolder class. It's still disabled by default because clicking on an item in a merged folder appears to fail to execute it.
svn path=/branches/shell-experiments/; revision=63658
* Notify the focus manager that we are about to open a context menu, so that it doesn't mess with the menu popup.
svn path=/branches/shell-experiments/; revision=63634
* Turn off spammy log.
* A small themeing tweak for the menubar.
[BROWSEUI]
* Turn off spammy log.
* A small tweak to a function.
svn path=/branches/shell-experiments/; revision=63620
* 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
* Fix gcc compilation.
[BROWSEUI/RSHELL]
* Use virtual destructors and cleanup with delete in the creator functions.
* Try to fix a bit the "close" flow, so that less circular references remain when the filebrowser windows are closed.
svn path=/branches/shell-experiments/; revision=63539
* Plug a few menu leaks. In Windows, it brings down the leaked menus from 20 per navigation, to only 1-2. In ReactOS, from 60 to 20.
[RSHELL,SHELL32]
* Code tweaks that shouldn't change the actual behaviour.
svn path=/branches/shell-experiments/; revision=63537
* Begin fixing the process of destroying the related objects when closing the window, so that eventually the filebrowser/explorer process will properly exit cleanly when no more windows are open.
svn path=/branches/shell-experiments/; revision=63535
* The CDefView should not process the backspace key directly. It's already handled by the accelerators.
[BROWSEUI]
* Allow the docked toolbars to translate accelerators.
* CAddressEditBox: Cancel accelerators without modifiers while focused.
[RSHELL]
* Cancel accelerators while a popup is open, and ignore them otherwise.
svn path=/branches/shell-experiments/; revision=63504
* Close menu on right click too.
[BROWSEUI]
* Check/uncheck the lock toolbar item based on the lock state. The view menu does not update yet.
[SHELL32]
* Destroy the menu when the view window is destroyed.
svn path=/branches/shell-experiments/; revision=63461
* Reuse the same menu instead of recreating it every time something changes. Fixes the menus not showing, but it's not the right way to do it. A better implementation should come later.
[BROWSEUI]
* Add a german version of the toolbar strings, by Christoph von Wittich.
svn path=/branches/shell-experiments/; revision=63426
* Turn back some DbgPrints into TRACEs.
* Remove the desktop from the rshell exports, as it works better in ros that way, and it's only needed for debugging in windows 8.
svn path=/branches/shell-experiments/; revision=63352
* I forgot a cast and a couple IID_PPV_ARG uncommited.
[BROWSEUI]
* Fixed rebar flags to match windows. Adds the missing border around the toolbars.
* Fix some calculations of the rebar size.
* Fetch the icon of the current folder and assign it to the browse window.
CORE-7330
svn path=/branches/shell-experiments/; revision=63103
[SHELL32]
* Move the IID_NULL_PPV_ARG macro to the shobj_undoc header, next to the (also ros-specific) IID_PPV_ARG macro, so that it can be used elsewhere.
[SHELL32]
* Make use of IID_NULL_PPV_ARG in all the calls to GetUIObjectOf, and fix one instance of mismatched riid/pointer.
CORE-7330
svn path=/branches/shell-experiments/; revision=63044
* Implement selecting the first/last item, and make the menu system choose to select the first item when opening a submenu with the keyboard.
svn path=/branches/shell-experiments/; revision=62959
* Fix stack overflow when pressing enter with a menu item selected. Executing with enter now works correctly.
CORE-7586
svn path=/branches/shell-experiments/; revision=62957
* Prevent the focused window from receiving keyboard events while a shell menu is open.
CORE-7586
svn path=/branches/shell-experiments/; revision=62935
* Almost working keyboard navigation on horizontal menu bar. It does not yet switch between menus when a submenu of the shell menu is currently open and you press [right].
CORE-7586
svn path=/branches/shell-experiments/; revision=62891
* Implemented horizontal keyboard navigation on the menubar. Does not yet work for the Favorites menu, which is a shell popup and not a tracked popup. Also missing the system menu in the rotation.
svn path=/branches/shell-experiments/; revision=62757
* Fix keyboard navigation on vertical popup menus. Navigating through the menubar does not work yet.
CORE-7586
svn path=/branches/shell-experiments/; revision=62753
* Fixed the context menu for shell items.
* Some more code style improvements.
* Moved the toggles between using system classes and rshell classes into the constructor functions, so the code is easier to read.
CORE-7586
svn path=/branches/shell-experiments/; revision=62752
* Code cleanups and formatting.
* Remove the logging wrappers. If I need them again I'll bring them back.
* Try to fix a few "glitches" in the hot-tracking.
svn path=/branches/shell-experiments/; revision=62693
* Some code improvements, refactoring, and commenting.
* Using alternative method of handling hot-tracking, which does not break in win2003.
CORE-7586
svn path=/branches/shell-experiments/; revision=62681
* 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 behaviour when hovering and clicking on the menubar. It's still somewhat glitchy though.
CORE-7586
svn path=/branches/shell-experiments/; revision=62539
* Improve mouse navigation of the menubar.
* Fix the menus.
* Fix the case for system includes (hopefully fixes).
CORE-7586
svn path=/branches/shell-experiments/; revision=62537
* Implement WH_MSGFILTER hooking to handle the popup menus from the horizontal menubar. Switching between menu items wby moving the mouse now works, but at the moment, the non-menu popups (including the start menu) are somewhat glitchy.
CORE-7586
svn path=/branches/shell-experiments/; revision=62534
* Begin work in improving the behaviour of the horizontal mode menuband. There's still a lot of work to do, and some things are temporarily worse than before, but in other places it has improved already.
CORE-7586
svn path=/branches/shell-experiments/; revision=62520
* Fix the hot tracking on the filebrowser menubar. Still does not handle switching menus while hovering, though.
CORE-7586
svn path=/branches/shell-experiments/; revision=62514
* Fix keyboard navigation and hottracking behaviour. One glitch remains where quickly moving the mouse to a parent's toolbar item, and returning to the submenu before it closes, won't restore the parent's hot item to the one with the submenu.
svn path=/branches/shell-experiments/; revision=62509
* Fix some null dereferences.
* Fix positioning of submenus of an horizontal menu toolbar.
[BROWSEUI]
* Fix some null dereferences.
CORE-7586
svn path=/branches/shell-experiments/; revision=62492
* SHGetImageList should not return a duplicated ImageList. In Windows the pointers returned by Shell_GetImageLists match the pointers returned by SHGetImageList for SHIL_SMALL and SHIL_LARGE.
[RSHELL]
* Remove two obsolete debug prints.
svn path=/branches/shell-experiments/; revision=62483
* Workaround for the exec issue. Ros currently seems to send a bogus WM_ACTIVATE message when clicking while the window is already active. Proper fix may come later if I can figure out why this happens.
CORE-7586
svn path=/branches/shell-experiments/; revision=62475
* Fix reusing the same toolbar when SetMenu is called multiple times.
* Avoid some null dereferences.
[BROWSEUI]
* Temporarily (?) disable the logo band.
The browser window's "coolbar" and menubar now display and work properly in both Windows and ReactOS.
CORE-7586
svn path=/branches/shell-experiments/; revision=62472
* Give TrackPopupMenuEx the top-level window. Need to figure out how Windows does this, it probably does not simply use the top-level window that way.
* Give TrackPopupMenuEx better flags and a better exclude rect.
CORE-7586
svn path=/branches/shell-experiments/; revision=62469
* Rename the output to explorer_old
[EXPLORER-NEW]
* Rename the output to explorer
* Launch a browseui window when explorer is run with an existing shell process.
Shell-experiments will now be running the new shell by default.
This allows me to test the shell classes under more accurate conditions, so I was using it locally for a while.
I decided to commit because of two reasons:
1. It was making me temporarily revert some changes done to some files when I wanted to commit, and
2. It lets everyone see the results of the shell-experiments project without having to mess with the task manager.
Keep in mind that, as the branch name implies, it STILL is an experiment.
CORE-7586
svn path=/branches/shell-experiments/; revision=62449
* Load and use rshell for the menubar.
* Properly forward WM_NOTIFY and WM_COMMAND messages to the toolbars.
[RSHELL]
* Improve behaviour of horizontal menubands.
* Clicking on submenu items does not work yet.
CORE-7586
svn path=/branches/shell-experiments/; revision=62448
* CMenuSite: Reworked the code to avoid SHIsSameObject, since newer versions of windows do not implement that function. The code should be equivalent, and does less unnecessary calls to QueryInterface.
CORE-7879
svn path=/branches/shell-experiments/; revision=62432
* CMenuSFToolbar: Keep the m_shellFolder pointer in a CComPtr, so that it doesn't get deleted and possibly reused for something else.
CORE-7586
svn path=/branches/shell-experiments/; revision=62429
* SHInvokeDefaultCommand is supposed to invoke the DEFAULT command, so why was bInvokeDefault given FALSE?!
[RSHELL]
* A couple of trivial fixes.
[NTUSER/USER32]
* I missed two bits. See CORE-7966 for more info on the menu issue.
CORE-7586
svn path=/branches/shell-experiments/; revision=62420
* I was telling AddButton that all the items were the last, except the last. Now the submenus display properly. Some of them at least. Others get an exception, it seems.
CORE-7881
svn path=/branches/shell-experiments/; revision=62416