Commit graph

56327 commits

Author SHA1 Message Date
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 905eb2bdce [RSHELL]
* Workaround for the exec issue. Ros currently seems to send a bogus WM_ACTIVATE message when clicking while the window is already active. Proper fix may come later if I can figure out why this happens.

CORE-7586

svn path=/branches/shell-experiments/; revision=62475
2014-03-11 17:40:18 +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 2b06cdd40e [FILEBROWSER]
* Svn glitched out when applying a patch

svn path=/branches/shell-experiments/; revision=62450
2014-03-07 23:17:23 +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 a8919a7a3b [NTUSER]
* Revert a change that removed too much. Unbreaks the "New..." menu, and anywhere else that required this, although the code feels like a workaround for a bug elsewhere.

svn path=/branches/shell-experiments/; revision=62436
2014-03-06 03:04:50 +00:00
David Quintana f3964379b1 [EXPLORER-NEW]
* I don't know what this may fix, but it was wrong. On the upside, now there's less spam in the log.

svn path=/branches/shell-experiments/; revision=62433
2014-03-05 13:57:02 +00:00
David Quintana 64c34d24fd [RSHELL]
* CMenuSite: Reworked the code to avoid SHIsSameObject, since newer versions of windows do not implement that function. The code should be equivalent, and does less unnecessary calls to QueryInterface.
CORE-7879

svn path=/branches/shell-experiments/; revision=62432
2014-03-05 13:14:51 +00:00
David Quintana 7529c9897c [RSHELL]
* CMenuSFToolbar: Keep the m_shellFolder pointer in a CComPtr, so that it doesn't get deleted and possibly reused for something else.
CORE-7586

svn path=/branches/shell-experiments/; revision=62429
2014-03-05 12:34:30 +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 d1e5c6a2b9 [RSHELL]
* I was telling AddButton that all the items were the last, except the last. Now the submenus display properly. Some of them at least. Others get an exception, it seems.
CORE-7881

svn path=/branches/shell-experiments/; revision=62416
2014-03-03 17:55:43 +00:00
David Quintana d21bce9206 [NTUSER]
[USER32]
* Fix what I think is a wrong behaviour of storing MF_POPUP in the fType of the menu. Now it relies on hSubMenu being != NULL as an indicator of the presence of a submenu.
* Resource submenus are not supposed to get the hSubMenu as a wID, as far as I can tell.
* From the user point of view, it matches Windows better. Needs review and testing, as I don't know if I updated everything correctly.

svn path=/branches/shell-experiments/; revision=62415
2014-03-03 16:12:39 +00:00
David Quintana 7fe9315c7e [RSHELL]
* Improve logging in case of unexpected failures, and trace the creation of toolbar (menu) items.
CORE-7586

svn path=/branches/shell-experiments/; revision=62414
2014-03-03 16:11:47 +00:00
David Quintana 612d72cb58 [RSHELL]
* Move the copying back where it belongs. CMake may generate the dependencies the wrong way around (explorer-new should depend on rshell), but at least the copying works as expected, even if I always have to "build solution".
* Allow toggling between TBSTYLE_EX_VERTICAL and the manual TBSTATE_WRAP setting by (un)definiting TBSTYLE_EX_VERTICAL.
CORE-7881

svn path=/branches/shell-experiments/; revision=62412
2014-03-03 11:14:04 +00:00
David Quintana 9304a4e45f [RSHELL]
* Improve encapsulation of the CMenuToolbarBase by avoiding unnecessary usages of the window handle from the derived classes.
CORE-7881

svn path=/branches/shell-experiments/; revision=62411
2014-03-03 10:19:35 +00:00
David Quintana c3b293c4b2 [RSHELL]
* CMenuToolbarBase: Use TBSTATE_BREAK on every button instead of TBSTYLE_EX_VERTICAL. This allows the vertical alignment to work on ros, although the separators are neither sized nor drawn correctly, and the arrow alignment is wrong.
NOTE: It's still not functional. Second level submenus don't show up, and clicking on items does nothing.
CORE-7881

svn path=/branches/shell-experiments/; revision=62382
2014-03-02 19:35:13 +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 b35ff38428 [RSHELL]
* Improve hot-tracking behaviour.
CORE-7881

svn path=/branches/shell-experiments/; revision=62347
2014-02-27 11:56:28 +00:00
David Quintana 107ae8ee41 [RSHELL]
* Add a new logging wrapper to record calls from the start menu back to the explorer site.
CORE-7586

svn path=/branches/shell-experiments/; revision=62335
2014-02-26 14:05:55 +00:00
David Quintana 8b06cd6325 [EXPLORER-NEW]
* Show the start menu at the same position and alignment Windows uses.

[RSHELL]
* Use IShellFolder methods instead of SHCreateShellItem.
* Handle toolbar window events from the toolbar class.
* Improve the positioning calculations.
* TODO: How to tell the submenus of the start menu to show towards the left? For when the taskbar is ABE_RIGHT.

CORE-7596

svn path=/branches/shell-experiments/; revision=62334
2014-02-26 11:13:23 +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
David Quintana 53f74feb2d [RSHELL]
* CStartMenu: Now THESE are the right IDs. The previous ones were icon indices within the file.

svn path=/branches/shell-experiments/; revision=62329
2014-02-25 11:47:29 +00:00
David Quintana 5ee1aff4f5 [RSHELL]
* CStartMenu: Update the icon resource IDs to the IDs with the smaller images. This causes the images not to show. Need help figuring out why.
* Misc changes.
CORE-7586

svn path=/branches/shell-experiments/; revision=62328
2014-02-25 10:44:28 +00:00
David Quintana 2902b1cf0c [RSHELL]
* CMenuBand: Fix the keyboard navigation a bit. Still not fully working yet.
* Show submenus a bit closer to the arrow, as Windows does.
CORE-7881

svn path=/branches/shell-experiments/; revision=62323
2014-02-24 23:10:12 +00:00
David Quintana 9cf711a73f [RSHELL]
* CMenuBand: Fix menu colors.
CORE-7881

svn path=/branches/shell-experiments/; revision=62320
2014-02-24 13:05:24 +00:00
David Quintana b62a6757ee [RSHELL]
* Move some classes to separate files.
* Move class declarations to .h files.
CORE-7586

svn path=/branches/shell-experiments/; revision=62319
2014-02-24 11:59:34 +00:00
David Quintana 8c18269e39 [RSHELL]
* Undo a test change that shouldn't have reached the commit. ;P

svn path=/branches/shell-experiments/; revision=62318
2014-02-24 11:20:16 +00:00
David Quintana eee3377ec9 [RSHELL]
* CMenuBand:
  - Use a Pager control on top of the SF Toolbar, like Windows does.
  - Cache the ideal size of the toolbars to reuse it next time the start menu shows.
  - Draw the dropdown arrows on items with dropdowns.
  - Cancel the timer and open a submenu immediately if the item is clicked.
  - Draw the selected background color on the item with a popup if there is no other item being hovered.
  - Add some space for the dropdown arrows in the size calculations (hardcoded).
  - Simplify the size calculation and positioning.
CORE-7881

svn path=/branches/shell-experiments/; revision=62317
2014-02-24 11:07:16 +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
David Quintana 9877002e5c [CMAKE]
* Actually do what I said.

svn path=/branches/shell-experiments/; revision=62309
2014-02-23 18:15:20 +00:00
David Quintana b6d033175c [CMAKE]
* Revert change from r62307. Will do a proper merge instead.

[RSHELL]
* CMenuBand: Use SHGetImageList instead of Shell_GetImageLists.
* CMenuBand: Remove minwidth in the size calculation.

svn path=/branches/shell-experiments/; revision=62308
2014-02-23 18:13:43 +00:00
David Quintana 04a3726c09 [CMAKE]
* Take MSVC workaround from trunk.

[RSHELL]
* Fix GCC build.
* Add a couple error checks.

svn path=/branches/shell-experiments/; revision=62307
2014-02-23 16:44:54 +00:00
David Quintana d0f3e72c8e [RSHELL]
* CMenuBand: Send timer notifications for all items, so we can hide a previous submenu when the user hovers an item without submenu.
* CMenuBand: Avoid a stack overflow in some versions of windows by relying on the stored value instead of asking for it in the middle of a changed event.
CORE-7881

svn path=/branches/shell-experiments/; revision=62303
2014-02-23 15:02:02 +00:00
David Quintana dcbd65feca [RSHELL]
* CMenuDeskBar: Actually use the Popup flags to decide on the relative position of the submenus.
CORE-7886

svn path=/branches/shell-experiments/; revision=62296
2014-02-23 00:15:27 +00:00
David Quintana 905ab8ebba [RSHELL]
* Take "DbgPrint" function from explorer-new.
* CMenuBand: Show placeholder if the band gets an empty IShellFolder. Added what I guess is a hack, to allow CMenuDeskBar to get the submenu popup from the band.
* CMenuDeskBar: Use WM_ACTIVATE and WM_ACTIVATEAPP to detect when the menu should be closed. Uses the hack above for the exception of showing a submenu.
CORE-7886

svn path=/branches/shell-experiments/; revision=62295
2014-02-22 22:59:28 +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
Hermès Bélusca-Maïto f71a826f2c [FONTVIEW]
Unescaped use of percent character in a format string causes percent glyph not to be displayed.
Patch by André Guibert de Bruet.
CORE-7934 #resolve #comment Fixed in revision 62281, thanks ;)

svn path=/trunk/; revision=62281
2014-02-21 15:49:06 +00:00
David Quintana 07467c9e06 [RSHELL]
* CMenuBand, CMenuDeskBar: Improve the SubMenu hierarchy and OnSelect flow. Now the menu will spread a FullCancel or Execute upwards and close the whole start menu.
CORE-7881

svn path=/branches/shell-experiments/; revision=62280
2014-02-21 10:00:00 +00:00
Timo Kreuzer d996e6a34d [NTOSKRNL]
Improve some DPRINTs

svn path=/trunk/; revision=62276
2014-02-20 23:05:06 +00:00
Timo Kreuzer 9b07458c4d [NTOSKRNL]
Implement MmAdjustWorkingSetSize

svn path=/trunk/; revision=62275
2014-02-20 23:03:04 +00:00
Eric Kohl feedae2fff [MSGINA]
CORE-7559
Implement the shutdown dialog. Based on a patch by Lee Schroeder. Thank you very much!

svn path=/trunk/; revision=62274
2014-02-20 22:00:30 +00:00
Timo Kreuzer 9e44277466 [AFD]
Fix potentially uninitialized variable.

svn path=/trunk/; revision=62273
2014-02-20 21:47:02 +00:00
Timo Kreuzer ca142ab065 [AfD]
In AfdBindSocket, open a usermode handle and return that to the caller, instead of returning the kernel mode handle.

svn path=/trunk/; revision=62272
2014-02-20 21:41:33 +00:00
Timo Kreuzer 130b0bd77f [HOST_TOOLS]
Move pecoff.h from the tools roto dir to the include/host

svn path=/trunk/; revision=62271
2014-02-20 21:20:47 +00:00
Timo Kreuzer 6b2e326be9 [NTDLL_APITEST]
Add a few more tests for NtAllocateVirtualMemory

svn path=/trunk/; revision=62270
2014-02-20 21:19:16 +00:00