Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
7318ae24
Commit
7318ae24
authored
Jun 07, 2007
by
Lei Zhang
Committed by
Alexandre Julliard
Jun 08, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shell32: Start implementing BIF_USENEWUI.
parent
4e27a7d8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
69 additions
and
2 deletions
+69
-2
brsfolder.c
dlls/shell32/brsfolder.c
+46
-2
shell32_En.rc
dlls/shell32/shell32_En.rc
+20
-0
shresdef.h
dlls/shell32/shresdef.h
+3
-0
No files found.
dlls/shell32/brsfolder.c
View file @
7318ae24
...
...
@@ -18,6 +18,9 @@
* FIXME:
* - many memory leaks
* - many flags unimplemented
* - implement new dialog style "make new folder" button
* - implement editbox
* - implement new dialog style resizing
*/
#include <stdlib.h>
...
...
@@ -56,6 +59,8 @@ typedef struct tagTV_ITEMDATA
BIF_BROWSEFORCOMPUTER | \
BIF_RETURNFSANCESTORS | \
BIF_RETURNONLYFSDIRS | \
BIF_NONEWFOLDERBUTTON | \
BIF_NEWDIALOGSTYLE | \
BIF_BROWSEINCLUDEFILES)
static
void
FillTreeView
(
browse_info
*
,
LPSHELLFOLDER
,
...
...
@@ -494,6 +499,8 @@ static BOOL BrsFolder_OnCreate( HWND hWnd, browse_info *info )
info
->
hWnd
=
hWnd
;
SetPropW
(
hWnd
,
szBrowseFolderInfo
,
info
);
if
(
lpBrowseInfo
->
ulFlags
&
BIF_NEWDIALOGSTYLE
)
FIXME
(
"flags BIF_NEWDIALOGSTYLE partially implemented
\n
"
);
if
(
lpBrowseInfo
->
ulFlags
&
~
SUPPORTEDFLAGS
)
FIXME
(
"flags %x not implemented
\n
"
,
lpBrowseInfo
->
ulFlags
&
~
SUPPORTEDFLAGS
);
...
...
@@ -502,12 +509,37 @@ static BOOL BrsFolder_OnCreate( HWND hWnd, browse_info *info )
else
ShowWindow
(
GetDlgItem
(
hWnd
,
IDD_TITLE
),
SW_HIDE
);
if
(
!
(
lpBrowseInfo
->
ulFlags
&
BIF_STATUSTEXT
))
if
(
!
(
lpBrowseInfo
->
ulFlags
&
BIF_STATUSTEXT
)
||
(
lpBrowseInfo
->
ulFlags
&
BIF_NEWDIALOGSTYLE
))
ShowWindow
(
GetDlgItem
(
hWnd
,
IDD_STATUS
),
SW_HIDE
);
/* Hide "Make New Folder" Button? */
if
((
lpBrowseInfo
->
ulFlags
&
BIF_NONEWFOLDERBUTTON
)
||
!
(
lpBrowseInfo
->
ulFlags
&
BIF_NEWDIALOGSTYLE
))
ShowWindow
(
GetDlgItem
(
hWnd
,
IDD_MAKENEWFOLDER
),
SW_HIDE
);
/* Hide the editbox? */
if
(
!
(
lpBrowseInfo
->
ulFlags
&
BIF_EDITBOX
))
{
ShowWindow
(
GetDlgItem
(
hWnd
,
IDD_FOLDER
),
SW_HIDE
);
ShowWindow
(
GetDlgItem
(
hWnd
,
IDD_FOLDERTEXT
),
SW_HIDE
);
}
info
->
hwndTreeView
=
GetDlgItem
(
hWnd
,
IDD_TREEVIEW
);
if
(
info
->
hwndTreeView
)
{
InitializeTreeView
(
info
);
/* Resize the treeview if there's not editbox */
if
((
lpBrowseInfo
->
ulFlags
&
BIF_NEWDIALOGSTYLE
)
&&
!
(
lpBrowseInfo
->
ulFlags
&
BIF_EDITBOX
))
{
RECT
rc
;
GetClientRect
(
info
->
hwndTreeView
,
&
rc
);
SetWindowPos
(
info
->
hwndTreeView
,
HWND_TOP
,
0
,
0
,
rc
.
right
,
rc
.
bottom
+
40
,
SWP_NOMOVE
);
}
}
else
ERR
(
"treeview control missing!
\n
"
);
...
...
@@ -536,6 +568,10 @@ static BOOL BrsFolder_OnCommand( browse_info *info, UINT id )
case
IDCANCEL
:
EndDialog
(
info
->
hWnd
,
0
);
return
TRUE
;
case
IDD_MAKENEWFOLDER
:
FIXME
(
"make new folder not implemented
\n
"
);
return
TRUE
;
}
return
FALSE
;
}
...
...
@@ -703,6 +739,8 @@ static INT_PTR CALLBACK BrsFolderDlgProc( HWND hWnd, UINT msg, WPARAM wParam,
static
const
WCHAR
swBrowseTemplateName
[]
=
{
'S'
,
'H'
,
'B'
,
'R'
,
'S'
,
'F'
,
'O'
,
'R'
,
'F'
,
'O'
,
'L'
,
'D'
,
'E'
,
'R'
,
'_'
,
'M'
,
'S'
,
'G'
,
'B'
,
'O'
,
'X'
,
0
};
static
const
WCHAR
swNewBrowseTemplateName
[]
=
{
'S'
,
'H'
,
'N'
,
'E'
,
'W'
,
'B'
,
'R'
,
'S'
,
'F'
,
'O'
,
'R'
,
'F'
,
'O'
,
'L'
,
'D'
,
'E'
,
'R'
,
'_'
,
'M'
,
'S'
,
'G'
,
'B'
,
'O'
,
'X'
,
0
};
/*************************************************************************
* SHBrowseForFolderA [SHELL32.@]
...
...
@@ -765,6 +803,7 @@ LPITEMIDLIST WINAPI SHBrowseForFolderW (LPBROWSEINFOW lpbi)
browse_info
info
;
DWORD
r
;
HRESULT
hr
;
const
WCHAR
*
templateName
;
info
.
hWnd
=
0
;
info
.
pidlRet
=
NULL
;
...
...
@@ -772,7 +811,12 @@ LPITEMIDLIST WINAPI SHBrowseForFolderW (LPBROWSEINFOW lpbi)
info
.
hwndTreeView
=
NULL
;
hr
=
OleInitialize
(
NULL
);
r
=
DialogBoxParamW
(
shell32_hInstance
,
swBrowseTemplateName
,
lpbi
->
hwndOwner
,
if
(
lpbi
->
ulFlags
&
BIF_NEWDIALOGSTYLE
)
templateName
=
swNewBrowseTemplateName
;
else
templateName
=
swBrowseTemplateName
;
r
=
DialogBoxParamW
(
shell32_hInstance
,
templateName
,
lpbi
->
hwndOwner
,
BrsFolderDlgProc
,
(
LPARAM
)
&
info
);
if
(
SUCCEEDED
(
hr
))
OleUninitialize
();
...
...
dlls/shell32/shell32_En.rc
View file @
7318ae24
...
...
@@ -16,6 +16,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "shresdef.h"
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
MENU_001 MENU DISCARDABLE
...
...
@@ -104,6 +106,24 @@ FONT 8, "MS Shell Dlg"
4, 40, 180, 120
}
SHNEWBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 218, 196
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
CAPTION "Browse for Folder"
FONT 8, "MS Shell Dlg"
{
LTEXT "", IDD_TITLE, 10, 8, 198, 24
LTEXT "", IDD_STATUS, 10, 25, 198, 12
LTEXT "Folder:", IDD_FOLDER, 10, 156, 40, 12
CONTROL "", IDD_TREEVIEW, "SysTreeView32",
TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT |
WS_BORDER | WS_TABSTOP,
12, 38, 194, 105
EDITTEXT IDD_FOLDERTEXT, 46, 150, 160, 14, WS_BORDER | WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Make New Folder", IDD_MAKENEWFOLDER, 12, 174, 70, 14, WS_GROUP | WS_TABSTOP
DEFPUSHBUTTON "OK", IDOK, 102, 174, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
PUSHBUTTON "Cancel", IDCANCEL, 156, 174, 50, 14, WS_GROUP | WS_TABSTOP
}
SHELL_YESTOALL_MSGBOX DIALOG 200, 100, 280, 90
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Message"
...
...
dlls/shell32/shresdef.h
View file @
7318ae24
...
...
@@ -103,6 +103,9 @@
/* these IDs are the same as on native */
#define IDD_YESTOALL 0x3207
/* browse for folder dialog box */
#define IDD_MAKENEWFOLDER 0x3746
#define IDD_FOLDERTEXT 0x3745
#define IDD_FOLDER 0x3744
#define IDD_STATUS 0x3743
#define IDD_TITLE 0x3742
#define IDD_TREEVIEW 0x3741
...
...
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