Commit graph

17 commits

Author SHA1 Message Date
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
Giannis Adamopoulos 551d8fa312 [SHELL32]
- CDefaultContextMenu: Make it respect the IContextMenu interface and expect menu id offsets instead of real menu ids and actually use the idCmdFirst and idCmdLast parameters in QueryContextMenu. Make the default part use and existed menu from the resources but changed accordingly so the ids of its elements can be adjusted to the next free id of the constructed menu. Rename InsertMenuItemsOfDynamicContextMenuExtension to AddShellExtensionsToMenu, DoDynamicShellExtensions to InvokeShellExt, and DoStaticShellExtensions to InvokeRegVerb. Make AddShellExtensionsToMenu and AddStaticContextMenusToMenu behave like QueryContextMenu to return the number of ids they occupy. Add two helpers SHGetMenuIdFromMenuMsg and SHSetMenuIdInMenuMsg to change the id that is contained in the lparam of WM_DRAWITEM and WM_MEASUREITEM before forwarding them.
- CDefView: When calling QueryContextMenu before using TrackPopupMenu, use 1 as the first id that will filled by the IContextMenu because we want 0 to be used as an indicator that the menu was canceled. Use SHGetMenuIdFromMenuMsg and SHSetMenuIdInMenuMsg to change the lparam of the messages forwarded to the IContextMenu accordingly.
- CDefViewBckgrndMenu: Add a hack so as to keep the code as simple as possible while respecting idCmdFirst and idCmdLast.
- CNewMenu: Remove a hack that was needed because WM_DRAWITEM didn't come with the menu id offset but with the real menu id.
- CDesktopFolder, CFSFolder: Make the callbacks avoid adding an extra separators.
After that shell extensions in menus should work better and callbacks to shell folders should really be able to add several menu items. 

svn path=/trunk/; revision=75533
2017-08-14 15:25:58 +00:00
Hermès Bélusca-Maïto 7b725d5d8f [SHELL32]: Follow-ups to r73579 and r73580: use PathYetAnotherMakeUniqueName.
CORE-12684

svn path=/trunk/; revision=73583
2017-01-18 23:47:38 +00:00
Hermès Bélusca-Maïto 47df3c243f [SHELL32]: Code formatting only.
svn path=/trunk/; revision=73582
2017-01-18 23:44:46 +00:00
Hermès Bélusca-Maïto a770bf5f98 Fix a bug introduced in r73579.
CORE-12684

svn path=/trunk/; revision=73580
2017-01-18 12:59:35 +00:00
Hermès Bélusca-Maïto 99b6de6618 [SHELL32]: Fix the "CNewMenu.cpp:432: Unexpected failure 80070002." debug line that appears when one tries to create a new file using the explorer (note: did not happen for new directories).
CORE-12684 #resolve #comment Fixed in r73579.

svn path=/trunk/; revision=73579
2017-01-18 12:48:50 +00:00
Hermès Bélusca-Maïto 57ba1bd2d4 [SHELL32]
- Use explicit unicode SHFILEINFOW structure (where needed);
- In CFSExtractIcon_CreateInstance, use _countof instead of hardcoding the MAX_PATHs; add some FIXMEs about the 'flags' parameter;
- Code formatting in CExtractIcon.cpp.

svn path=/trunk/; revision=73570
2017-01-17 19:16:50 +00:00
Christoph von Wittich 1ce557f97e [SHELL32] close hKey in error case
svn path=/trunk/; revision=71983
2016-07-23 19:39:16 +00:00
Mark Jansen 98de7f1bae [SHELL32] Addendum to r71980, RegSetValueEx expects a size in bytes, not chars. CORE-10439
svn path=/trunk/; revision=71981
2016-07-23 13:15:19 +00:00
Christoph von Wittich 7541633310 [SHELL32] cache entries of "New" menu
CORE-10439 

svn path=/trunk/; revision=71980
2016-07-23 12:31:30 +00:00
Ged Murphy e828ff57bc [SHELL32]
- Add support for canonical/string verbs when using CMINVOKECOMMANDINFO. This fixes switching views and adding a new folder when using the button in the common dialogs. This really needs to go in a CDefFolderMenu class (which likely inherits the context menu class), but we don't use that design.
- Partially implement CDefaultContextMenu::GetCommandString 'while I was there' It's completely untested though.
CORE-10089

svn path=/trunk/; revision=70215
2015-11-30 11:17:26 +00:00
Thomas Faber 68f6155242 [SHELL32]
- Initialize CNewMenu::m_pidlFolder. Fixes crash in com_apitest:shell32
CORE-10115 #resolve

svn path=/trunk/; revision=69048
2015-09-06 08:16:57 +00:00
Giannis Adamopoulos b228db061a [SHELL32]
- CNewMenu: Get the folder path from the pidl passed in the Initialize method. No need to query the defview for that.
- Dont use a reactos only interface to create a new directory. Prefer to do it with less code using exported functions.
- Add a new SelectNewItem method that is used when creating a new file or directory.
- Apply same fix for browse for folder dialog.

svn path=/trunk/; revision=68915
2015-09-02 13:14:46 +00:00
Giannis Adamopoulos b1a175cbfa [SHELL32]
- Implement IContextMenu3 interface. Implement drawing the icons on WM_DRAWITEM. CORE-8866

svn path=/trunk/; revision=67009
2015-04-01 20:22:25 +00:00
Hermès Bélusca-Maïto 42c3492b5c Revert tree-restructure attempt: r66583, r66582, r66581, r66578, sauf ntdll changes, r66576 and r66575 sauf mvdm changes (ok with Aleksander).
svn path=/trunk/; revision=66588
2015-03-06 14:33:02 +00:00
Hermès Bélusca-Maïto 829e58590e [SHELL]: Move shell dlls to where they should belong.
CORE-9111

svn path=/trunk/; revision=66582
2015-03-06 01:26:58 +00:00
Amine Khaldi 5c1a8109c8 * The Shell.. for a long time we dreamed of having a compatible, properly working rewrite, but it's easier said than done. Over the years this effort has been split into tasks, and this branch was the biggest overall. Now it's time to merge it back to trunk!
* This merge is also a chance to thank every single person involved directly and indirectly in this epic work, among them: Martin Fuchs for ReactOS explorer which we are respectfully retiring now, as it served the project so well over all these years. Thomas Bluemel (Thomas Weidenmueller aka w3seek) for his brave work on the shell, mainly his explorer_new. Andrew Hill for advancing the shell bringup with some impressive work. David Quintana, Giannis Adamopoulos and Huw Campbell for working as a solid team on making this branch a huge success, allowing the shell rewrite dream to finally become a reality. Again, thank you all!
* Merging this branch is not the end.. it's the beginning of some serious bug fixing based hopefully on the Community's continuous feedback.
* Finally, here are *some* of the highlights of this branch (simply put):

[BROWSEUI] Halfplement the address bar. Mostly implement the Favorites menu. Implement handling most hotkeys that should be handled by CShellBrowser. Fix various bugs.

[EXPLORER_NEW] Convert to C++ and use several wtl-like classes to simplify it. Fix several bugs and implement misc missing features.

[FILEBROWSER] A small exe file that opens a new file browser window in its own process. Tested to work in windows. It can be used to test our browseui.dll in windows.

[FONTS] A new marlett font.

[MSGINA] Add a proper shutdown dialog that's used when the user selects shutdown from the start menu (this is how it's done in Windows).

[RSHELL] A temporary module that hosts the implementation of the following classes needed for the shell: CMenuBand, CMenuDeskBar, CMenuSite, CMergedFolder, CStartMenu. These were implemented and tested in windows and for that reason they are still there. Should be moved in shell32 in the future.

[SHELL32] Reorganize files to isolate the ones that are not yet forked from wine. Fix various problems. Simplify the implementation of some shell folders. Implement filling in the file menu in the file browser.

[STOBJECT] A shell extension responsible for misc taskbar notification icons. So far only the sound icon is implemented. Adding this is necessary as the old explorer had the sound icon built in and deprecating it needs a proper solution for these notification icons.

[WIN32K] Fix several bugs that prevented the new start menu (that was implemented and tested in Windows) from functioning properly in ReactOS, mostly due to focus issues. Fix several shell notifications to behave more like in Windows.

* Tonight! We shall feast!
* And tomorrow the US guys shall feast again, on turkey! :p

CORE-7330

svn path=/trunk/; revision=65496
2014-11-26 19:49:18 +00:00