Commit graph

83 commits

Author SHA1 Message Date
David Quintana 827930cde2 [BROWSEUI]
* Implement hiding the statusbar from the view menu. Based on patch by Christoph von Wittich.

svn path=/branches/shell-experiments/; revision=65158
2014-10-31 18:37:40 +00:00
David Quintana 2e0e5f7174 [BROWSEUI]
* Allow the static items in the Favorites menu to be received by the shell browse window.
* Handle the Organize Favorites menu item by opening either the USER favorites, or the COMMON version of the folder.

[RSHELL]
* Send the proper HWND together with the HMENU, when sending callbacks.

svn path=/branches/shell-experiments/; revision=65111
2014-10-29 22:28:51 +00:00
David Quintana 5ee771bbc6 [BROWSEUI]
* Fix a 'pasta.
* Open something less stupid when clicking on "Is this copy legal?" in the Help menu.

svn path=/branches/shell-experiments/; revision=65099
2014-10-29 12:32:46 +00:00
David Quintana a0ec7d507f [RSHELL]
* Fix assumption that the USER folder will always exist and only the COMMON folder may be missing. Allows the Start Menu to work in livecd.

[BROWSEUI]
* Apply the same fix to the Favorites folder, although the LiveCD does not currently have the folder so it will not work regardless.

svn path=/branches/shell-experiments/; revision=65098
2014-10-29 11:52:45 +00:00
David Quintana b06af9ef67 [BROWSEUI]
* Implement File->Close

svn path=/branches/shell-experiments/; revision=65095
2014-10-29 11:14:28 +00:00
David Quintana d75b3832c8 [BROWSEUI]
* Implement executing the items from the Favorites menu.

svn path=/branches/shell-experiments/; revision=65094
2014-10-28 22:28:28 +00:00
David Quintana 41e4833e4e [BROWSEUI]
* Disable the Tools menu items until they are implemented.

svn path=/branches/shell-experiments/; revision=65081
2014-10-28 18:37:44 +00:00
David Quintana a2eba5b034 [BROWSEUI]
* Properly return the toolbar status on QueryStatus.
* Properly make use of the returned into from QueryStatus.

svn path=/branches/shell-experiments/; revision=65080
2014-10-28 18:32:21 +00:00
David Quintana 210edd7588 Fix GCC build.
svn path=/branches/shell-experiments/; revision=65078
2014-10-28 17:33:22 +00:00
Giannis Adamopoulos 37ebd8e1e4 [BEOWSEUI]
- Simplify shellbrowser.cpp a bit

svn path=/branches/shell-experiments/; revision=65038
2014-10-27 00:39:53 +00:00
Giannis Adamopoulos a4feb3fb65 [BROWSUI]
- Fix CAddressBand::Invoke to correctly detect if an item exists in the list and select the correct item when it does.
- Improve CAddressEditBox::Execute to check if the passed pidl is the one that is being displayed.
- Also fix it to parse the path if needed.
- Directly call CAddressEditBox::Execute when enter is pressed or the Go button is pressed
- Should fix most issues with the address bar

svn path=/branches/shell-experiments/; revision=65036
2014-10-26 23:46:35 +00:00
Giannis Adamopoulos dffea1c618 [browseui]
- Improve CBaseBar::TranslateAcceleratorIO stub
- Returning always TRUE means that creating a basebar ended up eating all messages
- Fixes the hang that happened when we clicked on the folders button in the toolbar

svn path=/branches/shell-experiments/; revision=65020
2014-10-26 17:16:19 +00:00
David Quintana f99f83df93 [BROWSEUI]
* Sidebars are not implemented, but it's ok. No need to force a debug break in there.

svn path=/branches/shell-experiments/; revision=65019
2014-10-26 17:06:58 +00:00
David Quintana d07a1dc09a [EXPLORER-NEW]
* Fix HMENU leak.

[BROWSEUI]
* Work around for WM_SETICON not properly returning the old HICON.

[SHELL32]
* Fix HICON leak.
* Nitpick.

[WIN32K]
* Do not refcount the menus improperly.

svn path=/branches/shell-experiments/; revision=64986
2014-10-25 15:44:11 +00:00
David Quintana ac06c3cf99 [BROWSEUI]
* Fix icon leak of the returned old icon from WM_SETICON.

[RSHELL]
* Add two debug prints (not hit).

[FILEBROWSER]
[EXPLORER-NEW]
* Free PWSTR pointers after exiting.

svn path=/branches/shell-experiments/; revision=64940
2014-10-23 19:50:29 +00:00
David Quintana 1cd79168e1 [RSHELL]
* CMenuBand: Increase the refcount of m_smc before returning it.
* CMenuBand: Improve the closing logic so that the object is reusable when it needs to be, and can still be released properly.
* CMenuDeskBar: Protect self against unexpected termination.
* CMenuFocusManager: Refcount objects that are being used.
* CStartMenu: Properly release the created objects after it's done using them (by using CComPtr instead of raw pointers).

[BROWSEUI]
* AddressBand: Release the addressband site when closing the band.
* InternetToolbar: Do not filter away ALL the items of the favorites folder.
* InternetToolbar: Do not AddRef a CComPtr that already did the refcounting itself.

CORE-8690

svn path=/branches/shell-experiments/; revision=64929
2014-10-23 17:17:16 +00:00
David Quintana 9abc368186 [EXPLORER-NEW]
* Cleanup in case of error. CID 1248426

[RSHELL]
* Add uninitialized class fields. CID 1248477
* Avoid leaking memory. CID 1248438

[BROWSEUI]
* Fix potential overwriting of a variable. CID 716363
* Save the rshell handle instead of loading it every time. CID 1248435
* Fix leaked PIDL. CID 1248418 

[SHELL32]
* Fix GCC build. And one small nickpick that has been bothering me for a long time.

svn path=/branches/shell-experiments/; revision=64864
2014-10-21 12:24:15 +00:00
David Quintana 96cdae0a7c [BROWSEUI]
* SHOnCWMCommandLine: Fix IETHREADPARAM leak.

[SHELL32]
* Fix HMENU leak of the popup used in the view mode button of the toolbar.

[RSHELL]
* Undo a previous change to help debug the leaks.
* Remove child submenus when closing a menu band.
* Add some extra verification for debugging purposes. 

[BROWSEUI]
[RSHELL]
[SHELL32]
* Move ReleaseCComPtrExpectZero to the shared header.

svn path=/branches/shell-experiments/; revision=64858
2014-10-20 21:35:22 +00:00
David Quintana fd029c9779 [RSHELL]
[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
2014-10-20 21:09:55 +00:00
Amine Khaldi 609ba8d717 * Sync up to trunk head (r64829).
svn path=/branches/shell-experiments/; revision=64830
2014-10-19 18:45:40 +00:00
David Quintana 13c5c447a2 [RSHELL]
[BROWSEUI]
* Add some traces

[SHELL32]
* Implement displaying the View popup from the toolbar. 

svn path=/branches/shell-experiments/; revision=64596
2014-10-08 15:25:52 +00:00
David Quintana 247aff1fe6 [BROWSEUI]
* Fix opening folder windows on desktop process.

svn path=/branches/shell-experiments/; revision=64580
2014-10-07 20:23:52 +00:00
David Quintana d9f777ce1c [FILEBROWSER]
* Always open separate.

[BROWSEUI]
* Use the threadref IUnknown for reference counting in the browser threads.

svn path=/branches/shell-experiments/; revision=64578
2014-10-07 14:40:33 +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 34158fc46f [BROWSEUI]
* Initial implementation of the explorer command line parser. Not used by explorer-new, yet.

svn path=/branches/shell-experiments/; revision=64081
2014-09-08 01:59:18 +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 810048d98e Sync with trunk r63878.
svn path=/branches/shell-experiments/; revision=63879
2014-08-13 18:16:14 +00:00
David Quintana 930d7fff14 [BROWSEUI]
* Fix usage of outdated CMergedFolder to use the proper interface.

svn path=/branches/shell-experiments/; revision=63847
2014-08-09 15:56:05 +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 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 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 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 9ebe8b2e4e [BROWSEUI]
* Make use of shell command ID macros for toolbar button IDs.

svn path=/branches/shell-experiments/; revision=63644
2014-06-25 15:56:04 +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 1eec111b81 [BROWSEUI]
* Process ParseNow on the CBEN_ENDEDIT notification.
* Call SHAutoComplete to ask the edit control to have autocomplete functionality. I need to figure out the flag or whatever is needed to make it show "Search 'string'" when entering something that's not a valid path.

svn path=/branches/shell-experiments/; revision=63621
2014-06-19 23:23:04 +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
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 9f33eab100 [BROWSEUI]
* Make failure codes print themselves. Helps debug.

svn path=/branches/shell-experiments/; revision=63541
2014-06-04 18:08:35 +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 52fc0bf57d [BROWSEUI]
* Fix gcc build.

svn path=/branches/shell-experiments/; revision=63536
2014-06-02 21:37:26 +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 13c7cade20 [BROWSEUI]
* This shouldn't have been commited. The browse windows were freezing because it was trying to use the menu from shell32 instead of rshell.

svn path=/branches/shell-experiments/; revision=63533
2014-06-02 13:23:06 +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 7411374268 [BROWSEUI]
* Remove a call that shouldn't even be working in Windows, and was completely unnecessary. Fixes explorer-new navigation history in ReactOS.
* Added some debug traces.
CORE-8173

svn path=/branches/shell-experiments/; revision=63479
2014-05-27 17:55:41 +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