Commit graph

54 commits

Author SHA1 Message Date
David Quintana 257a0de098 [MSGINA]
[SHELL32]
 * Implement shell shutdown using a proper shutdown dialog. Patch by Lee Schroeder with a small change to fix MSVC build.
CORE-7559 #comment Commited into shell-experiments branch r64403. 

svn path=/branches/shell-experiments/; revision=64403
2014-09-29 20:14:21 +00:00
David Quintana 6aaa167a00 [RSHELL]
* Implement skeleton shell dde parser.

[SHELL32]
* Copy over the skeleton from rshell, and fill in the handlers for ViewFolder and ExploreFolder, with rudimentary implementations.

CORE-7552

svn path=/branches/shell-experiments/; revision=64395
2014-09-29 16:22:21 +00:00
David Quintana 1e44d47830 [BROWSEUI]
* Implement SHCreateFromDesktop and supporting functions, and move those implementations to their own file.

[SHELL32]
* Handle message 1035 from the desktop window.

[SHLWAPI]
* Fix a bug in SHAllocShared, where source and destination parameters were reversed.

[EXPLORER-NEW]
* Use SHCreateFromDesktop to open the new window.

NOTE: There appears to be some more problems with the SH*Shared implementation, beyond the swapped parameters, which prevent the opening of the new windows. These functions will have to be revised and the corrected implementation sent to WINE.

svn path=/branches/shell-experiments/; revision=64314
2014-09-26 14:47:07 +00:00
Amine Khaldi 18a81d5d1e [SHELL-EXPERIMENTS]
* Sync up to trunk head (r64124).

svn path=/branches/shell-experiments/; revision=64126
2014-09-12 19:21:19 +00:00
David Quintana 4c1828ea4b Sync with trunk r63935.
svn path=/branches/shell-experiments/; revision=63939
2014-08-24 15:10:11 +00:00
David Quintana 6ebc10fb3c [EXPLORER-NEW]
* Make use of the wine debug functions and turn DbgPrints into TRACE/WARN/ERR.

[SHELL32]
* Turn some DbgPrints into TRACEs.

svn path=/branches/shell-experiments/; revision=63912
2014-08-20 16:19:00 +00:00
David Quintana e9c5285a7c [SHELL32]
* Unbreak context menus.

svn path=/branches/shell-experiments/; revision=63911
2014-08-20 15:39:13 +00:00
David Quintana 117eba9bd5 [SHELL32]
* Another batch of interface pointers converted to CComPtr.

svn path=/branches/shell-experiments/; revision=63909
2014-08-20 12:25:09 +00:00
David Quintana ef04ff090e [SHELL32]
* Stop using the C defines LPSHELLFOLDER, LPSHELLVIEW and LPUNKNOWN, and use the respective C++ interfaces instead.
* Change one batch of COM interface pointers into CComPtr-based pointers, and remove associated Release calls (including at least one that was not supposed to be there at all).
* Remove a couple (repeated multiple times) pointless casts.

svn path=/branches/shell-experiments/; revision=63908
2014-08-20 00:39:40 +00:00
David Quintana a5ce7500a1 [SHELL32]
* Giannis found another similar case of double-releasing.

svn path=/branches/shell-experiments/; revision=63907
2014-08-19 22:30:12 +00:00
David Quintana f7ee35aba7 [SHELL32]
* Fix a CComPtr double-release.

svn path=/branches/shell-experiments/; revision=63906
2014-08-19 22:25:40 +00:00
David Quintana 9ea7e65b5b [BROWSEUI]
[SHELL32]
* Fix accelerator handling.
* Disallow accelerators if renaming.

svn path=/branches/shell-experiments/; revision=63905
2014-08-19 21:30:04 +00:00
David Quintana 1fefb70fd0 [SHELL32]
* Remove an obsolete hack that would only cause leaks now.

svn path=/branches/shell-experiments/; revision=63892
2014-08-15 10:59:23 +00:00
David Quintana b77b9b9b7d Sync with trunk r63887.
svn path=/branches/shell-experiments/; revision=63888
2014-08-14 23:55:08 +00:00
David Quintana 810048d98e Sync with trunk r63878.
svn path=/branches/shell-experiments/; revision=63879
2014-08-13 18:16:14 +00:00
David Quintana 6f51eb4048 [SHELL32]
* Make non-desktop shell views always show selections (even while unfocused).

svn path=/branches/shell-experiments/; revision=63869
2014-08-11 22:06:12 +00:00
David Quintana a2cfa8dc58 * Sync to trunk r63845.
svn path=/branches/shell-experiments/; revision=63846
2014-08-09 14:15:16 +00:00
David Quintana c3558fc84a [SHELL32]
* Populate edit and view menu on first activation. TODO: enable/disable edit menu items in OnInitMenuPopup.
* Add Edit menu to resources (en-US only, other langs TODO)
* Repurpose BuildFileMenu to build the menu for the selection. This needs improvements as it uses all the items from the context menu at the moment.
* Add items to the File menu when shown.

svn path=/branches/shell-experiments/; revision=63836
2014-08-07 15:21:24 +00:00
David Quintana a4bc6818ab [SHELL32]
* Improve the view menu handler a bit. Now the view menu properly marks the current view as expected.

svn path=/branches/shell-experiments/; revision=63811
2014-08-05 01:15:41 +00:00
David Quintana d13da089e5 [BROWSEUI]
* Find the menu index so that the forwarded WM_INITMENUPOPUP has all the info shell32 needs.

[SHELL32]
* Begin implementing dynamic menu editing, which is used by the shell views in order to change, add or remove items from the filebrowser menus. Some menu items may be temporarily lost until this is finished.

svn path=/branches/shell-experiments/; revision=63809
2014-08-04 21:19:22 +00:00
David Quintana 34a27346de Sync with trunk r63786.
svn path=/branches/shell-experiments/; revision=63788
2014-07-31 00:57:14 +00:00
David Quintana eb28ee17c8 [RSHELL]
* Use the IAugmentedShellFolder methods instead of the old constructor.

[SHELL32]
* Fix gcc compilation.

svn path=/branches/shell-experiments/; revision=63708
2014-07-10 17:17:36 +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 20a3d5b994 [SHELL32]
* Some start menu icons by Robert Naumann (gonzoMD) in proper size and content.

svn path=/branches/shell-experiments/; revision=63676
2014-06-30 17:04:47 +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 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 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 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 431b80fa6a [SHELL32]
* Add shell browser bitmaps (toolbar, brand icon, go button). Patch by Robert Naumann (gonzoMD).
CORE-8249 #resolve #comment Commited into shell-experiments. Thanks a lot.

svn path=/branches/shell-experiments/; revision=63432
2014-05-24 20:06:03 +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 d36426f9c0 [BROWSEUI]
* Keep the call to TranslateAcceleratorSB within the shell browser, since it appears the windows CDefView does not call it.
* "Hackplement" the backspace key as being the same as the "go up one level" menu item. This does not seem to be exactly true in Windows, but it does the job.

svn path=/branches/shell-experiments/; revision=63415
2014-05-22 19:13:15 +00:00
David Quintana 2defe4fed2 [BROWSEUI]
* Improve the message loop to allow processing of accelerators.

[SHELL32]
* Return the accelerator to the shell browser if the view doesn't handle it.

svn path=/branches/shell-experiments/; revision=63397
2014-05-21 11:38:29 +00:00
David Quintana 564f732c7c [BROWSEUI]
* Implement ParseNow to allow navigating to the current address in the editbox.

[SHELL32]
* Set the focus to the listview if the browser is requesting it.

CORE-7330

svn path=/branches/shell-experiments/; revision=63371
2014-05-19 16:08:30 +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 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 8c3a5f9b93 [SHELL32]
* Fix redundant clauses by converting the code to a switch block. Adapted from a patch by Victor Martinez.
CORE-8161 #resolve #comment Fixed in the shell-experiments branch. Thanks.

svn path=/branches/shell-experiments/; revision=63115
2014-05-02 17:27:28 +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
David Quintana 8221f567e0 [BROWSEUI]
[SHELL32]
* Make use of IID_PPV_ARG (part 2).

svn path=/branches/shell-experiments/; revision=63040
2014-04-28 21:59:02 +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 9c589bb131 Sync with trunk r62754.
svn path=/branches/shell-experiments/; revision=62756
2014-04-15 23:01:15 +00:00
Amine Khaldi f4388e723d * Sync up to trunk HEAD (r62502).
svn path=/branches/shell-experiments/; revision=62503
2014-03-15 14:56:08 +00:00
David Quintana c3ad2419ea [SHELL32]
* Get rid of those dummy menu items.

svn path=/branches/shell-experiments/; revision=62495
2014-03-14 11:45:30 +00:00
David Quintana 97ff00f312 [SHELL32]
* Added partial implementation of the IShellFolderView interface to CFolderView. Patch by Ivan Rodionov.
CORE-7976 #resolve #comment Applied to shell-experiments branch. Thanks.

svn path=/branches/shell-experiments/; revision=62489
2014-03-13 12:50:26 +00:00
David Quintana 3e2aafdb95 [SHELL32]
* Use the correct icon for the "My Computer" item. Patch by Robert Naumann. 
CORE-7979 #resolve #comment Applied to shell-experiments branch. Thanks.

svn path=/branches/shell-experiments/; revision=62488
2014-03-13 12:36:48 +00:00
David Quintana 487cfe837d [SHELL32]
* 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
2014-03-12 12:34:44 +00:00