22 modified files
reactos/w32api/include
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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