Commit graph

120 commits

Author SHA1 Message Date
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
David Quintana 6fc740948a [BROWSEUI]
* Fix gcc build.
* Also, undo a change that wasn't as useful as I first thought it would be.
CORE-8183 #resolve #comment Here you go. Thanks for reporting.

svn path=/branches/shell-experiments/; revision=63196
2014-05-08 20:16:06 +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 6005af09db [BROWSEUI]
* Begin implementing resizing of the rebar.
* Begin implementing the addressbar function. For now, the current folder path is displayed. No icon, no parsing support, no combo dropdown list.
CORE-8173

svn path=/branches/shell-experiments/; revision=63156
2014-05-04 13:57:23 +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 62f156f677 [BROWSEUI]
* Do not set the imagelist if the bitmap wasn't loaded.
* Fix the flags that caused the toolbar not to relocate when toggling the lock mode.

svn path=/branches/shell-experiments/; revision=63114
2014-05-02 17:25:19 +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
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
David Quintana 0c144205d5 [BROWSEUI]
* Make use of the IID_PPV_ARG for typesafe interface return pointers, and a few other cosmetic changes.
CORE-7330

svn path=/branches/shell-experiments/; revision=63033
2014-04-28 15:29:38 +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 60334b103a [BROWSEUI]
* Reenable the brand box on file browser windows.
* Fix an invalid usage of a null HWND.
* Implement size calculation of the standard toolbar.
CORE-7330

svn path=/branches/shell-experiments/; revision=62961
2014-04-25 10:44:36 +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 ad40525f61 [RSHELL]
* 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
2014-03-19 15:33:41 +00:00
David Quintana 64227df624 Sync with trunk r62529.
svn path=/branches/shell-experiments/; revision=62530
2014-03-18 14:39:04 +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 b948aa332c [RSHELL]
* 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
2014-03-13 16:21:56 +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
David Quintana 683375abdb [RSHELL]
* 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
2014-03-11 10:42:25 +00:00
David Quintana 6f06c27374 [RSHELL]
* 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
2014-03-10 12:01:37 +00:00
David Quintana 51b0371f34 [EXPLORER]
* 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
2014-03-07 22:39:49 +00:00
David Quintana 2ca6b95aeb [BROWSEUI]
* 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
2014-03-07 22:28:55 +00:00
David Quintana 42bdf3b30f [COMCTL32]
* Make horizontal separators of vertical toolbars draw.
* Apply the same padding to separators as the rest of the buttons.
* Fixup some tabs into spaces, for consistency.
* Needs to be sent to wine.

svn path=/branches/shell-experiments/; revision=62426
2014-03-05 11:48:55 +00:00
David Quintana 1cfa05918e [SHLWAPI]
* Fix the fix... better. Needs to be sent to Wine. Thanks Thomas.

svn path=/branches/shell-experiments/; revision=62422
2014-03-05 10:20:06 +00:00
David Quintana d77fcfc8c8 [SHLWAPI]
* Fix the right thing.

svn path=/branches/shell-experiments/; revision=62421
2014-03-05 09:48:32 +00:00
David Quintana 11e4273379 [SHLWAPI]
* 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
2014-03-05 09:12:40 +00:00
David Quintana 28bf05e265 [RSHELL]
* Move dependency copying to the target script, so that the target properly depends on the source and not the other way around.
* Make all the custom constructors WINAPI.
* Add all the custom constructors to the spec file.
CORE-7596

svn path=/branches/shell-experiments/; revision=62365
2014-03-01 11:46:04 +00:00
David Quintana 58931088c3 [RSHELL]
* Some menu style improvements.
* Some code style improvements.
* Added a skeleton CMergedFolder, as a base towards showing items from both the user and the common start menus. It does not work yet.
CORE-7586

svn path=/branches/shell-experiments/; revision=62330
2014-02-25 18:23:02 +00:00
Amine Khaldi 56bf9b6dbd * Sync up to trunk HEAD (r62309).
svn path=/branches/shell-experiments/; revision=62310
2014-02-23 18:28:37 +00:00
Amine Khaldi ddb3d908c9 * Sync up to trunk HEAD (r62285). Branch guys deserve the significant speedups too ;)
svn path=/branches/shell-experiments/; revision=62286
2014-02-22 10:31:26 +00:00
David Quintana 3bb9ee7f77 [RSHELL]
* Port the implementation of CMenuDeskBar to rshell (still disabled by default).
* Begin implementing missing features:
 - Notify the band of the icon size change from SetIconSize.

svn path=/branches/shell-experiments/; revision=62138
2014-02-12 19:46:24 +00:00
Giannis Adamopoulos 239867bdd1 [browseui]
- Add a tiny hack in browseui that allows it to browse properly when the user tries to open a folder in win8

svn path=/branches/shell-experiments/; revision=62082
2014-02-09 21:32:07 +00:00
Amine Khaldi 527f2f9057 [SHELL/EXPERIMENTS]
* Create a branch for some evul shell experiments.

svn path=/branches/shell-experiments/; revision=61927
2014-02-02 19:37:27 +00:00