* The Shell.. for a long time we dreamed of having a compatible, properly working...
authorAmine Khaldi <amine.khaldi@reactos.org>
Wed, 26 Nov 2014 19:49:18 +0000 (19:49 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Wed, 26 Nov 2014 19:49:18 +0000 (19:49 +0000)
commit5c1a8109c84ed0aefdac2488ff666070a7ae52f6
tree4681f9fae36916878ef5c553d286ae74009afcfc
parentd006975972dcc58464f69989e2a225e498a2b612
parent0b09ff9f777e75215b33b389d93405c97e8db321
* 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
237 files changed:
reactos/base/shell/CMakeLists.txt
reactos/base/shell/explorer-new/CMakeLists.txt
reactos/base/shell/explorer-new/desktop.cpp
reactos/base/shell/explorer-new/dragdrop.cpp
reactos/base/shell/explorer-new/explorer.cpp
reactos/base/shell/explorer-new/precomp.h
reactos/base/shell/explorer-new/rshell.cpp
reactos/base/shell/explorer-new/settings.cpp
reactos/base/shell/explorer-new/shellservice.cpp
reactos/base/shell/explorer-new/startctxmnu.cpp
reactos/base/shell/explorer-new/startmnu.cpp
reactos/base/shell/explorer-new/startmnusite.cpp
reactos/base/shell/explorer-new/startup.cpp
reactos/base/shell/explorer-new/taskband.cpp
reactos/base/shell/explorer-new/taskswnd.cpp
reactos/base/shell/explorer-new/tbsite.cpp
reactos/base/shell/explorer-new/trayntfy.cpp
reactos/base/shell/explorer-new/trayprop.cpp
reactos/base/shell/explorer-new/traywnd.cpp
reactos/base/shell/explorer-new/util.cpp
reactos/base/shell/explorer/CMakeLists.txt
reactos/base/shell/filebrowser/CMakeLists.txt
reactos/base/shell/filebrowser/browseui.sxs.manifest
reactos/base/shell/filebrowser/filebrowser.c
reactos/base/shell/filebrowser/filebrowser.exe.manifest
reactos/base/shell/filebrowser/filebrowser.exe.regfree.manifest
reactos/base/shell/filebrowser/filebrowser.rc
reactos/base/shell/rshell/CDesktopBrowser.cpp
reactos/base/shell/rshell/CMakeLists.txt
reactos/base/shell/rshell/CMenuBand.cpp
reactos/base/shell/rshell/CMenuBand.h
reactos/base/shell/rshell/CMenuDeskBar.cpp
reactos/base/shell/rshell/CMenuDeskBar.h
reactos/base/shell/rshell/CMenuFocusManager.cpp
reactos/base/shell/rshell/CMenuFocusManager.h
reactos/base/shell/rshell/CMenuSite.cpp
reactos/base/shell/rshell/CMenuSite.h
reactos/base/shell/rshell/CMenuToolbars.cpp
reactos/base/shell/rshell/CMenuToolbars.h
reactos/base/shell/rshell/CMergedFolder.cpp
reactos/base/shell/rshell/CMergedFolder.h
reactos/base/shell/rshell/CStartMenu.cpp
reactos/base/shell/rshell/ShellDDE.cpp
reactos/base/shell/rshell/misc.cpp
reactos/base/shell/rshell/precomp.h
reactos/base/shell/rshell/rshell.spec
reactos/boot/bootdata/hivesft.inf
reactos/dll/shellext/CMakeLists.txt
reactos/dll/shellext/stobject/CMakeLists.txt
reactos/dll/shellext/stobject/csystray.cpp
reactos/dll/shellext/stobject/csystray.h
reactos/dll/shellext/stobject/lang/de-DE.rc
reactos/dll/shellext/stobject/lang/en-US.rc
reactos/dll/shellext/stobject/precomp.h
reactos/dll/shellext/stobject/resource.h
reactos/dll/shellext/stobject/resources/1.ico
reactos/dll/shellext/stobject/resources/2.ico
reactos/dll/shellext/stobject/resources/3.ico
reactos/dll/shellext/stobject/resources/4.ico
reactos/dll/shellext/stobject/resources/rgs/systray.rgs
reactos/dll/shellext/stobject/stobject.cpp
reactos/dll/shellext/stobject/stobject.rc
reactos/dll/shellext/stobject/stobject.spec
reactos/dll/shellext/stobject/volume.cpp
reactos/dll/win32/browseui/CMakeLists.txt
reactos/dll/win32/browseui/aclmulti.cpp
reactos/dll/win32/browseui/addressband.cpp
reactos/dll/win32/browseui/addressband.h
reactos/dll/win32/browseui/addresseditbox.cpp
reactos/dll/win32/browseui/addresseditbox.h
reactos/dll/win32/browseui/bandproxy.cpp
reactos/dll/win32/browseui/bandsite.cpp
reactos/dll/win32/browseui/bandsite.h
reactos/dll/win32/browseui/basebar.cpp
reactos/dll/win32/browseui/basebarsite.cpp
reactos/dll/win32/browseui/brandband.cpp
reactos/dll/win32/browseui/browseui.rc
reactos/dll/win32/browseui/browseuiord.cpp
reactos/dll/win32/browseui/desktopipc.cpp
reactos/dll/win32/browseui/internettoolbar.cpp
reactos/dll/win32/browseui/internettoolbar.h
reactos/dll/win32/browseui/lang/de-DE.rc
reactos/dll/win32/browseui/lang/en-US.rc
reactos/dll/win32/browseui/parsecmdline.cpp
reactos/dll/win32/browseui/precomp.h
reactos/dll/win32/browseui/resource.h
reactos/dll/win32/browseui/shellbrowser.cpp
reactos/dll/win32/browseui/toolsband.cpp
reactos/dll/win32/browseui/travellog.cpp
reactos/dll/win32/comctl32/toolbar.c
reactos/dll/win32/msgina/CMakeLists.txt
reactos/dll/win32/msgina/lang/bg-BG.rc
reactos/dll/win32/msgina/lang/cs-CZ.rc
reactos/dll/win32/msgina/lang/de-DE.rc
reactos/dll/win32/msgina/lang/en-US.rc
reactos/dll/win32/msgina/lang/es-ES.rc
reactos/dll/win32/msgina/lang/fr-FR.rc
reactos/dll/win32/msgina/lang/he-IL.rc
reactos/dll/win32/msgina/lang/id-ID.rc
reactos/dll/win32/msgina/lang/it-IT.rc
reactos/dll/win32/msgina/lang/ja-JP.rc
reactos/dll/win32/msgina/lang/no-NO.rc
reactos/dll/win32/msgina/lang/pl-PL.rc
reactos/dll/win32/msgina/lang/ro-RO.rc
reactos/dll/win32/msgina/lang/ru-RU.rc
reactos/dll/win32/msgina/lang/sk-SK.rc
reactos/dll/win32/msgina/lang/sq-AL.rc
reactos/dll/win32/msgina/lang/tr-TR.rc
reactos/dll/win32/msgina/lang/uk-UA.rc
reactos/dll/win32/msgina/resource.h
reactos/dll/win32/msgina/shutdown.c
reactos/dll/win32/msgina/stubs.c
reactos/dll/win32/shell32/CAutoComplete.cpp
reactos/dll/win32/shell32/CAutoComplete.h
reactos/dll/win32/shell32/CDefView.cpp
reactos/dll/win32/shell32/CDefaultContextMenu.cpp
reactos/dll/win32/shell32/CDesktopBrowser.cpp
reactos/dll/win32/shell32/CDropTargetHelper.cpp
reactos/dll/win32/shell32/CDropTargetHelper.h
reactos/dll/win32/shell32/CEnumIDListBase.cpp
reactos/dll/win32/shell32/CEnumIDListBase.h
reactos/dll/win32/shell32/CExtractIcon.cpp
reactos/dll/win32/shell32/CFileSysBindData.cpp
reactos/dll/win32/shell32/CIDLDataObj.cpp
reactos/dll/win32/shell32/CMakeLists.txt
reactos/dll/win32/shell32/CMenuDeskBar.cpp
reactos/dll/win32/shell32/CNewMenu.cpp
reactos/dll/win32/shell32/CNewMenu.h
reactos/dll/win32/shell32/COpenWithMenu.cpp
reactos/dll/win32/shell32/COpenWithMenu.h
reactos/dll/win32/shell32/CShellItem.cpp
reactos/dll/win32/shell32/CShellItem.h
reactos/dll/win32/shell32/CShellLink.cpp
reactos/dll/win32/shell32/CShellLink.h
reactos/dll/win32/shell32/CStartMenu.cpp
reactos/dll/win32/shell32/CStartMenu.h
reactos/dll/win32/shell32/bitmap_res.rc
reactos/dll/win32/shell32/cpanel.h
reactos/dll/win32/shell32/dde.cpp
reactos/dll/win32/shell32/debughlp.h
reactos/dll/win32/shell32/dialogs/dialogs.cpp
reactos/dll/win32/shell32/dialogs/drive.cpp
reactos/dll/win32/shell32/dialogs/drvdefext.cpp
reactos/dll/win32/shell32/dialogs/filedefext.cpp
reactos/dll/win32/shell32/dialogs/folder_options.cpp
reactos/dll/win32/shell32/dialogs/fprop.cpp
reactos/dll/win32/shell32/folders.cpp
reactos/dll/win32/shell32/folders/CAdminToolsFolder.cpp
reactos/dll/win32/shell32/folders/CAdminToolsFolder.h
reactos/dll/win32/shell32/folders/CControlPanelFolder.cpp
reactos/dll/win32/shell32/folders/CControlPanelFolder.h
reactos/dll/win32/shell32/folders/CDesktopFolder.cpp
reactos/dll/win32/shell32/folders/CDesktopFolder.h
reactos/dll/win32/shell32/folders/CDrivesFolder.cpp
reactos/dll/win32/shell32/folders/CDrivesFolder.h
reactos/dll/win32/shell32/folders/CFSFolder.cpp
reactos/dll/win32/shell32/folders/CFSFolder.h
reactos/dll/win32/shell32/folders/CFontsFolder.cpp
reactos/dll/win32/shell32/folders/CFontsFolder.h
reactos/dll/win32/shell32/folders/CMyDocsFolder.cpp
reactos/dll/win32/shell32/folders/CMyDocsFolder.h
reactos/dll/win32/shell32/folders/CNetFolder.cpp
reactos/dll/win32/shell32/folders/CNetFolder.h
reactos/dll/win32/shell32/folders/CPrinterFolder.cpp
reactos/dll/win32/shell32/folders/CPrinterFolder.h
reactos/dll/win32/shell32/folders/CRecycleBin.cpp
reactos/dll/win32/shell32/folders/CRecycleBin.h
reactos/dll/win32/shell32/iconcache.cpp
reactos/dll/win32/shell32/lang/en-US.rc
reactos/dll/win32/shell32/precomp.h
reactos/dll/win32/shell32/res/bitmaps/214.bmp
reactos/dll/win32/shell32/res/bitmaps/215.bmp
reactos/dll/win32/shell32/res/bitmaps/216.bmp
reactos/dll/win32/shell32/res/bitmaps/217.bmp
reactos/dll/win32/shell32/res/bitmaps/230.bmp
reactos/dll/win32/shell32/res/bitmaps/231.bmp
reactos/dll/win32/shell32/res/bitmaps/240.bmp
reactos/dll/win32/shell32/res/bitmaps/241.bmp
reactos/dll/win32/shell32/res/bitmaps/242.bmp
reactos/dll/win32/shell32/res/bitmaps/245.bmp
reactos/dll/win32/shell32/res/bitmaps/246.bmp
reactos/dll/win32/shell32/res/bitmaps/247.bmp
reactos/dll/win32/shell32/res/icons/322.ico
reactos/dll/win32/shell32/res/icons/323.ico
reactos/dll/win32/shell32/res/icons/324.ico
reactos/dll/win32/shell32/res/icons/325.ico
reactos/dll/win32/shell32/res/icons/326.ico
reactos/dll/win32/shell32/res/icons/327.ico
reactos/dll/win32/shell32/res/icons/328.ico
reactos/dll/win32/shell32/res/icons/329.ico
reactos/dll/win32/shell32/res/icons/330.ico
reactos/dll/win32/shell32/res/rgs/mycomputer.rgs
reactos/dll/win32/shell32/shell32.cpp
reactos/dll/win32/shell32/shell32.spec
reactos/dll/win32/shell32/shellfolder.h
reactos/dll/win32/shell32/shfldr.h
reactos/dll/win32/shell32/shlexec.cpp
reactos/dll/win32/shell32/shlfileop.cpp
reactos/dll/win32/shell32/shlfolder.cpp
reactos/dll/win32/shell32/shresdef.h
reactos/dll/win32/shell32/wine/brsfolder.c
reactos/dll/win32/shell32/wine/changenotify.c
reactos/dll/win32/shell32/wine/classes.c
reactos/dll/win32/shell32/wine/clipboard.c
reactos/dll/win32/shell32/wine/control.c
reactos/dll/win32/shell32/wine/pidl.c
reactos/dll/win32/shell32/wine/pidl.h
reactos/dll/win32/shell32/wine/shell32_main.c
reactos/dll/win32/shell32/wine/shell32_main.h
reactos/dll/win32/shell32/wine/shellole.c
reactos/dll/win32/shell32/wine/shellord.c
reactos/dll/win32/shell32/wine/shellpath.c
reactos/dll/win32/shell32/wine/shellreg.c
reactos/dll/win32/shell32/wine/shellstring.c
reactos/dll/win32/shell32/wine/shlmenu.c
reactos/dll/win32/shell32/wine/shpolicy.c
reactos/dll/win32/shlwapi/CMakeLists.txt
reactos/dll/win32/syssetup/install.c
reactos/include/psdk/commctrl.h
reactos/include/psdk/shlobj.h
reactos/include/psdk/shlobj_undoc.h
reactos/include/psdk/shlwapi.h
reactos/include/psdk/shlwapi_undoc.h
reactos/include/psdk/shobjidl.idl
reactos/include/reactos/rosctrls.h
reactos/include/reactos/undocshell.h
reactos/include/reactos/undocuser.h
reactos/lib/atl/atlcom.h
reactos/lib/atl/atlwin.h
reactos/media/fonts/Marlett.ttf
reactos/media/inf/syssetup.inf
reactos/win32ss/user/ntuser/focus.c
reactos/win32ss/user/ntuser/hotkey.c
reactos/win32ss/user/ntuser/menu.c
reactos/win32ss/user/ntuser/window.c
reactos/win32ss/user/ntuser/winpos.c
reactos/win32ss/user/user32/windows/menu.c