* Fix icon leak of the returned old icon from WM_SETICON.
[RSHELL]
* Add two debug prints (not hit).
[FILEBROWSER]
[EXPLORER-NEW]
* Free PWSTR pointers after exiting.
svn path=/branches/shell-experiments/; revision=64940
* CMenuBand: Increase the refcount of m_smc before returning it.
* CMenuBand: Improve the closing logic so that the object is reusable when it needs to be, and can still be released properly.
* CMenuDeskBar: Protect self against unexpected termination.
* CMenuFocusManager: Refcount objects that are being used.
* CStartMenu: Properly release the created objects after it's done using them (by using CComPtr instead of raw pointers).
[BROWSEUI]
* AddressBand: Release the addressband site when closing the band.
* InternetToolbar: Do not filter away ALL the items of the favorites folder.
* InternetToolbar: Do not AddRef a CComPtr that already did the refcounting itself.
CORE-8690
svn path=/branches/shell-experiments/; revision=64929
* Cleanup in case of error. CID 1248426
[RSHELL]
* Add uninitialized class fields. CID 1248477
* Avoid leaking memory. CID 1248438
[BROWSEUI]
* Fix potential overwriting of a variable. CID 716363
* Save the rshell handle instead of loading it every time. CID 1248435
* Fix leaked PIDL. CID 1248418
[SHELL32]
* Fix GCC build. And one small nickpick that has been bothering me for a long time.
svn path=/branches/shell-experiments/; revision=64864
* SHOnCWMCommandLine: Fix IETHREADPARAM leak.
[SHELL32]
* Fix HMENU leak of the popup used in the view mode button of the toolbar.
[RSHELL]
* Undo a previous change to help debug the leaks.
* Remove child submenus when closing a menu band.
* Add some extra verification for debugging purposes.
[BROWSEUI]
[RSHELL]
[SHELL32]
* Move ReleaseCComPtrExpectZero to the shared header.
svn path=/branches/shell-experiments/; revision=64858
[SHELL32]
[BROWSEUI]
* Move undocshell.h to a shared location, and move some shared utility functions into it.
* Replace all the COM object constructor functions with generic equivalents.
* Fixes a big bunch of "problems" found by Coverity Scan, but I don't have the list of CID at the moment.
svn path=/branches/shell-experiments/; revision=64854
* Fix another comment.
* Fix a cch/cb bug.
* Make use of the DSA_DestroyCallback function instead of messing around with the internals of the DSA.
CORE-8564
svn path=/branches/shell-experiments/; revision=64646
* Always open separate.
[BROWSEUI]
* Use the threadref IUnknown for reference counting in the browser threads.
svn path=/branches/shell-experiments/; revision=64578
* We don't keep changelogs in the file headers anymore. That's what the SVN commit history is for.
CORE-7559
svn path=/branches/shell-experiments/; revision=64406
[SHELL32]
* Implement shell shutdown using a proper shutdown dialog. Patch by Lee Schroeder with a small change to fix MSVC build.
CORE-7559 #comment Commited into shell-experiments branch r64403.
svn path=/branches/shell-experiments/; revision=64403
* Implement skeleton shell dde parser.
[SHELL32]
* Copy over the skeleton from rshell, and fill in the handlers for ViewFolder and ExploreFolder, with rudimentary implementations.
CORE-7552
svn path=/branches/shell-experiments/; revision=64395
* Implement SHCreateFromDesktop and supporting functions, and move those implementations to their own file.
[SHELL32]
* Handle message 1035 from the desktop window.
[SHLWAPI]
* Fix a bug in SHAllocShared, where source and destination parameters were reversed.
[EXPLORER-NEW]
* Use SHCreateFromDesktop to open the new window.
NOTE: There appears to be some more problems with the SH*Shared implementation, beyond the swapped parameters, which prevent the opening of the new windows. These functions will have to be revised and the corrected implementation sent to WINE.
svn path=/branches/shell-experiments/; revision=64314
* Make use of the wine debug functions and turn DbgPrints into TRACE/WARN/ERR.
[SHELL32]
* Turn some DbgPrints into TRACEs.
svn path=/branches/shell-experiments/; revision=63912
* Stop using the C defines LPSHELLFOLDER, LPSHELLVIEW and LPUNKNOWN, and use the respective C++ interfaces instead.
* Change one batch of COM interface pointers into CComPtr-based pointers, and remove associated Release calls (including at least one that was not supposed to be there at all).
* Remove a couple (repeated multiple times) pointless casts.
svn path=/branches/shell-experiments/; revision=63908
* Populate edit and view menu on first activation. TODO: enable/disable edit menu items in OnInitMenuPopup.
* Add Edit menu to resources (en-US only, other langs TODO)
* Repurpose BuildFileMenu to build the menu for the selection. This needs improvements as it uses all the items from the context menu at the moment.
* Add items to the File menu when shown.
svn path=/branches/shell-experiments/; revision=63836
* Improve the view menu handler a bit. Now the view menu properly marks the current view as expected.
svn path=/branches/shell-experiments/; revision=63811
* Find the menu index so that the forwarded WM_INITMENUPOPUP has all the info shell32 needs.
[SHELL32]
* Begin implementing dynamic menu editing, which is used by the shell views in order to change, add or remove items from the filebrowser menus. Some menu items may be temporarily lost until this is finished.
svn path=/branches/shell-experiments/; revision=63809
* Shell service object DLLs expect the ShellServiceObjectDelayLoad key to exist.
[SYSSETUP.INF]
* Mark stobject.dll to be registered during setup.
[STOBJECT]
* Implement icon handling.
* Implement rudimentary volume icon handler.
* Allow the volume icon to show the mute status of the primary audio device.
svn path=/branches/shell-experiments/; revision=63750
* Create skeleton for the SysTray shell service object DLL. No tray icons are created yet.
* Tranks Robert Naumann for providing the icon resources, and some file templates.
svn path=/branches/shell-experiments/; revision=63732
* Use the IAugmentedShellFolder methods instead of the old constructor.
[SHELL32]
* Fix gcc compilation.
svn path=/branches/shell-experiments/; revision=63708
* CFocusManager: Try to fix some weird behaviour.
* CMergedFolder: Downgrade some prints to TRACEs, and implement a couple methods needed by some debugging code.
* Activate merged folders by default. TODO: implement the filtering of the "Programs" submenu, and use it for the real Programs menu item.
[SHELL32]
* defcontextmenu.cpp: Make a copy of the apidl array before storing it for later, since it may be a pointer to the stack which may not be available later. Fixes the merged folders not working on clicks and context menu.
* shlmenu.cpp: While debugging, I made Shell_MergeMenus closer to WINE's.
svn path=/branches/shell-experiments/; revision=63702
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
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
* 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
* 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
* 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
* 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
[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
* 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
* 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