Commit in reactos on MAIN
w32api/include/shlobj.h+121.7 -> 1.8
lib/shell32/changenotify.c+9-91.4 -> 1.5
           /debughlp.c+3-41.5 -> 1.6
           /iconcache.c+1-11.9 -> 1.10
           /memorystream.c+25-371.5 -> 1.6
           /pidl.c+8-91.26 -> 1.27
           /pidl.h+4-31.10 -> 1.11
           /regsvr.c+31.3 -> 1.4
           /shell32.spec+1-11.13 -> 1.14
           /shell32_En.rc+321.7 -> 1.8
           /shell32_Fr.rc+321.7 -> 1.8
           /shell32_main.h+31.23 -> 1.24
           /shellord.c+1-11.10 -> 1.11
           /shellpath.c+1135-6751.12 -> 1.13
           /shlfileop.c+109-611.9 -> 1.10
           /shlfolder.c+1-11.13 -> 1.14
           /shpolicy.c+4-41.2 -> 1.3
           /shresdef.h+281.2 -> 1.3
           /undocshell.h-81.7 -> 1.8
           /version.h+4-41.1 -> 1.2
           /version16.rc+2-21.1 -> 1.2
           /winehq2ros.patch+1126-1541.5 -> 1.6
+2543-974
22 modified files
Sync to Wine-20041201
Eric Pouech <pouech-eric@wanadoo.fr>
- Const correctness fixes.
Juan Lang <juan_lang@yahoo.com>
- Fix CSIDL_CONTROLS and CSIDL_PRINTERS PIDL types, and update tests now
  that they pass.
Robert Shearman <rob@codeweavers.com>
- Use more specific error codes than E_FAIL, where possible.
- Move vtable to end, give it the const modifier, and remove unneeded
  function declarations.
Juan Lang <juan_lang@yahoo.com>
- the correct registry location to override is User Shell Folders, not
  Shell Folders
- if User Shell Folders doesn't exist in HKCU, HKLM should be tried
- SHGetSpecialFolderPath should call SHGetFolderPath, not vice-versa
- the default values should be localizable
- some of the parameter checking and returned LPITEMIDLISTs were a bit
  off
- _SHExpandEnvironmentStrings should return input string if no % found
to expand, and should call ExpandEnvironmentStringsW if it doesn't
handle an environment variable directly.  Based on a patch from Dan
Kegel.
- Avoid copying invalid data on error.
- Update shell32's version to WinXP level.
Aric Stewart <aric@codeweavers.com>
- Implementation of PathCleanupSpec.
Fabrice Menard <menard.fabrice@wanadoo.fr>
- Some French translations added.
- Check the type of error returned by SHCreateDirectoryExW.
Rolf Kalbermatter <rolf.kalbermatter@citeng.com>
- Use SHCreateDirectoryEx function instead of doing explicit recursive
  directory creation.
- Fix bad memory allocation for unicode buffer.
- SHCreateDirectory should create intermediate directories if
  necessary.
- Remove extra boolean parameter in SHNotifyMoveFile as it is not
  used.
- Use in SHFileOperation the function SHNotifyCreateDirectory instead
  of SHCreateDirectoryEx as it does not anymore what is needed here.
- Fix several unsigned/signed mismatch warnings.
Alexandre Julliard <julliard@winehq.org>
- Avoid copying invalid data on error.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Tom Wickline <twickline@sitestar.net>
- Version resources cleanup.

reactos/w32api/include
shlobj.h 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- shlobj.h	20 Sep 2004 19:47:14 -0000	1.7
+++ shlobj.h	6 Dec 2004 23:55:45 -0000	1.8
@@ -273,6 +273,9 @@
 #define CMIC_VALID_SEE_FLAGS	SEE_VALID_CMIC_FLAGS
 #define GIL_OPENICON	1
 #define GIL_FORSHELL	2
+#define GIL_ASYNC	32
+#define GIL_DEFAULTICON	64
+#define GIL_FORSHORTCUT	128
 #define GIL_SIMULATEDOC	1
 #define GIL_PERINSTANCE	2
 #define GIL_PERCLASS	4
@@ -377,6 +380,11 @@
 #define SHCNF_PATH              SHCNF_PATHA
 #define SHCNF_PRINTER           SHCNF_PRINTERA
 #endif
+#define PCS_FATAL		0x80000000
+#define PCS_REPLACEDCHAR	0x00000001
+#define PCS_REMOVEDCHAR		0x00000002
+#define PCS_TRUNCATED		0x00000004
+#define PCS_PATHTOOLONG		0x00000008
 
 typedef ULONG SFGAOF;
 typedef DWORD SHGDNF;
@@ -431,6 +439,10 @@
 	SHGDN_FORADDRESSBAR=0x4000,
 	SHGDN_FORPARSING=0x8000
 } SHGNO;
+typedef enum {
+	SHGFP_TYPE_CURRENT = 0,
+	SHGFP_TYPE_DEFAULT = 1
+} SHGFP_TYPE;
 typedef enum tagSHCONTF {
 	SHCONTF_FOLDERS = 32,
 	SHCONTF_NONFOLDERS = 64,

reactos/lib/shell32
changenotify.c 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- changenotify.c	22 Sep 2004 19:38:54 -0000	1.4
+++ changenotify.c	6 Dec 2004 23:55:46 -0000	1.5
@@ -263,7 +263,7 @@
     return -1;
 }
 
-static BOOL should_notify( LPITEMIDLIST changed, LPCITEMIDLIST watched, BOOL sub )
+static BOOL should_notify( LPCITEMIDLIST changed, LPCITEMIDLIST watched, BOOL sub )
 {
     TRACE("%p %p %d\n", changed, watched, sub );
     if ( !watched )
@@ -280,7 +280,7 @@
  */
 void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
 {
-    LPITEMIDLIST Pidls[2];
+    LPCITEMIDLIST Pidls[2];
     LPNOTIFICATIONLIST ptr;
     UINT typeFlag = uFlags & SHCNF_TYPE;
 
@@ -326,8 +326,8 @@
         if (dwItem2) Pidls[1] = SHSimpleIDListFromPathW((LPCWSTR)dwItem2);
         break;
     case SHCNF_IDLIST:
-        Pidls[0] = (LPITEMIDLIST)dwItem1;
-        Pidls[1] = (LPITEMIDLIST)dwItem2;
+        Pidls[0] = (LPCITEMIDLIST)dwItem1;
+        Pidls[1] = (LPCITEMIDLIST)dwItem2;
         break;
     case SHCNF_PRINTERA:
     case SHCNF_PRINTERW:
@@ -404,8 +404,8 @@
     /* if we allocated it, free it. The ANSI flag is also set in its Unicode sibling. */
     if ((typeFlag & SHCNF_PATHA) || (typeFlag & SHCNF_PRINTERA))
     {
-        if (Pidls[0]) SHFree(Pidls[0]);
-        if (Pidls[1]) SHFree(Pidls[1]);
+        if (Pidls[0]) SHFree((LPITEMIDLIST)Pidls[0]);
+        if (Pidls[1]) SHFree((LPITEMIDLIST)Pidls[1]);
     }
 }
 
@@ -440,7 +440,7 @@
 {
     DWORD i;
     LPNOTIFICATIONLIST node;
-    LPITEMIDLIST *idlist;
+    LPCITEMIDLIST *idlist;
 
     TRACE("%p %08lx %p %p\n", hChange, dwProcessId, lppidls, lpwEventId);
 
@@ -451,9 +451,9 @@
     {
         idlist = SHAlloc( sizeof(LPCITEMIDLIST *) * node->cidl );
         for(i=0; i<node->cidl; i++)
-            idlist[i] = (LPITEMIDLIST)node->pidlSignaled;
+            idlist[i] = (LPCITEMIDLIST)node->pidlSignaled;
         *lpwEventId = node->wSignalledEvent;
-        *lppidls = idlist;
+        *lppidls = (LPITEMIDLIST*)idlist;
         node->wSignalledEvent = 0;
     }
     else

reactos/lib/shell32
debughlp.c 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- debughlp.c	21 Sep 2004 19:38:17 -0000	1.5
+++ debughlp.c	6 Dec 2004 23:55:46 -0000	1.6
@@ -76,6 +76,7 @@
 	  {
 	    case PT_GUID:
 	    case PT_SHELLEXT:
+	    case PT_YAGUID:
 	      return NULL;
 
 	    case PT_DRIVE:
@@ -88,7 +89,6 @@
 	    case PT_FOLDER1:
 	    case PT_VALUE:
 	    case PT_IESPECIAL1:
-	    case PT_RAS_FOLDER:
 	    case PT_IESPECIAL2:
 	      return (LPSTR)&(pdata->u.file.szNames);
 
@@ -115,7 +115,6 @@
 	    case PT_FOLDER:
 	    case PT_VALUE:
 	    case PT_IESPECIAL1:
-	    case PT_RAS_FOLDER:
 	    case PT_IESPECIAL2:
 	      return (LPSTR)(pdata->u.file.szNames + strlen (pdata->u.file.szNames) + 1);
 
@@ -250,7 +249,7 @@
 	      case PT_NETPROVIDER:
 	      case PT_NETWORK:
 	      case PT_IESPECIAL1:
-	      case PT_RAS_FOLDER:
+	      case PT_YAGUID:
 	      case PT_IESPECIAL2:
 	      case PT_SHARE:
 		break;
@@ -263,7 +262,7 @@
 		memset(szTemp, ' ', BYTES_PRINTED*4 + 1);
 		for ( i = 0; (i<pidltemp->mkid.cb) && (i<BYTES_PRINTED); i++)
 		{
-		  c = ((unsigned char *)pidltemp)[i];
+		  c = ((const unsigned char *)pidltemp)[i];
 
 		  szTemp[i*3+0] = ((c>>4)>9)? (c>>4)+55 : (c>>4)+48;
 		  szTemp[i*3+1] = ((0x0F&c)>9)? (0x0F&c)+55 : (0x0F&c)+48;

reactos/lib/shell32
iconcache.c 1.9 -> 1.10
diff -u -r1.9 -r1.10
--- iconcache.c	7 Oct 2004 09:13:56 -0000	1.9
+++ iconcache.c	6 Dec 2004 23:55:46 -0000	1.10
@@ -313,7 +313,6 @@
 
 	return TRUE;
 }
-
 /*************************************************************************
  * PidlToSicIndex			[INTERNAL]
  *
@@ -354,6 +353,7 @@
 	  *pIndex = 0;
 
 	return ret;
+
 }
 
 /*************************************************************************

reactos/lib/shell32
memorystream.c 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- memorystream.c	7 Oct 2004 09:13:56 -0000	1.5
+++ memorystream.c	6 Dec 2004 23:55:46 -0000	1.6
@@ -42,42 +42,11 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(shell);
 
-static HRESULT WINAPI IStream_fnQueryInterface(IStream *iface, REFIID riid, LPVOID *ppvObj);
-static ULONG WINAPI IStream_fnAddRef(IStream *iface);
-static ULONG WINAPI IStream_fnRelease(IStream *iface);
-static HRESULT WINAPI IStream_fnRead (IStream * iface, void* pv, ULONG cb, ULONG* pcbRead);
-static HRESULT WINAPI IStream_fnWrite (IStream * iface, const void* pv, ULONG cb, ULONG* pcbWritten);
-static HRESULT WINAPI IStream_fnSeek (IStream * iface, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition);
-static HRESULT WINAPI IStream_fnSetSize (IStream * iface, ULARGE_INTEGER libNewSize);
-static HRESULT WINAPI IStream_fnCopyTo (IStream * iface, IStream* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten);
-static HRESULT WINAPI IStream_fnCommit (IStream * iface, DWORD grfCommitFlags);
-static HRESULT WINAPI IStream_fnRevert (IStream * iface);
-static HRESULT WINAPI IStream_fnLockRegion (IStream * iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType);
-static HRESULT WINAPI IStream_fnUnlockRegion (IStream * iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType);
-static HRESULT WINAPI IStream_fnStat (IStream * iface, STATSTG*   pstatstg, DWORD grfStatFlag);
-static HRESULT WINAPI IStream_fnClone (IStream * iface, IStream** ppstm);
-
-static IStreamVtbl stvt =
-{
-	IStream_fnQueryInterface,
-	IStream_fnAddRef,
-	IStream_fnRelease,
-	IStream_fnRead,
-	IStream_fnWrite,
-	IStream_fnSeek,
-	IStream_fnSetSize,
-	IStream_fnCopyTo,
-	IStream_fnCommit,
-	IStream_fnRevert,
-	IStream_fnLockRegion,
-	IStream_fnUnlockRegion,
-	IStream_fnStat,
-	IStream_fnClone
-
-};
+static const IStreamVtbl stvt;
 
 typedef struct
-{	IStreamVtbl	*lpvtst;
+{	
+	const IStreamVtbl	*lpvtst;
 	DWORD		ref;
 	HANDLE		handle;
 } ISHFileStream;
@@ -110,12 +79,12 @@
 
        handle = CreateFileW( pszFilename, access, FILE_SHARE_READ, NULL, creat, 0, NULL );
 	if( handle == INVALID_HANDLE_VALUE )
-		return E_FAIL;
+		return HRESULT_FROM_WIN32(GetLastError());
 
 	fstr = (ISHFileStream*)HeapAlloc(GetProcessHeap(),
 		HEAP_ZERO_MEMORY,sizeof(ISHFileStream));
 	if( !fstr )
-		return E_FAIL;
+		return E_OUTOFMEMORY;
 	fstr->lpvtst=&stvt;
 	fstr->ref = 1;
 	fstr->handle = handle;
@@ -192,7 +161,7 @@
 		return STG_E_INVALIDPOINTER;
 
 	if ( ! ReadFile( This->handle, pv, cb, pcbRead, NULL ) )
-		return E_FAIL;
+		return S_FALSE;
 
 	return S_OK;
 }
@@ -306,3 +275,22 @@
 
 	return E_NOTIMPL;
 }
+
+static const IStreamVtbl stvt =
+{
+	IStream_fnQueryInterface,
+	IStream_fnAddRef,
+	IStream_fnRelease,
+	IStream_fnRead,
+	IStream_fnWrite,
+	IStream_fnSeek,
+	IStream_fnSetSize,
+	IStream_fnCopyTo,
+	IStream_fnCommit,
+	IStream_fnRevert,
+	IStream_fnLockRegion,
+	IStream_fnUnlockRegion,
+	IStream_fnStat,
+	IStream_fnClone
+
+};

reactos/lib/shell32
pidl.c 1.26 -> 1.27
diff -u -r1.26 -r1.27
--- pidl.c	7 Oct 2004 09:13:56 -0000	1.26
+++ pidl.c	6 Dec 2004 23:55:46 -0000	1.27
@@ -129,7 +129,7 @@
 	      flag = SHGDN_FORPARSING | SHGDN_FORADDRESSBAR;
 	      break;
 	  }
-	  if (!*(LPWORD)pidl || type == ILGDN_FORPARSING)
+	  if (!*(const WORD*)pidl || type == ILGDN_FORPARSING)
 	  {
 	    ret = IShellFolder_GetDisplayNameOf(lsf, pidl, flag, &strret);
 	    if (SUCCEEDED(ret))
@@ -779,7 +779,7 @@
 	if (pidl)
 	{ while (si->cb)
 	  { len += si->cb;
-	    si  = (LPSHITEMID)(((LPBYTE)si)+si->cb);
+	    si  = (LPCSHITEMID)(((const BYTE*)si)+si->cb);
 	  }
 	  len += 2;
 	}
@@ -814,7 +814,7 @@
 	  len =  pidl->mkid.cb;
 	  if (len)
 	  {
-	    pidl = (LPITEMIDLIST) (((LPBYTE)pidl)+len);
+	    pidl = (LPCITEMIDLIST) (((const BYTE*)pidl)+len);
 	    TRACE("-- %p\n", pidl);
 	    return (LPITEMIDLIST)pidl;
 	  }
@@ -1493,7 +1493,7 @@
     TRACE("()\n");
     if (parent)
     {
-        LPITEMIDLIST cpl = _ILCreateGuid(PT_GUID, &CLSID_ControlPanel);
+        LPITEMIDLIST cpl = _ILCreateGuid(PT_SHELLEXT, &CLSID_ControlPanel);
 
         if (cpl)
         {
@@ -1512,7 +1512,7 @@
     TRACE("()\n");
     if (parent)
     {
-        LPITEMIDLIST printers = _ILCreateGuid(PT_GUID, &CLSID_Printers);
+        LPITEMIDLIST printers = _ILCreateGuid(PT_YAGUID, &CLSID_Printers);
 
         if (printers)
         {
@@ -1538,7 +1538,7 @@
 {
     LPITEMIDLIST pidlOut;
 
-    if (type == PT_SHELLEXT || type == PT_GUID)
+    if (type == PT_SHELLEXT || type == PT_GUID || type == PT_YAGUID)
     {
         pidlOut = _ILAlloc(type, sizeof(GUIDStruct));
         if (pidlOut)
@@ -1757,7 +1757,7 @@
 	if(! _ILIsDesktop(pidl))	/* pidl=NULL or mkid.cb=0 */
 	{
 	  WORD len = pidl->mkid.cb;
-	  LPCITEMIDLIST pidlnext = (LPCITEMIDLIST) (((LPBYTE)pidl) + len );
+	  LPCITEMIDLIST pidlnext = (LPCITEMIDLIST) (((const BYTE*)pidl) + len );
 	  if (pidlnext->mkid.cb)
 	    ret = FALSE;
 	}
@@ -1883,6 +1883,7 @@
 	  {
 	    case PT_GUID:
 	    case PT_SHELLEXT:
+	    case PT_YAGUID:
 	      return NULL;
 
 	    case PT_DRIVE:
@@ -1895,7 +1896,6 @@
 	    case PT_FOLDER1:
 	    case PT_VALUE:
 	    case PT_IESPECIAL1:
-	    case PT_RAS_FOLDER:
 	    case PT_IESPECIAL2:
 	      return (LPSTR)&(pdata->u.file.szNames);
 
@@ -1926,7 +1926,6 @@
 	    case PT_FOLDER:
 	    case PT_VALUE:
 	    case PT_IESPECIAL1:
-	    case PT_RAS_FOLDER:
 	    case PT_IESPECIAL2:
 	      return (LPSTR)(pdata->u.file.szNames + strlen (pdata->u.file.szNames) + 1);
 

reactos/lib/shell32
pidl.h 1.10 -> 1.11
diff -u -r1.10 -r1.11
--- pidl.h	21 Sep 2004 19:38:17 -0000	1.10
+++ pidl.h	6 Dec 2004 23:55:46 -0000	1.11
@@ -71,6 +71,7 @@
 *	net provider	0x46		network
 *	whole network	0x47		network (5)
 *	MSITStore	0x61		htmlhlp (7)
+*	printers/ras connections 	0x70		guid
 *	history/favorites 0xb1		file
 *	share		0xc3		network (6)
 *
@@ -101,7 +102,7 @@
 #define PT_NETPROVIDER  0x46
 #define PT_NETWORK	0x47
 #define PT_IESPECIAL1	0x61
-#define PT_RAS_FOLDER	0x70
+#define PT_YAGUID	0x70 /* yet another guid.. */
 #define PT_IESPECIAL2	0xb1
 #define PT_SHARE	0xc3
 
@@ -200,8 +201,8 @@
  */
 LPITEMIDLIST	_ILAlloc(PIDLTYPE type, size_t size);
 
-/* Creates a PIDL with guid format and type type, which must be either PT_GUID
- * or PT_SHELLEXT.
+/* Creates a PIDL with guid format and type type, which must be one of PT_GUID,
+ * PT_SHELLEXT, or PT_YAGUID.
  */
 LPITEMIDLIST	_ILCreateGuid(PIDLTYPE type, REFIID guid);
 

reactos/lib/shell32
regsvr.c 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- regsvr.c	20 Sep 2004 19:47:13 -0000	1.3
+++ regsvr.c	6 Dec 2004 23:55:46 -0000	1.4
@@ -29,6 +29,7 @@
 
 #include "ole2.h"
 #include "shlguid.h"
+#include "shell32_main.h"
 
 #include "wine/debug.h"
 
@@ -518,6 +519,8 @@
     hr = register_coclasses(coclass_list);
     if (SUCCEEDED(hr))
 	hr = register_interfaces(interface_list);
+    if (SUCCEEDED(hr))
+	hr = SHELL_RegisterShellFolders();
     return hr;
 }
 

reactos/lib/shell32
shell32.spec 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- shell32.spec	20 Oct 2004 18:30:39 -0000	1.13
+++ shell32.spec	6 Dec 2004 23:55:46 -0000	1.14
@@ -162,7 +162,7 @@
  168 stdcall SHCreatePropSheetExtArray(long str long)
  169 stdcall SHDestroyPropSheetExtArray(long)
  170 stdcall SHReplaceFromPropSheetExtArray(long long long long)
- 171 stdcall PathCleanupSpec(ptr ptr) PathCleanupSpecAW
+ 171 stdcall PathCleanupSpec(ptr ptr)
  172 stdcall SHCreateLinks(long str ptr long ptr)
  173 stdcall SHValidateUNC(long long long)
  174 stdcall SHCreateShellFolderViewEx (ptr ptr)

reactos/lib/shell32
shell32_En.rc 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- shell32_En.rc	2 Nov 2004 23:11:37 -0000	1.7
+++ shell32_En.rc	6 Dec 2004 23:55:46 -0000	1.8
@@ -187,3 +187,35 @@
 	IDS_SHUTDOWN_TITLE	"Shutdown"
 	IDS_SHUTDOWN_PROMPT	"Do you want to shutdown?"
 }
+
+/* shell folder path default values */
+STRINGTABLE DISCARDABLE
+{
+	IDS_PROGRAMS                "Start Menu\\Programs"
+	IDS_PERSONAL                "My Documents"
+	IDS_FAVORITES               "Favorites"
+	IDS_STARTUP                 "Start Menu\\Programs\\StartUp"
+	IDS_RECENT                  "Recent"
+	IDS_SENDTO                  "SendTo"
+	IDS_STARTMENU               "Start Menu"
+	IDS_MYMUSIC                 "My Documents\\My Music"
+	IDS_MYVIDEO                 "My Documents\\My Video"
+	IDS_DESKTOPDIRECTORY        "Desktop"
+	IDS_NETHOOD                 "NetHood"
+	IDS_TEMPLATES               "Templates"
+	IDS_APPDATA                 "Application Data"
+	IDS_PRINTHOOD               "PrintHood"
+	IDS_LOCAL_APPDATA           "Local Settings\\Application Data"
+	IDS_INTERNET_CACHE          "Temporary Internet Files"
+	IDS_COOKIES                 "Cookies"
+	IDS_HISTORY                 "History"
+	IDS_PROGRAM_FILES           "Program Files"
+	IDS_MYPICTURES              "My Documents\\My Pictures"
+	IDS_PROGRAM_FILES_COMMON    "Program Files\\Common Files"
+	IDS_COMMON_DOCUMENTS        "Documents"
+	IDS_ADMINTOOLS              "Start Menu\\Programs\\Administrative Tools"
+	IDS_COMMON_MUSIC            "Documents\\My Music"
+	IDS_COMMON_PICTURES         "Documents\\My Pictures"
+	IDS_COMMON_VIDEO            "Documents\\My Video"
+	IDS_CDBURN_AREA             "Local Settings\\Application Data\\Microsoft\\CD Burning"
+}

reactos/lib/shell32
shell32_Fr.rc 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- shell32_Fr.rc	2 Nov 2004 23:11:37 -0000	1.7
+++ shell32_Fr.rc	6 Dec 2004 23:55:46 -0000	1.8
@@ -190,3 +190,35 @@
        IDS_SHUTDOWN_TITLE      "Arr�ter"
        IDS_SHUTDOWN_PROMPT     "Voulez-vous fermer la session ReactOS?"
 }
+
+/* shell folder path default values */
+STRINGTABLE DISCARDABLE
+{
+ IDS_PROGRAMS                "Menu D�marrer\\Programmes"
+ IDS_PERSONAL                "Mes documents"
+ IDS_FAVORITES               "Favoris"
+ IDS_STARTUP                 "Menu D�marrer\\Programmes\\D�marrage"
+ IDS_RECENT                  "Recent"
+ IDS_SENDTO                  "SendTo"
+ IDS_STARTMENU               "Menu D�marrer"
+ IDS_MYMUSIC                 "Mes documents\\Ma musique"
+ IDS_MYVIDEO                 "Mes documents\\Mes vid�os"
+ IDS_DESKTOPDIRECTORY        "Bureau"
+ IDS_NETHOOD                 "Voisinage R�seau"
+ IDS_TEMPLATES               "Mod�les"
+ IDS_APPDATA                 "Application Data"
+ IDS_PRINTHOOD               "Voisinage d'impression"
+ IDS_LOCAL_APPDATA           "Local Settings\\Application Data"
+ IDS_INTERNET_CACHE          "Temporary Internet Files"
+ IDS_COOKIES                 "Cookies"
+ IDS_HISTORY                 "Historique"
+ IDS_PROGRAM_FILES           "Program Files"
+ IDS_MYPICTURES              "Mes documents\\Mes images"
+ IDS_PROGRAM_FILES_COMMON    "Program Files\\Fichiers communs"
+ IDS_COMMON_DOCUMENTS        "Documents"
+ IDS_ADMINTOOLS              "Menu D�marrer\\Programmes\\Outils d'administration"
+ IDS_COMMON_MUSIC            "Documents\\Ma musique"
+ IDS_COMMON_PICTURES         "Documents\\Mes images"
+ IDS_COMMON_VIDEO            "Documents\\Mes vid�os"
+ IDS_CDBURN_AREA             "Local Settings\\Application Data\\Microsoft\\CD Burning"
+}

reactos/lib/shell32
shell32_main.h 1.23 -> 1.24
diff -u -r1.23 -r1.24
--- shell32_main.h	21 Sep 2004 19:11:35 -0000	1.23
+++ shell32_main.h	6 Dec 2004 23:55:46 -0000	1.24
@@ -220,4 +220,7 @@
 
 extern WCHAR swShell32Name[MAX_PATH];
 
+/* Default shell folder value registration */
+HRESULT SHELL_RegisterShellFolders(void);
+
 #endif

reactos/lib/shell32
shellord.c 1.10 -> 1.11
diff -u -r1.10 -r1.11
--- shellord.c	7 Oct 2004 09:13:56 -0000	1.10
+++ shellord.c	6 Dec 2004 23:55:46 -0000	1.11
@@ -761,7 +761,7 @@
 	SHGetPathFromIDListA((LPCITEMIDLIST) pv, doc_name);
     }
     else {
-	lstrcpyA(doc_name, (LPSTR) pv);
+	lstrcpyA(doc_name, (LPCSTR) pv);
     }
     TRACE("full document name %s\n", doc_name);
     PathStripPathA(doc_name);

reactos/lib/shell32
shellpath.c 1.12 -> 1.13
diff -u -r1.12 -r1.13
--- shellpath.c	5 Oct 2004 07:43:19 -0000	1.12
+++ shellpath.c	6 Dec 2004 23:55:46 -0000	1.13
@@ -2,6 +2,7 @@
  * Path Functions
  *
  * Copyright 1998, 1999, 2000 Juergen Schmied
+ * Copyright 2004 Juan Lang
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -38,6 +39,7 @@
 #include "winuser.h"
 
 #include "shlobj.h"
+#include "shresdef.h"
 #include "shell32_main.h"
 #include "undocshell.h"
 #include "pidl.h"
@@ -556,11 +558,76 @@
 
 /*************************************************************************
  * PathCleanupSpec	[SHELL32.171]
+ *
+ * lpszFile is changed in place.
  */
-DWORD WINAPI PathCleanupSpecAW (LPCVOID x, LPVOID y)
+int WINAPI PathCleanupSpec( LPCWSTR lpszPathW, LPWSTR lpszFileW )
 {
-    FIXME("(%p, %p) stub\n",x,y);
-    return TRUE;
+    int i = 0;
+    DWORD rc = 0;
+    int length = 0;
+
+    if (SHELL_OsIsUnicode())
+    {
+        LPWSTR p = lpszFileW;
+
+        TRACE("Cleanup %s\n",debugstr_w(lpszFileW));
+
+        if (lpszPathW)
+            length = strlenW(lpszPathW);
+
+        while (*p)
+        {
+            int gct = PathGetCharTypeW(*p);
+            if (gct == GCT_INVALID || gct == GCT_WILD || gct == GCT_SEPARATOR)
+            {
+                lpszFileW[i]='-';
+                rc |= PCS_REPLACEDCHAR;
+            }
+            else
+                lpszFileW[i]=*p;
+            i++;
+            p++;
+            if (length + i == MAX_PATH)
+            {
+                rc |= PCS_FATAL | PCS_PATHTOOLONG;
+                break;
+            }
+        }
+        lpszFileW[i]=0;
+    }
+    else
+    {
+        LPSTR lpszFileA = (LPSTR)lpszFileW;
+        LPCSTR lpszPathA = (LPSTR)lpszPathW;
+        LPSTR p = lpszFileA;
+
+        TRACE("Cleanup %s\n",debugstr_a(lpszFileA));
+
+        if (lpszPathA)
+            length = strlen(lpszPathA);
+
+        while (*p)
+        {
+            int gct = PathGetCharTypeA(*p);
+            if (gct == GCT_INVALID || gct == GCT_WILD || gct == GCT_SEPARATOR)
+            {
+                lpszFileA[i]='-';
+                rc |= PCS_REPLACEDCHAR;
+            }
+            else
+                lpszFileA[i]=*p;
+            i++;
+            p++;
+            if (length + i == MAX_PATH)
+            {
+                rc |= PCS_FATAL | PCS_PATHTOOLONG;
+                break;
+            }
+        }
+        lpszFileA[i]=0;
+    }
+    return rc;
 }
 
 /*************************************************************************
@@ -689,48 +756,9 @@
             PathSetDlgItemPathA(hDlg, id, pszPath);
 }
 
-/*************************************************************************
- * SHGetFolderPathW			[SHELL32.@]
- *
- * converts csidl to path
- */
-
-static const WCHAR szSHFolders[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\','E','x','p','l','o','r','e','r','\\','S','h','e','l','l',' ','F','o','l','d','e','r','s','\0'};
-static const WCHAR szSHUserFolders[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\','E','x','p','l','o','r','e','r','\\','U','s','e','r',' ','S','h','e','l','l',' ','F','o','l','d','e','r','s','\0'};
-static const WCHAR szSetup[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\','E','x','p','l','o','r','e','r','\\','S','e','t','u','p','\0'};
 static const WCHAR szCurrentVersion[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\0'};
-
-
-
 static const WCHAR Administrative_ToolsW[] = {'A','d','m','i','n','i','s','t','r','a','t','i','v','e',' ','T','o','o','l','s','\0'};
-static const WCHAR All_Users__Application_DataW[] = {'A','l','l',' ','U','s','e','r','s','\\',
-                                                     'A','p','p','l','i','c','a','t','i','o','n',' ','D','a','t','a','\0'};
-static const WCHAR All_Users__DesktopW[] = {'A','l','l',' ','U','s','e','r','s','\\',
-                                              'D','e','s','k','t','o','p','\0'};
-static const WCHAR All_Users__DocumentsW[] = {'A','l','l',' ','U','s','e','r','s','\\',
-                                              'D','o','c','u','m','e','n','t','s','\0'};
-static const WCHAR All_Users__Documents__My_MusicW[] = {'A','l','l',' ','U','s','e','r','s','\\',
-                                                        'D','o','c','u','m','e','n','t','s','\\',
-                                                        'M','y',' ','M','u','s','i','c','\0'};
-static const WCHAR All_Users__Documents__My_PicturesW[] = {'A','l','l',' ','U','s','e','r','s','\\',
-                                                           'D','o','c','u','m','e','n','t','s','\\',
-                                                           'M','y',' ','P','i','c','t','u','r','e','s','\0'};
-static const WCHAR All_Users__Documents__My_VideoW[] = {'A','l','l',' ','U','s','e','r','s','\\',
-                                                        'D','o','c','u','m','e','n','t','s','\\',
-                                                        'M','y',' ','V','i','d','e','o','\0'};
-static const WCHAR All_Users__Start_MenuW[] = {'A','l','l',' ','U','s','e','r','s','\\','S','t','a','r','t',' ','M','e','n','u','\0'};
-static const WCHAR All_Users__Start_Menu__ProgramsW[] = {'A','l','l',' ','U','s','e','r','s','\\','S','t','a','r','t',' ','M','e','n','u','\\','P','r','o','g','r','a','m','s','\0'};
-static const WCHAR All_Users__Start_Menu__Programs__Administrative_ToolsW[] = {'A','l','l',' ','U','s','e','r','s','\\',
-                                'S','t','a','r','t',' ','M','e','n','u','\\','P','r','o','g','r','a','m','s','\\',
-                                'A','d','m','i','n','i','s','t','r','a','t','i','v','e',' ','T','o','o','l','s','\0'};
-static const WCHAR All_Users__Start_Menu__Programs__StartUpW[] = {'A','l','l',' ','U','s','e','r','s','\\',
-                                                               'S','t','a','r','t',' ','M','e','n','u','\\',
-                                                               'P','r','o','g','r','a','m','s','\\',
-                                                               'S','t','a','r','t','U','p','\0'};
-static const WCHAR All_Users__TemplatesW[] = {'A','l','l',' ','U','s','e','r','s','\\',
-                                              'T','e','m','p','l','a','t','e','s','\0'};
 static const WCHAR AppDataW[] = {'A','p','p','D','a','t','a','\0'};
-static const WCHAR Application_DataW[] = {'A','p','p','l','i','c','a','t','i','o','n',' ','D','a','t','a','\0'};
 static const WCHAR CacheW[] = {'C','a','c','h','e','\0'};
 static const WCHAR CD_BurningW[] = {'C','D',' ','B','u','r','n','i','n','g','\0'};
 static const WCHAR Common_Administrative_ToolsW[] = {'C','o','m','m','o','n',' ','A','d','m','i','n','i','s','t','r','a','t','i','v','e',' ','T','o','o','l','s','\0'};
@@ -747,24 +775,10 @@
 static const WCHAR CommonVideoW[] = {'C','o','m','m','o','n','V','i','d','e','o','\0'};
 static const WCHAR CookiesW[] = {'C','o','o','k','i','e','s','\0'};
 static const WCHAR DesktopW[] = {'D','e','s','k','t','o','p','\0'};
-static const WCHAR Empty_StringW[] = {'\0'};
 static const WCHAR FavoritesW[] = {'F','a','v','o','r','i','t','e','s','\0'};
 static const WCHAR FontsW[] = {'F','o','n','t','s','\0'};
 static const WCHAR HistoryW[] = {'H','i','s','t','o','r','y','\0'};
 static const WCHAR Local_AppDataW[] = {'L','o','c','a','l',' ','A','p','p','D','a','t','a','\0'};
-static const WCHAR Local_Settings__Application_DataW[] = {'L','o','c','a','l',' ','S','e','t','t','i','n','g','s','\\',
-                                                         'A','p','p','l','i','c','a','t','i','o','n',' ','D','a','t','a','\0'};
-static const WCHAR Local_Settings__Application_Data__Microsoft__CD_BurningW[] = {
-    'L','o','c','a','l',' ','S','e','t','t','i','n','g','s','\\',
-    'A','p','p','l','i','c','a','t','i','o','n',' ','D','a','t','a','\\',
-    'M','i','c','r','o','s','o','f','t','\\','C','D',' ','B','u','r','n','i','n','g','\0'};
-static const WCHAR My_DocumentsW[] = {'M','y',' ','D','o','c','u','m','e','n','t','s','\0'};
-static const WCHAR My_Documents__My_MusicW[] = {'M','y',' ','D','o','c','u','m','e','n','t','s','\\',
-                                                'M','y',' ','M','u','s','i','c','\0'};
-static const WCHAR My_Documents__My_PicturesW[] = {'M','y',' ','D','o','c','u','m','e','n','t','s','\\',
-                                                  'M','y',' ','P','i','c','t','u','r','e','s','\0'};
-static const WCHAR My_Documents__My_VideoW[] = {'M','y',' ','D','o','c','u','m','e','n','t','s','\\',
-                                               'M','y',' ','V','i','d','e','o','\0'};
 static const WCHAR My_MusicW[] = {'M','y',' ','M','u','s','i','c','\0'};
 static const WCHAR My_PicturesW[] = {'M','y',' ','P','i','c','t','u','r','e','s','\0'};
 static const WCHAR My_VideoW[] = {'M','y',' ','V','i','d','e','o','\0'};
@@ -772,596 +786,909 @@
 static const WCHAR PersonalW[] = {'P','e','r','s','o','n','a','l','\0'};
 static const WCHAR PrintHoodW[] = {'P','r','i','n','t','H','o','o','d','\0'};
 static const WCHAR ProgramFilesDirW[] = {'P','r','o','g','r','a','m','F','i','l','e','s','D','i','r','\0'};
-static const WCHAR Program_FilesW[] = {'P','r','o','g','r','a','m',' ','F','i','l','e','s','\0'};
-static const WCHAR Program_Files__Common_FilesW[] = {'P','r','o','g','r','a','m',' ','F','i','l','e','s','\\',
-                                                     'C','o','m','m','o','n',' ','F','i','l','e','s','\0'};
 static const WCHAR ProgramsW[] = {'P','r','o','g','r','a','m','s','\0'};
 static const WCHAR RecentW[] = {'R','e','c','e','n','t','\0'};
 static const WCHAR ResourcesW[] = {'R','e','s','o','u','r','c','e','s','\0'};
 static const WCHAR SendToW[] = {'S','e','n','d','T','o','\0'};
-static const WCHAR ShellNewW[] = {'S','h','e','l','l','N','e','w','\0'};
-static const WCHAR Start_Menu__ProgramsW[] = {'S','t','a','r','t',' ','M','e','n','u','\\','P','r','o','g','r','a','m','s','\0'};
-static const WCHAR SysDirW[] = {'S','y','s','D','i','r','\0'};
-static const WCHAR SystemW[] = {'s','y','s','t','e','m','\0'};
 static const WCHAR StartUpW[] = {'S','t','a','r','t','U','p','\0'};
 static const WCHAR Start_MenuW[] = {'S','t','a','r','t',' ','M','e','n','u','\0'};
-static const WCHAR Start_Menu__Programs__Administrative_ToolsW[] = {
-                                'S','t','a','r','t',' ','M','e','n','u','\\','P','r','o','g','r','a','m','s','\\',
-                                'A','d','m','i','n','i','s','t','r','a','t','i','v','e',' ','T','o','o','l','s','\0'};
-static const WCHAR Start_Menu__Programs__StartUpW[] = {'S','t','a','r','t',' ','M','e','n','u','\\',
-                                                     'P','r','o','g','r','a','m','s','\\',
-                                                     'S','t','a','r','t','U','p','\0'};
 static const WCHAR TemplatesW[] = {'T','e','m','p','l','a','t','e','s','\0'};
-static const WCHAR Temporary_Internet_FilesW[] = {'T','e','m','p','o','r','a','r','y',' ','I','n','t','e','r','n','e','t',' ','F','i','l','e','s','\0'};
-static const WCHAR WinDirW[] = {'W','i','n','D','i','r','\0'};
-static const WCHAR WindowsW[] = {'w','i','n','d','o','w','s','\0'};
-
-
+static const WCHAR DefaultW[] = {'.','D','e','f','a','u','l','t','\0'};
+static const WCHAR AllUsersProfileW[] = {'%','A','L','L','U','S','E','R','S','P','R','O','F','I','L','E','%','\0'};
+static const WCHAR UserProfileW[] = {'%','U','S','E','R','P','R','O','F','I','L','E','%','\0'};
+static const WCHAR SystemDriveW[] = {'%','S','y','s','t','e','m','D','r','i','v','e','%','\0'};
+static const WCHAR ProfileListW[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s',' ','N','T','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\','P','r','o','f','i','l','e','L','i','s','t',0};
+static const WCHAR ProfilesDirectoryW[] = {'P','r','o','f','i','l','e','s','D','i','r','e','c','t','o','r','y',0};
+static const WCHAR AllUsersProfileValueW[] = {'A','l','l','U','s','e','r','s','P','r','o','f','i','l','e','\0'};
+static const WCHAR szSHFolders[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\','E','x','p','l','o','r','e','r','\\','S','h','e','l','l',' ','F','o','l','d','e','r','s','\0'};
+static const WCHAR szSHUserFolders[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\','E','x','p','l','o','r','e','r','\\','U','s','e','r',' ','S','h','e','l','l',' ','F','o','l','d','e','r','s','\0'};
+/* This defaults to L"Documents and Settings" on Windows 2000/XP, but we're
+ * acting more Windows 9x-like for now.
+ */
+static const WCHAR szDefaultProfileDirW[] = {'w','i','n','d','o','w','s','\\','p','r','o','f','i','l','e','s','\0'};
+static const WCHAR AllUsersW[] = {'A','l','l',' ','U','s','e','r','s','\0'};
 
+typedef enum _CSIDL_Type {
+    CSIDL_Type_User,
+    CSIDL_Type_AllUsers,
+    CSIDL_Type_CurrVer,
+    CSIDL_Type_Disallowed,
+    CSIDL_Type_NonExistent,
+    CSIDL_Type_WindowsPath,
+    CSIDL_Type_SystemPath,
+} CSIDL_Type;
 
 typedef struct
 {
-    DWORD dwFlags;
-    HKEY hRootKey;
-    LPCWSTR szValueName;
-    LPCWSTR szDefaultPath; /* fallback string; sub dir of windows directory */
+    CSIDL_Type type;
+    LPCWSTR    szValueName;
+    LPCWSTR    szDefaultPath; /* fallback string or resource ID */
 } CSIDL_DATA;
 
-#define CSIDL_MYFLAG_SHFOLDER	1
-#define CSIDL_MYFLAG_SETUP	2
-#define CSIDL_MYFLAG_CURRVER	4
-#define CSIDL_MYFLAG_RELATIVE	8
-
-#define HKLM HKEY_LOCAL_MACHINE
-#define HKCU HKEY_CURRENT_USER
-#define HKEY_DISALLOWED    (HKEY)0
-#define HKEY_UNIMPLEMENTED (HKEY)1
-#define HKEY_WINDOWSPATH   (HKEY)2
-#define HKEY_NONEXISTENT   (HKEY)3
 static const CSIDL_DATA CSIDL_Data[] =
 {
-    { /* CSIDL_DESKTOP */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	DesktopW,
-	DesktopW
-    },
-    { /* CSIDL_INTERNET */
-	0,
-        HKEY_DISALLOWED,
-	NULL,
-	NULL
-    },
-    { /* CSIDL_PROGRAMS */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	ProgramsW,
-	Start_Menu__ProgramsW
-    },
-    { /* CSIDL_CONTROLS (.CPL files) */
-	CSIDL_MYFLAG_SETUP | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	SysDirW,
-	SystemW
-    },
-    { /* CSIDL_PRINTERS */
-	CSIDL_MYFLAG_SETUP | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	SysDirW,
-	SystemW
-    },
-    { /* CSIDL_PERSONAL */
-	CSIDL_MYFLAG_SHFOLDER,
-        HKCU,
-	PersonalW,
-	My_DocumentsW
-    },
-    { /* CSIDL_FAVORITES */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	FavoritesW,
-	FavoritesW
-    },
-    { /* CSIDL_STARTUP */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	StartUpW,
-	Start_Menu__Programs__StartUpW
-    },
-    { /* CSIDL_RECENT */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	RecentW,
-	RecentW
-    },
-    { /* CSIDL_SENDTO */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	SendToW,
-	SendToW
-    },
-    { /* CSIDL_BITBUCKET - Recycle Bin */
-	0,
-        HKEY_DISALLOWED,
-	NULL,
-	NULL,
-    },
-    { /* CSIDL_STARTMENU */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	Start_MenuW,
-	Start_MenuW
-    },
-    { /* CSIDL_MYDOCUMENTS */
-	0,
-        HKEY_UNIMPLEMENTED, /* FIXME */
-	NULL,
-	NULL
-    },
-    { /* CSIDL_MYMUSIC */
-	CSIDL_MYFLAG_SHFOLDER,
-        HKCU,
-	My_MusicW,
-	My_Documents__My_MusicW
-    },
-    { /* CSIDL_MYVIDEO */
-	CSIDL_MYFLAG_SHFOLDER,
-        HKCU,
-	My_VideoW,
-	My_Documents__My_VideoW
-    },
-    { /* unassigned */
-	0,
-        HKEY_DISALLOWED,
-	NULL,
-	NULL,
-    },
-    { /* CSIDL_DESKTOPDIRECTORY */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	DesktopW,
-	DesktopW
-    },
-    { /* CSIDL_DRIVES */
-	0,
-        HKEY_DISALLOWED,
-	NULL,
-	NULL,
-    },
-    { /* CSIDL_NETWORK */
-	0,
-        HKEY_DISALLOWED,
-	NULL,
-	NULL,
-    },
-    { /* CSIDL_NETHOOD */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	NetHoodW,
-	NetHoodW
-    },
-    { /* CSIDL_FONTS */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-        FontsW,
-	FontsW
-    },
-    { /* CSIDL_TEMPLATES */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	TemplatesW,
-	ShellNewW
-    },
-    { /* CSIDL_COMMON_STARTMENU */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	Common_Start_MenuW,
-	All_Users__Start_MenuW
-    },
-    { /* CSIDL_COMMON_PROGRAMS */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	Common_ProgramsW,
-	All_Users__Start_Menu__ProgramsW
-    },
-    { /* CSIDL_COMMON_STARTUP */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
+    { /* 0x00 - CSIDL_DESKTOP */
+        CSIDL_Type_User,
+        DesktopW,
+        MAKEINTRESOURCEW(IDS_DESKTOPDIRECTORY)
+    },
+    { /* 0x01 - CSIDL_INTERNET */
+        CSIDL_Type_Disallowed,
+        NULL,
+        NULL
+    },
+    { /* 0x02 - CSIDL_PROGRAMS */
+        CSIDL_Type_User,
+        ProgramsW,
+        MAKEINTRESOURCEW(IDS_PROGRAMS)
+    },
+    { /* 0x03 - CSIDL_CONTROLS (.CPL files) */
+        CSIDL_Type_SystemPath,
+        NULL,
+        NULL
+    },
+    { /* 0x04 - CSIDL_PRINTERS */
+        CSIDL_Type_SystemPath,
+        NULL,
+        NULL
+    },
+    { /* 0x05 - CSIDL_PERSONAL */
+        CSIDL_Type_User,
+        PersonalW,
+        MAKEINTRESOURCEW(IDS_PERSONAL)
+    },
+    { /* 0x06 - CSIDL_FAVORITES */
+        CSIDL_Type_User,
+        FavoritesW,
+        MAKEINTRESOURCEW(IDS_FAVORITES)
+    },
+    { /* 0x07 - CSIDL_STARTUP */
+        CSIDL_Type_User,
+        StartUpW,
+        MAKEINTRESOURCEW(IDS_STARTUP)
+    },
+    { /* 0x08 - CSIDL_RECENT */
+        CSIDL_Type_User,
+        RecentW,
+        MAKEINTRESOURCEW(IDS_RECENT)
+    },
+    { /* 0x09 - CSIDL_SENDTO */
+        CSIDL_Type_User,
+        SendToW,
+        MAKEINTRESOURCEW(IDS_SENDTO)
+    },
+    { /* 0x0a - CSIDL_BITBUCKET - Recycle Bin */
+        CSIDL_Type_Disallowed,
+        NULL,
+        NULL,
+    },
+    { /* 0x0b - CSIDL_STARTMENU */
+        CSIDL_Type_User,
+        Start_MenuW,
+        MAKEINTRESOURCEW(IDS_STARTMENU)
+    },
+    { /* 0x0c - CSIDL_MYDOCUMENTS */
+        CSIDL_Type_Disallowed, /* matches WinXP--can't get its path */
+        NULL,
+        NULL
+    },
+    { /* 0x0d - CSIDL_MYMUSIC */
+        CSIDL_Type_User,
+        My_MusicW,
+        MAKEINTRESOURCEW(IDS_MYMUSIC)
+    },
+    { /* 0x0e - CSIDL_MYVIDEO */
+        CSIDL_Type_User,
+        My_VideoW,
+        MAKEINTRESOURCEW(IDS_MYVIDEO)
+    },
+    { /* 0x0f - unassigned */
+        CSIDL_Type_Disallowed,
+        NULL,
+        NULL,
+    },
+    { /* 0x10 - CSIDL_DESKTOPDIRECTORY */
+        CSIDL_Type_User,
+        DesktopW,
+        MAKEINTRESOURCEW(IDS_DESKTOPDIRECTORY)
+    },
+    { /* 0x11 - CSIDL_DRIVES */
+        CSIDL_Type_Disallowed,
+        NULL,
+        NULL,
+    },
+    { /* 0x12 - CSIDL_NETWORK */
+        CSIDL_Type_Disallowed,
+        NULL,
+        NULL,
+    },
+    { /* 0x13 - CSIDL_NETHOOD */
+        CSIDL_Type_User,
+        NetHoodW,
+        MAKEINTRESOURCEW(IDS_NETHOOD)
+    },
+    { /* 0x14 - CSIDL_FONTS */
+        CSIDL_Type_WindowsPath,
+        NULL,
+        FontsW
+    },
+    { /* 0x15 - CSIDL_TEMPLATES */
+        CSIDL_Type_User,
+        TemplatesW,
+        MAKEINTRESOURCEW(IDS_TEMPLATES)
+    },
+    { /* 0x16 - CSIDL_COMMON_STARTMENU */
+        CSIDL_Type_AllUsers,
+        Common_Start_MenuW,
+        MAKEINTRESOURCEW(IDS_STARTMENU)
+    },
+    { /* 0x17 - CSIDL_COMMON_PROGRAMS */
+        CSIDL_Type_AllUsers,
+        Common_ProgramsW,
+        MAKEINTRESOURCEW(IDS_PROGRAMS)
+    },
+    { /* 0x18 - CSIDL_COMMON_STARTUP */
+        CSIDL_Type_AllUsers,
         Common_StartUpW,
-	All_Users__Start_Menu__Programs__StartUpW
+        MAKEINTRESOURCEW(IDS_STARTUP)
     },
-    { /* CSIDL_COMMON_DESKTOPDIRECTORY */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	Common_DesktopW,
-	All_Users__DesktopW
-    },
-    { /* CSIDL_APPDATA */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	AppDataW,
-	Application_DataW
-    },
-    { /* CSIDL_PRINTHOOD */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	PrintHoodW,
-	PrintHoodW
-    },
-    { /* CSIDL_LOCAL_APPDATA (win2k only/undocumented) */
-	CSIDL_MYFLAG_SHFOLDER,
-        HKCU,
-	Local_AppDataW,
-	Local_Settings__Application_DataW,
-    },
-    { /* CSIDL_ALTSTARTUP */
-	0,
-        HKEY_NONEXISTENT,
-	NULL,
-	NULL
-    },
-    { /* CSIDL_COMMON_ALTSTARTUP */
-	0,
-        HKEY_NONEXISTENT,
-	NULL,
-	NULL
-    },
-    { /* CSIDL_COMMON_FAVORITES */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	FavoritesW,
-	FavoritesW
-    },
-    { /* CSIDL_INTERNET_CACHE (32) */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	CacheW,
-	Temporary_Internet_FilesW
-    },
-    { /* CSIDL_COOKIES (33) */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	CookiesW,
-	CookiesW
-    },
-    { /* CSIDL_HISTORY (34) */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	HistoryW,
-	HistoryW
-    },
-    { /* CSIDL_COMMON_APPDATA */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	Common_AppDataW,
-	All_Users__Application_DataW
-    },
-    { /* CSIDL_WINDOWS */
-	CSIDL_MYFLAG_SETUP,
-        HKLM,
-	WinDirW,
-	WindowsW
-    },
-    { /* CSIDL_SYSTEM */
-	CSIDL_MYFLAG_SETUP | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	SysDirW,
-	SystemW
-    },
-    { /* CSIDL_PROGRAM_FILES */
-	CSIDL_MYFLAG_CURRVER,
-        HKLM,
-	ProgramFilesDirW,
-	Program_FilesW
-    },
-    { /* CSIDL_MYPICTURES */
-	CSIDL_MYFLAG_SHFOLDER,
-        HKCU,
-	My_PicturesW,
-	My_Documents__My_PicturesW
-    },
-    { /* CSIDL_PROFILE */
-	CSIDL_MYFLAG_SETUP | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	WinDirW, /* correct ? */
-	Empty_StringW
-    },
-    { /* CSIDL_SYSTEMX86 */
-	CSIDL_MYFLAG_SETUP | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
- 	SysDirW,
-	SystemW
-    },
-    { /* CSIDL_PROGRAM_FILESX86 */
-	CSIDL_MYFLAG_CURRVER,
-        HKLM,
-	ProgramFilesDirW,
-	Program_FilesW
-    },
-    { /* CSIDL_PROGRAM_FILES_COMMON */
-	CSIDL_MYFLAG_CURRVER,
-        HKLM,
-	CommonFilesDirW,
-	Program_Files__Common_FilesW /* ? */
-    },
-    { /* CSIDL_PROGRAM_FILES_COMMONX86 */
-	CSIDL_MYFLAG_CURRVER,
-        HKLM,
-	CommonFilesDirW,
-	Program_Files__Common_FilesW /* ? */
-    },
-    { /* CSIDL_COMMON_TEMPLATES */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	Common_TemplatesW,
-	/*"Documents and Settings\\"*/ All_Users__TemplatesW
-    },
-    { /* CSIDL_COMMON_DOCUMENTS */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	Common_DocumentsW,
-	/*"Documents and Settings\\"*/ All_Users__DocumentsW
-    },
-    { /* CSIDL_COMMON_ADMINTOOLS */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	Common_Administrative_ToolsW,
-	/*"Documents and Settings\\"*/ All_Users__Start_Menu__Programs__Administrative_ToolsW
-    },
-    { /* CSIDL_ADMINTOOLS */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKCU,
-	Administrative_ToolsW,
-	Start_Menu__Programs__Administrative_ToolsW
-    },
-    { /* CSIDL_CONNECTIONS */
-	0,
-        HKEY_DISALLOWED,
-	NULL,
-	NULL
-    },
-    { /* unassigned 32 */
-	0,
-        HKEY_DISALLOWED,
-	NULL,
-	NULL
-    },
-    { /* unassigned 33 */
-	0,
-        HKEY_DISALLOWED,
-	NULL,
-	NULL
-    },
-    { /* unassigned 34 */
-	0,
-        HKEY_DISALLOWED,
-	NULL,
-	NULL
-    },
-    { /* CSIDL_COMMON_MUSIC */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	CommonMusicW,
-	/*"Documents and Settings\\"*/ All_Users__Documents__My_MusicW
-    },
-    { /* CSIDL_COMMON_PICTURES */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	CommonPicturesW,
-	/*"Documents and Settings\\"*/ All_Users__Documents__My_PicturesW
-    },
-    { /* CSIDL_COMMON_VIDEO */
-	CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
-        HKLM,
-	CommonVideoW,
-	/*"Documents and Settings\\"*/ All_Users__Documents__My_VideoW
-    },
-    { /* CSIDL_RESOURCES */
-	0,
-        HKEY_WINDOWSPATH,
-	NULL,
-	ResourcesW
-    },
-    { /* CSIDL_RESOURCES_LOCALIZED */
-	0,
-        HKEY_DISALLOWED, /* FIXME */
-	NULL,
-	NULL
-    },
-    { /* CSIDL_COMMON_OEM_LINKS */
-	0,
-        HKEY_DISALLOWED, /* FIXME */
-	NULL,
-	NULL
-    },
-    { /* CSIDL_CDBURN_AREA */
-	CSIDL_MYFLAG_SHFOLDER,
-        HKCU,
-	CD_BurningW,
-	Local_Settings__Application_Data__Microsoft__CD_BurningW
-    },
-    { /* unassigned 3C */
-	0,
-        HKEY_DISALLOWED,
-	NULL,
-	NULL
-    },
-    { /* CSIDL_COMPUTERSNEARME */
-	0,
-        HKEY_DISALLOWED, /* FIXME */
-	NULL,
-	NULL
-    },
-    { /* CSIDL_PROFILES */
-	0,
-        HKEY_DISALLOWED, /* FIXME */
-	NULL,
-	NULL
+    { /* 0x19 - CSIDL_COMMON_DESKTOPDIRECTORY */
+        CSIDL_Type_AllUsers,
+        Common_DesktopW,
+        MAKEINTRESOURCEW(IDS_DESKTOP)
+    },
+    { /* 0x1a - CSIDL_APPDATA */
+        CSIDL_Type_User,
+        AppDataW,
+        MAKEINTRESOURCEW(IDS_APPDATA)
+    },
+    { /* 0x1b - CSIDL_PRINTHOOD */
+        CSIDL_Type_User,
+        PrintHoodW,
+        MAKEINTRESOURCEW(IDS_PRINTHOOD)
+    },
+    { /* 0x1c - CSIDL_LOCAL_APPDATA */
+        CSIDL_Type_User,
+        Local_AppDataW,
+        MAKEINTRESOURCEW(IDS_LOCAL_APPDATA)
+    },
+    { /* 0x1d - CSIDL_ALTSTARTUP */
+        CSIDL_Type_NonExistent,
+        NULL,
+        NULL
+    },
+    { /* 0x1e - CSIDL_COMMON_ALTSTARTUP */
+        CSIDL_Type_NonExistent,
+        NULL,
+        NULL
+    },
+    { /* 0x1f - CSIDL_COMMON_FAVORITES */
+        CSIDL_Type_AllUsers,
+        FavoritesW,
+        MAKEINTRESOURCEW(IDS_FAVORITES)
+    },
+    { /* 0x20 - CSIDL_INTERNET_CACHE */
+        CSIDL_Type_User,
+        CacheW,
+        MAKEINTRESOURCEW(IDS_INTERNET_CACHE)
+    },
+    { /* 0x21 - CSIDL_COOKIES */
+        CSIDL_Type_User,
+        CookiesW,
+        MAKEINTRESOURCEW(IDS_COOKIES)
+    },
+    { /* 0x22 - CSIDL_HISTORY */
+        CSIDL_Type_User,
+        HistoryW,
+        MAKEINTRESOURCEW(IDS_HISTORY)
+    },
+    { /* 0x23 - CSIDL_COMMON_APPDATA */
+        CSIDL_Type_AllUsers,
+        Common_AppDataW,
+        MAKEINTRESOURCEW(IDS_APPDATA)
+    },
+    { /* 0x24 - CSIDL_WINDOWS */
+        CSIDL_Type_WindowsPath,
+        NULL,
+        NULL
+    },
+    { /* 0x25 - CSIDL_SYSTEM */
+        CSIDL_Type_SystemPath,
+        NULL,
+        NULL
+    },
+    { /* 0x26 - CSIDL_PROGRAM_FILES */
+        CSIDL_Type_CurrVer,
+        ProgramFilesDirW,
+        MAKEINTRESOURCEW(IDS_PROGRAM_FILES)
+    },
+    { /* 0x27 - CSIDL_MYPICTURES */
+        CSIDL_Type_User,
+        My_PicturesW,
+        MAKEINTRESOURCEW(IDS_MYPICTURES)
+    },
+    { /* 0x28 - CSIDL_PROFILE */
+        CSIDL_Type_User,
+        NULL,
+        NULL
+    },
+    { /* 0x29 - CSIDL_SYSTEMX86 */
+        CSIDL_Type_NonExistent,
+        NULL,
+        NULL
+    },
+    { /* 0x2a - CSIDL_PROGRAM_FILESX86 */
+        CSIDL_Type_NonExistent,
+        NULL,
+        NULL
+    },
+    { /* 0x2b - CSIDL_PROGRAM_FILES_COMMON */
+        CSIDL_Type_CurrVer,
+        CommonFilesDirW,
+        MAKEINTRESOURCEW(IDS_PROGRAM_FILES_COMMON)
+    },
+    { /* 0x2c - CSIDL_PROGRAM_FILES_COMMONX86 */
+        CSIDL_Type_NonExistent,
+        NULL,
+        NULL
+    },
+    { /* 0x2d - CSIDL_COMMON_TEMPLATES */
+        CSIDL_Type_AllUsers,
+        Common_TemplatesW,
+        MAKEINTRESOURCEW(IDS_TEMPLATES)
+    },
+    { /* 0x2e - CSIDL_COMMON_DOCUMENTS */
+        CSIDL_Type_AllUsers,
+        Common_DocumentsW,
+        MAKEINTRESOURCEW(IDS_COMMON_DOCUMENTS)
+    },
+    { /* 0x2f - CSIDL_COMMON_ADMINTOOLS */
+        CSIDL_Type_AllUsers,
+        Common_Administrative_ToolsW,
+        MAKEINTRESOURCEW(IDS_ADMINTOOLS)
+    },
+    { /* 0x30 - CSIDL_ADMINTOOLS */
+        CSIDL_Type_User,
+        Administrative_ToolsW,
+        MAKEINTRESOURCEW(IDS_ADMINTOOLS)
+    },
+    { /* 0x31 - CSIDL_CONNECTIONS */
+        CSIDL_Type_Disallowed,
+        NULL,
+        NULL
+    },
+    { /* 0x32 - unassigned */
+        CSIDL_Type_Disallowed,
+        NULL,
+        NULL
+    },
+    { /* 0x33 - unassigned */
+        CSIDL_Type_Disallowed,
+        NULL,
+        NULL
+    },
+    { /* 0x34 - unassigned */
+        CSIDL_Type_Disallowed,
+        NULL,
+        NULL
+    },
+    { /* 0x35 - CSIDL_COMMON_MUSIC */
+        CSIDL_Type_AllUsers,
+        CommonMusicW,
+        MAKEINTRESOURCEW(IDS_COMMON_MUSIC)
+    },
+    { /* 0x36 - CSIDL_COMMON_PICTURES */
+        CSIDL_Type_AllUsers,
+        CommonPicturesW,
+        MAKEINTRESOURCEW(IDS_COMMON_PICTURES)
+    },
+    { /* 0x37 - CSIDL_COMMON_VIDEO */
+        CSIDL_Type_AllUsers,
+        CommonVideoW,
+        MAKEINTRESOURCEW(IDS_COMMON_VIDEO)
+    },
+    { /* 0x38 - CSIDL_RESOURCES */
+        CSIDL_Type_WindowsPath,
+        NULL,
+        ResourcesW
+    },
+    { /* 0x39 - CSIDL_RESOURCES_LOCALIZED */
+        CSIDL_Type_NonExistent,
+        NULL,
+        NULL
+    },
+    { /* 0x3a - CSIDL_COMMON_OEM_LINKS */
+        CSIDL_Type_NonExistent,
+        NULL,
+        NULL
+    },
+    { /* 0x3b - CSIDL_CDBURN_AREA */
+        CSIDL_Type_User,
+        CD_BurningW,
+        MAKEINTRESOURCEW(IDS_CDBURN_AREA)
+    },
+    { /* 0x3c unassigned */
+        CSIDL_Type_Disallowed,
+        NULL,
+        NULL
+    },
+    { /* 0x3d - CSIDL_COMPUTERSNEARME */
+        CSIDL_Type_Disallowed, /* FIXME */
+        NULL,
+        NULL
+    },
+    { /* 0x3e - CSIDL_PROFILES */
+        CSIDL_Type_Disallowed, /* oddly, this matches WinXP */
+        NULL,
+        NULL
     }
 };
-#undef HKCU
-#undef HKLM
 
-/**********************************************************************/
+static HRESULT _SHExpandEnvironmentStrings(LPCWSTR szSrc, LPWSTR szDest);
 
-HRESULT WINAPI SHGetFolderPathW(
-	HWND hwndOwner,
-	int csidl,
-	HANDLE hToken,	/* [in] FIXME: get paths for specific user */
-	DWORD dwFlags,	/* [in] FIXME: SHGFP_TYPE_CURRENT|SHGFP_TYPE_DEFAULT */
-	LPWSTR pszPath)
+/* Gets the value named value from the registry key
+ * rootKey\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
+ * (or from rootKey\userPrefix\... if userPrefix is not NULL) into path, which
+ * is assumed to be MAX_PATH WCHARs in length.
+ * If it exists, expands the value and writes the expanded value to
+ * rootKey\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ * Returns successful error code if the value was retrieved from the registry,
+ * and a failure otherwise.
+ */
+static HRESULT _SHGetUserShellFolderPath(HKEY rootKey, LPCWSTR userPrefix,
+ LPCWSTR value, LPWSTR path)
 {
-	WCHAR   szBuildPath[MAX_PATH];
-	HKEY	hRootKey, hKey;
-	DWORD	dwCsidlFlags;
-	DWORD	dwType, dwDisp, dwPathLen = MAX_PATH;
-	DWORD	folder = csidl & CSIDL_FOLDER_MASK;
-	WCHAR	*p;
+    HRESULT hr;
+    WCHAR shellFolderPath[MAX_PATH], userShellFolderPath[MAX_PATH];
+    LPCWSTR pShellFolderPath, pUserShellFolderPath;
+    DWORD dwDisp, dwType, dwPathLen = MAX_PATH;
+    HKEY userShellFolderKey, shellFolderKey;
 
-	TRACE("%p,%p,csidl=0x%04x\n", hwndOwner,pszPath,csidl);
+    TRACE("%p,%s,%s,%p\n",rootKey, debugstr_w(userPrefix), debugstr_w(value),
+     path);
 
-        if (!pszPath)
-            return E_INVALIDARG;
+    if (userPrefix)
+    {
+        strcpyW(shellFolderPath, userPrefix);
+        PathAddBackslashW(shellFolderPath);
+        strcatW(shellFolderPath, szSHFolders);
+        pShellFolderPath = shellFolderPath;
+        strcpyW(userShellFolderPath, userPrefix);
+        PathAddBackslashW(userShellFolderPath);
+        strcatW(userShellFolderPath, szSHUserFolders);
+        pUserShellFolderPath = userShellFolderPath;
+    }
+    else
+    {
+        pUserShellFolderPath = szSHUserFolders;
+        pShellFolderPath = szSHFolders;
+    }
[truncated at 1000 lines; 999 more skipped]

reactos/lib/shell32
shlfileop.c 1.9 -> 1.10
diff -u -r1.9 -r1.10
--- shlfileop.c	19 Oct 2004 10:17:53 -0000	1.9
+++ shlfileop.c	6 Dec 2004 23:55:46 -0000	1.10
@@ -3,8 +3,8 @@
  *
  * Copyright 2000 Juergen Schmied
  * Copyright 2002 Andriy Palamarchuk
- * Copyright 2002 Dietrich Teickner (from Odin)
- * Copyright 2002 Rolf Kalbermatter
+ * Copyright 2004 Dietrich Teickner (from Odin)
+ * Copyright 2004 Rolf Kalbermatter
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -56,15 +56,16 @@
 static const WCHAR wWildcardChars[] = {'*','?',0};
 static const WCHAR wBackslash[] = {'\\',0};
 
-static BOOL SHELL_DeleteDirectoryW(LPCWSTR pszDir, BOOL bShowUI);
+static BOOL SHELL_DeleteDirectoryW(LPCWSTR path, BOOL bShowUI);
 static DWORD SHNotifyCreateDirectoryA(LPCSTR path, LPSECURITY_ATTRIBUTES sec);
 static DWORD SHNotifyCreateDirectoryW(LPCWSTR path, LPSECURITY_ATTRIBUTES sec);
 static DWORD SHNotifyRemoveDirectoryA(LPCSTR path);
 static DWORD SHNotifyRemoveDirectoryW(LPCWSTR path);
 static DWORD SHNotifyDeleteFileA(LPCSTR path);
 static DWORD SHNotifyDeleteFileW(LPCWSTR path);
-static DWORD SHNotifyMoveFileW(LPCWSTR src, LPCWSTR dest, BOOL bRenameIfExists);
-static DWORD SHNotifyCopyFileW(LPCWSTR src, LPCWSTR dest, BOOL bRenameIfExists);
+static DWORD SHNotifyMoveFileW(LPCWSTR src, LPCWSTR dest);
+static DWORD SHNotifyCopyFileW(LPCWSTR src, LPCWSTR dest, BOOL bFailIfExists);
+static DWORD SHFindAttrW(LPCWSTR pName, BOOL fileOnly);
 
 typedef struct
 {
@@ -130,14 +131,14 @@
 	return (IDOK == MessageBoxW(GetActiveWindow(), szBuffer, szCaption, MB_OKCANCEL | MB_ICONEXCLAMATION));
 }
 
-static DWORD SHELL32_AnsiToUnicodeBuf(LPCSTR aPath, LPWSTR *wPath, DWORD minlen)
+static DWORD SHELL32_AnsiToUnicodeBuf(LPCSTR aPath, LPWSTR *wPath, DWORD minChars)
 {
 	DWORD len = MultiByteToWideChar(CP_ACP, 0, aPath, -1, NULL, 0);
 
-	if (len < minlen)
-	  len = minlen;
+	if (len < minChars)
+	  len = minChars;
 
-	*wPath = HeapAlloc(GetProcessHeap(), 0, len);
+	*wPath = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
 	if (*wPath)
 	{
 	  MultiByteToWideChar(CP_ACP, 0, aPath, -1, *wPath, len);
@@ -152,9 +153,10 @@
 }
 
 /**************************************************************************
- * SHELL_DeleteDirectoryA()  [internal]
+ * SHELL_DeleteDirectory()  [internal]
  *
- * like rm -r
+ * Asks for confirmation when bShowUI is true and deletes the directory and
+ * all its subdirectories and files if necessary.
  */
 BOOL SHELL_DeleteDirectoryA(LPCSTR pszDir, BOOL bShowUI)
 {
@@ -292,7 +294,6 @@
  *  Verified on Win98 / IE 5 (SHELL32 4.72, March 1999 build) to be ANSI.
  *  This is Unicode on NT/2000
  */
-
 static DWORD SHNotifyRemoveDirectoryA(LPCSTR path)
 {
 	LPWSTR wPath;
@@ -357,7 +358,6 @@
  *  Verified on Win98 / IE 5 (SHELL32 4.72, March 1999 build) to be ANSI.
  *  This is Unicode on NT/2000
  */
-
 static DWORD SHNotifyDeleteFileA(LPCSTR path)
 {
 	LPWSTR wPath;
@@ -416,35 +416,29 @@
  * PARAMS
  *  src        [I]   path to source file to move
  *  dest       [I]   path to target file to move to
- *  bRename    [I]   if TRUE, the target file will be renamed if a
- *                   file with this name already exists
  *
  * RETURNS
  *  ERORR_SUCCESS if successful
  */
-static DWORD SHNotifyMoveFileW(LPCWSTR src, LPCWSTR dest, BOOL bRename)
+static DWORD SHNotifyMoveFileW(LPCWSTR src, LPCWSTR dest)
 {
 	BOOL ret;
 
-	TRACE("(%s %s %s)\n", debugstr_w(src), debugstr_w(dest), bRename ? "renameIfExists" : "");
+	TRACE("(%s %s)\n", debugstr_w(src), debugstr_w(dest));
 
 	ret = MoveFileW(src, dest);
 	if (!ret)
 	{
-	  /* Source file may be write protected or a system file */
-	  DWORD dwAttr = GetFileAttributesW(src);
-	  if (IsAttrib(dwAttr, FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_SYSTEM))
-	    if (SetFileAttributesW(src, dwAttr & ~(FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_SYSTEM)))
-	      ret = MoveFileW(src, dest);
+	  DWORD dwAttr;
 
-	  if (!ret && bRename)
+	  dwAttr = SHFindAttrW(dest, FALSE);
+	  if (INVALID_FILE_ATTRIBUTES == dwAttr)
 	  {
-	    /* Destination file probably exists */
-	    dwAttr = GetFileAttributesW(dest);
-	    if (dwAttr != INVALID_FILE_ATTRIBUTES)
-	    {
-	      FIXME("Rename on move to existing file not implemented!\n");
-	    }
+	    /* Source file may be write protected or a system file */
+	    dwAttr = GetFileAttributesW(src);
+	    if (IsAttrib(dwAttr, FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_SYSTEM))
+	      if (SetFileAttributesW(src, dwAttr & ~(FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_SYSTEM)))
+	        ret = MoveFileW(src, dest);
 	  }
 	}
 	if (ret)
@@ -461,30 +455,21 @@
  * Copies a file. Also triggers a change notify if one exists.
  *
  * PARAMS
- *  src        [I]   path to source file to move
- *  dest       [I]   path to target file to move to
- *  bRename    [I]   if TRUE, the target file will be renamed if a
- *                   file with this name already exists
+ *  src           [I]   path to source file to move
+ *  dest          [I]   path to target file to move to
+ *  bFailIfExists [I]   if TRUE, the target file will not be overwritten if
+ *                      a file with this name already exists
  *
  * RETURNS
  *  ERROR_SUCCESS if successful
  */
-static DWORD SHNotifyCopyFileW(LPCWSTR src, LPCWSTR dest, BOOL bRename)
+static DWORD SHNotifyCopyFileW(LPCWSTR src, LPCWSTR dest, BOOL bFailIfExists)
 {
 	BOOL ret;
 
-	TRACE("(%s %s %s)\n", debugstr_w(src), debugstr_w(dest), bRename ? "renameIfExists" : "");
+	TRACE("(%s %s %s)\n", debugstr_w(src), debugstr_w(dest), bFailIfExists ? "failIfExists" : "");
 
-	ret = CopyFileW(src, dest, TRUE);
-	if (!ret && bRename)
-	{
-	  /* Destination file probably exists */
-	  DWORD dwAttr = GetFileAttributesW(dest);
-	  if (dwAttr != INVALID_FILE_ATTRIBUTES)
-	  {
-	    FIXME("Rename on copy to existing file not implemented!\n");
-	  }
-	}
+	ret = CopyFileW(src, dest, bFailIfExists);
 	if (ret)
 	{
 	  SHChangeNotify(SHCNE_CREATE, SHCNF_PATHW, dest, NULL);
@@ -546,7 +531,9 @@
  *  ERROR_FILENAME_EXCED_RANGE if the filename was to long to process
  *
  *  FIXME: Not implemented yet;
- *  SHCreateDirectoryEx also verifies that the files will be visible. If not:
+ *  SHCreateDirectoryEx also verifies that the files in the directory will be visible
+ *  if the path is a network path to deal with network drivers which might have a limited
+ *  but unknown maximum path length. If not:
  *
  *  If hWnd is set to a valid window handle, a message box is displayed warning
  *  the user that the files may not be accessible. If the user chooses not to
@@ -591,15 +578,76 @@
 	      ret != ERROR_ALREADY_EXISTS &&
 	      ret != ERROR_FILENAME_EXCED_RANGE)
 	  {
-	  /* handling network file names?
-	    lstrcpynW(pathName, path, MAX_PATH);
-	    lpStr = PathAddBackslashW(pathName);*/
-	    FIXME("Semi-stub, non zero hWnd should be used somehow?\n");
+	    WCHAR *pEnd, *pSlash, szTemp[MAX_PATH + 1];  /* extra for PathAddBackslash() */
+
+	    lstrcpynW(szTemp, path, MAX_PATH);
+	    pEnd = PathAddBackslashW(szTemp);
+	    pSlash = szTemp + 3;
+
+	    while (*pSlash)
+	    {
+	      while (*pSlash && *pSlash != '\\')
+	        pSlash = CharNextW(pSlash);
+
+	      if (*pSlash)
+	      {
+	        *pSlash = 0;    /* terminate path at separator */
+
+	        ret = SHNotifyCreateDirectoryW(szTemp, pSlash + 1 == pEnd ? sec : NULL);
+	      }
+	      *pSlash++ = '\\'; /* put the separator back */
+	    }
+	  }
+
+	  if (ret && hWnd && (ERROR_CANCELLED != ret))
+	  {
+	    /* We failed and should show a dialog box */
+	    FIXME("Show system error message, creating path %s, failed with error %d\n", debugstr_w(path), ret);
+	    ret = ERROR_CANCELLED; /* Error has been already presented to user (not really yet!) */
 	  }
 	}
 	return ret;
 }
 
+
+/*************************************************************************
+ * SHFindAttrW      [internal]
+ *
+ * Get the Attributes for a file or directory. The difference to GetAttributes()
+ * is that this function will also work for paths containing wildcard characters
+ * in its filename.
+
+ * PARAMS
+ *  path       [I]   path of directory or file to check
+ *  fileOnly   [I]   TRUE if only files should be found
+ *
+ * RETURNS
+ *  INVALID_FILE_ATTRIBUTES if the path does not exist, the actual attributes of
+ *  the first file or directory found otherwise
+ */
+static DWORD SHFindAttrW(LPCWSTR pName, BOOL fileOnly)
+{
+	WIN32_FIND_DATAW wfd;
+	BOOL b_FileMask = fileOnly && (NULL != StrPBrkW(pName, wWildcardChars));
+	DWORD dwAttr = INVALID_FILE_ATTRIBUTES;
+	HANDLE hFind = FindFirstFileW(pName, &wfd);
+
+	TRACE("%s %d\n", debugstr_w(pName), fileOnly);
+	if (INVALID_HANDLE_VALUE != hFind)
+	{
+	  do
+	  {
+	    if (b_FileMask && IsAttribDir(wfd.dwFileAttributes))
+	       continue;
+	    dwAttr = wfd.dwFileAttributes;
+	    break;
+	  }
+	  while (FindNextFileW(hFind, &wfd));
+	  FindClose(hFind);
+	}
+	return dwAttr;
+}
+
 /*************************************************************************
  *
  * SHFileStrICmp HelperFunction for SHFileOperationW
@@ -690,7 +738,7 @@
 	{
 	  if (NULL == StrPBrkW(pszFiles1, wWildcardChars))
 	  {
-	    if (-1 == GetFileAttributesW(pszFiles1))
+	    if (INVALID_FILE_ATTRIBUTES == GetFileAttributesW(pszFiles1))
 	      return FALSE;
 	  }
 	  pszFiles1 += lstrlenW(pszFiles1) + 1;
@@ -1070,7 +1118,7 @@
 	    b_SameTailName = SHFileStrICmpW(pToFile, pFromFile, NULL, NULL);
 
 	    ToPathAttr = ToAttr = GetFileAttributesW(pTempTo);
-	    if (!b_Mask && (ToAttr == -1) && (pToFile))
+	    if (!b_Mask && (ToAttr == INVALID_FILE_ATTRIBUTES) && (pToFile))
 	    {
                 pToFile[0] = '\0';
                 ToPathAttr = GetFileAttributesW(pTempTo);
@@ -1091,7 +1139,7 @@
                     retCode=0x2;
                     goto shfileop_end;
                 }
-                if (-1 == ToPathAttr)
+                if (INVALID_FILE_ATTRIBUTES == ToPathAttr)
                 {
                     retCode = 0x75;
                     goto shfileop_end;
@@ -1102,7 +1150,7 @@
                     goto shfileop_end;
                 }
                 /* we use SHNotifyMoveFile() instead MoveFileW */
-                if (SHNotifyMoveFileW(pTempFrom, pTempTo, nFileOp.fFlags & FOF_RENAMEONCOLLISION) != ERROR_SUCCESS)
+                if (SHNotifyMoveFileW(pTempFrom, pTempTo) != ERROR_SUCCESS)
                 {
                     /* we need still the value for the returncode, we use the mostly assumed */
                     retCode = 0xb7;
@@ -1146,16 +1194,16 @@
                 continue;
 
 	    /* only FO_COPY/FO_MOVE without mask, all others are (must be) solved */
-	    if (IsAttribDir(wfd.dwFileAttributes) && (ToAttr == -1))
+	    if (IsAttribDir(wfd.dwFileAttributes) && (ToAttr == INVALID_FILE_ATTRIBUTES))
 	    {
                 if (pToFile)
                 {
                     pToFile[0] = '\0';
                     ToPathAttr = GetFileAttributesW(pTempTo);
-                    if ((ToPathAttr == -1) && b_ToValid)
+                    if ((ToPathAttr == INVALID_FILE_ATTRIBUTES) && b_ToValid)
                     {
                         /* create dir must be here, sample target D:\y\ *.* create with RC=10003 */
-                        if (SHCreateDirectoryExW(NULL, pTempTo, NULL))
+                        if (SHNotifyCreateDirectoryW(pTempTo, NULL))
                         {
                             retCode = 0x73;/* value unknown */
                             goto shfileop_end;
@@ -1208,7 +1256,7 @@
 	    }
 
 	    /* singlesource + no mask */
-	    if (-1 == (ToAttr & ToPathAttr))
+	    if (INVALID_FILE_ATTRIBUTES == (ToAttr & ToPathAttr))
 	    {
                 /* Target-dir does not exist, and cannot be created */
                 retCode=0x75;
@@ -1219,7 +1267,7 @@
 	    {
 	    case FO_MOVE:
                 pToFile = NULL;
-                if ((ToAttr == -1) && SHFileStrICmpW(pTempFrom, pTempTo, pFromFile, NULL))
+                if ((ToAttr == INVALID_FILE_ATTRIBUTES) && SHFileStrICmpW(pTempFrom, pTempTo, pFromFile, NULL))
                 {
                     nFileOp.wFunc =  ((level+1)<<4) + FO_RENAME;
                 }
@@ -1253,7 +1301,7 @@
                 }
                 if (IsAttribDir((ToAttr & wfd.dwFileAttributes)))
                 {
-                    if (IsAttribDir(ToAttr) || !SHCreateDirectoryExW(NULL,pTempTo, NULL))
+                    if (IsAttribDir(ToAttr) || !SHNotifyCreateDirectoryW(pTempTo, NULL))
                     {
                         /* ??? nFileOp.fFlags = (nFileOp.fFlags | FOF_MULTIDESTFILES); */
                         SHFileStrCpyCatW(pTempFrom, NULL, wWildcardFile);
@@ -1274,7 +1322,7 @@
                         retCode = 0x73;
                         goto shfileop_end;
                     }
-                    if (SHNotifyCopyFileW(pTempFrom, pTempTo, nFileOp.fFlags & FOF_RENAMEONCOLLISION) != ERROR_SUCCESS)
+                    if (SHNotifyCopyFileW(pTempFrom, pTempTo, TRUE) != ERROR_SUCCESS)
                     {
                         retCode = 0x77; /* value unknown */
                         goto shfileop_end;

reactos/lib/shell32
shlfolder.c 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- shlfolder.c	7 Oct 2004 09:13:56 -0000	1.13
+++ shlfolder.c	6 Dec 2004 23:55:46 -0000	1.14
@@ -143,7 +143,7 @@
     while (*pszTail && (*pszTail != (WCHAR) '\\'))
 	pszTail++;
 
-    dwCopy = (WCHAR *) pszTail - (WCHAR *) pszNext + 1;
+    dwCopy = (const WCHAR *) pszTail - (const WCHAR *) pszNext + 1;
     lstrcpynW (pszOut, pszNext, (dwOut < dwCopy) ? dwOut : dwCopy);
 
     if (*pszTail)

reactos/lib/shell32
shpolicy.c 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- shpolicy.c	13 May 2004 20:27:04 -0000	1.2
+++ shpolicy.c	6 Dec 2004 23:55:46 -0000	1.3
@@ -897,15 +897,15 @@
 	{
 	  if (SHELL_OsIsUnicode())
 	  {
-	    if (lstrcmpiW((LPWSTR)inpRegKey, strRegistryPolicyW) &&
-	        lstrcmpiW((LPWSTR)inpRegKey, strPolicyW))
+	    if (lstrcmpiW((LPCWSTR)inpRegKey, strRegistryPolicyW) &&
+	        lstrcmpiW((LPCWSTR)inpRegKey, strPolicyW))
 	      /* doesn't match, fail */
 	      return 0;
 	  }
 	  else
 	  {
-	    if (lstrcmpiA((LPSTR)inpRegKey, strRegistryPolicyA) &&
-	        lstrcmpiA((LPSTR)inpRegKey, strPolicyA))
+	    if (lstrcmpiA((LPCSTR)inpRegKey, strRegistryPolicyA) &&
+	        lstrcmpiA((LPCSTR)inpRegKey, strPolicyA))
 	      /* doesn't match, fail */
 	      return 0;
 	  }

reactos/lib/shell32
shresdef.h 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- shresdef.h	12 Jul 2004 20:53:24 -0000	1.2
+++ shresdef.h	6 Dec 2004 23:55:46 -0000	1.3
@@ -56,6 +56,34 @@
 #define IDS_SHUTDOWN_TITLE     42
 #define IDS_SHUTDOWN_PROMPT    43
 
+#define IDS_PROGRAMS                45
+#define IDS_PERSONAL                46
+#define IDS_FAVORITES               47
+#define IDS_STARTUP                 48
+#define IDS_RECENT                  49
+#define IDS_SENDTO                  50
+#define IDS_STARTMENU               51
+#define IDS_MYMUSIC                 52
+#define IDS_MYVIDEO                 53
+#define IDS_DESKTOPDIRECTORY        54
+#define IDS_NETHOOD                 55
+#define IDS_TEMPLATES               56
+#define IDS_APPDATA                 57
+#define IDS_PRINTHOOD               58
+#define IDS_LOCAL_APPDATA           59
+#define IDS_INTERNET_CACHE          60
+#define IDS_COOKIES                 61
+#define IDS_HISTORY                 62
+#define IDS_PROGRAM_FILES           63
+#define IDS_MYPICTURES              64
+#define IDS_PROGRAM_FILES_COMMON    65
+#define IDS_COMMON_DOCUMENTS        66
+#define IDS_ADMINTOOLS              67
+#define IDS_COMMON_MUSIC            68
+#define IDS_COMMON_PICTURES         69
+#define IDS_COMMON_VIDEO            70
+#define IDS_CDBURN_AREA             71
+
 /* browse for folder dialog box */
 #define IDD_STATUS		0x3743
 #define IDD_TITLE		0x3742

reactos/lib/shell32
undocshell.h 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- undocshell.h	19 Sep 2004 22:02:28 -0000	1.7
+++ undocshell.h	6 Dec 2004 23:55:46 -0000	1.8
@@ -429,14 +429,6 @@
 	LPCWSTR lpszShortName,
 	LPCWSTR lpszLongName);
 
-/* PathCleanupSpec return values */
-#define PCS_REPLACEDCHARS  0x00000001
-#define PCS_REMOVEDCHARS   0x00000002
-#define PCS_SHORTENED      0x00000004
-#define PCS_PATHTOOLONG    0x80000008
-
-DWORD WINAPI PathCleanupSpecAW(LPCVOID lpszPath, LPVOID lpszFile);
-
 BOOL WINAPI PathQualifyA(LPCSTR path);
 BOOL WINAPI PathQualifyW(LPCWSTR path);
 #define PathQualify WINELIB_NAME_AW(PathQualify)

reactos/lib/shell32
version.h 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- version.h	22 Sep 2004 05:08:04 -0000	1.1
+++ version.h	6 Dec 2004 23:55:46 -0000	1.2
@@ -18,11 +18,11 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#define WINE_FILEVERSION_MAJOR         4
-#define WINE_FILEVERSION_MINOR        72
-#define WINE_FILEVERSION_BUILD      3110
+#define WINE_FILEVERSION_MAJOR         6
+#define WINE_FILEVERSION_MINOR         0
+#define WINE_FILEVERSION_BUILD      2600
 #define WINE_FILEVERSION_PLATFORMID    1
 
 /* FIXME: when libs/wpp gets fixed to support concatenation we can remove
  * this and define it in version.rc */
-#define WINE_FILEVERSION "4.72.3110.1"
+#define WINE_FILEVERSION "6.0.2600.1"

reactos/lib/shell32
version16.rc 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- version16.rc	2 Jan 2004 19:49:46 -0000	1.1
+++ version16.rc	6 Dec 2004 23:55:46 -0000	1.2
@@ -16,9 +16,9 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#define WINE_FILEVERSION 4,0,0,0
-#define WINE_FILEVERSION_STR "4.0"
 #define WINE_FILEDESCRIPTION_STR "Wine core dll"
 #define WINE_FILENAME_STR "shell.dll"
+#define WINE_FILEVERSION 4,0,0,0
+#define WINE_FILEVERSION_STR "4.0"
 
 #include "wine/wine_common_ver.rc"

reactos/lib/shell32
winehq2ros.patch 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- winehq2ros.patch	20 Oct 2004 18:30:39 -0000	1.5
+++ winehq2ros.patch	6 Dec 2004 23:55:46 -0000	1.6
@@ -1,29 +1,26 @@
 Index: Makefile.in
 ===================================================================
 RCS file: /home/wine/wine/dlls/shell32/Makefile.in,v
-retrieving revision 1.85
-diff -u -r1.85 Makefile.in
---- Makefile.in	29 Sep 2004 21:13:58 -0000	1.85
-+++ Makefile.in	20 Oct 2004 18:43:52 -0000
-@@ -46,9 +46,9 @@
+retrieving revision 1.86
+diff -u -r1.86 Makefile.in
+--- Makefile.in	27 Oct 2004 00:47:53 -0000	1.86
++++ Makefile.in	6 Dec 2004 23:45:47 -0000
+@@ -46,7 +46,7 @@
  	shpolicy.c \
  	shv_bg_cmenu.c \
  	shv_item_cmenu.c \
 -	systray.c
 +	ros-systray.c
  
--RC_SRCS = shres.rc version.rc
-+RC_SRCS = shres.rc
+ RC_SRCS = shres.rc
  RC_BINSRC = shres.rc
- RC_BINARIES = \
- 	cdrom.ico \
 Index: control.c
 ===================================================================
 RCS file: /home/wine/wine/dlls/shell32/control.c,v
 retrieving revision 1.20
 diff -u -r1.20 control.c
 --- control.c	12 Jul 2004 19:50:56 -0000	1.20
-+++ control.c	20 Oct 2004 18:43:52 -0000
++++ control.c	6 Dec 2004 23:45:47 -0000
 @@ -464,6 +464,7 @@
  void WINAPI RunDLL_CallEntry16( DWORD proc, HWND hwnd, HINSTANCE inst,
                                  LPCSTR cmdline, INT cmdshow )
@@ -49,7 +46,7 @@
 retrieving revision 1.83
 diff -u -r1.83 iconcache.c
 --- iconcache.c	7 Oct 2004 03:06:48 -0000	1.83
-+++ iconcache.c	20 Oct 2004 18:43:52 -0000
++++ iconcache.c	6 Dec 2004 23:45:47 -0000
 @@ -143,8 +143,22 @@
  {	HICON	hiconLarge=0;
  	HICON	hiconSmall=0;
@@ -75,22 +72,6 @@
  
  	if ( !hiconLarge ||  !hiconSmall)
  	{
-@@ -299,6 +313,7 @@
- 
- 	return TRUE;
- }
-+
- /*************************************************************************
-  * PidlToSicIndex			[INTERNAL]
-  *
-@@ -339,7 +354,6 @@
- 	  *pIndex = 0;
- 
- 	return ret;
--
- }
- 
- /*************************************************************************
 @@ -362,8 +376,12 @@
  	pdump(pidl);
  
@@ -126,14 +107,212 @@
  	TRACE("%s %i %p %p %i\n", debugstr_w(lpszFile), nIconIndex, phiconLarge, phiconSmall, nIcons);
  
  	return PrivateExtractIconExW(lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons);
+Index: shell32_Ca.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Ca.rc,v
+retrieving revision 1.7
+diff -u -r1.7 shell32_Ca.rc
+--- shell32_Ca.rc	24 Aug 2004 18:33:03 -0000	1.7
++++ shell32_Ca.rc	6 Dec 2004 23:45:47 -0000
+@@ -23,11 +23,12 @@
+ CAPTION "Quant a %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "D'Acord", IDOK, 153, 130, 50, 12
++ DEFPUSHBUTTON "D'Acord", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine ha estat construit per:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS ha estat construit per:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Cn.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Cn.rc,v
+retrieving revision 1.4
+diff -u -r1.4 shell32_Cn.rc
+--- shell32_Cn.rc	24 Aug 2004 18:33:03 -0000	1.4
++++ shell32_Cn.rc	6 Dec 2004 23:45:47 -0000
+@@ -24,11 +24,12 @@
+ CAPTION "���� %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "����", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "����", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine was brought to you by:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS was brought to you by:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -37,7 +38,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "������������������������Internet��������Wine��������������", 12289, 36, 11, 182, 18
++ LTEXT "������������������������Internet��������ReactOS��������������", 12289, 36, 11, 182, 18
+  LTEXT "����(&O):", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "����", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Cs.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Cs.rc,v
+retrieving revision 1.8
+diff -u -r1.8 shell32_Cs.rc
+--- shell32_Cs.rc	24 Aug 2004 18:33:03 -0000	1.8
++++ shell32_Cs.rc	6 Dec 2004 23:45:47 -0000
+@@ -110,11 +110,12 @@
+ CAPTION "O aplikaci %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine je d�lem:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS je d�lem:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -123,7 +124,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Zadejte n�zev programu, slo�ky, dokumentu, nebo zdroje v s�ti Internet a Wine jej pro v�s otev�e.", 12289, 36, 11, 182, 18
++ LTEXT "Zadejte n�zev programu, slo�ky, dokumentu, nebo zdroje v s�ti Internet a ReactOS jej pro v�s otev�e.", 12289, 36, 11, 182, 18
+  LTEXT "&Otev��t:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Da.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Da.rc,v
+retrieving revision 1.7
+diff -u -r1.7 shell32_Da.rc
+--- shell32_Da.rc	24 Aug 2004 18:33:03 -0000	1.7
++++ shell32_Da.rc	6 Dec 2004 23:45:47 -0000
+@@ -23,11 +23,12 @@
+ CAPTION "Om %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine havde ikke v�ret mulig uden hj�lp fra disse personer:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS havde ikke v�ret mulig uden hj�lp fra disse personer:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_De.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_De.rc,v
+retrieving revision 1.12
+diff -u -r1.12 shell32_De.rc
+--- shell32_De.rc	23 Sep 2004 04:28:04 -0000	1.12
++++ shell32_De.rc	6 Dec 2004 23:45:47 -0000
+@@ -110,11 +110,12 @@
+ CAPTION "Informationen �ber %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "WINE wurde f�r Sie gekeltert von:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS wurde Ihnen zur Verf�gung gestellt von:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -123,7 +124,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Den Namen eines Programmes, eines Ordners, eines Dokumentes oder einer Internet Ressource eingeben, und Wine wird es f�r Sie �ffnen", 12289, 36, 11, 182, 18
++ LTEXT "Den Namen eines Programmes, eines Ordners, eines Dokumentes oder einer Internet Ressource eingeben, und ReactOS wird es f�r Sie �ffnen", 12289, 36, 11, 182, 18
+  LTEXT "&�ffnen:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+@@ -185,5 +186,5 @@
+        IDS_RESTART_TITLE       "Neustarten"
+        IDS_RESTART_PROMPT      "M�chten Sie, dass ein simulierter Windows Neustart durchgef�hrt wird ?"
+        IDS_SHUTDOWN_TITLE      "Anhalten"
+-       IDS_SHUTDOWN_PROMPT     "M�chten Sie die aktuelle Wine Sitzung beenden ?"
++       IDS_SHUTDOWN_PROMPT     "M�chten Sie die aktuelle ReactOS Sitzung beenden ?"
+ }
 Index: shell32_En.rc
 ===================================================================
 RCS file: /home/wine/wine/dlls/shell32/shell32_En.rc,v
-retrieving revision 1.17
-diff -u -r1.17 shell32_En.rc
---- shell32_En.rc	23 Sep 2004 04:28:04 -0000	1.17
-+++ shell32_En.rc	20 Oct 2004 18:43:52 -0000
-@@ -181,8 +181,8 @@
+retrieving revision 1.18
+diff -u -r1.18 shell32_En.rc
+--- shell32_En.rc	21 Oct 2004 19:59:46 -0000	1.18
++++ shell32_En.rc	6 Dec 2004 23:45:47 -0000
+@@ -109,11 +109,12 @@
+ CAPTION "About %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine was brought to you by:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS was brought to you by:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -122,7 +123,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+@@ -181,10 +182,10 @@
  /* message box strings */
  STRINGTABLE DISCARDABLE
  {
@@ -146,14 +325,697 @@
 +	IDS_SHUTDOWN_TITLE	"Shutdown"
 +	IDS_SHUTDOWN_PROMPT	"Do you want to shutdown?"
  }
+ 
+ /* shell folder path default values */
+Index: shell32_Eo.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Eo.rc,v
+retrieving revision 1.6
+diff -u -r1.6 shell32_Eo.rc
+--- shell32_Eo.rc	24 Aug 2004 18:33:03 -0000	1.6
++++ shell32_Eo.rc	6 Dec 2004 23:45:47 -0000
+@@ -23,11 +23,12 @@
+ CAPTION "Pri %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "Enorde", 1, 153, 130, 50, 12
++ DEFPUSHBUTTON "Enorde", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine was brought to you by:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS was brought to you by:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Es.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Es.rc,v
+retrieving revision 1.11
+diff -u -r1.11 shell32_Es.rc
+--- shell32_Es.rc	23 Sep 2004 04:28:04 -0000	1.11
++++ shell32_Es.rc	6 Dec 2004 23:45:48 -0000
+@@ -110,11 +110,12 @@
+ CAPTION "Acerca de %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "Aceptar", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "Aceptar", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine est� disponible gracias a:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS est� disponible gracias a:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -123,7 +124,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Introduzca el nombre de un programa, carpeta, documento o recurso de Internet, y Wine lo abrir� para usted.", 12289, 36, 11, 182, 18
++ LTEXT "Introduzca el nombre de un programa, carpeta, documento o recurso de Internet, y ReactOS lo abrir� para usted.", 12289, 36, 11, 182, 18
+  LTEXT "&Abrir:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "Aceptar", IDOK, 62, 63, 50, 14, WS_TABSTOP
+@@ -185,5 +186,5 @@
+ 	IDS_RESTART_TITLE	"Reiniciar"
+ 	IDS_RESTART_PROMPT	"�Desea simular un reinicio de Windows?"
+ 	IDS_SHUTDOWN_TITLE	"Apagar"
+-	IDS_SHUTDOWN_PROMPT	"�Desea terminar su sesi�n Wine?"
++	IDS_SHUTDOWN_PROMPT	"�Desea terminar su sesi�n ReactOS?"
+ }
+Index: shell32_Fi.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Fi.rc,v
+retrieving revision 1.7
+diff -u -r1.7 shell32_Fi.rc
+--- shell32_Fi.rc	24 Aug 2004 18:33:03 -0000	1.7
++++ shell32_Fi.rc	6 Dec 2004 23:45:48 -0000
+@@ -23,11 +23,12 @@
+ CAPTION "Tietoja: %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine:n tekij�t:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS:n tekij�t:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Fr.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Fr.rc,v
+retrieving revision 1.13
+diff -u -r1.13 shell32_Fr.rc
+--- shell32_Fr.rc	27 Oct 2004 21:36:17 -0000	1.13
++++ shell32_Fr.rc	6 Dec 2004 23:45:48 -0000
+@@ -112,11 +112,12 @@
+ CAPTION "� propos de %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine est une r�alisation de :", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS est une r�alisation de :", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -125,7 +126,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Entrez le nom d'un programme, d'un dossier, d'un document ou d'une ressource Internet, et Wine l'ouvrira pour vous.", 12289, 36, 11, 182, 18
++ LTEXT "Entrez le nom d'un programme, d'un dossier, d'un document ou d'une ressource Internet, et ReactOS l'ouvrira pour vous.", 12289, 36, 11, 182, 18
+  LTEXT "&Ouvrir :", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+@@ -187,7 +188,7 @@
+        IDS_RESTART_TITLE       "Red�marrer"
+        IDS_RESTART_PROMPT      "Voulez-vous simuler le red�marrage de Windows?"
+        IDS_SHUTDOWN_TITLE      "Arr�ter"
+-       IDS_SHUTDOWN_PROMPT     "Voulez-vous fermer la session Wine?"
++       IDS_SHUTDOWN_PROMPT     "Voulez-vous fermer la session ReactOS?"
+ }
+ 
+ /* shell folder path default values */
+Index: shell32_Hu.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Hu.rc,v
+retrieving revision 1.7
+diff -u -r1.7 shell32_Hu.rc
+--- shell32_Hu.rc	24 Aug 2004 18:33:03 -0000	1.7
++++ shell32_Hu.rc	6 Dec 2004 23:45:48 -0000
+@@ -23,11 +23,12 @@
+ CAPTION "A %s-r�l"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "A WINE-t �rt�k:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "A ReactOS-t �rt�k:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_It.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_It.rc,v
+retrieving revision 1.13
+diff -u -r1.13 shell32_It.rc
+--- shell32_It.rc	23 Sep 2004 04:28:04 -0000	1.13
++++ shell32_It.rc	6 Dec 2004 23:45:48 -0000
+@@ -110,11 +110,12 @@
+ CAPTION "Informazioni su %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine � disponibile grazie a:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS � disponibile grazie a:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -123,7 +124,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Digitare il nome del programma, della cartella, del documento o della risorsa internet, e Wine la aprir�.", 12289, 36, 11, 182, 18
++ LTEXT "Digitare il nome del programma, della cartella, del documento o della risorsa internet, e ReactOS la aprir�.", 12289, 36, 11, 182, 18
+  LTEXT "&Apri:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+@@ -186,5 +187,5 @@
+        IDS_RESTART_TITLE       "Riavvia"
+        IDS_RESTART_PROMPT      "Vuoi simulare un riavvio do Windows?"
+        IDS_SHUTDOWN_TITLE      "Termina sessione"
+-       IDS_SHUTDOWN_PROMPT     "Vuoi terminare la sessione di Wine?"
++       IDS_SHUTDOWN_PROMPT     "Vuoi terminare la sessione di ReactOS?"
+ }
+Index: shell32_Ja.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Ja.rc,v
+retrieving revision 1.9
+diff -u -r1.9 shell32_Ja.rc
+--- shell32_Ja.rc	23 Sep 2004 04:28:04 -0000	1.9
++++ shell32_Ja.rc	6 Dec 2004 23:45:48 -0000
+@@ -103,11 +103,12 @@
+ CAPTION "%s ��������"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine was brought to you by:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS was brought to you by:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -116,7 +117,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Ko.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Ko.rc,v
+retrieving revision 1.6
+diff -u -r1.6 shell32_Ko.rc
+--- shell32_Ko.rc	24 Aug 2004 18:33:03 -0000	1.6
++++ shell32_Ko.rc	6 Dec 2004 23:45:48 -0000
+@@ -23,11 +23,12 @@
+ CAPTION "%s�� ������"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "����", 1, 153, 130, 50, 12
++ DEFPUSHBUTTON "����", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine was brought to you by:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS was brought to you by:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Nl.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Nl.rc,v
+retrieving revision 1.7
+diff -u -r1.7 shell32_Nl.rc
+--- shell32_Nl.rc	24 Aug 2004 18:33:03 -0000	1.7
++++ shell32_Nl.rc	6 Dec 2004 23:45:48 -0000
+@@ -23,11 +23,12 @@
+ CAPTION "Info %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine is geschreven door:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS is geschreven door:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_No.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_No.rc,v
+retrieving revision 1.7
+diff -u -r1.7 shell32_No.rc
+--- shell32_No.rc	24 Aug 2004 18:33:03 -0000	1.7
++++ shell32_No.rc	6 Dec 2004 23:45:48 -0000
+@@ -23,11 +23,12 @@
+ CAPTION "Om %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine was brought to you by:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS was brought to you by:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Pl.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Pl.rc,v
+retrieving revision 1.8
+diff -u -r1.8 shell32_Pl.rc
+--- shell32_Pl.rc	4 Oct 2004 19:31:50 -0000	1.8
++++ shell32_Pl.rc	6 Dec 2004 23:45:48 -0000
+@@ -110,11 +110,12 @@
+ CAPTION "O %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Mo�esz korzysta� z Wine'a dzi�ki:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "Mo�esz korzysta� z ReactOS'a dzi�ki:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -123,7 +124,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Wpisz nazw� programu, katalogu, dokumentu, a Wine otworzy go dla ciebie.", 12289, 36, 11, 182, 18
++ LTEXT "Wpisz nazw� programu, katalogu, dokumentu, a ReactOS otworzy go dla ciebie.", 12289, 36, 11, 182, 18
+  LTEXT "&Otw�rz:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+@@ -185,5 +186,5 @@
+        IDS_RESTART_TITLE       "Uruchom ponownie"
+        IDS_RESTART_PROMPT      "Czy chcesz zasymulowa� zrestartowanie Windowsa?"
+        IDS_SHUTDOWN_TITLE      "Wy��cz"
+-       IDS_SHUTDOWN_PROMPT     "Czy chcesz wy��czy� sesj� Wine'a?"
++       IDS_SHUTDOWN_PROMPT     "Czy chcesz wy��czy� sesj� ReactOS'a?"
+ }
+Index: shell32_Pt.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Pt.rc,v
+retrieving revision 1.15
+diff -u -r1.15 shell32_Pt.rc
+--- shell32_Pt.rc	23 Sep 2004 04:28:04 -0000	1.15
++++ shell32_Pt.rc	6 Dec 2004 23:45:48 -0000
+@@ -110,11 +110,12 @@
+ CAPTION "Sobre %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine foi disponibilizado por:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS foi disponibilizado por:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -123,7 +124,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Digite o nome do programa, pasta, documento, ou endere�o Internet, que o Wine ir� abr�-lo para voc�.", 12289, 36, 11, 182, 18
++ LTEXT "Digite o nome do programa, pasta, documento, ou endere�o Internet, que o ReactOS ir� abr�-lo para voc�.", 12289, 36, 11, 182, 18
+  LTEXT "&Abrir:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+@@ -185,5 +186,5 @@
+        IDS_RESTART_TITLE       "Reiniciar"
+        IDS_RESTART_PROMPT      "Voc� quer simular a reinicializa��o do Windows?"
+        IDS_SHUTDOWN_TITLE      "Desligar"
+-       IDS_SHUTDOWN_PROMPT     "Voc� quer finalizar a sess�o no Wine?"
++       IDS_SHUTDOWN_PROMPT     "Voc� quer finalizar a sess�o no ReactOS?"
+ }
+Index: shell32_Ru.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Ru.rc,v
+retrieving revision 1.9
+diff -u -r1.9 shell32_Ru.rc
+--- shell32_Ru.rc	24 Aug 2004 18:33:03 -0000	1.9
++++ shell32_Ru.rc	6 Dec 2004 23:45:48 -0000
+@@ -23,11 +23,12 @@
+ CAPTION "� %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "������������ Wine:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "������������ ReactOS:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "������� ��� ���������, �����, ��������� ��� ������ ���������, � Wine ������� ��.", 12289, 36, 11, 182, 18
++ LTEXT "������� ��� ���������, �����, ��������� ��� ������ ���������, � ReactOS ������� ��.", 12289, 36, 11, 182, 18
+  LTEXT "&�������:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Si.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Si.rc,v
+retrieving revision 1.5
+diff -u -r1.5 shell32_Si.rc
+--- shell32_Si.rc	24 Aug 2004 18:33:03 -0000	1.5
++++ shell32_Si.rc	6 Dec 2004 23:45:48 -0000
+@@ -23,11 +23,12 @@
+ CAPTION "O %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "V redu", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "V redu", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine so ustvarili:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS so ustvarili:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Vnesite ime programa, mape, dokumenta ali spletne strani, in Wine ga (jo) bo odprl.", 12289, 36, 11, 182, 18
++ LTEXT "Vnesite ime programa, mape, dokumenta ali spletne strani, in ReactOS ga (jo) bo odprl.", 12289, 36, 11, 182, 18
+  LTEXT "&Odpri:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "V redu", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Sk.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Sk.rc,v
+retrieving revision 1.8
+diff -u -r1.8 shell32_Sk.rc
+--- shell32_Sk.rc	24 Aug 2004 18:33:03 -0000	1.8
++++ shell32_Sk.rc	6 Dec 2004 23:45:48 -0000
+@@ -23,10 +23,11 @@
+ CAPTION "O programe %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
+  LTEXT "V�no pre v�s pripravili:", 98, 8, 55, 137, 10
+ }
+ 
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Sv.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Sv.rc,v
+retrieving revision 1.8
+diff -u -r1.8 shell32_Sv.rc
+--- shell32_Sv.rc	24 Aug 2004 18:33:03 -0000	1.8
++++ shell32_Sv.rc	6 Dec 2004 23:45:48 -0000
+@@ -23,11 +23,12 @@
+ CAPTION "Om %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine hade inte varit m�jligt utan dessa personer:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS hade inte varit m�jligt utan dessa personer:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -36,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Skriv namnet p� ett program, en mapp eller ett dokument och wine kommer att �ppna det f�r dig.", 12289, 36, 11, 182, 18
++ LTEXT "Skriv namnet p� ett program, en mapp eller ett dokument och ReactOS kommer att �ppna det f�r dig.", 12289, 36, 11, 182, 18
+  LTEXT "&�ppna:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Uk.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Uk.rc,v
+retrieving revision 1.6
+diff -u -r1.6 shell32_Uk.rc
+--- shell32_Uk.rc	23 Sep 2004 04:28:04 -0000	1.6
++++ shell32_Uk.rc	6 Dec 2004 23:45:48 -0000
+@@ -109,11 +109,12 @@
+ CAPTION "��� %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "OK", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "���������� Wine:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "���������� ReactOS:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -122,7 +123,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "������� ��'� ��������, ����, ��������� �� ������ ���������, � Wine ������� ��.", 12289, 36, 11, 182, 18
++ LTEXT "������� ��'� ��������, ����, ��������� �� ������ ���������, � ReactOS ������� ��.", 12289, 36, 11, 182, 18
+  LTEXT "&��������:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Wa.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Wa.rc,v
+retrieving revision 1.8
+diff -u -r1.8 shell32_Wa.rc
+--- shell32_Wa.rc	24 Aug 2004 18:33:03 -0000	1.8
++++ shell32_Wa.rc	6 Dec 2004 23:45:48 -0000
+@@ -28,11 +28,12 @@
+ CAPTION "� dfait di %s"
+ FONT 10, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "I Va", IDOK, 153, 130, 50, 12
++ DEFPUSHBUTTON "I Va", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 189, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine a estu fwait par:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 30, 10, 137, 10
++ LTEXT "", 101, 30, 22, 137, 10
++ LTEXT "ReactOS a estu fwait par:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -41,7 +42,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
+Index: shell32_Zh.rc
+===================================================================
+RCS file: /home/wine/wine/dlls/shell32/shell32_Zh.rc,v
+retrieving revision 1.8
+diff -u -r1.8 shell32_Zh.rc
+--- shell32_Zh.rc	24 Aug 2004 18:33:03 -0000	1.8
++++ shell32_Zh.rc	6 Dec 2004 23:45:48 -0000
+@@ -24,11 +24,11 @@
+ CAPTION "�P�� %s"
+ FONT 8, "MS Shell Dlg"
+ {
+- DEFPUSHBUTTON "�_��", IDOK, 153, 130, 50, 12, WS_TABSTOP
++ DEFPUSHBUTTON "�_��", IDOK, 153, 133, 50, 12, WS_TABSTOP
+  LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+- ICON "", 1088, 174, 10, 14, 16
+- LTEXT "", 100, 8, 10, 137, 33
+- LTEXT "Wine was brought to you by:", 98, 8, 55, 137, 10
++ ICON "", 1088, 10, 10, 14, 16
++ LTEXT "", 100, 35, 10, 137, 10
++ LTEXT "ReactOS was brought to you by:", 98, 8, 55, 137, 10
+ }
+ 
+ SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+@@ -37,7 +37,7 @@
+ FONT 8, "MS Shell Dlg"
+ {
+  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18
++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18
+  LTEXT "&Open:", 12305, 7, 39, 24, 10
+  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
+  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
 Index: shell32_main.c
 ===================================================================
 RCS file: /home/wine/wine/dlls/shell32/shell32_main.c,v
 retrieving revision 1.139
 diff -u -r1.139 shell32_main.c
 --- shell32_main.c	7 Oct 2004 03:06:48 -0000	1.139
-+++ shell32_main.c	20 Oct 2004 18:43:53 -0000
-@@ -959,7 +959,6 @@
++++ shell32_main.c	6 Dec 2004 23:45:49 -0000
+@@ -631,7 +631,8 @@
+     HFONT hFont;
+ } ABOUT_INFO;
+ 
+-#define		IDC_STATIC_TEXT		100
++#define		IDC_STATIC_TEXT1	100
++#define		IDC_STATIC_TEXT2	101
+ #define		IDC_LISTBOX		99
+ #define		IDC_WINE_TEXT		98
+ 
+@@ -754,7 +755,8 @@
+                 GetWindowTextW( hWnd, Template, sizeof(Template)/sizeof(WCHAR) );
+                 sprintfW( AppTitle, Template, info->szApp );
+                 SetWindowTextW( hWnd, AppTitle );
+-                SetWindowTextW( GetDlgItem(hWnd, IDC_STATIC_TEXT), info->szOtherStuff );
++                SetWindowTextW( GetDlgItem(hWnd, IDC_STATIC_TEXT1), info->szApp );
++                SetWindowTextW( GetDlgItem(hWnd, IDC_STATIC_TEXT2), info->szOtherStuff );
+                 hWndCtl = GetDlgItem(hWnd, IDC_LISTBOX);
+                 SendMessageW( hWndCtl, WM_SETREDRAW, 0, 0 );
+                 SendMessageW( hWndCtl, WM_SETFONT, (WPARAM)info->hFont, 0 );
+@@ -959,7 +961,6 @@
  	    InitCommonControlsEx(NULL);
  
  	    SIC_Initialize();
@@ -164,10 +1026,10 @@
 Index: shell32_main.h
 ===================================================================
 RCS file: /home/wine/wine/dlls/shell32/shell32_main.h,v
-retrieving revision 1.91
-diff -u -r1.91 shell32_main.h
---- shell32_main.h	22 Aug 2004 21:38:46 -0000	1.91
-+++ shell32_main.h	20 Oct 2004 18:43:53 -0000
+retrieving revision 1.92
+diff -u -r1.92 shell32_main.h
[truncated at 1000 lines; 670 more skipped]
CVSspam 0.2.8