44#define BUFFILEALLOC 512 * sizeof(WCHAR)
59#define FD31_OFN_PROP "FILEDLG_OFN"
92 ERR(
"Error loading icons!\n");
131 TRACE(
"Call hookA %p (%p, %04x, %08lx, %08lx)\n",
134 TRACE(
"ret hookA %p (%p, %04x, %08lx, %08lx)\n",
139 TRACE(
"Call hookW %p (%p, %04x, %08lx, %08lx)\n",
142 TRACE(
"Ret hookW %p (%p, %04x, %08lx, %08lx)\n",
181 HCURSOR hCursorWait, oldCursor;
203 if (scptr) *scptr = 0;
207 if (scptr) *scptr =
';';
208 filter = (scptr) ? (scptr + 1) : 0;
346 tmpstr2[lenstr2++]=
'\\';
361 TRACE(
"file %s, file offset %d, ext offset %d\n",
427 if (tmpstr[0] ==
'[')
485 LPWSTR pBeginFileName, pstr2;
489 if (pBeginFileName ==
NULL)
495 if (pBeginFileName !=
NULL)
498 *(pBeginFileName + 1) = 0;
517 if (pBeginFileName ==
NULL || *(pBeginFileName + 1) != 0)
528 if (pBeginFileName !=
NULL)
561 memcpy( &ofnsav, ofnW, copied_size );
595 memcpy( ofnW, &ofnsav, copied_size );
698 TRACE(
"OK pressed\n");
808 ofnW->pvReserved = ofnA->pvReserved;
809 ofnW->dwReserved = ofnA->dwReserved;
810 ofnW->FlagsEx = ofnA->FlagsEx;
840 TRACE(
"destroying private allocation %p\n", lfs);
920 FD31_DATA *lfs = heap_alloc_zero(
sizeof(*lfs));
922 TRACE(
"alloc private buf %p\n", lfs);
923 if (!lfs)
return NULL;
969 if (!lfs)
return FALSE;
982 TRACE(
"lpstrCustomFilter = %p\n", pstr);
990 TRACE(
"add str=%s associated to %s\n",
1007 TRACE(
"add str=%s associated to %s\n",
1027 TRACE(
"nFilterIndex = %d, SetText of edt1 to %s\n",
1044 if (
len > 0 && tmpstr[
len-1] !=
'\\' && tmpstr[
len-1] !=
':') {
1054 WARN(
"Couldn't read initial directory %s!\n",
debugstr_w(tmpstr));
1059 char str[4] =
"a:\\";
1061 for(
i = 0,
n = -1;
i < 26;
i++)
1110 if (lRet)
return lRet;
1188 TRACE(
"file %s, file offset %d, ext offset %d\n",
ACPI_SIZE strlen(const char *String)
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define CDERR_LOADRESFAILURE
#define CDERR_FINDRESFAILURE
DECLSPEC_HIDDEN HINSTANCE COMDLG32_hInstance
void COMDLG32_SetCommDlgExtendedError(DWORD err) DECLSPEC_HIDDEN
struct tagOFNW * LPOPENFILENAMEW
#define OFN_ENABLETEMPLATEHANDLE
struct tagOFNA * LPOPENFILENAMEA
#define OPENFILENAME_SIZE_VERSION_400W
#define OFN_ENABLETEMPLATE
#define OFN_ALLOWMULTISELECT
#define GetCurrentDirectoryW(x, y)
#define WideCharToMultiByte
#define MultiByteToWideChar
UINT WINAPI GetDriveTypeA(IN LPCSTR lpRootPathName)
DWORD WINAPI GetCurrentDirectoryA(IN DWORD nBufferLength, OUT LPSTR lpBuffer)
BOOL WINAPI SetCurrentDirectoryW(IN LPCWSTR lpPathName)
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
HRSRC WINAPI FindResourceA(HMODULE hModule, LPCSTR name, LPCSTR type)
LPVOID WINAPI LockResource(HGLOBAL handle)
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
LPSTR WINAPI PathFindFileNameA(LPCSTR lpszPath)
LPWSTR WINAPI PathFindFileNameW(LPCWSTR lpszPath)
LPWSTR WINAPI PathFindExtensionW(LPCWSTR lpszPath)
LPSTR WINAPI PathFindExtensionA(LPCSTR lpszPath)
static LRESULT FD31_FileListSelect(const FD31_DATA *lfs)
static LPWSTR FD31_MapStringPairsToW(LPCSTR strA, UINT size)
static int FD31_GetFldrHeight(void)
static void FD31_StripEditControl(HWND hwnd)
static BOOL FD31_CallWindowProc(const FD31_DATA *lfs, UINT wMsg, WPARAM wParam, LPARAM lParam)
static PFD31_DATA FD31_AllocPrivate(LPARAM lParam, UINT dlgType, BOOL IsUnicode)
static const WCHAR FILE_bslash[]
static void FD31_UpdateResult(const FD31_DATA *lfs, const WCHAR *tmpstr)
struct tagFD31_DATA FD31_DATA
static const WCHAR FILE_specc[]
static void FD31_DestroyPrivate(PFD31_DATA lfs)
BOOL GetFileName31A(OPENFILENAMEA *lpofn, UINT dlgType)
static BOOL FD31_ScanDir(const OPENFILENAMEW *ofn, HWND hWnd, LPCWSTR newPath)
static const WCHAR FILE_star[]
static BOOL FD31_Init(void)
static LONG FD31_WMInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam)
static const int fldrWidth
static LRESULT FD31_FileTypeChange(const FD31_DATA *lfs)
static LRESULT FD31_WMCommand(HWND hWnd, LPARAM lParam, UINT notification, UINT control, const FD31_DATA *lfs)
static INT_PTR CALLBACK FD31_FileOpenDlgProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam)
static void FD31_UpdateFileTitle(const FD31_DATA *lfs)
static void FD31_FreeOfnW(OPENFILENAMEW *ofnW)
static const int fldrHeight
static BOOL FD31_GetTemplate(PFD31_DATA lfs)
static LONG FD31_WMDrawItem(HWND hWnd, WPARAM wParam, LPARAM lParam, int savedlg, const DRAWITEMSTRUCT *lpdis)
static void FD31_MapOfnStructA(const OPENFILENAMEA *ofnA, LPOPENFILENAMEW ofnW, BOOL open)
static LONG FD31_WMMeasureItem(LPARAM lParam)
struct tagFD31_DATA * PFD31_DATA
static LRESULT FD31_TestPath(const FD31_DATA *lfs, LPWSTR path)
static LRESULT FD31_DirListDblClick(const FD31_DATA *lfs)
static LPWSTR FD31_DupToW(LPCSTR str, DWORD size)
static LPCWSTR FD31_GetFileType(LPCWSTR cfptr, LPCWSTR fptr, const WORD index)
BOOL GetFileName31W(OPENFILENAMEW *lpofn, UINT dlgType)
static LRESULT FD31_DiskChange(const FD31_DATA *lfs)
static LRESULT FD31_Validate(const FD31_DATA *lfs, LPCWSTR path, UINT control, INT itemIndex, BOOL internalUse)
GLint GLint GLint GLint GLint x
GLenum GLuint GLenum GLsizei const GLchar * buf
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
#define memcpy(s1, s2, n)
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz(_Out_ PUNICODE_STRING Destination, _In_ PCSZ Source)
UINT WINAPI GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lpString, int nMaxCount)
#define DRIVE_NO_ROOT_DIR
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
BOOL WINAPI ExtTextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCWSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
DWORD WINAPI GetSysColor(_In_ int)
UINT WINAPI RegisterWindowMessageA(_In_ LPCSTR)
INT_PTR WINAPI DialogBoxIndirectParamW(_In_opt_ HINSTANCE, _In_ LPCDLGTEMPLATE, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
HANDLE WINAPI GetPropA(_In_ HWND, _In_ LPCSTR)
struct tagMEASUREITEMSTRUCT * LPMEASUREITEMSTRUCT
BOOL WINAPI SetPropA(_In_ HWND, _In_ LPCSTR, _In_opt_ HANDLE)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
#define IS_INTRESOURCE(i)
BOOL WINAPI SetDlgItemTextW(_In_ HWND, _In_ int, _In_ LPCWSTR)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
BOOL WINAPI DrawIconEx(_In_ HDC, _In_ int, _In_ int, _In_ HICON, _In_ int, _In_ int, _In_ UINT, _In_opt_ HBRUSH, _In_ UINT)
#define COLOR_HIGHLIGHTTEXT
INT_PTR WINAPI DialogBoxIndirectParamA(_In_opt_ HINSTANCE, _In_ LPCDLGTEMPLATE, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
HANDLE WINAPI LoadImageA(_In_opt_ HINSTANCE hInst, _In_ LPCSTR name, _In_ UINT type, _In_ int cx, _In_ int cy, _In_ UINT fuLoad)
int WINAPI DlgDirListW(_In_ HWND, _Inout_ LPWSTR, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI DrawFocusRect(_In_ HDC, _In_ LPCRECT)
HANDLE WINAPI RemovePropA(_In_ HWND, _In_ LPCSTR)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
int WINAPI DlgDirListComboBoxW(_In_ HWND, _Inout_ LPWSTR, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)