Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
f23edde4
Commit
f23edde4
authored
Sep 25, 2017
by
Nikolay Sivov
Committed by
Alexandre Julliard
Sep 25, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shell32: Partially implement MapColumnToSCID().
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
398d4258
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
109 additions
and
63 deletions
+109
-63
cpanelfolder.c
dlls/shell32/cpanelfolder.c
+4
-3
shfldr.h
dlls/shell32/shfldr.h
+5
-0
shfldr_desktop.c
dlls/shell32/shfldr_desktop.c
+15
-10
shfldr_fs.c
dlls/shell32/shfldr_fs.c
+15
-10
shfldr_mycomp.c
dlls/shell32/shfldr_mycomp.c
+14
-9
shfldr_netplaces.c
dlls/shell32/shfldr_netplaces.c
+10
-7
shfldr_printers.c
dlls/shell32/shfldr_printers.c
+14
-10
shfldr_unixfs.c
dlls/shell32/shfldr_unixfs.c
+17
-14
shlfolder.c
dlls/shell32/shlfolder.c
+15
-0
No files found.
dlls/shell32/cpanelfolder.c
View file @
f23edde4
...
@@ -100,9 +100,10 @@ static inline ICPanelImpl *impl_from_IShellExecuteHookA(IShellExecuteHookA *ifac
...
@@ -100,9 +100,10 @@ static inline ICPanelImpl *impl_from_IShellExecuteHookA(IShellExecuteHookA *ifac
* IShellFolder [ControlPanel] implementation
* IShellFolder [ControlPanel] implementation
*/
*/
static
const
shvheader
ControlPanelSFHeader
[]
=
{
static
const
shvheader
ControlPanelSFHeader
[]
=
{
IDS_SHV_COLUMN8
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
/*FIXME*/
{
{
IDS_SHV_COLUMN9
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
80
},
/*FIXME*/
{
&
FMTID_Storage
,
PID_STG_NAME
,
IDS_SHV_COLUMN8
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
/*FIXME*/
{
NULL
,
0
,
IDS_SHV_COLUMN9
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
80
},
/*FIXME*/
};
};
#define CONROLPANELSHELLVIEWCOLUMNS 2
#define CONROLPANELSHELLVIEWCOLUMNS 2
...
...
dlls/shell32/shfldr.h
View file @
f23edde4
...
@@ -20,9 +20,13 @@
...
@@ -20,9 +20,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
*/
#include "stgprop.h"
#define CHARS_IN_GUID 39
#define CHARS_IN_GUID 39
typedef
struct
{
typedef
struct
{
const
GUID
*
fmtid
;
DWORD
pid
;
int
colnameid
;
int
colnameid
;
int
pcsFlags
;
int
pcsFlags
;
int
fmt
;
int
fmt
;
...
@@ -30,6 +34,7 @@ typedef struct {
...
@@ -30,6 +34,7 @@ typedef struct {
}
shvheader
;
}
shvheader
;
HRESULT
SHELL32_GetColumnDetails
(
const
shvheader
*
data
,
int
column
,
SHELLDETAILS
*
details
)
DECLSPEC_HIDDEN
;
HRESULT
SHELL32_GetColumnDetails
(
const
shvheader
*
data
,
int
column
,
SHELLDETAILS
*
details
)
DECLSPEC_HIDDEN
;
HRESULT
shellfolder_map_column_to_scid
(
const
shvheader
*
data
,
UINT
column
,
SHCOLUMNID
*
scid
)
DECLSPEC_HIDDEN
;
#define GET_SHGDN_FOR(dwFlags) ((DWORD)dwFlags & (DWORD)0x0000FF00)
#define GET_SHGDN_FOR(dwFlags) ((DWORD)dwFlags & (DWORD)0x0000FF00)
#define GET_SHGDN_RELATION(dwFlags) ((DWORD)dwFlags & (DWORD)0x000000FF)
#define GET_SHGDN_RELATION(dwFlags) ((DWORD)dwFlags & (DWORD)0x000000FF)
...
...
dlls/shell32/shfldr_desktop.c
View file @
f23edde4
...
@@ -85,12 +85,13 @@ static inline IDesktopFolderImpl *impl_from_IPersistFolder2( IPersistFolder2 *if
...
@@ -85,12 +85,13 @@ static inline IDesktopFolderImpl *impl_from_IPersistFolder2( IPersistFolder2 *if
return
CONTAINING_RECORD
(
iface
,
IDesktopFolderImpl
,
IPersistFolder2_iface
);
return
CONTAINING_RECORD
(
iface
,
IDesktopFolderImpl
,
IPersistFolder2_iface
);
}
}
static
const
shvheader
desktop_header
[]
=
{
static
const
shvheader
desktop_header
[]
=
{
IDS_SHV_COLUMN1
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
{
{
IDS_SHV_COLUMN2
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
&
FMTID_Storage
,
PID_STG_NAME
,
IDS_SHV_COLUMN1
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
{
IDS_SHV_COLUMN3
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
&
FMTID_Storage
,
PID_STG_SIZE
,
IDS_SHV_COLUMN2
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
IDS_SHV_COLUMN4
,
SHCOLSTATE_TYPE_DATE
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
12
},
{
&
FMTID_Storage
,
PID_STG_STORAGETYPE
,
IDS_SHV_COLUMN3
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
IDS_SHV_COLUMN5
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
5
}
{
&
FMTID_Storage
,
PID_STG_WRITETIME
,
IDS_SHV_COLUMN4
,
SHCOLSTATE_TYPE_DATE
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
12
},
{
&
FMTID_Storage
,
PID_STG_ATTRIBUTES
,
IDS_SHV_COLUMN5
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
5
},
};
};
#define DESKTOPSHELLVIEWCOLUMNS sizeof(desktop_header)/sizeof(shvheader)
#define DESKTOPSHELLVIEWCOLUMNS sizeof(desktop_header)/sizeof(shvheader)
...
@@ -845,12 +846,16 @@ static HRESULT WINAPI ISF_Desktop_fnGetDetailsOf (IShellFolder2 * iface,
...
@@ -845,12 +846,16 @@ static HRESULT WINAPI ISF_Desktop_fnGetDetailsOf (IShellFolder2 * iface,
return
hr
;
return
hr
;
}
}
static
HRESULT
WINAPI
ISF_Desktop_fnMapColumnToSCID
(
static
HRESULT
WINAPI
ISF_Desktop_fnMapColumnToSCID
(
IShellFolder2
*
iface
,
UINT
column
,
SHCOLUMNID
*
scid
)
IShellFolder2
*
iface
,
UINT
column
,
SHCOLUMNID
*
pscid
)
{
{
IDesktopFolderImpl
*
This
=
impl_from_IShellFolder2
(
iface
);
IDesktopFolderImpl
*
This
=
impl_from_IShellFolder2
(
iface
);
FIXME
(
"(%p)->(%d %p) stub
\n
"
,
This
,
column
,
pscid
);
return
E_NOTIMPL
;
TRACE
(
"(%p)->(%u %p)
\n
"
,
This
,
column
,
scid
);
if
(
column
>=
DESKTOPSHELLVIEWCOLUMNS
)
return
E_INVALIDARG
;
return
shellfolder_map_column_to_scid
(
desktop_header
,
column
,
scid
);
}
}
static
const
IShellFolder2Vtbl
vt_MCFldr_ShellFolder2
=
static
const
IShellFolder2Vtbl
vt_MCFldr_ShellFolder2
=
...
...
dlls/shell32/shfldr_fs.c
View file @
f23edde4
...
@@ -182,12 +182,13 @@ static const IUnknownVtbl unkvt =
...
@@ -182,12 +182,13 @@ static const IUnknownVtbl unkvt =
IUnknown_fnRelease
,
IUnknown_fnRelease
,
};
};
static
const
shvheader
GenericSFHeader
[]
=
{
static
const
shvheader
GenericSFHeader
[]
=
{
IDS_SHV_COLUMN1
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
{
{
IDS_SHV_COLUMN2
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
&
FMTID_Storage
,
PID_STG_NAME
,
IDS_SHV_COLUMN1
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
{
IDS_SHV_COLUMN3
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
&
FMTID_Storage
,
PID_STG_SIZE
,
IDS_SHV_COLUMN2
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
IDS_SHV_COLUMN4
,
SHCOLSTATE_TYPE_DATE
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
12
},
{
&
FMTID_Storage
,
PID_STG_STORAGETYPE
,
IDS_SHV_COLUMN3
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
IDS_SHV_COLUMN5
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
5
}
{
&
FMTID_Storage
,
PID_STG_WRITETIME
,
IDS_SHV_COLUMN4
,
SHCOLSTATE_TYPE_DATE
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
12
},
{
&
FMTID_Storage
,
PID_STG_ATTRIBUTES
,
IDS_SHV_COLUMN5
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
5
},
};
};
#define GENERICSHELLVIEWCOLUMNS 5
#define GENERICSHELLVIEWCOLUMNS 5
...
@@ -1014,12 +1015,16 @@ IShellFolder_fnGetDetailsOf (IShellFolder2 * iface, LPCITEMIDLIST pidl,
...
@@ -1014,12 +1015,16 @@ IShellFolder_fnGetDetailsOf (IShellFolder2 * iface, LPCITEMIDLIST pidl,
}
}
static
HRESULT
WINAPI
static
HRESULT
WINAPI
IShellFolder_fnMapColumnToSCID
(
IShellFolder2
*
iface
,
UINT
column
,
IShellFolder_fnMapColumnToSCID
(
IShellFolder2
*
iface
,
UINT
column
,
SHCOLUMNID
*
scid
)
SHCOLUMNID
*
pscid
)
{
{
IGenericSFImpl
*
This
=
impl_from_IShellFolder2
(
iface
);
IGenericSFImpl
*
This
=
impl_from_IShellFolder2
(
iface
);
FIXME
(
"(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
TRACE
(
"(%p)->(%u %p)
\n
"
,
This
,
column
,
scid
);
if
(
column
>=
GENERICSHELLVIEWCOLUMNS
)
return
E_INVALIDARG
;
return
shellfolder_map_column_to_scid
(
GenericSFHeader
,
column
,
scid
);
}
}
static
const
IShellFolder2Vtbl
sfvt
=
static
const
IShellFolder2Vtbl
sfvt
=
...
...
dlls/shell32/shfldr_mycomp.c
View file @
f23edde4
...
@@ -79,11 +79,12 @@ static inline IMyComputerFolderImpl *impl_from_IPersistFolder2(IPersistFolder2 *
...
@@ -79,11 +79,12 @@ static inline IMyComputerFolderImpl *impl_from_IPersistFolder2(IPersistFolder2 *
* IShellFolder [MyComputer] implementation
* IShellFolder [MyComputer] implementation
*/
*/
static
const
shvheader
mycomputer_header
[]
=
{
static
const
shvheader
mycomputer_header
[]
=
{
IDS_SHV_COLUMN1
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
{
{
IDS_SHV_COLUMN3
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
&
FMTID_Storage
,
PID_STG_NAME
,
IDS_SHV_COLUMN1
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
{
IDS_SHV_COLUMN6
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
&
FMTID_Storage
,
PID_STG_STORAGETYPE
,
IDS_SHV_COLUMN3
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
IDS_SHV_COLUMN7
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
NULL
,
0
,
IDS_SHV_COLUMN6
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
NULL
,
0
,
IDS_SHV_COLUMN7
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
};
};
#define MYCOMPUTERSHELLVIEWCOLUMNS sizeof(mycomputer_header)/sizeof(shvheader)
#define MYCOMPUTERSHELLVIEWCOLUMNS sizeof(mycomputer_header)/sizeof(shvheader)
...
@@ -867,12 +868,16 @@ static HRESULT WINAPI ISF_MyComputer_fnGetDetailsOf (IShellFolder2 *iface,
...
@@ -867,12 +868,16 @@ static HRESULT WINAPI ISF_MyComputer_fnGetDetailsOf (IShellFolder2 *iface,
return
hr
;
return
hr
;
}
}
static
HRESULT
WINAPI
ISF_MyComputer_fnMapColumnToSCID
(
static
HRESULT
WINAPI
ISF_MyComputer_fnMapColumnToSCID
(
IShellFolder2
*
iface
,
UINT
column
,
SHCOLUMNID
*
scid
)
IShellFolder2
*
iface
,
UINT
column
,
SHCOLUMNID
*
pscid
)
{
{
IMyComputerFolderImpl
*
This
=
impl_from_IShellFolder2
(
iface
);
IMyComputerFolderImpl
*
This
=
impl_from_IShellFolder2
(
iface
);
FIXME
(
"(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
TRACE
(
"(%p)->(%u %p)
\n
"
,
This
,
column
,
scid
);
if
(
column
>=
MYCOMPUTERSHELLVIEWCOLUMNS
)
return
E_INVALIDARG
;
return
shellfolder_map_column_to_scid
(
mycomputer_header
,
column
,
scid
);
}
}
static
const
IShellFolder2Vtbl
vt_ShellFolder2
=
static
const
IShellFolder2Vtbl
vt_ShellFolder2
=
...
...
dlls/shell32/shfldr_netplaces.c
View file @
f23edde4
...
@@ -73,9 +73,10 @@ static inline IGenericSFImpl *impl_from_IPersistFolder2(IPersistFolder2 *iface)
...
@@ -73,9 +73,10 @@ static inline IGenericSFImpl *impl_from_IPersistFolder2(IPersistFolder2 *iface)
}
}
static
const
shvheader
networkplaces_header
[]
=
{
static
const
shvheader
networkplaces_header
[]
=
{
IDS_SHV_COLUMN1
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
{
{
IDS_SHV_COLUMN9
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
}
{
NULL
,
0
,
IDS_SHV_COLUMN1
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
{
NULL
,
0
,
IDS_SHV_COLUMN9
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
};
};
#define NETWORKPLACESSHELLVIEWCOLUMNS sizeof(networkplaces_header)/sizeof(shvheader)
#define NETWORKPLACESSHELLVIEWCOLUMNS sizeof(networkplaces_header)/sizeof(shvheader)
...
@@ -567,14 +568,16 @@ static HRESULT WINAPI ISF_NetworkPlaces_fnGetDetailsOf (IShellFolder2 * iface,
...
@@ -567,14 +568,16 @@ static HRESULT WINAPI ISF_NetworkPlaces_fnGetDetailsOf (IShellFolder2 * iface,
return
E_NOTIMPL
;
return
E_NOTIMPL
;
}
}
static
HRESULT
WINAPI
ISF_NetworkPlaces_fnMapColumnToSCID
(
IShellFolder2
*
iface
,
static
HRESULT
WINAPI
ISF_NetworkPlaces_fnMapColumnToSCID
(
IShellFolder2
*
iface
,
UINT
column
,
SHCOLUMNID
*
scid
)
UINT
column
,
SHCOLUMNID
*
pscid
)
{
{
IGenericSFImpl
*
This
=
impl_from_IShellFolder2
(
iface
);
IGenericSFImpl
*
This
=
impl_from_IShellFolder2
(
iface
);
FIXME
(
"(%p)
\n
"
,
This
);
TRACE
(
"(%p)->(%u %p)
\n
"
,
This
,
column
,
scid
);
return
E_NOTIMPL
;
if
(
column
>=
NETWORKPLACESSHELLVIEWCOLUMNS
)
return
E_INVALIDARG
;
return
shellfolder_map_column_to_scid
(
networkplaces_header
,
column
,
scid
);
}
}
static
const
IShellFolder2Vtbl
vt_ShellFolder2
=
{
static
const
IShellFolder2Vtbl
vt_ShellFolder2
=
{
...
...
dlls/shell32/shfldr_printers.c
View file @
f23edde4
...
@@ -55,12 +55,12 @@ static inline IPrintersFolderImpl *impl_from_IPersistFolder2(IPersistFolder2 *if
...
@@ -55,12 +55,12 @@ static inline IPrintersFolderImpl *impl_from_IPersistFolder2(IPersistFolder2 *if
}
}
static
const
shvheader
printers_header
[]
=
{
static
const
shvheader
printers_header
[]
=
{
{
IDS_SHV_COLUMN8
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
20
},
{
&
FMTID_Storage
,
PID_STG_NAME
,
IDS_SHV_COLUMN8
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
20
},
{
IDS_SHV_COL_DOCS
,
SHCOLSTATE_TYPE_INT
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
12
},
{
NULL
,
0
,
IDS_SHV_COL_DOCS
,
SHCOLSTATE_TYPE_INT
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
12
},
{
IDS_SHV_COL_STATUS
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
12
},
{
NULL
,
0
,
IDS_SHV_COL_STATUS
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
12
},
{
IDS_SHV_COLUMN9
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
30
},
{
&
FMTID_SummaryInformation
,
PIDSI_COMMENTS
,
IDS_SHV_COLUMN9
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
30
},
{
IDS_SHV_COL_LOCATION
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
20
},
{
NULL
,
0
,
IDS_SHV_COL_LOCATION
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
20
},
{
IDS_SHV_COL_MODEL
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
20
}
{
NULL
,
0
,
IDS_SHV_COL_MODEL
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_LEFT
,
20
}
};
};
#define PRINTERS_FOLDER_COL_NUM sizeof(printers_header)/sizeof(shvheader)
#define PRINTERS_FOLDER_COL_NUM sizeof(printers_header)/sizeof(shvheader)
...
@@ -316,12 +316,16 @@ static HRESULT WINAPI IShellFolder_Printers_fnGetDetailsOf (IShellFolder2 *iface
...
@@ -316,12 +316,16 @@ static HRESULT WINAPI IShellFolder_Printers_fnGetDetailsOf (IShellFolder2 *iface
return
E_NOTIMPL
;
return
E_NOTIMPL
;
}
}
static
HRESULT
WINAPI
IShellFolder_Printers_fnMapColumnToSCID
(
static
HRESULT
WINAPI
IShellFolder_Printers_fnMapColumnToSCID
(
IShellFolder2
*
iface
,
UINT
column
,
SHCOLUMNID
*
scid
)
IShellFolder2
*
iface
,
UINT
column
,
SHCOLUMNID
*
pscid
)
{
{
IPrintersFolderImpl
*
This
=
impl_from_IShellFolder2
(
iface
);
IPrintersFolderImpl
*
This
=
impl_from_IShellFolder2
(
iface
);
FIXME
(
"(%p)->(%u %p) stub
\n
"
,
This
,
column
,
pscid
);
return
E_NOTIMPL
;
TRACE
(
"(%p)->(%u %p)
\n
"
,
This
,
column
,
scid
);
if
(
column
>=
PRINTERS_FOLDER_COL_NUM
)
return
E_INVALIDARG
;
return
shellfolder_map_column_to_scid
(
printers_header
,
column
,
scid
);
}
}
static
const
IShellFolder2Vtbl
vtbl_ShellFolder2
=
static
const
IShellFolder2Vtbl
vtbl_ShellFolder2
=
...
...
dlls/shell32/shfldr_unixfs.c
View file @
f23edde4
...
@@ -1470,6 +1470,15 @@ static HRESULT WINAPI ShellFolder2_GetDetailsEx(IShellFolder2* iface,
...
@@ -1470,6 +1470,15 @@ static HRESULT WINAPI ShellFolder2_GetDetailsEx(IShellFolder2* iface,
}
}
#define SHELLVIEWCOLUMNS 7
#define SHELLVIEWCOLUMNS 7
static
const
shvheader
unixfs_header
[
SHELLVIEWCOLUMNS
]
=
{
{
&
FMTID_Storage
,
PID_STG_NAME
,
IDS_SHV_COLUMN1
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
{
&
FMTID_Storage
,
PID_STG_SIZE
,
IDS_SHV_COLUMN2
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
&
FMTID_Storage
,
PID_STG_STORAGETYPE
,
IDS_SHV_COLUMN3
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
&
FMTID_Storage
,
PID_STG_WRITETIME
,
IDS_SHV_COLUMN4
,
SHCOLSTATE_TYPE_DATE
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
12
},
{
NULL
,
0
,
IDS_SHV_COLUMN5
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
9
},
{
NULL
,
0
,
IDS_SHV_COLUMN10
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
7
},
{
NULL
,
0
,
IDS_SHV_COLUMN11
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
7
},
};
static
HRESULT
WINAPI
ShellFolder2_GetDetailsOf
(
IShellFolder2
*
iface
,
static
HRESULT
WINAPI
ShellFolder2_GetDetailsOf
(
IShellFolder2
*
iface
,
LPCITEMIDLIST
pidl
,
UINT
iColumn
,
SHELLDETAILS
*
psd
)
LPCITEMIDLIST
pidl
,
UINT
iColumn
,
SHELLDETAILS
*
psd
)
...
@@ -1480,16 +1489,6 @@ static HRESULT WINAPI ShellFolder2_GetDetailsOf(IShellFolder2* iface,
...
@@ -1480,16 +1489,6 @@ static HRESULT WINAPI ShellFolder2_GetDetailsOf(IShellFolder2* iface,
struct
stat
statItem
;
struct
stat
statItem
;
HRESULT
hr
=
S_OK
;
HRESULT
hr
=
S_OK
;
static
const
shvheader
unixfs_header
[
SHELLVIEWCOLUMNS
]
=
{
{
IDS_SHV_COLUMN1
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
15
},
{
IDS_SHV_COLUMN2
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
IDS_SHV_COLUMN3
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
10
},
{
IDS_SHV_COLUMN4
,
SHCOLSTATE_TYPE_DATE
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
12
},
{
IDS_SHV_COLUMN5
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
9
},
{
IDS_SHV_COLUMN10
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
7
},
{
IDS_SHV_COLUMN11
,
SHCOLSTATE_TYPE_STR
|
SHCOLSTATE_ONBYDEFAULT
,
LVCFMT_RIGHT
,
7
}
};
TRACE
(
"(%p)->(%p %d %p)
\n
"
,
This
,
pidl
,
iColumn
,
psd
);
TRACE
(
"(%p)->(%p %d %p)
\n
"
,
This
,
pidl
,
iColumn
,
psd
);
if
(
!
psd
||
iColumn
>=
SHELLVIEWCOLUMNS
)
if
(
!
psd
||
iColumn
>=
SHELLVIEWCOLUMNS
)
...
@@ -1549,12 +1548,16 @@ static HRESULT WINAPI ShellFolder2_GetDetailsOf(IShellFolder2* iface,
...
@@ -1549,12 +1548,16 @@ static HRESULT WINAPI ShellFolder2_GetDetailsOf(IShellFolder2* iface,
return
hr
;
return
hr
;
}
}
static
HRESULT
WINAPI
ShellFolder2_MapColumnToSCID
(
IShellFolder2
*
iface
,
UINT
column
,
static
HRESULT
WINAPI
ShellFolder2_MapColumnToSCID
(
IShellFolder2
*
iface
,
UINT
column
,
SHCOLUMNID
*
scid
)
SHCOLUMNID
*
pscid
)
{
{
UnixFolder
*
This
=
impl_from_IShellFolder2
(
iface
);
UnixFolder
*
This
=
impl_from_IShellFolder2
(
iface
);
FIXME
(
"(%p)->(%u %p): stub
\n
"
,
This
,
column
,
pscid
);
return
E_NOTIMPL
;
TRACE
(
"(%p)->(%u %p)
\n
"
,
This
,
column
,
scid
);
if
(
column
>=
SHELLVIEWCOLUMNS
)
return
E_INVALIDARG
;
return
shellfolder_map_column_to_scid
(
unixfs_header
,
column
,
scid
);
}
}
static
const
IShellFolder2Vtbl
ShellFolder2Vtbl
=
{
static
const
IShellFolder2Vtbl
ShellFolder2Vtbl
=
{
...
...
dlls/shell32/shlfolder.c
View file @
f23edde4
...
@@ -565,6 +565,21 @@ HRESULT SHELL32_GetColumnDetails(const shvheader *data, int column, SHELLDETAILS
...
@@ -565,6 +565,21 @@ HRESULT SHELL32_GetColumnDetails(const shvheader *data, int column, SHELLDETAILS
return
S_OK
;
return
S_OK
;
}
}
HRESULT
shellfolder_map_column_to_scid
(
const
shvheader
*
header
,
UINT
column
,
SHCOLUMNID
*
scid
)
{
if
(
header
[
column
].
fmtid
==
NULL
)
{
FIXME
(
"missing property id for column %u.
\n
"
,
column
);
memset
(
scid
,
0
,
sizeof
(
*
scid
));
return
E_NOTIMPL
;
}
scid
->
fmtid
=
*
header
[
column
].
fmtid
;
scid
->
pid
=
header
[
column
].
pid
;
return
S_OK
;
}
/***********************************************************************
/***********************************************************************
* SHCreateLinks
* SHCreateLinks
*
*
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment