Author: gadamopoulos
Date: Tue Feb 11 14:06:26 2014
New Revision: 62118
URL: http://svn.reactos.org/svn/reactos?rev=62118&view=rev
Log:
- Improve filebrowser a bit and add some FIXMEs to show what should be done later
Modified:
branches/shell-experiments/base/shell/filebrowser/filebrowser.c
branches/shell-experiments/base/shell/rshell/CDesktopBrowser.cpp
branches/shell-experiments/base/shell/rshell/CStartMenu.cpp
Modified: branches/shell-experiments/base/shell/filebrowser/filebrowser.c
URL: http://svn.reactos.org/svn/reactos/branches/shell-experiments/base/shell/fi…
==============================================================================
--- branches/shell-experiments/base/shell/filebrowser/filebrowser.c [iso-8859-1] (original)
+++ branches/shell-experiments/base/shell/filebrowser/filebrowser.c [iso-8859-1] Tue Feb 11 14:06:26 2014
@@ -37,7 +37,8 @@
SHOpenNewFrame((LPITEMIDLIST)pidlDrives, NULL, 0, 0);
}
- Sleep(3000);
+ /* FIXME: we should wait a bit here and see if a window was created. If not we should exit this process */
+ ExitThread(0);
return 0;
}
Modified: branches/shell-experiments/base/shell/rshell/CDesktopBrowser.cpp
URL: http://svn.reactos.org/svn/reactos/branches/shell-experiments/base/shell/rs…
==============================================================================
--- branches/shell-experiments/base/shell/rshell/CDesktopBrowser.cpp [iso-8859-1] (original)
+++ branches/shell-experiments/base/shell/rshell/CDesktopBrowser.cpp [iso-8859-1] Tue Feb 11 14:06:26 2014
@@ -269,19 +269,9 @@
HRESULT STDMETHODCALLTYPE CDesktopBrowser::BrowseObject(LPCITEMIDLIST pidl, UINT wFlags)
{
- /*
- * We should use IShellWindows interface here in order to attempt to
- * find an open shell window that shows the requested pidl and activate it
- */
-
-#if 0
- HMODULE hBrowseui = LoadLibraryW(L"browseui.dll");
- if (hBrowseui)
- {
- SH_OPEN_NEW_FRAME SHOpenNewFrame = (SH_OPEN_NEW_FRAME)GetProcAddress(hBrowseui, (LPCSTR)103);
- return SHOpenNewFrame((LPITEMIDLIST)pidl, NULL, 0, 0);
- }
-#endif
+ /* FIXME: Implement executing filebrowser.exe and somehow pass the pidl to it */
+
+ /* Returning failure here will make windows 7 and 8 to use the default file browser */
return E_FAIL;
}
Modified: branches/shell-experiments/base/shell/rshell/CStartMenu.cpp
URL: http://svn.reactos.org/svn/reactos/branches/shell-experiments/base/shell/rs…
==============================================================================
--- branches/shell-experiments/base/shell/rshell/CStartMenu.cpp [iso-8859-1] (original)
+++ branches/shell-experiments/base/shell/rshell/CStartMenu.cpp [iso-8859-1] Tue Feb 11 14:06:26 2014
@@ -300,6 +300,9 @@
if (FAILED(hr))
return NULL;
+ /* FIXME: Use CLSID_MergedFolder class and IID_IAugmentedShellFolder2 interface here */
+ /* CLSID_MergedFolder 26fdc864-be88-46e7-9235-032d8ea5162e */
+ /* IID_IAugmentedShellFolder2 8db3b3f4-6cfe-11d1-8ae9-00c04fd918d0 */
hr = SHGetFolderLocation(NULL, CSIDL_STARTMENU, 0, 0, &pidlStartMenu);
hr = SHGetDesktopFolder(&shellFolder);
hr = shellFolder->BindToObject(pidlStartMenu, NULL, IID_IShellFolder, (void**)&psfStartMenu);