Commit graph

85 commits

Author SHA1 Message Date
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 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 7292674928 [STOBJECT]
* Fix DllMain not being called when building with gcc. Apparently msvc makes DllMain extern "C" even if you didn't ask for it, unlike gcc.
* Simplify some code.

svn path=/branches/shell-experiments/; revision=63791
2014-07-31 12:36:40 +00:00
David Quintana 56aab7f365 [STOBJECT]
* Move this shell extension to the shellext folder.

svn path=/branches/shell-experiments/; revision=63790
2014-07-31 11:44:21 +00:00
David Quintana e18e41c8f5 [STOBJECT]
* Move SSO registration to the rgs file.
* Add more debug prints.

svn path=/branches/shell-experiments/; revision=63789
2014-07-31 11:29:50 +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 cd1e4d2911 [STOBJECT]
* Improve code organization. 
* Add some debug prints.
* Fix some nits.

svn path=/branches/shell-experiments/; revision=63787
2014-07-30 22:08:05 +00:00
David Quintana 149d0f17d3 [STOBJECT]
* Nothing happened. No files were missing. Look elsewhere.

svn path=/branches/shell-experiments/; revision=63752
2014-07-28 13:24:56 +00:00
David Quintana 8bef9c148c [HIVESFT.INF]
* Shell service object DLLs expect the ShellServiceObjectDelayLoad key to exist.

[SYSSETUP.INF]
* Mark stobject.dll to be registered during setup.

[STOBJECT]
* Implement icon handling.
* Implement rudimentary volume icon handler.
* Allow the volume icon to show the mute status of the primary audio device.

svn path=/branches/shell-experiments/; revision=63750
2014-07-28 13:18:57 +00:00
David Quintana e5ac3d04eb [STOBJECT]
* Create skeleton for the SysTray shell service object DLL. No tray icons are created yet.
* Tranks Robert Naumann for providing the icon resources, and some file templates.

svn path=/branches/shell-experiments/; revision=63732
2014-07-23 18:00:36 +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 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 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 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
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
Christoph von Wittich f83bcc1212 [browseui]
set correct codepage for translations (UTF-8)

svn path=/branches/shell-experiments/; revision=63431
2014-05-24 18:26:15 +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 baa587134e [BROWSEUI]
* Load the toolbar iten captions from the re

svn path=/branches/shell-experiments/; revision=63422
2014-05-23 13:09:02 +00:00
David Quintana 0acd44c3d7 [BROWSEUI]
* Also load and use the "hot" toolbar bitmap from shell32.dll, not just the normal one.

svn path=/branches/shell-experiments/; revision=63419
2014-05-22 21:35:23 +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 033b716da1 [BROWSEUI]
* Do not swap the big and small imagelist pointers. Fixes the explorer windows not having an icon in the taskbar.
Note: the underlying issue preventing the taskbar from showing a 32x32 icon in the buttons still exists, so other apps with the same behaviour will still fail to draw.

svn path=/branches/shell-experiments/; revision=63383
2014-05-20 12:32:38 +00:00
David Quintana 8c1bafc6f8 [BROWSEUI]
* Fix a couple redundant IFs.
CORE-8248 #resolve #comment Thanks for reporting.

svn path=/branches/shell-experiments/; revision=63381
2014-05-20 09:09:08 +00:00
David Quintana 24010ffd80 [BROWSEUI]
* Moved some code from ParseNow into Execute, pending future improvements to the code flow.

svn path=/branches/shell-experiments/; revision=63378
2014-05-19 21:55:09 +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 9276b066c7 [BROWSEUI]
* Disable the brandband again, since it doesn't look right in ros.
* Fix the browse window styles so that it can properly open with system-provided default size.
* Change the default view mode of the file list to Icons.
CORE-7330

svn path=/branches/shell-experiments/; revision=63370
2014-05-19 12:05:24 +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 a607a23a14 [BROWSEUI]
* AddressBand: Create a combobox item to hold the info of the current folder, and keep it selected. This will in the future be improved to show a pseudo-tree including all the parent folders up to the Desktop, with the Desktop and My Computer expanded.
CORE-8220

svn path=/branches/shell-experiments/; revision=63270
2014-05-13 08:53:26 +00:00