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
#define FAILED_UNEXPECTEDLY(hr)
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
LONG WINAPI CompareFileTime(IN CONST FILETIME *lpFileTime1, IN CONST FILETIME *lpFileTime2)
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)
LPWSTR WINAPI PathFindFileNameW(LPCWSTR lpszPath)
LPSTR WINAPI StrFormatKBSizeA(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
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)