shell32 [1]: path functions
Filip Navara
xnavara at volny.cz
Wed Jan 14 10:44:28 CST 2004
This is mine part of the big shell32 diff that appered last week on this
list.
Filip
Changelog:
* dlls/shell32/shellpath.c, dlls/shell32/shell32_Cs.rc:
Filip Navara <xnavara at volny.cz>
- Moved actual code from SHGetSpecialFolderPathA to SHGetFolderPathW,
adjusted and unicodified it.
- Rewrote SHGetFolderPathA to call SHGetFolderPathW.
- Rewrote SHGetSpecialFolderPath[AW] to call SHGetFolderPath[AW].
- Complete Czech translation of shell32 resources.
-------------- next part --------------
--- dlls/shell32/shellpath.c Wed Dec 31 15:08:48 2003
+++ dlls/shell32/shellpath.c Wed Dec 31 14:46:00 2003
@@ -676,21 +676,16 @@
PathSetDlgItemPathA(hDlg, id, pszPath);
}
-
/*************************************************************************
- * SHGetSpecialFolderPathA [SHELL32.@]
+ * SHGetFolderPathW [SHELL32.@]
*
* converts csidl to path
*/
-static const char * const szSHFolders = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
-static const char * const szSHUserFolders = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders";
-static const char * const szSetup = "Software\\Microsoft\\Windows\\CurrentVersion\\Setup";
-static const char * const szCurrentVersion = "Software\\Microsoft\\Windows\\CurrentVersion";
-#if 0
-static const char * const szEnvUserProfile = "%USERPROFILE%";
-static const char * const szEnvSystemRoot = "%SYSTEMROOT%";
-#endif
+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'};
typedef struct
{
@@ -1013,104 +1008,102 @@
#undef HKCU
#undef HKLM
-/**********************************************************************/
-
-BOOL WINAPI SHGetSpecialFolderPathA (
+HRESULT WINAPI SHGetFolderPathW(
HWND hwndOwner,
- LPSTR szPath,
int csidl,
- BOOL bCreate)
+ HANDLE hToken, /* [in] FIXME: get paths for specific user */
+ DWORD dwFlags, /* [in] FIXME: SHGFP_TYPE_CURRENT|SHGFP_TYPE_DEFAULT */
+ LPWSTR pszPath)
{
- CHAR szValueName[MAX_PATH], szDefaultPath[MAX_PATH], szBuildPath[MAX_PATH];
+ WCHAR szValueName[MAX_PATH], szDefaultPath[MAX_PATH], szBuildPath[MAX_PATH];
HKEY hRootKey, hKey;
- DWORD dwFlags;
+ DWORD dwCsidlFlags;
DWORD dwType, dwDisp, dwPathLen = MAX_PATH;
DWORD folder = csidl & CSIDL_FOLDER_MASK;
- CHAR *p;
+ WCHAR *p;
- TRACE("%p,%p,csidl=%d,0x%04x\n", hwndOwner,szPath,csidl,bCreate);
+ TRACE("%p,%p,csidl=0x%04x\n", hwndOwner,pszPath,csidl);
if ((folder >= sizeof(CSIDL_Data) / sizeof(CSIDL_Data[0])) ||
(CSIDL_Data[folder].hRootKey == 0))
{
ERR("folder 0x%04lx unknown or not allowed\n", folder);
- return FALSE;
+ return E_FAIL;
}
if (CSIDL_Data[folder].hRootKey == (HKEY)1)
{
FIXME("folder 0x%04lx unknown, please add.\n", folder);
- return FALSE;
+ return E_FAIL;
}
- dwFlags = CSIDL_Data[folder].dwFlags;
+ dwCsidlFlags = CSIDL_Data[folder].dwFlags;
hRootKey = CSIDL_Data[folder].hRootKey;
- strcpy(szValueName, CSIDL_Data[folder].szValueName);
- strcpy(szDefaultPath, CSIDL_Data[folder].szDefaultPath);
+ MultiByteToWideChar(CP_ACP, 0, CSIDL_Data[folder].szValueName, -1, szValueName, MAX_PATH);
+ MultiByteToWideChar(CP_ACP, 0, CSIDL_Data[folder].szDefaultPath, -1, szDefaultPath, MAX_PATH);
- if (dwFlags & CSIDL_MYFLAG_SHFOLDER)
+ if (dwCsidlFlags & CSIDL_MYFLAG_SHFOLDER)
{
/* user shell folders */
- if (RegCreateKeyExA(hRootKey,szSHUserFolders,0,NULL,0,KEY_ALL_ACCESS,NULL,&hKey,&dwDisp)) return FALSE;
+ if (RegCreateKeyExW(hRootKey,szSHUserFolders,0,NULL,0,KEY_ALL_ACCESS,NULL,&hKey,&dwDisp)) return E_FAIL;
- if (RegQueryValueExA(hKey,szValueName,NULL,&dwType,(LPBYTE)szPath,&dwPathLen))
+ if (RegQueryValueExW(hKey,szValueName,NULL,&dwType,(LPBYTE)pszPath,&dwPathLen))
{
RegCloseKey(hKey);
/* shell folders */
- if (RegCreateKeyExA(hRootKey,szSHFolders,0,NULL,0,KEY_ALL_ACCESS,NULL,&hKey,&dwDisp)) return FALSE;
+ if (RegCreateKeyExW(hRootKey,szSHFolders,0,NULL,0,KEY_ALL_ACCESS,NULL,&hKey,&dwDisp)) return E_FAIL;
- if (RegQueryValueExA(hKey,szValueName,NULL,&dwType,(LPBYTE)szPath,&dwPathLen))
+ if (RegQueryValueExW(hKey,szValueName,NULL,&dwType,(LPBYTE)pszPath,&dwPathLen))
{
/* value not existing */
- if (dwFlags & CSIDL_MYFLAG_RELATIVE)
+ if (dwCsidlFlags & CSIDL_MYFLAG_RELATIVE)
{
- GetWindowsDirectoryA(szPath, MAX_PATH);
- PathAddBackslashA(szPath);
- strcat(szPath, szDefaultPath);
+ GetWindowsDirectoryW(pszPath, MAX_PATH);
+ PathAddBackslashW(pszPath);
+ strcatW(pszPath, szDefaultPath);
}
else
{
- strcpy(szPath, "C:\\"); /* FIXME - should by System Drive Root */
- strcat(szPath, szDefaultPath);
+ GetSystemDirectoryW(pszPath, MAX_PATH);
+ strcpyW(pszPath + 3, szDefaultPath);
}
dwType=REG_SZ;
- RegSetValueExA(hKey,szValueName,0,REG_SZ,(LPBYTE)szPath,strlen(szPath)+1);
+ RegSetValueExW(hKey,szValueName,0,REG_SZ,(LPBYTE)pszPath,strlenW(pszPath)+1);
}
}
RegCloseKey(hKey);
}
else
{
- LPCSTR pRegPath;
+ LPCWSTR pRegPath;
- if (dwFlags & CSIDL_MYFLAG_SETUP)
+ if (dwCsidlFlags & CSIDL_MYFLAG_SETUP)
pRegPath = szSetup;
- else if (dwFlags & CSIDL_MYFLAG_CURRVER)
+ else if (dwCsidlFlags & CSIDL_MYFLAG_CURRVER)
pRegPath = szCurrentVersion;
else
{
ERR("folder settings broken, please correct !\n");
- return FALSE;
+ return E_FAIL;
}
- if (RegCreateKeyExA(hRootKey,pRegPath,0,NULL,0,KEY_ALL_ACCESS,NULL,&hKey,&dwDisp)) return FALSE;
+ if (RegCreateKeyExW(hRootKey,pRegPath,0,NULL,0,KEY_ALL_ACCESS,NULL,&hKey,&dwDisp)) return E_FAIL;
- if (RegQueryValueExA(hKey,szValueName,NULL,&dwType,(LPBYTE)szPath,&dwPathLen))
+ if (RegQueryValueExW(hKey,szValueName,NULL,&dwType,(LPBYTE)pszPath,&dwPathLen))
{
/* value not existing */
- if (dwFlags & CSIDL_MYFLAG_RELATIVE)
+ if (dwCsidlFlags & CSIDL_MYFLAG_RELATIVE)
{
- GetWindowsDirectoryA(szPath, MAX_PATH);
- PathAddBackslashA(szPath);
- strcat(szPath, szDefaultPath);
+ GetWindowsDirectoryW(pszPath, MAX_PATH);
+ PathAddBackslashW(pszPath);
+ strcatW(pszPath, szDefaultPath);
}
else
{
- strcpy(szPath, "C:\\"); /* FIXME ??? */
- strcat(szPath, szDefaultPath);
+ GetSystemDirectoryW(pszPath, MAX_PATH);
+ strcpyW(pszPath + 3, szDefaultPath);
}
dwType=REG_SZ;
- RegSetValueExA(hKey,szValueName,0,REG_SZ,(LPBYTE)szPath,strlen(szPath)+1);
+ RegSetValueExW(hKey,szValueName,0,REG_SZ,(LPBYTE)pszPath,strlenW(pszPath)+1);
}
RegCloseKey(hKey);
}
@@ -1118,116 +1117,119 @@
/* expand paths like %USERPROFILE% */
if (dwType == REG_EXPAND_SZ)
{
- ExpandEnvironmentStringsA(szPath, szDefaultPath, MAX_PATH);
- strcpy(szPath, szDefaultPath);
+ ExpandEnvironmentStringsW(pszPath, szDefaultPath, MAX_PATH);
+ strcpyW(pszPath, szDefaultPath);
}
/* if we don't care about existing directories we are ready */
- if(csidl & CSIDL_FLAG_DONT_VERIFY) return TRUE;
+ if(csidl & CSIDL_FLAG_DONT_VERIFY) return S_OK;
- if (PathFileExistsA(szPath)) return TRUE;
+ if (PathFileExistsW(pszPath)) return S_OK;
/* not existing but we are not allowed to create it */
- if (!bCreate) return FALSE;
+ if (!(csidl & CSIDL_FLAG_CREATE)) return E_FAIL;
/* create directory/directories */
- strcpy(szBuildPath, szPath);
- p = strchr(szBuildPath, '\\');
+ strcpyW(szBuildPath, pszPath);
+ p = strchrW(szBuildPath, '\\');
while (p)
{
*p = 0;
- if (!PathFileExistsA(szBuildPath))
+ if (!PathFileExistsW(szBuildPath))
{
- if (!CreateDirectoryA(szBuildPath,NULL))
+ if (!CreateDirectoryW(szBuildPath,NULL))
{
- ERR("Failed to create directory '%s'.\n", szPath);
- return FALSE;
+ ERR("Failed to create directory '%s'.\n", debugstr_w(pszPath));
+ return E_FAIL;
}
}
*p = '\\';
- p = strchr(p+1, '\\');
+ p = strchrW(p+1, '\\');
}
/* last component must be created too. */
- if (!PathFileExistsA(szBuildPath))
+ if (!PathFileExistsW(szBuildPath))
{
- if (!CreateDirectoryA(szBuildPath,NULL))
+ if (!CreateDirectoryW(szBuildPath,NULL))
{
- ERR("Failed to create directory '%s'.\n", szPath);
- return FALSE;
+ ERR("Failed to create directory '%s'.\n", debugstr_w(pszPath));
+ return E_FAIL;
}
}
- TRACE("Created missing system directory '%s'\n", szPath);
- return TRUE;
+ TRACE("Created missing system directory '%s'\n", debugstr_w(pszPath));
+ return S_OK;
}
/*************************************************************************
- * SHGetSpecialFolderPathW
+ * SHGetFolderPathA [SHELL32.@]
*/
-BOOL WINAPI SHGetSpecialFolderPathW (
+HRESULT WINAPI SHGetFolderPathA(
HWND hwndOwner,
- LPWSTR szPath,
int csidl,
- BOOL bCreate)
+ HANDLE hToken,
+ DWORD dwFlags,
+ LPSTR pszPath)
{
- char szTemp[MAX_PATH];
+ WCHAR szTemp[MAX_PATH];
+ HRESULT hr;
- if (SHGetSpecialFolderPathA(hwndOwner, szTemp, csidl, bCreate))
+ hr = SHGetFolderPathW(hwndOwner, csidl, hToken, dwFlags, szTemp);
+ if (hr == S_OK)
{
- if (!MultiByteToWideChar( CP_ACP, 0, szTemp, -1, szPath, MAX_PATH ))
- szPath[MAX_PATH-1] = 0;
+ if (!WideCharToMultiByte( CP_ACP, 0, szTemp, -1, pszPath, MAX_PATH, NULL, NULL ))
+ pszPath[MAX_PATH - 1] = 0;
}
- TRACE("%p,%p,csidl=%d,0x%04x\n", hwndOwner,szPath,csidl,bCreate);
+ TRACE("%p,%p,csidl=0x%04x\n",hwndOwner,pszPath,csidl);
- return TRUE;
+ return hr;
}
/*************************************************************************
- * SHGetSpecialFolderPath (SHELL32.175)
+ * SHGetSpecialFolderPathA [SHELL32.@]
*/
-BOOL WINAPI SHGetSpecialFolderPathAW (
+BOOL WINAPI SHGetSpecialFolderPathA (
HWND hwndOwner,
- LPVOID szPath,
+ LPSTR szPath,
int csidl,
BOOL bCreate)
-
{
- if (SHELL_OsIsUnicode())
- return SHGetSpecialFolderPathW (hwndOwner, szPath, csidl, bCreate);
- return SHGetSpecialFolderPathA (hwndOwner, szPath, csidl, bCreate);
+ return (SHGetFolderPathA(
+ hwndOwner,
+ csidl + (bCreate ? CSIDL_FLAG_CREATE : 0),
+ NULL,
+ 0,
+ szPath)) == S_OK ? TRUE : FALSE;
}
/*************************************************************************
- * SHGetFolderPathA [SHELL32.@]
+ * SHGetSpecialFolderPathW
*/
-HRESULT WINAPI SHGetFolderPathA(
+BOOL WINAPI SHGetSpecialFolderPathW (
HWND hwndOwner,
- int nFolder,
- HANDLE hToken, /* [in] FIXME: get paths for specific user */
- DWORD dwFlags, /* [in] FIXME: SHGFP_TYPE_CURRENT|SHGFP_TYPE_DEFAULT */
- LPSTR pszPath)
+ LPWSTR szPath,
+ int csidl,
+ BOOL bCreate)
{
- return (SHGetSpecialFolderPathA(
+ return (SHGetFolderPathW(
hwndOwner,
- pszPath,
- CSIDL_FOLDER_MASK & nFolder,
- CSIDL_FLAG_CREATE & nFolder )) ? S_OK : E_FAIL;
+ csidl + (bCreate ? CSIDL_FLAG_CREATE : 0),
+ NULL,
+ 0,
+ szPath)) == S_OK ? TRUE : FALSE;
}
/*************************************************************************
- * SHGetFolderPathW [SHELL32.@]
+ * SHGetSpecialFolderPath (SHELL32.175)
*/
-HRESULT WINAPI SHGetFolderPathW(
+BOOL WINAPI SHGetSpecialFolderPathAW (
HWND hwndOwner,
- int nFolder,
- HANDLE hToken,
- DWORD dwFlags,
- LPWSTR pszPath)
+ LPVOID szPath,
+ int csidl,
+ BOOL bCreate)
+
{
- return (SHGetSpecialFolderPathW(
- hwndOwner,
- pszPath,
- CSIDL_FOLDER_MASK & nFolder,
- CSIDL_FLAG_CREATE & nFolder )) ? S_OK : E_FAIL;
+ if (SHELL_OsIsUnicode())
+ return SHGetSpecialFolderPathW (hwndOwner, szPath, csidl, bCreate);
+ return SHGetSpecialFolderPathA (hwndOwner, szPath, csidl, bCreate);
}
--- dlls/shell32/shell32_Cs.rc Mon Jun 10 02:34:36 2002
+++ dlls/shell32/shell32_Cs.rc Wed Jan 14 16:33:28 2004
@@ -1,45 +1,180 @@
-/*
- * Copyright 1998 Juergen Schmied
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
-
-SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 210, 152
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "O aplikaci %s"
-FONT 10, "Helv"
-{
- DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12
- 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
-}
-
-SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION ""
-FONT 8, "Helv"
-{
- 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 "&Open:", 12305, 7, 39, 24, 10
- CONTROL "", 12298, "COMBOBOX", 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
- PUSHBUTTON "Cancel", IDCANCEL, 116, 63, 50, 14, WS_TABSTOP
- PUSHBUTTON "&Browse...", 12288, 170, 63, 50, 14, WS_TABSTOP
-}
+/*
+ * Copyright 1998 Juergen Schmied
+ * Copyright 2003 Filip Navara
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
+
+MENU_001 MENU DISCARDABLE
+BEGIN
+ MENUITEM "&Vedle sebe", FCIDM_SHVIEW_BIGICON
+ MENUITEM "&Ikony", FCIDM_SHVIEW_SMALLICON
+ MENUITEM "&Seznam", FCIDM_SHVIEW_LISTVIEW
+ MENUITEM "&Podrobnosti", FCIDM_SHVIEW_REPORTVIEW
+END
+
+/*
+ shellview background menu
+*/
+MENU_002 MENU DISCARDABLE
+BEGIN
+ POPUP ""
+ BEGIN
+ POPUP "Z&obrazit"
+ BEGIN
+ MENUITEM "&Vedle sebe", FCIDM_SHVIEW_BIGICON
+ MENUITEM "&Ikony", FCIDM_SHVIEW_SMALLICON
+ MENUITEM "&Seznam", FCIDM_SHVIEW_LISTVIEW
+ MENUITEM "&Podrobnosti", FCIDM_SHVIEW_REPORTVIEW
+ END
+ MENUITEM SEPARATOR
+ POPUP "Seøadit &ikony"
+ BEGIN
+ MENUITEM "Podle &Názvu", 0x30 /* column 0 */
+ MENUITEM "Podle &Typu", 0x32 /* column 2 */
+ MENUITEM "Podle &Velikosti", 0x31 /* ... */
+ MENUITEM "Podle &Data", 0x33
+ MENUITEM SEPARATOR
+ MENUITEM "&Rovnat automaticky", FCIDM_SHVIEW_AUTOARRANGE
+ END
+ MENUITEM "Zarovnat ikony", FCIDM_SHVIEW_SNAPTOGRID
+ MENUITEM SEPARATOR
+ MENUITEM "A&ktualizovat", FCIDM_SHVIEW_REFRESH
+ MENUITEM SEPARATOR
+ MENUITEM "V&loit", FCIDM_SHVIEW_INSERT
+ MENUITEM "Vloit zást&upce", FCIDM_SHVIEW_INSERTLINK
+ MENUITEM SEPARATOR
+ POPUP "&Nový"
+ BEGIN
+ MENUITEM "Nová &sloka", FCIDM_SHVIEW_NEWFOLDER
+ MENUITEM "Nový &zástupce", FCIDM_SHVIEW_NEWLINK
+ MENUITEM SEPARATOR
+ END
+ MENUITEM SEPARATOR
+ MENUITEM "&Vlastnosti", FCIDM_SHVIEW_PROPERTIES
+ END
+END
+
+/*
+ shellview item menu
+*/
+MENU_SHV_FILE MENU DISCARDABLE
+BEGIN
+ POPUP ""
+ BEGIN
+ MENUITEM "P&rozkoumat", FCIDM_SHVIEW_EXPLORE
+ MENUITEM "O&tevøít", FCIDM_SHVIEW_OPEN
+ MENUITEM SEPARATOR
+ MENUITEM "Vyj&mout", FCIDM_SHVIEW_CUT
+ MENUITEM "&Kopírovat", FCIDM_SHVIEW_COPY
+ MENUITEM SEPARATOR
+ MENUITEM "Vytvoøit zástupc&e", FCIDM_SHVIEW_CREATELINK
+ MENUITEM "O&dstranit", FCIDM_SHVIEW_DELETE
+ MENUITEM "&Pøejmenovat", FCIDM_SHVIEW_RENAME
+ MENUITEM SEPARATOR
+ MENUITEM "&Vlastnosti", FCIDM_SHVIEW_PROPERTIES
+ END
+END
+
+SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
+STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
+CAPTION "Procházet..."
+FONT 8, "Helv"
+{
+ DEFPUSHBUTTON "OK", 1, 80, 176, 50, 12, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "Storno", 2, 134, 176, 50, 12, WS_GROUP | WS_TABSTOP
+ LTEXT "", IDD_TITLE, 4, 4, 180, 12
+ LTEXT "", IDD_STATUS, 4, 25, 180, 12
+ CONTROL "", IDD_TREEVIEW, "SysTreeView32",
+ TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT |
+ WS_BORDER | WS_TABSTOP,
+ 4, 40, 180, 120
+}
+
+SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 210, 152
+STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION "O aplikaci %s"
+FONT 10, "Helv"
+{
+ DEFPUSHBUTTON "OK", IDOK, 153, 130, 50, 12
+ 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
+}
+
+SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
+STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "Helv"
+{
+ ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
+ LTEXT "Zadejte název programu, sloky, dokumentu, nebo zdroje v síti Internet a Wine jej pro vás otevøe.", 12289, 36, 11, 182, 18
+ LTEXT "&Otevøít:", 12305, 7, 39, 24, 10
+ CONTROL "", 12298, "COMBOBOX", 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
+ PUSHBUTTON "Storno", IDCANCEL, 116, 63, 50, 14, WS_TABSTOP
+ PUSHBUTTON "&Procházet...", 12288, 170, 63, 50, 14, WS_TABSTOP
+}
+
+/*
+ special folders
+*/
+STRINGTABLE DISCARDABLE
+{
+ IDS_DESKTOP "Plocha"
+ IDS_MYCOMPUTER "Tento poèítaè"
+}
+
+/*
+ context menus
+*/
+STRINGTABLE DISCARDABLE
+{
+ IDS_VIEW_LARGE "&Vedle sebe"
+ IDS_VIEW_SMALL "&Ikony"
+ IDS_VIEW_LIST "&Seznam"
+ IDS_VIEW_DETAILS "&Podrobnosti"
+ IDS_SELECT "Vybrat"
+ IDS_OPEN "Otevøít"
+}
+
+STRINGTABLE DISCARDABLE
+{
+ IDS_CREATEFOLDER_DENIED "Nelze vytvoøit novou sloku protoe pøistup byl odepøen."
+ IDS_CREATEFOLDER_CAPTION "Chyba pøi pokusu vytvoøit nový adresáø"
+ IDS_DELETEITEM_CAPTION "Potvrdit odstranìní souboru"
+ IDS_DELETEFOLDER_CAPTION "Potvrdit odstranìní adresáøe"
+ IDS_OVERWRITEFILE_CAPTION "Potvrdit pøepsání souboru"
+ IDS_DELETEITEM_TEXT "Opravdu chcete odstranit '%1'?"
+ IDS_DELETEMULTIPLE_TEXT "Opravdu chcete odstranit tìchto %1 poloek?"
+ IDS_OVERWRITEFILE_TEXT "Pøejete si pøepsat soubor '%1'?"
+}
+
+/* columns in the shellview */
+STRINGTABLE
+BEGIN
+ IDS_SHV_COLUMN1 "Název"
+ IDS_SHV_COLUMN2 "Velikost"
+ IDS_SHV_COLUMN3 "Typ"
+ IDS_SHV_COLUMN4 "Zmìnìno"
+ IDS_SHV_COLUMN5 "Atributy"
+ IDS_SHV_COLUMN6 "Velikost"
+ IDS_SHV_COLUMN7 "Volné místo"
+ IDS_SHV_COLUMN8 "Jméno"
+ IDS_SHV_COLUMN9 "Komentáø"
+END
More information about the wine-patches
mailing list