SHBrowseForFolderW - with patch this time

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



ChangeLog:

  Jon Griffiths <jon_p_griffiths@yahoo.com>

  +dlls/shell32/shell32.spec,dlls/shell32/brsfolder.c
   Implement SHBrowseForFolderW


=====
"Don't wait for the seas to part, or messiahs to come;
 Don't you sit around and waste this chance..." - Live

jon_p_griffiths@yahoo.com

__________________________________________________
Do You Yahoo!?
Yahoo! Autos - Get free new car price quotes
http://autos.yahoo.com
--- wine/dlls/shell32/shell32.spec	Sat Jun 22 07:15:49 2002
+++ wine-develop//dlls/shell32/shell32.spec	Tue Jul 16 12:57:30 2002
@@ -355,7 +355,7 @@
 @ stdcall SHAppBarMessage(long ptr) SHAppBarMessage
 @ stdcall SHBrowseForFolder(ptr) SHBrowseForFolderA
 @ stdcall SHBrowseForFolderA(ptr) SHBrowseForFolderA
-@ stub SHBrowseForFolderW@4
+@ stdcall SHBrowseForFolderW@4(ptr) SHBrowseForFolderW
 @ stdcall SHChangeNotify (long long ptr ptr) SHChangeNotifyAW
 @ stub ShellHookProc
 @ stub SHEmptyRecycleBinA@12
--- wine/dlls/shell32/brsfolder.c	Sat Jun  1 11:25:51 2002
+++ wine-develop//dlls/shell32/brsfolder.c	Tue Jul 16 13:18:42 2002
@@ -340,3 +340,44 @@
 					       lpbi->hwndOwner,
 					       BrsFolderDlgProc, (INT)lpbi );
 }
+
+/*************************************************************************
+ * SHBrowseForFolderW@4 [SHELL32.@]
+ */
+LPITEMIDLIST WINAPI SHBrowseForFolderW (LPBROWSEINFOW lpbi)
+{
+  char szDisplayName[MAX_PATH], szTitle[MAX_PATH];
+  BROWSEINFOA bi;
+
+  TRACE("((%p->{lpszTitle=%s,owner=%i})\n", lpbi,
+        lpbi ? debugstr_w(lpbi->lpszTitle): NULL, lpbi ? lpbi->hwndOwner: 0);
+
+  if (!lpbi)
+    return NULL;
+
+  bi.hwndOwner = lpbi->hwndOwner;
+  bi.pidlRoot = lpbi->pidlRoot;
+  if (lpbi->pszDisplayName)
+  {
+    WideCharToMultiByte(CP_ACP, 0, lpbi->pszDisplayName, -1, szDisplayName, MAX_PATH, 0, NULL);
+    bi.pszDisplayName = szDisplayName;
+  }
+  else
+    bi.pszDisplayName = NULL;
+
+  if (lpbi->lpszTitle)
+  {
+    WideCharToMultiByte(CP_ACP, 0, lpbi->lpszTitle, -1, szTitle, MAX_PATH, 0, NULL);
+    bi.lpszTitle = szTitle;
+  }
+  else
+    bi.lpszTitle = NULL;
+
+  bi.ulFlags = lpbi->ulFlags;
+  bi.lpfn = lpbi->lpfn;
+  bi.lParam = lpbi->lParam;
+  bi.iImage = lpbi->iImage;
+  return (LPITEMIDLIST) DialogBoxParamA(shell32_hInstance,
+                                        "SHBRSFORFOLDER_MSGBOX", lpbi->hwndOwner,
+                                        BrsFolderDlgProc, (INT)lpbi);
+}

[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux