13#ifndef SHCIDS_ALLFIELDS
14#define SHCIDS_ALLFIELDS 0x80000000L
140 if (curpidl->mkid.cb != 0)
142 ERR(
"ERROR, unhandled PIDL!\n");
153 ERR(
"ERROR, not a font PIDL!\n");
161 ERR(
"Unable to query info about %S\n", fontEntry->
Name);
183 ERR(
"GetDateFormatA failed\n");
193 ERR(
"IDS_COL_ATTR_LETTERS does not contain 5 letters!\n");
254 if (!fontEntry1 || !fontEntry2)
270 if (!info1 || !info2)
272 ERR(
"Unable to find font %S or %S in cache!\n", fontEntry1->
Name, fontEntry2->
Name);
288 result = (
int)info1->FileSize().HighPart - info2->FileSize().HighPart;
290 result = (
int)info1->FileSize().LowPart - info2->FileSize().LowPart;
297 result = (
int)info1->FileAttributes() - info2->FileAttributes();
300 ERR(
"Unimplemented column %u\n",
column);
316 ERR(
"IDropTarget not implemented\n");
323 ERR(
"IContextMenu not implemented\n");
339 if (!rgfInOut || !cidl || !apidl)
343 while (cidl > 0 && *apidl)
349 rgf |= ( SFGAO_HASPROPSHEET | SFGAO_CANCOPY | SFGAO_FILESYSTEM);
367 if (
riid == IID_IContextMenu ||
368 riid == IID_IContextMenu2 ||
369 riid == IID_IContextMenu3)
373 else if (
riid == IID_IExtractIconA ||
riid == IID_IExtractIconW)
389 ERR(
"IID_IExtractIcon with cidl != 1 UNIMPLEMENTED\n");
400 ERR(
"IID_IDataObject with cidl == 0 UNIMPLEMENTED\n");
415 if (curpidl->mkid.cb != 0)
417 ERR(
"ERROR, unhandled PIDL!\n");
430 return SHSetStrRet(strRet,
File);
434 return SHSetStrRet(strRet, fontEntry->
Name);
461 ERR(
"Unable to extract path from pidl\n");
468 ERR(
"Unable to get fonts path (0x%x)\n",
hr);
474 ERR(
"CFontExt View initializing on unexpected folder: '%S'\n", PidlPath);
497 CDataObjectHIDA cida(pDataObj);
519 CDataObjectHIDA cida(pDataObj);
520 if (!cida || cida->cidl <= 0)
526 ERR(
"pidlParent is NULL\n");
531 for (
UINT n = 0;
n < cida->cidl; ++
n)
537 apidl.
Add(pidlRelative);
HRESULT _CDataObject_CreateInstance(PCIDLIST_ABSOLUTE folder, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, REFIID riid, LPVOID *ppvOut)
HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv, IShellView **ppsv)
HRESULT _CEnumFonts_CreateInstance(CFontExt *zip, DWORD flags, REFIID riid, LPVOID *ppvOut)
bool GetInterfaceName(const WCHAR *InterfaceString, WCHAR *buf, size_t size)
static FolderViewColumns g_ColumnDefs[]
WCHAR * g2s(REFCLSID iid)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
EXTERN_C void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
size_t Add(INARGTYPE element)
PXSTR GetString() noexcept
int GetLength() const noexcept
BOOL LoadString(_In_ UINT nID)
CStringW Filename(CFontInfo *info, bool alwaysFullPath=false)
CFontInfo * Find(const FontPidlEntry *fontEntry)
const CStringW & FontPath() const
void SetFontDir(const LPCWSTR Path)
STDMETHODIMP GetUIObjectOf(HWND hwndOwner, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, REFIID riid, UINT *prgfInOut, LPVOID *ppvOut) override
STDMETHODIMP GetDefaultColumn(DWORD dwReserved, ULONG *pSort, ULONG *pDisplay) override
STDMETHODIMP DragEnter(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) override
STDMETHODIMP GetDefaultColumnState(UINT iColumn, SHCOLSTATEF *pcsFlags) override
STDMETHODIMP GetCurFolder(LPITEMIDLIST *ppidl) override
STDMETHODIMP GetDetailsEx(PCUITEMID_CHILD pidl, const SHCOLUMNID *pscid, VARIANT *pv) override
STDMETHODIMP GetDetailsOf(PCUITEMID_CHILD pidl, UINT iColumn, SHELLDETAILS *psd) override
STDMETHODIMP DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) override
STDMETHODIMP EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST *ppEnumIDList) override
STDMETHODIMP GetDefaultSearchGUID(GUID *lpguid) override
CComHeapPtr< ITEMIDLIST > m_Folder
STDMETHODIMP MapColumnToSCID(UINT iColumn, SHCOLUMNID *pscid) override
STDMETHODIMP SetNameOf(HWND hwndOwner, PCUITEMID_CHILD pidl, LPCOLESTR lpName, DWORD dwFlags, PITEMID_CHILD *pPidlOut) override
STDMETHODIMP CreateViewObject(HWND hwndOwner, REFIID riid, LPVOID *ppvOut) override
STDMETHODIMP GetDisplayNameOf(PCUITEMID_CHILD pidl, DWORD dwFlags, LPSTRRET strRet) override
STDMETHODIMP BindToObject(PCUIDLIST_RELATIVE pidl, LPBC pbcReserved, REFIID riid, LPVOID *ppvOut) override
STDMETHODIMP EnumSearches(IEnumExtraSearch **ppenum) override
STDMETHODIMP GetAttributesOf(UINT cidl, PCUITEMID_CHILD_ARRAY apidl, DWORD *rgfInOut) override
STDMETHODIMP ParseDisplayName(HWND hwndOwner, LPBC pbc, LPOLESTR lpszDisplayName, DWORD *pchEaten, PIDLIST_RELATIVE *ppidl, DWORD *pdwAttributes) override
STDMETHODIMP GetClassID(CLSID *lpClassId) override
STDMETHODIMP Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) override
STDMETHODIMP Initialize(LPCITEMIDLIST pidl) override
STDMETHODIMP BindToStorage(PCUIDLIST_RELATIVE pidl, LPBC pbcReserved, REFIID riid, LPVOID *ppvOut) override
STDMETHODIMP DragLeave() override
STDMETHODIMP CompareIDs(LPARAM lParam, PCUIDLIST_RELATIVE pidl1, PCUIDLIST_RELATIVE pidl2) override
#define IDS_COL_ATTR_LETTERS
LSTATUS WINAPI RegGetValueW(HKEY hKey, LPCWSTR pszSubKey, LPCWSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
#define FILE_ATTRIBUTE_NORMAL
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
LONG WINAPI CompareFileTime(IN CONST FILETIME *lpFileTime1, IN CONST FILETIME *lpFileTime2)
WCHAR *WINAPI PathFindFileNameW(const WCHAR *path)
HRESULT WINAPI DECLSPEC_HOTPATCH ProgIDFromCLSID(REFCLSID clsid, LPOLESTR *ppszProgID)
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
HRESULT WINAPI SHGetFolderPathW(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath)
LPSTR WINAPI StrFormatKBSizeA(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
#define FAILED_UNEXPECTEDLY
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
const GUID CLSID_CFontExt
HRESULT InstallFontFiles(_Out_ CStringW &strMsg, _In_ PCUIDLIST_ABSOLUTE pidlParent, _In_ UINT cidl, _In_ PCUITEMID_CHILD_ARRAY apidl)
const FontPidlEntry * _FontFromIL(LPCITEMIDLIST pidl)
GLenum GLuint GLenum GLsizei const GLchar * buf
VOID WINAPI CoTaskMemFree(LPVOID ptr)
const DWORD DROPEFFECT_NONE
const DWORD DROPEFFECT_COPY
#define ERROR_FILE_NOT_FOUND
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
#define FILE_ATTRIBUTE_READONLY
#define FILE_ATTRIBUTE_COMPRESSED
#define FILE_ATTRIBUTE_HIDDEN
#define FILE_ATTRIBUTE_SYSTEM
#define FILE_ATTRIBUTE_ARCHIVE
#define LOCALE_USER_DEFAULT
interface IBindCtx * LPBC
const GUID IID_IDataObject
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST pidl)
#define IsEqualIID(riid1, riid2)
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
static PCUIDLIST_RELATIVE HIDA_GetPIDLItem(CIDA const *pida, SIZE_T i)
static PCUIDLIST_ABSOLUTE HIDA_GetPIDLFolder(CIDA const *pida)
#define MAKE_COMPARE_HRESULT(x)
struct _SFV_CREATE SFV_CREATE
ITEMIDLIST UNALIGNED * LPITEMIDLIST
const ITEMIDLIST_ABSOLUTE UNALIGNED * PCUIDLIST_ABSOLUTE
const PCUITEMID_CHILD * PCUITEMID_CHILD_ARRAY
const ITEMID_CHILD UNALIGNED * PCUITEMID_CHILD
const ITEMIDLIST_RELATIVE UNALIGNED * PCUIDLIST_RELATIVE
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
STRSAFEAPI StringCchCatW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define HRESULT_FROM_WIN32(x)
#define HKEY_CLASSES_ROOT
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define IID_PPV_ARG(Itype, ppType)