Commit 984f608c authored by Alexandre Julliard's avatar Alexandre Julliard

shell32: Use the standard shell folder implementation for Unix folders.

parent 336c37d5
......@@ -41,7 +41,6 @@ C_SRCS = \
shfldr_mycomp.c \
shfldr_netplaces.c \
shfldr_printers.c \
shfldr_unixfs.c \
shlexec.c \
shlfileop.c \
shlfolder.c \
......
......@@ -142,8 +142,6 @@ STRINGTABLE
IDS_SHV_COLUMN7 "Size available"
IDS_SHV_COLUMN8 "Name"
IDS_SHV_COLUMN9 "Comments"
IDS_SHV_COLUMN10 "Owner"
IDS_SHV_COLUMN11 "Group"
IDS_SHV_COLUMN_DELFROM "Original location"
IDS_SHV_COLUMN_DELDATE "Date deleted"
IDS_SHV_COL_DOCS "Documents"
......
......@@ -178,7 +178,6 @@ static inline WCHAR * __SHCloneStrAtoW(WCHAR ** target, const char * source)
extern WCHAR swShell32Name[MAX_PATH] DECLSPEC_HIDDEN;
BOOL UNIXFS_is_rooted_at_desktop(void) DECLSPEC_HIDDEN;
extern const GUID CLSID_UnixFolder DECLSPEC_HIDDEN;
extern const GUID CLSID_UnixDosFolder DECLSPEC_HIDDEN;
......
......@@ -56,8 +56,6 @@ HRESULT SHELL32_BindToChild (LPCITEMIDLIST pidlRoot, const CLSID *clsidChild,
HRESULT SHELL32_CompareIDs(IShellFolder2 *iface, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) DECLSPEC_HIDDEN;
LPITEMIDLIST SHELL32_CreatePidlFromBindCtx(IBindCtx *pbc, LPCWSTR path) DECLSPEC_HIDDEN;
HRESULT SHELL32_CreateExtensionUIObject(IShellFolder2 *iface, LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppvOut) DECLSPEC_HIDDEN;
static inline int SHELL32_GUIDToStringA (REFGUID guid, LPSTR str)
{
return sprintf(str, "{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
......@@ -80,7 +78,6 @@ static inline int SHELL32_GUIDToStringW (REFGUID guid, LPWSTR str)
}
void SHELL_FS_ProcessDisplayFilename(LPWSTR szPath, DWORD dwFlags) DECLSPEC_HIDDEN;
BOOL SHELL_FS_HideExtension(LPCWSTR pwszPath) DECLSPEC_HIDDEN;
DEFINE_GUID( CLSID_UnixFolder, 0xcc702eb2, 0x7dc5, 0x11d9, 0xc6, 0x87, 0x00, 0x04, 0x23, 0x8a, 0x01, 0xcd );
DEFINE_GUID( CLSID_UnixDosFolder, 0x9d20aae8, 0x0625, 0x44b0, 0x9c, 0xa7, 0x71, 0x88, 0x9c, 0x22, 0x54, 0xd9 );
......@@ -153,6 +153,7 @@ static HRESULT WINAPI ISF_Desktop_fnParseDisplayName (IShellFolder2 * iface,
HWND hwndOwner, LPBC pbc, LPOLESTR lpszDisplayName,
DWORD * pchEaten, LPITEMIDLIST * ppidl, DWORD * pdwAttributes)
{
static const WCHAR unix_root[] = {'\\','\\','?','\\','u','n','i','x','\\',0};
IDesktopFolderImpl *This = impl_from_IShellFolder2(iface);
WCHAR szElement[MAX_PATH];
LPCWSTR szNext = NULL;
......@@ -185,10 +186,12 @@ static HRESULT WINAPI ISF_Desktop_fnParseDisplayName (IShellFolder2 * iface,
else if (PathGetDriveNumberW (lpszDisplayName) >= 0)
{
/* it's a filesystem path with a drive. Let MyComputer/UnixDosFolder parse it */
if (UNIXFS_is_rooted_at_desktop())
pidlTemp = _ILCreateGuid(PT_GUID, &CLSID_UnixDosFolder);
else
pidlTemp = _ILCreateMyComputer ();
pidlTemp = _ILCreateMyComputer ();
szNext = lpszDisplayName;
}
else if (!strncmpW( lpszDisplayName, unix_root, 9 ))
{
pidlTemp = _ILCreateGuid(PT_GUID, &CLSID_UnixDosFolder);
szNext = lpszDisplayName;
}
else if (PathIsUNCW(lpszDisplayName))
......
......@@ -38,8 +38,6 @@
#define IDS_SHV_COLUMN7 13
#define IDS_SHV_COLUMN8 14
#define IDS_SHV_COLUMN9 15
#define IDS_SHV_COLUMN10 16
#define IDS_SHV_COLUMN11 17
#define IDS_SHV_COLUMN_DELFROM 18
#define IDS_SHV_COLUMN_DELDATE 19
#define IDS_SHV_COL_DOCS 80
......
......@@ -702,11 +702,8 @@ static void test_items(void)
variant_set_string(&str_index2, cstr);
item2 = (FolderItem*)0xdeadbeef;
r = FolderItems_Item(items, str_index2, &item2);
todo_wine {
ok(r == S_FALSE, "file_defs[%d]: expected S_FALSE, got %08x\n", i, r);
ok(!item2, "file_defs[%d]: item is not null\n", i);
}
if (item2) FolderItem_Release(item2);
VariantClear(&str_index2);
/* remove the directory */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment