Commit graph

143 commits

Author SHA1 Message Date
David Quintana 791ee3e755 [RSHELL]
* Filter out the Programs item from the top list.

svn path=/branches/shell-experiments/; revision=63704
2014-07-09 23:37:02 +00:00
David Quintana 9804a12eff [RSHELL]
* Now that CMergedFolder works, try to make it more like windows.
* CMergedFolder: Declare and expose the undocumented IAugmentedShellFolder2 (all methods unimplemented yet). It will require major changes to the way I implemented it, but it will be for the best.
* CStartMenu: Make use of the real CMergedFolder in Windows 2003 (does not exist in win7).

svn path=/branches/shell-experiments/; revision=63703
2014-07-09 23:05:37 +00:00
David Quintana 0ffe346179 [RSHELL]
* 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
2014-07-09 00:42:05 +00:00
David Quintana 2ac4637056 [EXPLORER-NEW]
* Revert debugging change that shouldn't have been commited.
* Implement rudimentary tooltip support for tray icons. Does not yet work exactly like the windows does it.

svn path=/branches/shell-experiments/; revision=63685
2014-07-05 02:13:37 +00:00
David Quintana ca65a75bf4 [EXPLORER-NEW]
* Fix a typo that broke tray notify icons.
* Implement loading of Shell Service Objects. Works in win2003 but no idea if it works in ros since we don't have any SSO implemented yet ;P

svn path=/branches/shell-experiments/; revision=63684
2014-07-05 00:35:43 +00:00
David Quintana e362a0da43 [RSHELL]
* Handle SMSET_BOTTOM on SetShellFolder so the shell items show below the static menu.
* Downgrade some DbgPrints to TRACEs (reduces log spam).
* Add some extra debugging messages to CMergedFolder.
* Export the CMergedFolder constructor so it can be used from browseui.

[BROWSEUI]
* Use merged folders for the Favorites menu.

svn path=/branches/shell-experiments/; revision=63683
2014-07-02 14:48:21 +00:00
David Quintana fd94119fa8 [RSHELL]
* Change the way the menu items are activated. Now the menubar activates on mouse down, and the other items activate on mouse up. Not everything works perfectly yet, but it will eventually allow proper usage of the shell menus by keeping the mouse button down. I believe this is also the way to go to avoid the "instant reopening" of the menus when trying to close them.

svn path=/branches/shell-experiments/; revision=63671
2014-06-29 15:42:06 +00:00
David Quintana 80c7746313 [RSHELL]
* Added IPersistFolder2 interface to CMergedFolder, per MSDN suggestion.
* Changed the way the pidl info is stored to be more clean and readable.

svn path=/branches/shell-experiments/; revision=63669
2014-06-29 13:54:08 +00:00
David Quintana dec446e288 [RSHELL]
* Fix a 6am whoops.
* Simplify the FindPidlInList method.

svn path=/branches/shell-experiments/; revision=63659
2014-06-28 18:05:01 +00:00
David Quintana f03fef66d1 [RSHELL]
* 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
2014-06-28 15:38:25 +00:00
David Quintana 73d72624b0 Sync with trunk r63637.
svn path=/branches/shell-experiments/; revision=63640
2014-06-23 23:28:38 +00:00
David Quintana dd250b33d4 [EXPLORER-NEW]
* Disregard the restricted setting and always remove the Search menu from the start menu. When Search is implemented, it can be reenabled.

svn path=/branches/shell-experiments/; revision=63639
2014-06-23 23:04:55 +00:00
David Quintana 70d0028281 [EXPLORER-NEW]
* Implement a rudimentary "Help and Support" start menu item by launching the default browser with http://reactos.org/ as the URL.

svn path=/branches/shell-experiments/; revision=63638
2014-06-23 22:08:33 +00:00
David Quintana bcf5de9efc [RSHELL]
* 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
2014-06-23 17:50:11 +00:00
David Quintana 8b3b02a2ca [EXPLORER-NEW]
* Use a struct like the comment suggested. May not fix anything, but it's one FIXME less in ReactOS.

svn path=/branches/shell-experiments/; revision=63623
2014-06-19 23:38:39 +00:00
David Quintana fe526a2a66 [FILEBROWSER]
* Copy basic path parsing from explorer-new, so filebrowser.exe can load with a different folder active.

svn path=/branches/shell-experiments/; revision=63622
2014-06-19 23:24:09 +00:00
David Quintana e33dc4351a [RSHELL]
* 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
2014-06-19 23:14:39 +00:00
Hermès Bélusca-Maïto fb22c97c91 [EXPLORER][EXPLORER_NEW]
[TASKMGR]
Set a proper shutdown level (with SetProcessShutdownParameters) so that explorer and taskmgr are terminated the very last when one shutdowns ReactOS.
See Windows Internals 4th page 286 (section "Shutdown") which gives the values (that I've cross-checked on Windows 2k3 too).

svn path=/branches/shell-experiments/; revision=63601
2014-06-15 20:02:26 +00:00
David Quintana 02bd6eebde [BROWSEUI]
* Fix stack corruption in VS2010 builds. No idea why it doesn't crash with other compilers.

[EXPLORER-NEW]
* Fix a similar bug that does not appear to cause any issue, but is a bug regardless.

svn path=/branches/shell-experiments/; revision=63548
2014-06-07 23:26:35 +00:00
David Quintana 7ddd2648be [RSHELL]
* 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
2014-06-07 13:54:11 +00:00
David Quintana 72aa759dd4 [SHELL32]
* 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
2014-06-04 16:25:48 +00:00
David Quintana 580b89e9b6 [BROWSEUI]
* 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
2014-06-03 01:04:19 +00:00
David Quintana 3a54fd538b [BROWSEUI/RSHELL]
* 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
2014-06-02 21:35:32 +00:00
David Quintana 9793ab272f [SHELL32]
* 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
2014-05-30 18:00:31 +00:00
David Quintana acd03fd182 Sync with trunk r63502.
svn path=/branches/shell-experiments/; revision=63503
2014-05-30 17:56:10 +00:00
David Quintana be04b066aa [RSHELL]
* 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
2014-05-26 12:26:47 +00:00
David Quintana d5e23caf7a Sync with trunk r63430.
svn path=/branches/shell-experiments/; revision=63433
2014-05-24 20:29:19 +00:00
David Quintana fe43858e1e [SHELL32]
* 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
2014-05-23 21:22:48 +00:00
David Quintana e8463b3e2e [BROWSEUI]
* Fix a couple typoed function names.

svn path=/branches/shell-experiments/; revision=63382
2014-05-20 10:00:39 +00:00
David Quintana 14c68ccd3f [EXPLORER-NEW]
* Default to always-on-top if the registry setting is not found.
* Reload and apply settings on display change. Fixes taskbar not repositioning on resolution changes.
CORE-7330

svn path=/branches/shell-experiments/; revision=63369
2014-05-19 10:44:33 +00:00
David Quintana a8667b0ffe [EXPLORER-NEW]
* Fix the fallback for when rshell functions are not exported or rshell is not present.
* While at it, avoid unnecessary calls to LoadLibrary.

svn path=/branches/shell-experiments/; revision=63357
2014-05-18 18:05:16 +00:00
David Quintana a55f7c589b [RSHELL]
* 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
2014-05-18 14:20:27 +00:00
David Quintana 6600002283 Sync with trunk r63343.
svn path=/branches/shell-experiments/; revision=63351
2014-05-18 12:11:58 +00:00
David Quintana 2caa76f93d [RSHELL]
* Fix shell menus closing when clicking on the frame/banner.
CORE-7586

svn path=/branches/shell-experiments/; revision=63312
2014-05-16 11:12:51 +00:00
David Quintana 9d30009eb1 [EXPLORER-NEW]
* Fix handling of taskbar items.
* Filter out the desktop and taskbar from the button list.
* Fixes minimizing from the taskbar in Windows (something else is preventing it from working in ros).

[NTUSER]
* Improve filtering of windows before calling HSHELL_WINDOWCREATED.

[USER32]
* Menus are supposed to be WS_EX_TOOLWINDOW so they don't show up in the taskbar.

[ATL]
[BROWSEUI]
[SHELL32]
* Include ATL aggregation patch by Huw (Frontier) (with Amine's changes).

CORE-8175

svn path=/branches/shell-experiments/; revision=63304
2014-05-15 13:23:06 +00:00
David Quintana 8db8073cbb Sync with trunk r63270.
svn path=/branches/shell-experiments/; revision=63271
2014-05-13 12:11:12 +00:00
David Quintana 057a69972f Sync with trunk r63174.
CORE-8176 #resolve #comment Trunk commit r63174 should fix this issue. I merged from trunk to bring it into Shell-experiments.

svn path=/branches/shell-experiments/; revision=63175
2014-05-06 15:51:24 +00:00
David Quintana dcc7bb6c0d [RSHELL]
* 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
2014-05-02 11:58:07 +00:00
David Quintana fb6dcedf18 [RSHELL]
[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
2014-04-29 11:14:29 +00:00
Amine Khaldi 3a088d8ec6 * Sync up to trunk HEAD (r62975).
svn path=/branches/shell-experiments/; revision=62976
2014-04-26 11:31:20 +00:00
David Quintana a418d8b657 [RSHELL]
* Fix compiling with the system classes selected instead of the custom ones.
CORE-7586

svn path=/branches/shell-experiments/; revision=62962
2014-04-25 10:45:28 +00:00
David Quintana 2f3d0e3e01 [RSHELL]
* 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
2014-04-24 17:42:16 +00:00
David Quintana cfb6a8a36e [RSHELL]
* 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
2014-04-24 16:17:53 +00:00
David Quintana 663bc1da24 [RSHELL]
* Prevent the focused window from receiving keyboard events while a shell menu is open.
CORE-7586

svn path=/branches/shell-experiments/; revision=62935
2014-04-24 11:25:46 +00:00
David Quintana 78790baf2e [RSHELL]
* 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
2014-04-22 17:44:19 +00:00
David Quintana dc8f232870 [RSHELL]
* 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
2014-04-16 12:14:02 +00:00
David Quintana 9c589bb131 Sync with trunk r62754.
svn path=/branches/shell-experiments/; revision=62756
2014-04-15 23:01:15 +00:00
David Quintana 18a587e569 [RSHELL]
* Fix gcc build.
* Wip beginning of horizontal menubar keyboard navigation. Not working yet. ;P
CORE-7586

svn path=/branches/shell-experiments/; revision=62755
2014-04-15 22:30:37 +00:00
David Quintana 5e4427d973 [RSHELL]
* Fix keyboard navigation on vertical popup menus. Navigating through the menubar does not work yet.
CORE-7586

svn path=/branches/shell-experiments/; revision=62753
2014-04-15 15:53:17 +00:00
David Quintana ba203171e1 [RSHELL]
* 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
2014-04-15 10:08:08 +00:00