Commit graph

217 commits

Author SHA1 Message Date
David Quintana 7d0ca528ce [EXPLORER-NEW]
* Use IContextMenu for the context menus, instead of a struct with function pointers.

svn path=/branches/shell-experiments/; revision=65279
2014-11-06 03:05:33 +00:00
David Quintana a2cc12f3e7 [EXPLORER-NEW]
* Make use of the CToolbar<T> class to implement a CTaskToolbar.
* Change the CTaskSwitchWnd class to use CTaskToolbar instead of managing the HWND directly.
* Silence logspam in CTrayBandSite.
* Fix CNotifyToolbar to properly.
* Move the call to SetMetrics to be called only on initialization, instead of every time an icon changes.
* Make the start button a CContainedWindowT instead of a raw HWND. TODO: Make a CStartButton class to manage it.

[include/reactos/rosctrls.h]
* Some improvements needed by the taskbar.

svn path=/branches/shell-experiments/; revision=65274
2014-11-05 22:58:53 +00:00
Amine Khaldi 2c30ae43b0 * Sync up to trunk head (r65270).
svn path=/branches/shell-experiments/; revision=65271
2014-11-05 19:33:30 +00:00
David Quintana 98bc7ac7c8 [EXPLORER-NEW]
* Move the CToolbar class into rosctrls.h, so we can make use of it in other parts of reactos.

svn path=/branches/shell-experiments/; revision=65226
2014-11-03 16:05:09 +00:00
David Quintana c6b81aa43b [EXPLORER-NEW]
* Fix GCC build.

svn path=/branches/shell-experiments/; revision=65225
2014-11-03 15:06:54 +00:00
Giannis Adamopoulos afba1474ae [EXPLORER_NEW]
- Fix build

svn path=/branches/shell-experiments/; revision=65214
2014-11-03 11:33:23 +00:00
David Quintana 406cb9dd75 [EXPLORER-NEW]
* Rename a few I<x>Impl to C<x>
* Refactor the toolbar code of notification area into its own class.
* Also refactor away the code specific to the toolbar control into a CToolbar class. Todo: move the CToolbar class into some header file.

svn path=/branches/shell-experiments/; revision=65209
2014-11-03 04:16:56 +00:00
David Quintana d2d3c97622 [EXPLORER-NEW]
* Refactor startmnu.cpp into three separate files. startctxmnu.cpp contains the context menu handler for the start button, and startmnusite.cpp contains the former IStartMenuSiteImpl, renamed to CStartMenuSite.

svn path=/branches/shell-experiments/; revision=65200
2014-11-02 22:26:44 +00:00
David Quintana d2f5f7f14f [EXPLORER-NEW]
* Refactor the desktop thread/creation code.

svn path=/branches/shell-experiments/; revision=65199
2014-11-02 21:52:54 +00:00
David Quintana 162ff471bb [EXPLORER-NEW]
* Convert codebase to C++ and make use of C++ classes for the COM objects.

svn path=/branches/shell-experiments/; revision=65197
2014-11-02 20:18:54 +00:00
David Quintana 3da5418d3f [RSHELL]
[STOBJECT]
* Some nitpicking.

[SHELL32]
* Fix missing null-termination by using proper string literals.

svn path=/branches/shell-experiments/; revision=65194
2014-11-02 20:17:23 +00:00
Amine Khaldi c472e29a70 * Sync up to trunk head (r65183).
svn path=/branches/shell-experiments/; revision=65184
2014-11-02 16:12:38 +00:00
Giannis Adamopoulos 15ba278fdd [RSHELL]
- A HACK notice was more obvious than needed (I got what I asked after all).
- Reenable opening the printers folder since it works now

svn path=/branches/shell-experiments/; revision=65161
2014-10-31 22:32:01 +00:00
David Quintana 1bb0aaf50f [EXPLORER-NEW]
* Some nitpicking.

[STOBJECT]
* Fix the notification not having an assigned callback message id.

svn path=/branches/shell-experiments/; revision=65151
2014-10-31 15:57:56 +00:00
Amine Khaldi 6581292e05 * Sync up to trunk head (r65147).
svn path=/branches/shell-experiments/; revision=65148
2014-10-31 15:27:51 +00:00
Christoph von Wittich 15ec865f72 [EXPLORER-NEW]
fix gcc build

svn path=/branches/shell-experiments/; revision=65125
2014-10-30 19:00:19 +00:00
David Quintana 4dfef8d21d [EXPLORER_NEW]
* Cleanup some window procs.
* Fix some redraw issues in the notification area due to misuse of themeing.

svn path=/branches/shell-experiments/; revision=65124
2014-10-30 14:55:56 +00:00
David Quintana 47cc151eb1 [RSHELL]
* Hopefully fix the start menu closing randomly. May have side-effects, but I think it's best to be conservative here and prefer the possibility of the menu staying open unexpectedly, rather than closing unexpectedly.

svn path=/branches/shell-experiments/; revision=65114
2014-10-29 22:50:27 +00:00
David Quintana 2e0e5f7174 [BROWSEUI]
* Allow the static items in the Favorites menu to be received by the shell browse window.
* Handle the Organize Favorites menu item by opening either the USER favorites, or the COMMON version of the folder.

[RSHELL]
* Send the proper HWND together with the HMENU, when sending callbacks.

svn path=/branches/shell-experiments/; revision=65111
2014-10-29 22:28:51 +00:00
David Quintana a0ec7d507f [RSHELL]
* Fix assumption that the USER folder will always exist and only the COMMON folder may be missing. Allows the Start Menu to work in livecd.

[BROWSEUI]
* Apply the same fix to the Favorites folder, although the LiveCD does not currently have the folder so it will not work regardless.

svn path=/branches/shell-experiments/; revision=65098
2014-10-29 11:52:45 +00:00
Amine Khaldi 4fc224434a * Sync up to trunk head (r65095).
* Thank you Kamil for r65087 ;)

svn path=/branches/shell-experiments/; revision=65096
2014-10-29 11:25:42 +00:00
David Quintana a3006f2401 [RSHELL]
* Remove a few GCC unused-but-set-variable warnings.

svn path=/branches/shell-experiments/; revision=65092
2014-10-28 22:13:18 +00:00
David Quintana 40a2e03359 [RSHELL]
* CMenuBand: Refcount before assigning a return pointer.
* CMenuDeskBar: Revert change and protect the refcounting in case I was wrong to assume there will be exactly one OnFinalMessage for each OnCreate.
* CMenuToolbars: Add a debug message.
* CStartMenu: Refcount correctly.

svn path=/branches/shell-experiments/; revision=65088
2014-10-28 21:40:50 +00:00
Giannis Adamopoulos 6dce3d956e Revert unwanted change
svn path=/branches/shell-experiments/; revision=65084
2014-10-28 19:52:04 +00:00
Giannis Adamopoulos b763819882 [RSHELL]
- Do not release CMenuDeskBar more times than necessary
- Should fix the start menu

svn path=/branches/shell-experiments/; revision=65083
2014-10-28 19:50:49 +00:00
Amine Khaldi 3899f1daa8 * Sync up to trunk head (r65074).
svn path=/branches/shell-experiments/; revision=65075
2014-10-28 16:58:25 +00:00
David Quintana 30a510975b [RSHELL]
* Fix executing items after the menu has closed.

svn path=/branches/shell-experiments/; revision=65074
2014-10-28 15:39:47 +00:00
Giannis Adamopoulos 6dfa5325d0 [RSHELL]
- Actually give focus to the start menu when CMenuDeskBar::Popup is called
- Fixes opening and navigating the start menu with the keyboard

svn path=/branches/shell-experiments/; revision=65071
2014-10-28 14:31:19 +00:00
Giannis Adamopoulos 6f9dab8a15 [EXPLORER_NEW]
- Use IMenuPopup_OnSelect to close the start menu when the win key is pressed. 
- Fixes closing the start menu (on windows and on reactos)

svn path=/branches/shell-experiments/; revision=65070
2014-10-28 14:18:16 +00:00
David Quintana dc1da96ab8 [RSHELL]
* Fix some small things that were getting in the way of fixing the start menu (which was broken and no one noticed). The actual fix will come tomorrow since my brain is about to implode at this time.

svn path=/branches/shell-experiments/; revision=65065
2014-10-28 01:27:02 +00:00
Amine Khaldi 23298ac30c * Sync up to trunk head (r64995).
svn path=/branches/shell-experiments/; revision=64996
2014-10-25 19:46:12 +00:00
David Quintana d07a1dc09a [EXPLORER-NEW]
* Fix HMENU leak.

[BROWSEUI]
* Work around for WM_SETICON not properly returning the old HICON.

[SHELL32]
* Fix HICON leak.
* Nitpick.

[WIN32K]
* Do not refcount the menus improperly.

svn path=/branches/shell-experiments/; revision=64986
2014-10-25 15:44:11 +00:00
David Quintana fa016aa3a8 [RSHELL]
* Fix HMENU leak in menu-based shell popups (and menubar).

svn path=/branches/shell-experiments/; revision=64960
2014-10-24 16:03:58 +00:00
Amine Khaldi 8039ce5b7d * Sync up to trunk head (r64939).
svn path=/branches/shell-experiments/; revision=64941
2014-10-23 19:52:45 +00:00
David Quintana ac06c3cf99 [BROWSEUI]
* 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
2014-10-23 19:50:29 +00:00
David Quintana 1cd79168e1 [RSHELL]
* 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
2014-10-23 17:17:16 +00:00
Amine Khaldi 121e60dbda * Sync up to trunk head (r64921).
svn path=/branches/shell-experiments/; revision=64922
2014-10-23 12:17:44 +00:00
Amine Khaldi 06e986393a * Sync up to trunk head (r64894).
svn path=/branches/shell-experiments/; revision=64895
2014-10-22 17:07:43 +00:00
David Quintana 9abc368186 [EXPLORER-NEW]
* 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
2014-10-21 12:24:15 +00:00
David Quintana 96cdae0a7c [BROWSEUI]
* 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
2014-10-20 21:35:22 +00:00
David Quintana b138a8620d [EXPLORER-NEW]
* Initialize struct contents to zero. CID 1102492

[BROWSEUI]
* Fix build.

svn path=/branches/shell-experiments/; revision=64857
2014-10-20 21:23:32 +00:00
David Quintana fd029c9779 [RSHELL]
[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
2014-10-20 21:09:55 +00:00
Amine Khaldi 609ba8d717 * Sync up to trunk head (r64829).
svn path=/branches/shell-experiments/; revision=64830
2014-10-19 18:45:40 +00:00
David Quintana 11bbfc4a0b [RSHELL]
* Actually send an OnSelect message right before executing the menu items. Fixes the problem where going to start->shutdown would keep the start menu open in the background.

svn path=/branches/shell-experiments/; revision=64727
2014-10-13 16:09:57 +00:00
Amine Khaldi 87f3265217 * Sync up to trunk head (r64716).
svn path=/branches/shell-experiments/; revision=64718
2014-10-13 12:23:44 +00:00
David Quintana 13c5c447a2 [RSHELL]
[BROWSEUI]
* Add some traces

[SHELL32]
* Implement displaying the View popup from the toolbar. 

svn path=/branches/shell-experiments/; revision=64596
2014-10-08 15:25:52 +00:00
David Quintana 1147974a95 [RSHELL]
* Work around shellexecute not handling GUID path components by giving them to explorer as a cmdline parameter.
* NOTE: The Printers and Faxes option is temporarily disabled because it CRASHES explorer-new.

svn path=/branches/shell-experiments/; revision=64579
2014-10-07 14:45:32 +00:00
David Quintana d9f777ce1c [FILEBROWSER]
* Always open separate.

[BROWSEUI]
* Use the threadref IUnknown for reference counting in the browser threads.

svn path=/branches/shell-experiments/; revision=64578
2014-10-07 14:40:33 +00:00
David Quintana db5b0c31c4 Sync with trunk r64509.
svn path=/branches/shell-experiments/; revision=64510
2014-10-03 19:20:19 +00:00
David Quintana 6aaa167a00 [RSHELL]
* 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
2014-09-29 16:22:21 +00:00