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
13f19887
Commit
13f19887
authored
Mar 13, 2009
by
Ricardo Filipe
Committed by
Alexandre Julliard
Mar 25, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
comdlg32: Send CDN_INCLUDEITEM notification for each object in an Open/Save dialog.
parent
bcdf8f6e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
48 additions
and
3 deletions
+48
-3
filedlg.c
dlls/comdlg32/filedlg.c
+2
-3
filedlgbrowser.c
dlls/comdlg32/filedlgbrowser.c
+46
-0
No files found.
dlls/comdlg32/filedlg.c
View file @
13f19887
...
...
@@ -37,7 +37,7 @@
* FIXME: add to recent docs
*
* FIXME: flags not implemented: OFN_DONTADDTORECENT,
* OFN_ENABLE
INCLUDENOTIFY, OFN_ENABLE
SIZING,
* OFN_ENABLESIZING,
* OFN_NODEREFERENCELINKS, OFN_NOREADONLYRETURN,
* OFN_NOTESTFILECREATE, OFN_USEMONIKERS
*
...
...
@@ -82,8 +82,7 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
commdlg
);
#define UNIMPLEMENTED_FLAGS \
(OFN_DONTADDTORECENT |\
OFN_ENABLEINCLUDENOTIFY | OFN_ENABLESIZING |\
(OFN_DONTADDTORECENT | OFN_ENABLESIZING |\
OFN_NODEREFERENCELINKS | OFN_NOREADONLYRETURN |\
OFN_NOTESTFILECREATE
/*| OFN_USEMONIKERS*/
)
...
...
dlls/comdlg32/filedlgbrowser.c
View file @
13f19887
...
...
@@ -846,6 +846,47 @@ static HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_OnStateChange(ICommDlgBr
return
NOERROR
;
}
/* send_includeitem_notification
*
* Sends a CDN_INCLUDEITEM notification for "pidl" to hwndParentDlg
*/
static
LRESULT
send_includeitem_notification
(
HWND
hwndParentDlg
,
LPCITEMIDLIST
pidl
)
{
LRESULT
hook_result
=
0
;
FileOpenDlgInfos
*
fodInfos
=
GetPropA
(
hwndParentDlg
,
FileOpenDlgInfosStr
);
if
(
!
fodInfos
)
return
0
;
if
(
fodInfos
->
DlgInfos
.
hwndCustomDlg
)
{
TRACE
(
"call notify CDN_INCLUDEITEM for pidl=%p
\n
"
,
pidl
);
if
(
fodInfos
->
unicode
)
{
OFNOTIFYEXW
ofnNotify
;
ofnNotify
.
psf
=
fodInfos
->
Shell
.
FOIShellFolder
;
ofnNotify
.
pidl
=
(
LPITEMIDLIST
)
pidl
;
ofnNotify
.
hdr
.
hwndFrom
=
hwndParentDlg
;
ofnNotify
.
hdr
.
idFrom
=
0
;
ofnNotify
.
hdr
.
code
=
CDN_INCLUDEITEM
;
ofnNotify
.
lpOFN
=
fodInfos
->
ofnInfos
;
hook_result
=
SendMessageW
(
fodInfos
->
DlgInfos
.
hwndCustomDlg
,
WM_NOTIFY
,
0
,
(
LPARAM
)
&
ofnNotify
);
}
else
{
OFNOTIFYEXA
ofnNotify
;
ofnNotify
.
psf
=
fodInfos
->
Shell
.
FOIShellFolder
;
ofnNotify
.
pidl
=
(
LPITEMIDLIST
)
pidl
;
ofnNotify
.
hdr
.
hwndFrom
=
hwndParentDlg
;
ofnNotify
.
hdr
.
idFrom
=
0
;
ofnNotify
.
hdr
.
code
=
CDN_INCLUDEITEM
;
ofnNotify
.
lpOFN
=
(
LPOPENFILENAMEA
)
fodInfos
->
ofnInfos
;
hook_result
=
SendMessageA
(
fodInfos
->
DlgInfos
.
hwndCustomDlg
,
WM_NOTIFY
,
0
,
(
LPARAM
)
&
ofnNotify
);
}
}
TRACE
(
"Retval: 0x%08lx
\n
"
,
hook_result
);
return
hook_result
;
}
/**************************************************************************
* IShellBrowserImpl_ICommDlgBrowser_IncludeObject
*/
...
...
@@ -875,6 +916,11 @@ static HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_IncludeObject(ICommDlgBr
if
(
ulAttr
&
(
SFGAO_FOLDER
|
SFGAO_LINK
))
return
S_OK
;
/* if the application takes care of including the item we are done */
if
(
fodInfos
->
ofnInfos
->
Flags
&
OFN_ENABLEINCLUDENOTIFY
&&
send_includeitem_notification
(
This
->
hwndOwner
,
pidl
))
return
S_OK
;
/* Check if there is a mask to apply if not */
if
(
!
fodInfos
->
ShellInfos
.
lpstrCurrentFilter
||
!
lstrlenW
(
fodInfos
->
ShellInfos
.
lpstrCurrentFilter
))
return
S_OK
;
...
...
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