Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
b97542ce
Commit
b97542ce
authored
Nov 23, 2020
by
Michael Stefaniuc
Committed by
Alexandre Julliard
Nov 23, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
comdlg32: Use wide-char string literals.
Signed-off-by:
Michael Stefaniuc
<
mstefani@winehq.org
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
aa889178
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
102 additions
and
170 deletions
+102
-170
colordlg.c
dlls/comdlg32/colordlg.c
+4
-8
filedlg.c
dlls/comdlg32/filedlg.c
+25
-48
filedlg31.c
dlls/comdlg32/filedlg31.c
+5
-8
fontdlg.c
dlls/comdlg32/fontdlg.c
+37
-50
itemdlg.c
dlls/comdlg32/itemdlg.c
+16
-29
printdlg.c
dlls/comdlg32/printdlg.c
+15
-27
No files found.
dlls/comdlg32/colordlg.c
View file @
b97542ce
...
...
@@ -63,9 +63,6 @@ static const COLORREF predefcolors[6][8]=
0x00808040L
,
0x00C0C0C0L
,
0x00400040L
,
0x00FFFFFFL
},
};
static
const
WCHAR
szColourDialogProp
[]
=
{
'c'
,
'o'
,
'l'
,
'o'
,
'u'
,
'r'
,
'd'
,
'i'
,
'a'
,
'l'
,
'o'
,
'g'
,
'p'
,
'r'
,
'o'
,
'p'
,
0
};
/* Chose Color PRIVATE Structure:
*
* This structure is duplicated in the 16 bit code with
...
...
@@ -866,7 +863,7 @@ static LRESULT CC_WMInitDialog( HWND hDlg, WPARAM wParam, LPARAM lParam )
lpp
->
lpcc
=
cc
;
lpp
->
hwndSelf
=
hDlg
;
SetPropW
(
hDlg
,
szColourDialogProp
,
lpp
);
SetPropW
(
hDlg
,
L"colourdialogprop"
,
lpp
);
if
(
!
(
lpp
->
lpcc
->
Flags
&
CC_SHOWHELP
))
ShowWindow
(
GetDlgItem
(
hDlg
,
pshHelp
),
SW_HIDE
);
...
...
@@ -1194,7 +1191,7 @@ static INT_PTR CALLBACK ColorDlgProc( HWND hDlg, UINT message,
{
int
res
;
CCPRIV
*
lpp
=
GetPropW
(
hDlg
,
szColourDialogProp
);
CCPRIV
*
lpp
=
GetPropW
(
hDlg
,
L"colourdialogprop"
);
if
(
message
!=
WM_INITDIALOG
)
{
...
...
@@ -1220,7 +1217,7 @@ static INT_PTR CALLBACK ColorDlgProc( HWND hDlg, UINT message,
DeleteDC
(
lpp
->
hdcMem
);
DeleteObject
(
lpp
->
hbmMem
);
heap_free
(
lpp
);
RemovePropW
(
hDlg
,
szColourDialogProp
);
RemovePropW
(
hDlg
,
L"colourdialogprop"
);
break
;
case
WM_COMMAND
:
if
(
CC_WMCommand
(
lpp
,
wParam
,
lParam
,
HIWORD
(
wParam
),
(
HWND
)
lParam
))
...
...
@@ -1301,8 +1298,7 @@ BOOL WINAPI ChooseColorW( CHOOSECOLORW *lpChCol )
{
HRSRC
hResInfo
;
HGLOBAL
hDlgTmpl
;
static
const
WCHAR
wszCHOOSE_COLOR
[]
=
{
'C'
,
'H'
,
'O'
,
'O'
,
'S'
,
'E'
,
'_'
,
'C'
,
'O'
,
'L'
,
'O'
,
'R'
,
0
};
if
(
!
(
hResInfo
=
FindResourceW
(
COMDLG32_hInstance
,
wszCHOOSE_COLOR
,
(
LPWSTR
)
RT_DIALOG
)))
if
(
!
(
hResInfo
=
FindResourceW
(
COMDLG32_hInstance
,
L"CHOOSE_COLOR"
,
(
LPWSTR
)
RT_DIALOG
)))
{
COMDLG32_SetCommDlgExtendedError
(
CDERR_FINDRESFAILURE
);
return
FALSE
;
...
...
dlls/comdlg32/filedlg.c
View file @
b97542ce
...
...
@@ -135,18 +135,9 @@ typedef struct tagLookInInfo
static
const
char
LookInInfosStr
[]
=
"LookInInfos"
;
/* LOOKIN combo box property */
static
SIZE
MemDialogSize
=
{
0
,
0
};
/* keep size of the (resizable) dialog */
static
const
WCHAR
LastVisitedMRUW
[]
=
{
'S'
,
'o'
,
'f'
,
't'
,
'w'
,
'a'
,
'r'
,
'e'
,
'\\'
,
'M'
,
'i'
,
'c'
,
'r'
,
'o'
,
's'
,
'o'
,
'f'
,
't'
,
'\\'
,
'W'
,
'i'
,
'n'
,
'd'
,
'o'
,
'w'
,
's'
,
'\\'
,
'C'
,
'u'
,
'r'
,
'r'
,
'e'
,
'n'
,
't'
,
'V'
,
'e'
,
'r'
,
's'
,
'i'
,
'o'
,
'n'
,
'\\'
,
'E'
,
'x'
,
'p'
,
'l'
,
'o'
,
'r'
,
'e'
,
'r'
,
'\\'
,
'C'
,
'o'
,
'm'
,
'D'
,
'l'
,
'g'
,
'3'
,
'2'
,
'\\'
,
'L'
,
'a'
,
's'
,
't'
,
'V'
,
'i'
,
's'
,
'i'
,
't'
,
'e'
,
'd'
,
'M'
,
'R'
,
'U'
,
0
};
static
const
WCHAR
MRUListW
[]
=
{
'M'
,
'R'
,
'U'
,
'L'
,
'i'
,
's'
,
't'
,
0
};
static
const
WCHAR
filedlg_info_propnameW
[]
=
{
'F'
,
'i'
,
'l'
,
'e'
,
'O'
,
'p'
,
'e'
,
'n'
,
'D'
,
'l'
,
'g'
,
'I'
,
'n'
,
'f'
,
'o'
,
's'
,
0
};
FileOpenDlgInfos
*
get_filedlg_infoptr
(
HWND
hwnd
)
{
return
GetPropW
(
hwnd
,
filedlg_info_propnameW
);
return
GetPropW
(
hwnd
,
L"FileOpenDlgInfos"
);
}
static
BOOL
is_dialog_hooked
(
const
FileOpenDlgInfos
*
info
)
...
...
@@ -268,7 +259,6 @@ static BOOL get_config_key_string(HKEY hkey, const WCHAR *name, WCHAR **value)
static
BOOL
is_places_bar_enabled
(
const
FileOpenDlgInfos
*
fodInfos
)
{
static
const
WCHAR
noplacesbarW
[]
=
{
'N'
,
'o'
,
'P'
,
'l'
,
'a'
,
'c'
,
'e'
,
's'
,
'B'
,
'a'
,
'r'
,
0
};
DWORD
value
;
HKEY
hkey
;
...
...
@@ -283,7 +273,7 @@ static BOOL is_places_bar_enabled(const FileOpenDlgInfos *fodInfos)
return
TRUE
;
value
=
0
;
get_config_key_as_dword
(
hkey
,
noplacesbarW
,
&
value
);
get_config_key_as_dword
(
hkey
,
L"NoPlacesBar"
,
&
value
);
RegCloseKey
(
hkey
);
return
value
==
0
;
}
...
...
@@ -304,13 +294,12 @@ static void filedlg_collect_places_pidls(FileOpenDlgInfos *fodInfos)
{
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
fodInfos
->
places
);
i
++
)
{
static
const
WCHAR
placeW
[]
=
{
'P'
,
'l'
,
'a'
,
'c'
,
'e'
,
'%'
,
'd'
,
0
};
WCHAR
nameW
[
8
];
DWORD
value
;
HRESULT
hr
;
WCHAR
*
str
;
swprintf
(
nameW
,
ARRAY_SIZE
(
nameW
),
placeW
,
i
);
swprintf
(
nameW
,
ARRAY_SIZE
(
nameW
),
L"Place%d"
,
i
);
if
(
get_config_key_dword
(
hkey
,
nameW
,
&
value
))
{
hr
=
SHGetSpecialFolderLocation
(
NULL
,
value
,
&
fodInfos
->
places
[
i
]);
...
...
@@ -1304,7 +1293,7 @@ INT_PTR CALLBACK FileOpenDlgProc95(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM l
if
(
SUCCEEDED
(
OleInitialize
(
NULL
)))
fodInfos
->
ole_initialized
=
TRUE
;
SetPropW
(
hwnd
,
filedlg_info_propnameW
,
fodInfos
);
SetPropW
(
hwnd
,
L"FileOpenDlgInfos"
,
fodInfos
);
FILEDLG95_InitControls
(
hwnd
);
...
...
@@ -1431,7 +1420,7 @@ INT_PTR CALLBACK FileOpenDlgProc95(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM l
}
case
WM_NCDESTROY
:
RemovePropW
(
hwnd
,
filedlg_info_propnameW
);
RemovePropW
(
hwnd
,
L"FileOpenDlgInfos"
);
return
0
;
case
WM_NOTIFY
:
...
...
@@ -1497,8 +1486,6 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
BOOL
win98plus
=
FALSE
;
BOOL
handledPath
=
FALSE
;
OSVERSIONINFOW
osVi
;
static
const
WCHAR
szwSlash
[]
=
{
'\\'
,
0
};
static
const
WCHAR
szwStar
[]
=
{
'*'
,
0
};
static
const
TBBUTTON
tbb
[]
=
{
...
...
@@ -1659,7 +1646,7 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
{
/* 1. If win2000 or higher and filename contains a path, use it
in preference over the lpstrInitialDir */
if
(
win2000plus
&&
*
fodInfos
->
filename
&&
wcspbrk
(
fodInfos
->
filename
,
szwSlash
))
{
if
(
win2000plus
&&
*
fodInfos
->
filename
&&
wcspbrk
(
fodInfos
->
filename
,
L"
\\
"
))
{
WCHAR
tmpBuf
[
MAX_PATH
];
WCHAR
*
nameBit
;
DWORD
result
;
...
...
@@ -1707,7 +1694,7 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
* specified, the dir part is taken */
if
(
PathIsDirectoryW
(
tmpBuf
))
{
PathAddBackslashW
(
tmpBuf
);
lstrcatW
(
tmpBuf
,
szwStar
);
lstrcatW
(
tmpBuf
,
L"*"
);
}
result
=
GetFullPathNameW
(
tmpBuf
,
MAX_PATH
,
tmpBuf2
,
&
nameBit
);
if
(
result
)
{
...
...
@@ -1730,9 +1717,8 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
if
(
!
handledPath
&&
(
!
fodInfos
->
initdir
||
!*
fodInfos
->
initdir
))
{
/* 3. All except w2k+: if filename contains a path use it */
if
(
!
win2000plus
&&
fodInfos
->
filename
&&
*
fodInfos
->
filename
&&
wcspbrk
(
fodInfos
->
filename
,
szwSlash
))
{
if
(
!
win2000plus
&&
fodInfos
->
filename
&&
*
fodInfos
->
filename
&&
wcspbrk
(
fodInfos
->
filename
,
L"
\\
"
))
{
WCHAR
tmpBuf
[
MAX_PATH
];
WCHAR
*
nameBit
;
DWORD
result
;
...
...
@@ -2173,15 +2159,14 @@ BOOL FILEDLG95_OnOpenMultipleFiles(HWND hwnd, LPWSTR lpstrFileList, UINT nFileCo
WCHAR
lpstrNotFound
[
100
];
WCHAR
lpstrMsg
[
100
];
WCHAR
tmp
[
400
];
static
const
WCHAR
nl
[]
=
{
'\n'
,
0
};
LoadStringW
(
COMDLG32_hInstance
,
IDS_FILENOTFOUND
,
lpstrNotFound
,
100
);
LoadStringW
(
COMDLG32_hInstance
,
IDS_VERIFYFILE
,
lpstrMsg
,
100
);
lstrcpyW
(
tmp
,
lpstrTemp
);
lstrcatW
(
tmp
,
nl
);
lstrcatW
(
tmp
,
L"
\n
"
);
lstrcatW
(
tmp
,
lpstrNotFound
);
lstrcatW
(
tmp
,
nl
);
lstrcatW
(
tmp
,
L"
\n
"
);
lstrcatW
(
tmp
,
lpstrMsg
);
MessageBoxW
(
hwnd
,
tmp
,
fodInfos
->
title
,
MB_OK
|
MB_ICONEXCLAMATION
);
...
...
@@ -2265,13 +2250,14 @@ static WCHAR FILEDLG95_MRU_get_slot(LPCWSTR module_name, LPWSTR stored_path, PHK
if
(
stored_path
)
*
stored_path
=
'\0'
;
ret
=
RegCreateKeyW
(
HKEY_CURRENT_USER
,
LastVisitedMRUW
,
hkey
);
ret
=
RegCreateKeyW
(
HKEY_CURRENT_USER
,
L"Software
\\
Microsoft
\\
Windows
\\
CurrentVersion
\\
Explorer
\\
ComDlg32
\\
LastVisitedMRU"
,
hkey
);
if
(
ret
){
WARN
(
"Unable to create MRU key: %d
\n
"
,
ret
);
return
0
;
}
ret
=
RegGetValueW
(
*
hkey
,
NULL
,
MRUListW
,
RRF_RT_REG_SZ
,
&
key_type
,
ret
=
RegGetValueW
(
*
hkey
,
NULL
,
L"MRUList"
,
RRF_RT_REG_SZ
,
&
key_type
,
(
LPBYTE
)
mru_list
,
&
mru_list_size
);
if
(
ret
||
key_type
!=
REG_SZ
){
if
(
ret
==
ERROR_FILE_NOT_FOUND
)
...
...
@@ -2378,7 +2364,7 @@ static void FILEDLG95_MRU_save_filename(LPCWSTR filename)
WCHAR
*
old_mru_slot
,
*
new_mru_slot
=
new_mru_list
;
DWORD
mru_list_size
=
sizeof
(
old_mru_list
),
key_type
;
ret
=
RegGetValueW
(
hkey
,
NULL
,
MRUListW
,
RRF_RT_ANY
,
&
key_type
,
ret
=
RegGetValueW
(
hkey
,
NULL
,
L"MRUList"
,
RRF_RT_ANY
,
&
key_type
,
(
LPBYTE
)
old_mru_list
,
&
mru_list_size
);
if
(
ret
||
key_type
!=
REG_SZ
){
if
(
ret
==
ERROR_FILE_NOT_FOUND
){
...
...
@@ -2400,7 +2386,7 @@ static void FILEDLG95_MRU_save_filename(LPCWSTR filename)
*
new_mru_slot
=
'\0'
;
}
ret
=
RegSetValueExW
(
hkey
,
MRUListW
,
0
,
REG_SZ
,
(
LPBYTE
)
new_mru_list
,
ret
=
RegSetValueExW
(
hkey
,
L"MRUList"
,
0
,
REG_SZ
,
(
LPBYTE
)
new_mru_list
,
(
lstrlenW
(
new_mru_list
)
+
1
)
*
sizeof
(
WCHAR
));
if
(
ret
){
WARN
(
"Error saving MRUList data: %d
\n
"
,
ret
);
...
...
@@ -2449,10 +2435,9 @@ int FILEDLG95_ValidatePathAction(LPWSTR lpstrPathAndFile, IShellFolder **ppsf,
int
nOpenAction
=
defAction
;
LPWSTR
lpszTemp
,
lpszTemp1
;
LPITEMIDLIST
pidl
=
NULL
;
static
const
WCHAR
szwInvalid
[]
=
{
'/'
,
':'
,
'<'
,
'>'
,
'|'
,
0
};
/* check for invalid chars */
if
((
wcspbrk
(
lpstrPathAndFile
+
3
,
szwInvalid
)
!=
NULL
)
&&
!
(
flags
&
OFN_NOVALIDATE
))
if
((
wcspbrk
(
lpstrPathAndFile
+
3
,
L"/:<>|"
)
!=
NULL
)
&&
!
(
flags
&
OFN_NOVALIDATE
))
{
FILEDLG95_OnOpenMessage
(
hwnd
,
IDS_INVALID_FILENAME_TITLE
,
IDS_INVALID_FILENAME
);
return
FALSE
;
...
...
@@ -2479,9 +2464,8 @@ int FILEDLG95_ValidatePathAction(LPWSTR lpstrPathAndFile, IShellFolder **ppsf,
/* There are no wildcards when OFN_NOVALIDATE is set */
if
(
*
lpszTemp
==
0
&&
!
(
flags
&
OFN_NOVALIDATE
))
{
static
const
WCHAR
wszWild
[]
=
{
'*'
,
'?'
,
0
};
/* if the last element is a wildcard do a search */
if
(
wcspbrk
(
lpszTemp1
,
wszWild
)
!=
NULL
)
if
(
wcspbrk
(
lpszTemp1
,
L"*?"
)
!=
NULL
)
{
nOpenAction
=
ONOPEN_SEARCH
;
break
;
...
...
@@ -2722,7 +2706,6 @@ BOOL FILEDLG95_OnOpen(HWND hwnd)
WCHAR
*
filterExt
=
NULL
;
LPWSTR
lpstrFilter
=
NULL
;
static
const
WCHAR
szwDot
[]
=
{
'.'
,
0
};
int
PathLength
=
lstrlenW
(
lpstrPathAndFile
);
/*Get the file extension from file type filter*/
...
...
@@ -2769,7 +2752,7 @@ BOOL FILEDLG95_OnOpen(HWND hwnd)
if
(
*
filterExt
)
/* ignore filterExt="" */
{
/* Attach the dot*/
lstrcatW
(
lpstrPathAndFile
,
szwDot
);
lstrcatW
(
lpstrPathAndFile
,
L"."
);
/* Attach the extension */
lstrcatW
(
lpstrPathAndFile
,
filterExt
);
}
...
...
@@ -3285,17 +3268,12 @@ static void FILEDLG95_FILETYPE_Clean(HWND hwnd)
*/
static
inline
BOOL
FILEDLG95_unixfs_is_rooted_at_desktop
(
void
)
{
HKEY
hKey
;
static
const
WCHAR
wszRootedAtDesktop
[]
=
{
'S'
,
'o'
,
'f'
,
't'
,
'w'
,
'a'
,
'r'
,
'e'
,
'\\'
,
'M'
,
'i'
,
'c'
,
'r'
,
'o'
,
's'
,
'o'
,
'f'
,
't'
,
'\\'
,
'W'
,
'i'
,
'n'
,
'd'
,
'o'
,
'w'
,
's'
,
'\\'
,
'C'
,
'u'
,
'r'
,
'r'
,
'e'
,
'n'
,
't'
,
'V'
,
'e'
,
'r'
,
's'
,
'i'
,
'o'
,
'n'
,
'\\'
,
'E'
,
'x'
,
'p'
,
'l'
,
'o'
,
'r'
,
'e'
,
'r'
,
'\\'
,
'D'
,
'e'
,
's'
,
'k'
,
't'
,
'o'
,
'p'
,
'\\'
,
'N'
,
'a'
,
'm'
,
'e'
,
'S'
,
'p'
,
'a'
,
'c'
,
'e'
,
'\\'
,
'{'
,
'9'
,
'D'
,
'2'
,
'0'
,
'A'
,
'A'
,
'E'
,
'8'
,
'-'
,
'0'
,
'6'
,
'2'
,
'5'
,
'-'
,
'4'
,
'4'
,
'B'
,
'0'
,
'-'
,
'9'
,
'C'
,
'A'
,
'7'
,
'-'
,
'7'
,
'1'
,
'8'
,
'8'
,
'9'
,
'C'
,
'2'
,
'2'
,
'5'
,
'4'
,
'D'
,
'9'
,
'}'
,
0
};
if
(
RegOpenKeyExW
(
HKEY_LOCAL_MACHINE
,
wszRootedAtDesktop
,
0
,
KEY_READ
,
&
hKey
)
!=
ERROR_SUCCESS
)
if
(
RegOpenKeyExW
(
HKEY_LOCAL_MACHINE
,
L"Software
\\
Microsoft
\\
Windows
\\
CurrentVersion
\\
Explorer
\\
Desktop
\\
NameSpace
\\
"
"{9D20AAE8-0625-44B0-9CA7-71889C2254D9}"
,
0
,
KEY_READ
,
&
hKey
)
!=
ERROR_SUCCESS
)
return
FALSE
;
RegCloseKey
(
hKey
);
return
TRUE
;
}
...
...
@@ -4331,7 +4309,6 @@ short WINAPI GetFileTitleA(LPCSTR lpFile, LPSTR lpTitle, WORD cbBuf)
short
WINAPI
GetFileTitleW
(
LPCWSTR
lpFile
,
LPWSTR
lpTitle
,
WORD
cbBuf
)
{
int
i
,
len
;
static
const
WCHAR
brkpoint
[]
=
{
'*'
,
'['
,
']'
,
0
};
TRACE
(
"(%p %p %d);
\n
"
,
lpFile
,
lpTitle
,
cbBuf
);
if
(
lpFile
==
NULL
||
lpTitle
==
NULL
)
...
...
@@ -4342,7 +4319,7 @@ short WINAPI GetFileTitleW(LPCWSTR lpFile, LPWSTR lpTitle, WORD cbBuf)
if
(
len
==
0
)
return
-
1
;
if
(
wcspbrk
(
lpFile
,
brkpoint
))
if
(
wcspbrk
(
lpFile
,
L"*[]"
))
return
-
1
;
len
--
;
...
...
dlls/comdlg32/filedlg31.c
View file @
b97542ce
...
...
@@ -43,9 +43,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(commdlg);
#define BUFFILE 512
#define BUFFILEALLOC 512 * sizeof(WCHAR)
static
const
WCHAR
FILE_star
[]
=
{
'*'
,
'.'
,
'*'
,
0
};
static
const
WCHAR
FILE_bslash
[]
=
{
'\\'
,
0
};
static
const
WCHAR
FILE_specc
[]
=
{
'%'
,
'c'
,
':'
,
0
};
static
const
int
fldrHeight
=
16
;
static
const
int
fldrWidth
=
20
;
...
...
@@ -167,7 +164,7 @@ static LPCWSTR FD31_GetFileType(LPCWSTR cfptr, LPCWSTR fptr, const WORD index)
return
fptr
;
fptr
+=
lstrlenW
(
fptr
)
+
1
;
}
return
FILE_star
;
/* FIXME */
return
L"*.*"
;
/* FIXME */
}
/***********************************************************************
...
...
@@ -210,7 +207,7 @@ static BOOL FD31_ScanDir(const OPENFILENAMEW *ofn, HWND hWnd, LPCWSTR newPath)
}
/* list of directories */
lstrcpyW
(
buffer
,
FILE_star
);
lstrcpyW
(
buffer
,
L"*.*"
);
if
(
GetDlgItem
(
hWnd
,
lst2
)
!=
0
)
{
lRet
=
DlgDirListW
(
hWnd
,
buffer
,
lst2
,
stc1
,
DDL_EXCLUSIVE
|
DDL_DIRECTORY
);
...
...
@@ -429,7 +426,7 @@ static LRESULT FD31_DirListDblClick( const FD31_DATA *lfs )
tmpstr
[
lstrlenW
(
tmpstr
)
-
1
]
=
0
;
lstrcpyW
(
tmpstr
,
tmpstr
+
1
);
}
lstrcatW
(
tmpstr
,
FILE_bslash
);
lstrcatW
(
tmpstr
,
L"
\\
"
);
FD31_ScanDir
(
lfs
->
ofnW
,
hWnd
,
tmpstr
);
/* notify the app */
...
...
@@ -515,7 +512,7 @@ static LRESULT FD31_TestPath( const FD31_DATA *lfs, LPWSTR path )
pstr2
=
path
+
lstrlenW
(
path
);
if
(
pBeginFileName
==
NULL
||
*
(
pBeginFileName
+
1
)
!=
0
)
lstrcatW
(
path
,
FILE_bslash
);
lstrcatW
(
path
,
L"
\\
"
);
/* if ScanDir succeeds, we have changed the directory */
if
(
FD31_ScanDir
(
lfs
->
ofnW
,
hWnd
,
path
))
...
...
@@ -627,7 +624,7 @@ static LRESULT FD31_DiskChange( const FD31_DATA *lfs )
pstr
=
heap_alloc
(
BUFFILEALLOC
);
SendDlgItemMessageW
(
hWnd
,
cmb2
,
CB_GETLBTEXT
,
lRet
,
(
LPARAM
)
pstr
);
wsprintfW
(
diskname
,
FILE_specc
,
pstr
[
2
]);
wsprintfW
(
diskname
,
L"%c:"
,
pstr
[
2
]);
heap_free
(
pstr
);
return
FD31_Validate
(
lfs
,
diskname
,
cmb2
,
lRet
,
TRUE
);
...
...
dlls/comdlg32/fontdlg.c
View file @
b97542ce
...
...
@@ -47,11 +47,8 @@ typedef struct
}
CFn_ENUMSTRUCT
,
*
LPCFn_ENUMSTRUCT
;
static
const
WCHAR
strWineFontData
[]
=
{
'_'
,
'_'
,
'W'
,
'I'
,
'N'
,
'E'
,
'_'
,
'F'
,
'O'
,
'N'
,
'T'
,
'D'
,
'L'
,
'G'
,
'D'
,
'A'
,
'T'
,
'A'
,
0
};
static
const
WCHAR
strWineFontData_a
[]
=
{
'_'
,
'_'
,
'W'
,
'I'
,
'N'
,
'E'
,
'_'
,
'F'
,
'O'
,
'N'
,
'T'
,
'D'
,
'L'
,
'G'
,
'D'
,
'A'
,
'T'
,
'A'
,
'_'
,
'A'
,
0
};
static
const
WCHAR
chooseFontW
[]
=
{
'C'
,
'H'
,
'O'
,
'O'
,
'S'
,
'E'
,
'_'
,
'F'
,
'O'
,
'N'
,
'T'
,
0
};
static
const
WCHAR
fontsizefmtW
[]
=
{
'%'
,
'd'
,
0
};
static
const
WCHAR
strWineFontData
[]
=
L"__WINE_FONTDLGDATA"
;
static
const
WCHAR
strWineFontData_a
[]
=
L"__WINE_FONTDLGDATA_A"
;
/* image list with TrueType bitmaps and more */
static
HIMAGELIST
himlTT
=
0
;
...
...
@@ -67,43 +64,37 @@ static INT_PTR CALLBACK FormatCharDlgProcW(HWND hDlg, UINT uMsg, WPARAM wParam,
#define CI(cs) ((IDS_CHARSET_##cs)-IDS_CHARSET_ANSI)
static
const
WCHAR
stWestern
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
'Y'
,
'y'
,
'Z'
,
'z'
,
0
};
/* Western and default */
static
const
WCHAR
stSymbol
[]
=
{
'S'
,
'y'
,
'm'
,
'b'
,
'o'
,
'l'
,
0
};
/* Symbol */
static
const
WCHAR
stShiftJis
[]
=
{
'A'
,
'a'
,
0x3042
,
0x3041
,
0x30a2
,
0x30a1
,
0x4e9c
,
0x5b87
,
0
};
/* Shift JIS */
static
const
WCHAR
stHangul
[]
=
{
0xac00
,
0xb098
,
0xb2e4
,
'A'
,
'a'
,
'B'
,
'Y'
,
'y'
,
'Z'
,
'z'
,
0
};
/* Hangul */
static
const
WCHAR
stGB2312
[]
=
{
0x5fae
,
0x8f6f
,
0x4e2d
,
0x6587
,
0x8f6f
,
0x4ef6
,
0
};
/* GB2312 */
static
const
WCHAR
stBIG5
[]
=
{
0x4e2d
,
0x6587
,
0x5b57
,
0x578b
,
0x7bc4
,
0x4f8b
,
0
};
/* BIG5 */
static
const
WCHAR
stGreek
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0x0391
,
0x03b1
,
0x0392
,
0x03b2
,
0
};
/* Greek */
static
const
WCHAR
stTurkish
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0x011e
,
0x011f
,
0x015e
,
0x015f
,
0
};
/* Turkish */
static
const
WCHAR
stHebrew
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0x05e0
,
0x05e1
,
0x05e9
,
0x05ea
,
0
};
/* Hebrew */
static
const
WCHAR
stArabic
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0x0627
,
0x0628
,
0x062c
,
0x062f
,
0x0647
,
0x0648
,
0x0632
,
0
};
/* Arabic */
static
const
WCHAR
stBaltic
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
'Y'
,
'y'
,
'Z'
,
'z'
,
0
};
/* Baltic */
static
const
WCHAR
stVietname
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0x01a0
,
0x01a1
,
0x01af
,
0x01b0
,
0
};
/* Vietnamese */
static
const
WCHAR
stCyrillic
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0x0411
,
0x0431
,
0x0424
,
0x0444
,
0
};
/* Cyrillic */
static
const
WCHAR
stEastEur
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0xc1
,
0xe1
,
0xd4
,
0xf4
,
0
};
/* East European */
static
const
WCHAR
stThai
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0x0e2d
,
0x0e31
,
0x0e01
,
0x0e29
,
0x0e23
,
0x0e44
,
0x0e17
,
0x0e22
,
0
};
/* Thai */
static
const
WCHAR
stJohab
[]
=
{
0xac00
,
0xb098
,
0xb2e4
,
'A'
,
'a'
,
'B'
,
'Y'
,
'y'
,
'Z'
,
'z'
,
0
};
/* Johab */
static
const
WCHAR
stMac
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
'Y'
,
'y'
,
'Z'
,
'z'
,
0
};
/* Mac */
static
const
WCHAR
stOEM
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0xf8
,
0xf1
,
0xfd
,
0
};
/* OEM */
/* the following character sets actually behave different (Win2K observation):
* the sample string is 'sticky': it uses the sample string of the previous
* selected character set. That behaviour looks like some default, which is
* not (yet) implemented. */
static
const
WCHAR
stVISCII
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0
};
/* VISCII */
static
const
WCHAR
stTCVN
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0
};
/* TCVN */
static
const
WCHAR
stKOI8
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0
};
/* KOI-8 */
static
const
WCHAR
stIso88593
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0
};
/* ISO-8859-3 */
static
const
WCHAR
stIso88594
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0
};
/* ISO-8859-4 */
static
const
WCHAR
stIso885910
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0
};
/* ISO-8859-10 */
static
const
WCHAR
stCeltic
[]
=
{
'A'
,
'a'
,
'B'
,
'b'
,
0
};
/* Celtic */
static
const
WCHAR
*
const
sample_lang_text
[]
=
{
stWestern
,
stSymbol
,
stShiftJis
,
stHangul
,
stGB2312
,
stBIG5
,
stGreek
,
stTurkish
,
stHebrew
,
stArabic
,
stBaltic
,
stVietname
,
stCyrillic
,
stEastEur
,
stThai
,
stJohab
,
stMac
,
stOEM
,
stVISCII
,
stTCVN
,
stKOI8
,
stIso88593
,
stIso88594
,
stIso885910
,
stCeltic
};
L"AaBbYyZz"
,
/* Western and default */
L"Symbol"
,
/* Symbol */
L"Aa
\x3042\x3041\x30a2\x30a1\x4e9c\x5b87
"
,
/* Shift JIS */
L"
\xac00\xb098\xb2e4
"
"AaBYyZz"
,
/* Hangul */
L"
\x5fae\x8f6f\x4e2d\x6587\x8f6f\x4ef6
"
,
/* GB2312 */
L"
\x4e2d\x6587\x5b57\x578b\x7bc4\x4f8b
"
,
/* BIG5 */
L"AaBb
\x0391\x03b1\x0392\x03b2
"
,
/* Greek */
L"AaBb
\x011e\x011f\x015e\x015f
"
,
/* Turkish */
L"AaBb
\x05e0\x05e1\x05e9\x05ea
"
,
/* Hebrew */
L"AaBb
\x0627\x0628\x062c\x062f\x0647\x0648\x0632
"
,
/* Arabic */
L"AaBbYyZz"
,
/* Baltic */
L"AaBb
\x01a0\x01a1\x01af\x01b0
"
,
/* Vietnamese */
L"AaBb
\x0411\x0431\x0424\x0444
"
,
/* Cyrillic */
L"AaBb
\x00c1\x00e1\x00d4\x00f4
"
,
/* East European */
L"AaBb
\x0e2d\x0e31\x0e01\x0e29\x0e23\x0e44\x0e17\x0e22
"
,
/* Thai */
L"
\xac00\xb098\xb2e4
"
"AaBYyZz"
,
/* Johab */
L"AaBbYyZz"
,
/* Mac */
L"AaBb
\x00f8\x00f1\x00fd
"
,
/* OEM */
/* the following character sets actually behave different (Win2K observation):
* the sample string is 'sticky': it uses the sample string of the previous
* selected character set. That behaviour looks like some default, which is
* not (yet) implemented. */
L"AaBb"
,
/* VISCII */
L"AaBb"
,
/* TCVN */
L"AaBb"
,
/* KOI-8 */
L"AaBb"
,
/* ISO-8859-3 */
L"AaBb"
,
/* ISO-8859-4 */
L"AaBb"
,
/* ISO-8859-10 */
L"AaBb"
/* Celtic */
};
static
const
BYTE
CHARSET_ORDER
[
256
]
=
{
...
...
@@ -207,7 +198,7 @@ BOOL WINAPI ChooseFontW(LPCHOOSEFONTW lpChFont)
}
else
{
hDlginst
=
COMDLG32_hInstance
;
if
(
!
(
hResInfo
=
FindResourceW
(
hDlginst
,
chooseFontW
,
(
LPWSTR
)
RT_DIALOG
)))
if
(
!
(
hResInfo
=
FindResourceW
(
hDlginst
,
L"CHOOSE_FONT"
,
(
LPWSTR
)
RT_DIALOG
)))
{
COMDLG32_SetCommDlgExtendedError
(
CDERR_FINDRESFAILURE
);
return
FALSE
;
...
...
@@ -261,7 +252,7 @@ BOOL WINAPI ChooseFontA(LPCHOOSEFONTA lpChFont)
}
else
{
hDlginst
=
COMDLG32_hInstance
;
if
(
!
(
hResInfo
=
FindResourceW
(
hDlginst
,
chooseFontW
,
(
LPWSTR
)
RT_DIALOG
)))
if
(
!
(
hResInfo
=
FindResourceW
(
hDlginst
,
L"CHOOSE_FONT"
,
(
LPWSTR
)
RT_DIALOG
)))
{
COMDLG32_SetCommDlgExtendedError
(
CDERR_FINDRESFAILURE
);
return
FALSE
;
...
...
@@ -422,7 +413,7 @@ static BOOL AddFontSizeToCombo3(HWND hwnd, UINT h, const CHOOSEFONTW *lpcf)
if
(
(
!
(
lpcf
->
Flags
&
CF_LIMITSIZE
))
||
((
lpcf
->
Flags
&
CF_LIMITSIZE
)
&&
(
h
>=
lpcf
->
nSizeMin
)
&&
(
h
<=
lpcf
->
nSizeMax
)))
{
swprintf
(
buffer
,
ARRAY_SIZE
(
buffer
),
fontsizefmtW
,
h
);
swprintf
(
buffer
,
ARRAY_SIZE
(
buffer
),
L"%d"
,
h
);
j
=
SendMessageW
(
hwnd
,
CB_FINDSTRINGEXACT
,
-
1
,
(
LPARAM
)
buffer
);
if
(
j
==
CB_ERR
)
{
...
...
@@ -625,7 +616,6 @@ static LRESULT CFn_WMInitDialog(HWND hDlg, LPARAM lParam, LPCHOOSEFONTW lpcf)
CFn_ENUMSTRUCT
s
;
LPLOGFONTW
lpxx
;
HCURSOR
hcursor
=
SetCursor
(
LoadCursorW
(
0
,(
LPWSTR
)
IDC_WAIT
));
static
const
WCHAR
strColorName
[]
=
{
'['
,
'c'
,
'o'
,
'l'
,
'o'
,
'r'
,
' '
,
'n'
,
'a'
,
'm'
,
'e'
,
']'
,
0
};
SetPropW
(
hDlg
,
strWineFontData
,
lpcf
);
lpxx
=
lpcf
->
lpLogFont
;
...
...
@@ -662,11 +652,8 @@ static LRESULT CFn_WMInitDialog(HWND hDlg, LPARAM lParam, LPCHOOSEFONTW lpcf)
{
WCHAR
name
[
30
];
if
(
LoadStringW
(
COMDLG32_hInstance
,
IDS_COLOR_BLACK
+
i
,
name
,
ARRAY_SIZE
(
name
))
==
0
)
{
memcpy
(
name
,
strColorName
,
sizeof
(
strColorName
));
}
if
(
LoadStringW
(
COMDLG32_hInstance
,
IDS_COLOR_BLACK
+
i
,
name
,
ARRAY_SIZE
(
name
))
==
0
)
lstrcpyW
(
name
,
L"[color name]"
);
j
=
SendDlgItemMessageW
(
hDlg
,
cmb4
,
CB_ADDSTRING
,
0
,
(
LPARAM
)
name
);
SendDlgItemMessageW
(
hDlg
,
cmb4
,
CB_SETITEMDATA
,
j
,
textcolors
[
i
]);
/* look for a fitting value in color combobox */
...
...
dlls/comdlg32/itemdlg.c
View file @
b97542ce
...
...
@@ -48,10 +48,6 @@ DEFINE_GUID(IID_IFileDialogCustomizeAlt, 0x8016B7B3, 0x3D49, 0x4504, 0xA0,0xAA,
WINE_DEFAULT_DEBUG_CHANNEL
(
commdlg
);
static
const
WCHAR
notifysink_childW
[]
=
{
'n'
,
'f'
,
's'
,
'_'
,
'c'
,
'h'
,
'i'
,
'l'
,
'd'
,
0
};
static
const
WCHAR
floatnotifysinkW
[]
=
{
'F'
,
'l'
,
'o'
,
'a'
,
't'
,
'N'
,
'o'
,
't'
,
'i'
,
'f'
,
'y'
,
'S'
,
'i'
,
'n'
,
'k'
,
0
};
static
const
WCHAR
radiobuttonlistW
[]
=
{
'R'
,
'a'
,
'd'
,
'i'
,
'o'
,
'B'
,
'u'
,
't'
,
't'
,
'o'
,
'n'
,
'L'
,
'i'
,
's'
,
't'
,
0
};
enum
ITEMDLG_TYPE
{
ITEMDLG_TYPE_OPEN
,
ITEMDLG_TYPE_SAVE
...
...
@@ -555,8 +551,6 @@ static HRESULT on_default_action(FileDialogImpl *This)
/* Add the proper extension */
if
(
open_action
==
ONOPEN_OPEN
)
{
static
const
WCHAR
dotW
[]
=
{
'.'
,
0
};
if
(
This
->
dlg_type
==
ITEMDLG_TYPE_SAVE
)
{
WCHAR
extbuf
[
MAX_PATH
],
*
newext
=
NULL
;
...
...
@@ -567,7 +561,7 @@ static HRESULT on_default_action(FileDialogImpl *This)
}
else
if
(
This
->
default_ext
)
{
lstrcpyW
(
extbuf
,
dotW
);
lstrcpyW
(
extbuf
,
L"."
);
lstrcatW
(
extbuf
,
This
->
default_ext
);
newext
=
extbuf
;
}
...
...
@@ -586,7 +580,7 @@ static HRESULT on_default_action(FileDialogImpl *This)
{
if
(
This
->
default_ext
)
{
lstrcatW
(
canon_filename
,
dotW
);
lstrcatW
(
canon_filename
,
L"."
);
lstrcatW
(
canon_filename
,
This
->
default_ext
);
if
(
!
PathFileExistsW
(
canon_filename
))
...
...
@@ -1122,7 +1116,7 @@ static LRESULT CALLBACK notifysink_proc(HWND hwnd, UINT message, WPARAM wparam,
case
WM_COMMAND
:
return
notifysink_on_wm_command
(
This
,
hwnd
,
wparam
,
lparam
);
case
WM_NOTIFY
:
return
notifysink_on_wm_notify
(
This
,
hwnd
,
wparam
,
lparam
);
case
WM_SIZE
:
hwnd_child
=
GetPropW
(
hwnd
,
notifysink_childW
);
hwnd_child
=
GetPropW
(
hwnd
,
L"nfs_child"
);
ctrl
=
(
customctrl
*
)
GetWindowLongPtrW
(
hwnd_child
,
GWLP_USERDATA
);
if
(
ctrl
&&
ctrl
->
type
!=
IDLG_CCTRL_VISUALGROUP
)
{
...
...
@@ -1151,7 +1145,7 @@ static HRESULT cctrl_create_new(FileDialogImpl *This, DWORD id,
else
parent_hwnd
=
This
->
cctrls_hwnd
;
ns_hwnd
=
CreateWindowExW
(
0
,
floatnotifysinkW
,
NULL
,
wsflags
,
ns_hwnd
=
CreateWindowExW
(
0
,
L"FloatNotifySink"
,
NULL
,
wsflags
,
0
,
0
,
This
->
cctrl_width
,
height
,
parent_hwnd
,
(
HMENU
)
This
->
cctrl_next_dlgid
,
COMDLG32_hInstance
,
This
);
control_hwnd
=
CreateWindowExW
(
ctrl_exflags
,
wndclass
,
text
,
wsflags
|
ctrl_wsflags
,
...
...
@@ -1167,7 +1161,7 @@ static HRESULT cctrl_create_new(FileDialogImpl *This, DWORD id,
return
E_FAIL
;
}
SetPropW
(
ns_hwnd
,
notifysink_childW
,
control_hwnd
);
SetPropW
(
ns_hwnd
,
L"nfs_child"
,
control_hwnd
);
ctrl
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
customctrl
));
if
(
!
ctrl
)
...
...
@@ -1492,8 +1486,7 @@ static HRESULT init_custom_controls(FileDialogImpl *This)
{
WNDCLASSW
wc
;
HDC
hdc
;
static
const
WCHAR
ctrl_container_classname
[]
=
{
'i'
,
'd'
,
'l'
,
'g'
,
'_'
,
'c'
,
'o'
,
'n'
,
't'
,
'a'
,
'i'
,
'n'
,
'e'
,
'r'
,
'_'
,
'p'
,
'a'
,
'n'
,
'e'
,
0
};
static
const
WCHAR
ctrl_container_classname
[]
=
L"idlg_container_pane"
;
InitCommonControlsEx
(
NULL
);
...
...
@@ -1537,7 +1530,7 @@ static HRESULT init_custom_controls(FileDialogImpl *This)
SetWindowLongW
(
This
->
cctrls_hwnd
,
GWL_STYLE
,
WS_TABSTOP
);
/* Register class for */
if
(
!
GetClassInfoW
(
COMDLG32_hInstance
,
floatnotifysinkW
,
&
wc
)
||
if
(
!
GetClassInfoW
(
COMDLG32_hInstance
,
L"FloatNotifySink"
,
&
wc
)
||
wc
.
hInstance
!=
COMDLG32_hInstance
)
{
wc
.
style
=
CS_HREDRAW
|
CS_VREDRAW
;
...
...
@@ -1549,13 +1542,13 @@ static HRESULT init_custom_controls(FileDialogImpl *This)
wc
.
hCursor
=
LoadCursorW
(
0
,
(
LPWSTR
)
IDC_ARROW
);
wc
.
hbrBackground
=
(
HBRUSH
)(
COLOR_BTNFACE
+
1
);
wc
.
lpszMenuName
=
NULL
;
wc
.
lpszClassName
=
floatnotifysinkW
;
wc
.
lpszClassName
=
L"FloatNotifySink"
;
if
(
!
RegisterClassW
(
&
wc
))
ERR
(
"Failed to register FloatNotifySink window class.
\n
"
);
}
if
(
!
GetClassInfoW
(
COMDLG32_hInstance
,
radiobuttonlistW
,
&
wc
)
||
if
(
!
GetClassInfoW
(
COMDLG32_hInstance
,
L"RadioButtonList"
,
&
wc
)
||
wc
.
hInstance
!=
COMDLG32_hInstance
)
{
wc
.
style
=
CS_HREDRAW
|
CS_VREDRAW
;
...
...
@@ -1567,7 +1560,7 @@ static HRESULT init_custom_controls(FileDialogImpl *This)
wc
.
hCursor
=
LoadCursorW
(
0
,
(
LPWSTR
)
IDC_ARROW
);
wc
.
hbrBackground
=
(
HBRUSH
)(
COLOR_BTNFACE
+
1
);
wc
.
lpszMenuName
=
NULL
;
wc
.
lpszClassName
=
radiobuttonlistW
;
wc
.
lpszClassName
=
L"RadioButtonList"
;
if
(
!
RegisterClassW
(
&
wc
))
ERR
(
"Failed to register RadioButtonList window class.
\n
"
);
...
...
@@ -1970,12 +1963,9 @@ static void update_control_text(FileDialogImpl *This)
static
LRESULT
CALLBACK
dropdown_subclass_proc
(
HWND
hwnd
,
UINT
umessage
,
WPARAM
wparam
,
LPARAM
lparam
)
{
static
const
WCHAR
prop_this
[]
=
{
'i'
,
't'
,
'e'
,
'm'
,
'd'
,
'l'
,
'g'
,
'_'
,
'T'
,
'h'
,
'i'
,
's'
,
0
};
static
const
WCHAR
prop_oldwndproc
[]
=
{
'i'
,
't'
,
'e'
,
'm'
,
'd'
,
'l'
,
'g'
,
'_'
,
'o'
,
'l'
,
'd'
,
'w'
,
'n'
,
'd'
,
'p'
,
'r'
,
'o'
,
'c'
,
0
};
if
(
umessage
==
WM_LBUTTONDOWN
)
{
FileDialogImpl
*
This
=
GetPropW
(
hwnd
,
prop_this
);
FileDialogImpl
*
This
=
GetPropW
(
hwnd
,
L"itemdlg_This"
);
SendMessageW
(
hwnd
,
BM_SETCHECK
,
BST_CHECKED
,
0
);
show_opendropdown
(
This
);
...
...
@@ -1984,7 +1974,7 @@ static LRESULT CALLBACK dropdown_subclass_proc(HWND hwnd, UINT umessage, WPARAM
return
0
;
}
return
CallWindowProcW
((
WNDPROC
)
GetPropW
(
hwnd
,
prop_oldwndproc
),
hwnd
,
umessage
,
wparam
,
lparam
);
return
CallWindowProcW
((
WNDPROC
)
GetPropW
(
hwnd
,
L"itemdlg_oldwndproc"
),
hwnd
,
umessage
,
wparam
,
lparam
);
}
static
LRESULT
on_wm_initdialog
(
HWND
hwnd
,
LPARAM
lParam
)
...
...
@@ -2047,9 +2037,6 @@ static LRESULT on_wm_initdialog(HWND hwnd, LPARAM lParam)
HWND
dropdown_hwnd
;
LOGFONTW
lfw
,
lfw_marlett
;
HFONT
dialog_font
;
static
const
WCHAR
marlett
[]
=
{
'M'
,
'a'
,
'r'
,
'l'
,
'e'
,
't'
,
't'
,
0
};
static
const
WCHAR
prop_this
[]
=
{
'i'
,
't'
,
'e'
,
'm'
,
'd'
,
'l'
,
'g'
,
'_'
,
'T'
,
'h'
,
'i'
,
's'
,
0
};
static
const
WCHAR
prop_oldwndproc
[]
=
{
'i'
,
't'
,
'e'
,
'm'
,
'd'
,
'l'
,
'g'
,
'_'
,
'o'
,
'l'
,
'd'
,
'w'
,
'n'
,
'd'
,
'p'
,
'r'
,
'o'
,
'c'
,
0
};
dropdown_hwnd
=
GetDlgItem
(
This
->
dlg_hwnd
,
psh1
);
...
...
@@ -2059,7 +2046,7 @@ static LRESULT on_wm_initdialog(HWND hwnd, LPARAM lParam)
GetObjectW
(
dialog_font
,
sizeof
(
lfw
),
&
lfw
);
memset
(
&
lfw_marlett
,
0
,
sizeof
(
lfw_marlett
));
lstrcpyW
(
lfw_marlett
.
lfFaceName
,
marlett
);
lstrcpyW
(
lfw_marlett
.
lfFaceName
,
L"Marlett"
);
lfw_marlett
.
lfHeight
=
lfw
.
lfHeight
;
lfw_marlett
.
lfCharSet
=
SYMBOL_CHARSET
;
...
...
@@ -2068,8 +2055,8 @@ static LRESULT on_wm_initdialog(HWND hwnd, LPARAM lParam)
SendMessageW
(
dropdown_hwnd
,
WM_SETFONT
,
(
LPARAM
)
This
->
hfont_opendropdown
,
0
);
/* Subclass button so we can handle LBUTTONDOWN */
SetPropW
(
dropdown_hwnd
,
prop_this
,
This
);
SetPropW
(
dropdown_hwnd
,
prop_oldwndproc
,
SetPropW
(
dropdown_hwnd
,
L"itemdlg_This"
,
This
);
SetPropW
(
dropdown_hwnd
,
L"itemdlg_oldwndproc"
,
(
HANDLE
)
SetWindowLongPtrW
(
dropdown_hwnd
,
GWLP_WNDPROC
,
(
LONG_PTR
)
dropdown_subclass_proc
));
}
...
...
@@ -3837,7 +3824,7 @@ static HRESULT WINAPI IFileDialogCustomize_fnAddRadioButtonList(IFileDialogCusto
HRESULT
hr
;
TRACE
(
"%p (%d)
\n
"
,
This
,
dwIDCtl
);
hr
=
cctrl_create_new
(
This
,
dwIDCtl
,
NULL
,
radiobuttonlistW
,
0
,
0
,
0
,
&
ctrl
);
hr
=
cctrl_create_new
(
This
,
dwIDCtl
,
NULL
,
L"RadioButtonList"
,
0
,
0
,
0
,
&
ctrl
);
if
(
SUCCEEDED
(
hr
))
{
ctrl
->
type
=
IDLG_CCTRL_RADIOBUTTONLIST
;
...
...
dlls/comdlg32/printdlg.c
View file @
b97542ce
...
...
@@ -141,13 +141,8 @@ static WNDPROC lpfnStaticWndProc;
static
WNDPROC
edit_wndproc
;
/* the text of the fake document to render for the Page Setup dialog */
static
WCHAR
wszFakeDocumentText
[
1024
];
static
const
WCHAR
pd32_collateW
[]
=
{
'P'
,
'D'
,
'3'
,
'2'
,
'_'
,
'C'
,
'O'
,
'L'
,
'L'
,
'A'
,
'T'
,
'E'
,
0
};
static
const
WCHAR
pd32_nocollateW
[]
=
{
'P'
,
'D'
,
'3'
,
'2'
,
'_'
,
'N'
,
'O'
,
'C'
,
'O'
,
'L'
,
'L'
,
'A'
,
'T'
,
'E'
,
0
};
static
const
WCHAR
pd32_portraitW
[]
=
{
'P'
,
'D'
,
'3'
,
'2'
,
'_'
,
'P'
,
'O'
,
'R'
,
'T'
,
'R'
,
'A'
,
'I'
,
'T'
,
0
};
static
const
WCHAR
pd32_landscapeW
[]
=
{
'P'
,
'D'
,
'3'
,
'2'
,
'_'
,
'L'
,
'A'
,
'N'
,
'D'
,
'S'
,
'C'
,
'A'
,
'P'
,
'E'
,
0
};
static
const
WCHAR
printdlg_prop
[]
=
{
'_'
,
'_'
,
'W'
,
'I'
,
'N'
,
'E'
,
'_'
,
'P'
,
'R'
,
'I'
,
'N'
,
'T'
,
'D'
,
'L'
,
'G'
,
'D'
,
'A'
,
'T'
,
'A'
,
0
};
static
const
WCHAR
pagesetupdlg_prop
[]
=
{
'_'
,
'_'
,
'W'
,
'I'
,
'N'
,
'E'
,
'_'
,
'P'
,
'A'
,
'G'
,
'E'
,
'S'
,
'E'
,
'T'
,
'U'
,
'P'
,
'D'
,
'L'
,
'G'
,
'D'
,
'A'
,
'T'
,
'A'
,
0
};
static
const
WCHAR
printdlg_prop
[]
=
L"__WINE_PRINTDLGDATA"
;
static
const
WCHAR
pagesetupdlg_prop
[]
=
L"__WINE_PAGESETUPDLGDATA"
;
static
LPWSTR
strdupW
(
LPCWSTR
p
)
...
...
@@ -735,7 +730,7 @@ static BOOL PRINTDLG_UpdatePrintDlgW(HWND hDlg,
lppd
->
Flags
&=
~
PD_SELECTION
;
if
(
IsDlgButtonChecked
(
hDlg
,
chx1
)
==
BST_CHECKED
)
{
/* Print to file */
static
WCHAR
file
[]
=
{
'F'
,
'I'
,
'L'
,
'E'
,
':'
,
0
}
;
static
WCHAR
file
[]
=
L"FILE:"
;
lppd
->
Flags
|=
PD_PRINTTOFILE
;
pi
->
pPortName
=
file
;
}
...
...
@@ -1039,7 +1034,6 @@ static void PRINTDLG_UpdatePrinterInfoTextsW(HWND hDlg, const PRINTER_INFO_2W *p
{
WCHAR
StatusMsg
[
256
];
WCHAR
ResourceString
[
256
];
static
const
WCHAR
emptyW
[]
=
{
0
};
int
i
;
/* Status Message */
...
...
@@ -1067,7 +1061,7 @@ static void PRINTDLG_UpdatePrinterInfoTextsW(HWND hDlg, const PRINTER_INFO_2W *p
SetDlgItemTextW
(
hDlg
,
stc14
,
pi
->
pLocation
);
else
SetDlgItemTextW
(
hDlg
,
stc14
,
pi
->
pPortName
);
SetDlgItemTextW
(
hDlg
,
stc13
,
pi
->
pComment
?
pi
->
pComment
:
emptyW
);
SetDlgItemTextW
(
hDlg
,
stc13
,
pi
->
pComment
?
pi
->
pComment
:
L""
);
}
...
...
@@ -1582,15 +1576,15 @@ static LRESULT PRINTDLG_WMInitDialogW(HWND hDlg,
/* We load these with LoadImage because they are not a standard
size and we don't want them rescaled */
PrintStructures
->
hCollateIcon
=
LoadImageW
(
COMDLG32_hInstance
,
pd32_collateW
,
IMAGE_ICON
,
0
,
0
,
0
);
LoadImageW
(
COMDLG32_hInstance
,
L"PD32_COLLATE"
,
IMAGE_ICON
,
0
,
0
,
0
);
PrintStructures
->
hNoCollateIcon
=
LoadImageW
(
COMDLG32_hInstance
,
pd32_nocollateW
,
IMAGE_ICON
,
0
,
0
,
0
);
LoadImageW
(
COMDLG32_hInstance
,
L"PD32_NOCOLLATE"
,
IMAGE_ICON
,
0
,
0
,
0
);
/* These can be done with LoadIcon */
PrintStructures
->
hPortraitIcon
=
LoadIconW
(
COMDLG32_hInstance
,
pd32_portraitW
);
LoadIconW
(
COMDLG32_hInstance
,
L"PD32_PORTRAIT"
);
PrintStructures
->
hLandscapeIcon
=
LoadIconW
(
COMDLG32_hInstance
,
pd32_landscapeW
);
LoadIconW
(
COMDLG32_hInstance
,
L"PD32_LANDSCAPE"
);
/* display the collate/no_collate icon */
SendDlgItemMessageW
(
hDlg
,
ico3
,
STM_SETIMAGE
,
IMAGE_ICON
,
...
...
@@ -2140,8 +2134,6 @@ static HGLOBAL PRINTDLG_GetDlgTemplateW(const PRINTDLGW *lppd)
{
HRSRC
hResInfo
;
HGLOBAL
hDlgTmpl
;
static
const
WCHAR
xpsetup
[]
=
{
'P'
,
'R'
,
'I'
,
'N'
,
'T'
,
'3'
,
'2'
,
'_'
,
'S'
,
'E'
,
'T'
,
'U'
,
'P'
,
0
};
static
const
WCHAR
xprint
[]
=
{
'P'
,
'R'
,
'I'
,
'N'
,
'T'
,
'3'
,
'2'
,
0
};
if
(
lppd
->
Flags
&
PD_PRINTSETUP
)
{
if
(
lppd
->
Flags
&
PD_ENABLESETUPTEMPLATEHANDLE
)
{
...
...
@@ -2151,7 +2143,7 @@ static HGLOBAL PRINTDLG_GetDlgTemplateW(const PRINTDLGW *lppd)
lppd
->
lpSetupTemplateName
,
(
LPWSTR
)
RT_DIALOG
);
hDlgTmpl
=
LoadResource
(
lppd
->
hInstance
,
hResInfo
);
}
else
{
hResInfo
=
FindResourceW
(
COMDLG32_hInstance
,
xpsetup
,
(
LPWSTR
)
RT_DIALOG
);
hResInfo
=
FindResourceW
(
COMDLG32_hInstance
,
L"PRINT32_SETUP"
,
(
LPWSTR
)
RT_DIALOG
);
hDlgTmpl
=
LoadResource
(
COMDLG32_hInstance
,
hResInfo
);
}
}
else
{
...
...
@@ -2163,7 +2155,7 @@ static HGLOBAL PRINTDLG_GetDlgTemplateW(const PRINTDLGW *lppd)
(
LPWSTR
)
RT_DIALOG
);
hDlgTmpl
=
LoadResource
(
lppd
->
hInstance
,
hResInfo
);
}
else
{
hResInfo
=
FindResourceW
(
COMDLG32_hInstance
,
xprint
,
(
LPWSTR
)
RT_DIALOG
);
hResInfo
=
FindResourceW
(
COMDLG32_hInstance
,
L"PRINT32"
,
(
LPWSTR
)
RT_DIALOG
);
hDlgTmpl
=
LoadResource
(
COMDLG32_hInstance
,
hResInfo
);
}
}
...
...
@@ -2608,7 +2600,7 @@ static WCHAR get_decimal_sep(void)
if
(
!
sep
)
{
WCHAR
buf
[]
=
{
'.'
,
0
}
;
WCHAR
buf
[]
=
L"."
;
GetLocaleInfoW
(
LOCALE_USER_DEFAULT
,
LOCALE_SDECIMAL
,
buf
,
ARRAY_SIZE
(
buf
));
sep
=
buf
[
0
];
}
...
...
@@ -2617,25 +2609,21 @@ static WCHAR get_decimal_sep(void)
static
void
size2str
(
const
pagesetup_data
*
data
,
DWORD
size
,
LPWSTR
strout
)
{
static
const
WCHAR
integer_fmt
[]
=
{
'%'
,
'd'
,
0
};
static
const
WCHAR
hundredths_fmt
[]
=
{
'%'
,
'd'
,
'%'
,
'c'
,
'%'
,
'0'
,
'2'
,
'd'
,
0
};
static
const
WCHAR
thousandths_fmt
[]
=
{
'%'
,
'd'
,
'%'
,
'c'
,
'%'
,
'0'
,
'3'
,
'd'
,
0
};
/* FIXME use LOCALE_SDECIMAL when the edit parsing code can cope */
if
(
is_metric
(
data
))
{
if
(
size
%
100
)
wsprintfW
(
strout
,
hundredths_fmt
,
size
/
100
,
get_decimal_sep
(),
size
%
100
);
wsprintfW
(
strout
,
L"%d%c%02d"
,
size
/
100
,
get_decimal_sep
(),
size
%
100
);
else
wsprintfW
(
strout
,
integer_fmt
,
size
/
100
);
wsprintfW
(
strout
,
L"%d"
,
size
/
100
);
}
else
{
if
(
size
%
1000
)
wsprintfW
(
strout
,
thousandths_fmt
,
size
/
1000
,
get_decimal_sep
(),
size
%
1000
);
wsprintfW
(
strout
,
L"%d%c%03d"
,
size
/
1000
,
get_decimal_sep
(),
size
%
1000
);
else
wsprintfW
(
strout
,
integer_fmt
,
size
/
1000
);
wsprintfW
(
strout
,
L"%d"
,
size
/
1000
);
}
}
...
...
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