Commit graph

45 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 59cc29bd8e [RSHELL] -Link to shellbars and export CBandSite_CreateInstance and CBandSiteMenu_CreateInstance.
[SHELLMENU] -Remove second copy of CBandSite. It was originally added here to be tested in windows but now it is hosted in a proper static link.

svn path=/trunk/; revision=74293
2017-04-09 15:10:08 +00:00
Giannis Adamopoulos 87bf08acdb [SHELL32]
- Move CFSDropTarget to its own file.

svn path=/trunk/; revision=72206
2016-08-12 11:35:24 +00:00
Giannis Adamopoulos 22c0bb2723 [SHELL32]
- Add CRegFolder using the guid item specific functions. So far it is only partly implemented with stuff like enumerating still missing.
- Use CRegFolder in CDesktopFolder, CDrivesFolder and CControlPanelFolder and stop using guid item specific functions.

svn path=/trunk/; revision=72188
2016-08-10 18:56:48 +00:00
Mark Jansen 487956500e [SHELL32] Rename CShell to CShellDispatch CORE-6892
svn path=/trunk/; revision=71476
2016-05-31 17:40:44 +00:00
Giannis Adamopoulos 48cee97ceb [SHELL32]
- Move recyclebin static lib in the shell32 folder and name it shellrecyclebin alongside shelldesktop and shellmenu static libs.

svn path=/trunk/; revision=71243
2016-05-03 14:36:04 +00:00
Mark Jansen 8b77c254f8 [BROWSEUI][SHELL32] Stub Folder Options Property Page extension CORE-10837
- Stub the Property pages
- Disable some code that prevented the property pages from working (CORE-11140)
- Leave the menu item disabled for now, since a dialog that does not do anything will only confuse people (CORE-11141)

svn path=/trunk/; revision=71192
2016-04-23 23:05:07 +00:00
Thomas Faber 78a727d095 [SHELL32]
- Add stubs for the shell dispatch object, CShell, and its relatives. Patch by Mark Jansen.
[SHELL32_WINETEST]
- We no longer need to skip test_ParseName and test_Verbs thanks to Mark's work.
CORE-6892
ROSTESTS-209

svn path=/trunk/; revision=71116
2016-04-08 08:30:09 +00:00
Pierre Schweitzer 886fc1b808 [SHELL32]
Time to (re)act!
Step 2/2: continue Giannis' UNC hack in Shell32:
- Implement the ILCreateFromNetworkPlaceW() helper, which is just Giannis' code to allow creating a hacky PIDL for enumeration.
- Implement the CNetFolderEnum class, which allows enumerating network places. So far, it's pretty basic (no tree structure) but, it does its job. It would be to improve
- Implement the CNetFolder::EnumObjects() function.

This commit, in itself, more or less obsoletes hackssign application. Indeed, now, you just need to go to your network places, to be able to browse your network shares (like VMware or VBox shares) provided you installed the VMware/VBox additions in your VM.
However, hackssign will remains in rosapps for now: we don't have any other way to assign a drive letter to a network place so far, and VMware doesn't provide such feature.
Furthermore, this is a big hack. And until we have a correct implementation, we can keep another hack along ;-).

Feel free to decently enjoy your network shares in ReactOS :-).

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70671
2016-02-01 22:07:55 +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
Giannis Adamopoulos a5b00b8271 [SHELL32] - Remove Reactos only ISFHelper interface that is no longer used.
svn path=/trunk/; revision=68916
2015-09-02 18:20:40 +00:00
Giannis Adamopoulos 2f9a846dcf [SHELL32]
- Sync control.c from wine and disable a large part of it that is not needed. Also update the definition of CPlApplet to match wine.
- Make CControlPanel use the new definition of CPlApplet which lets us simplify loading the applets.
- Make CControlPanel to only use unicode and use the new helper functions.
- Simplify the code for the context menu of cpl items.

svn path=/trunk/; revision=68845
2015-08-28 10:36:35 +00:00
Giannis Adamopoulos 10dd24321a [SHELL32]
- Move a couple of headers in the dialogs directory.

svn path=/trunk/; revision=68773
2015-08-19 16:26:16 +00:00
Thomas Faber 0afd339f06 [SHELL32]
- Use and register the shellmenu (former rshell) classes instead of the outdated copies in shell32
CORE-9892

svn path=/trunk/; revision=68764
2015-08-19 11:17:08 +00:00
David Quintana 82ddf91104 [SHELL32]
* Implement CLSID_QueryAssociations class. Patch by Ivan Rodionov, with some unrotting by me.
CORE-8188 #resolve

svn path=/trunk/; revision=66940
2015-03-28 23:27:10 +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
Giannis Adamopoulos 714369041b [BROWSEUI]
- Moce CAutoComplete from shell32 to browseui where it belongs

svn path=/trunk/; revision=66473
2015-02-26 18:44:34 +00:00
Giannis Adamopoulos 98669c13f1 [HEADERS]
- Move definitions for DrawCaptionTemp to userundoc.h as it shouldn't be defined in the psdk
- Add browseui_undoc.h and move there the undocumented definitions for browseui
- Add comctl32_undoc.h and move there the undocumented definitions for comctl32
- Move undocumented definitions for shlwapi to shlwapi_undoc.h
- Add shellutils.h to contain helper macros and definitions that are nor per se undocumented.
- Cleanup internal definitions of explorer. Remove several temporary hacks. They were added at a time that these features were not implemented at all.

svn path=/trunk/; revision=65507
2014-11-27 20:27:19 +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
Amine Khaldi 4f523a3000 [SHELL32]
* Implement support for file formats' drop target shell extensions.
* Implement a shell extension for executable files.
* Implement a shell extension for lnk files.
* Change the shell notifications for moving files and folders, as they were all conflated with renaming files.
* Fix up SHChangeNotification so the desktop receives notifications when files are added to common or user desktop directories.
* Fix up SHChangeNotification such that folder pidls are not incorrectly assumed to be file pidls and displayed incorrectly.
* Implement a drop target for My Documents.
* Fix up the desktop's drop target resolution so files can be dropped on the recycle bin and my documents etc properly.
* Stub IDragSourceHelper in CLSID_DragDropHelper.
* Add a few additional shell change notifications.
* Silence a few FIXMEs to TRACEs.
* Some code clean up.
* Brought to you by Huw Campbell.
CORE-3760

svn path=/trunk/; revision=62502
2014-03-15 13:59:22 +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
Amine Khaldi 1bb3dbb528 [SHELL32]
* Remove one time inclusions from the main header and put them back where they belong.
* Improve header inclusions.
CORE-7716

svn path=/trunk/; revision=61812
2014-01-25 17:24:24 +00:00
Giannis Adamopoulos 3586cb1635 [shell32]
- Add an initial stub for CMenuBand that creates a menu bar and fills it with contents. However its still not functional

svn path=/trunk/; revision=60690
2013-10-16 19:13:49 +00:00
Giannis Adamopoulos 9ec75c65fb [shell32]
- Stub CMenuDeskBar class

svn path=/trunk/; revision=59950
2013-09-01 16:52:36 +00:00
Giannis Adamopoulos 999fd92e73 [shell32]
- Remove a line that shouldn't have been committed

svn path=/trunk/; revision=59919
2013-08-31 14:59:45 +00:00
Giannis Adamopoulos d102ea906c [shell32]
- Halfplement CDesktopBrowser::BrowseObject. Now when the user tries to open a folder from the desktop we will try to create a new explorer window.
- ps: this affects only explorer_new and the rest of the shell is still not working well enough to actually show the new window

svn path=/trunk/; revision=59918
2013-08-31 14:53:01 +00:00
Giannis Adamopoulos 088f141485 [shell32]
- Stub CMenuBand class

svn path=/trunk/; revision=59561
2013-07-23 10:53:06 +00:00
Amine Khaldi 800947d692 [PSDK]
* Add NT_CONSOLE_PROPS and NT_FE_CONSOLE_PROPS and fix EXP_SZ_LINK.
* Add SHELL_LINK_INFO_* and some Shell Link Extra Data structures (for IShellLinkDataList).
[USERINIT][CPLS][DLLS]
* Add the now necessary wincon.h inclusion.
* Brought to you by Dominik Hornung.
CORE-7162 #resolve #comment Committed in r58930. Danke !

svn path=/trunk/; revision=58930
2013-05-04 20:43:16 +00:00
Amine Khaldi 2bd930547c * Slap *some* sense into our header inclusions.
* This significantly shrinks the dependency tracking data and the compiled objects size, which speeds up the whole build process (especially the incremental builds) accelerating the daily development as a result.
* No intended code changes, ~27% smaller build. Enjoy ;)

svn path=/trunk/; revision=58214
2013-01-24 23:00:42 +00:00
Amine Khaldi 424881352d [SHELL32]
* Remove unneeded config.h inclusion.
* Remove an unneeded include dir.

svn path=/trunk/; revision=57886
2012-12-12 12:20:26 +00:00
Rafal Harabien bc92eceb86 [SHELL32]
- Add CLSID_ShellFileDefExt, CLSID_ShellDrvDefExt, CLSID_ShellNetDefExt GUIDs
- Move File Properties default pages to CFileDefExt

svn path=/trunk/; revision=54908
2012-01-11 20:20:01 +00:00
Rafal Harabien a5ec468fe0 [SHELL32]
- Remove unused/empty files
- Improve directory layout

svn path=/trunk/; revision=54683
2011-12-18 15:47:41 +00:00
Rafal Harabien 6f7115b541 [SHELL32]
- Display file size in bytes in file properties dialog
- Don't use ULONGLONG if ULONG is enough
- Change LARGE_INTEGER to ULARGE_INTEGER where it makes sense
- Fix calculation of file size in CountFolderAndFiles
- WM_GETTEXT receives size in bytes (not characters count)
- Use Get(Set)DlgItemTextW instead of SendDlgItemMessageW
Patch by Carlo Bramix. Improvements by me.
See issue #6294 for more details.

svn path=/trunk/; revision=54529
2011-11-28 21:54:45 +00:00
Jérôme Gardou 757ab6e8d4 [REACTOS]
- get version.h and buildno.h out of precompiled headers, to avoid rebuilding the whole module each time we reconfigure the build

svn path=/trunk/; revision=53716
2011-09-15 21:03:39 +00:00
Amine Khaldi 3bb734fcf3 [SHELL32]
* Reintegrate the c++ shell32 branch. Exemplary team-work.. kudos !
* Better code quality, more tests run with less failures... and more.
* Dedicated to everyone who helped ;)

svn path=/trunk/; revision=53653
2011-09-09 10:55:09 +00:00
Amine Khaldi e3a1ac4593 * Include NDK headers on-demand.
svn path=/trunk/; revision=53235
2011-08-14 17:31:30 +00:00
Ged Murphy 4019caae75 This really needs to go in a branch. It needs heavy testing and can't coincide with the current shell32 due to PSDK interface changes
svn path=/branches/shell32_new-bringup/; revision=51893
2011-05-24 18:40:34 +00:00
Andrew Hill 8266299b0e [browseui, shell32, explorer_new, include]
- Convert browseui to C++/ATL. As part of this, classes in browseui and now registered with .rgs files.
- Add AddressBand, AddressEditBox, BandProxy, BaseBar, BaseBarSite, BrandBand, InternetToolbar, ShellBrowser, ToolsBand, and TravelLog.
- Add stub implementations of commonbrowser, globalfoldersettings, and regtreeoptions.
- Clean up some msvc compile problems in a few files.
- Reorganize some headers to make them better match the Platform SDK.
- Move InlineIsEqualGUID to guiddef.h.
- Create new header files shlguid_undoc.h, shlobj_undoc.h, and shlwapi_undoc.h to hold undocumented types, functions, and GUIDs.
- Move some undocumented definitions declared in explorer_new/todo.h and undoc.h to new headers.
- Rename a few interfaces in explorer_new to the correct name
- Add definition of RBSTR_CHANGERECT to commctrl.h
- IDeskBarClient inherits from IOleWindow, not IUnknown
- HMONITOR was declared in both dxsdk/axextend.idl and wine/wined3d.idl, but not in wtypes.idl where it belongs
- Added Init and Term to CComModule
- Thanks to encoded for solving the browseui linking problem!

svn path=/trunk/; revision=43872
2009-10-31 14:25:45 +00:00
Johannes Anderwald f03906b449 - Partly implement IBandSite, IMenuBand
svn path=/trunk/; revision=43112
2009-09-22 18:30:39 +00:00
Johannes Anderwald 8c36300c0b - Allow creating a copy of a file residing in the same directory
- Free the correct the buffer 
- Romanian language needs to be updated
See issue #4846 for more details.

svn path=/trunk/; revision=43070
2009-09-18 00:48:47 +00:00
Colin Finck 0228866724 Support passing a Token to SHGetFolderPathW and similar functions
svn path=/trunk/; revision=39294
2009-02-02 23:06:33 +00:00
Johannes Anderwald 9a1009363b - Revert 35686
- NetworkConnections is implemented in netshell.dll

svn path=/trunk/; revision=35688
2008-08-26 22:35:44 +00:00
Johannes Anderwald d7a196cf95 - Start implementing Network Connections Shell Folder
- Rename cpanelfolder to shfldr_cpanel
- Implement _ILIsNetConnect, ILCreateNetConnect

svn path=/trunk/; revision=35686
2008-08-26 21:29:55 +00:00
Johannes Anderwald 07d2758056 shell32 update (1/2)
- Use precompiled headers for shell32
- Use __inline for MSVC compability
- Fix api definitions of SHCreateStdEnumFmtEtc, GetFileNameFromBrowse, SHCreateDirectory, SHCreateDirectoryExA, SHCreateDirectoryExW, Dad_AutoScroll, CDefFolderMenu_Create2, SHChangeNotifyRegister
- msvc now compiles nearly all of shell32 (with WDK headers)

svn path=/trunk/; revision=35674
2008-08-26 15:50:23 +00:00