mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 09:35:52 +00:00
comdlg32: Add parent folder button to IFileDialog.
This commit is contained in:
parent
12869e46bd
commit
186d949703
|
@ -38,6 +38,7 @@
|
|||
#define IDC_NAV_TOOLBAR 200
|
||||
#define IDC_NAVBACK 201
|
||||
#define IDC_NAVFORWARD 202
|
||||
#define IDC_NAVUP 203
|
||||
|
||||
#include <initguid.h>
|
||||
/* This seems to be another version of IID_IFileDialogCustomize. If
|
||||
|
@ -1965,8 +1966,9 @@ static void init_toolbar(FileDialogImpl *This, HWND hwnd)
|
|||
{
|
||||
HWND htoolbar;
|
||||
TBADDBITMAP tbab;
|
||||
TBBUTTON button[2];
|
||||
TBBUTTON button[3];
|
||||
int height;
|
||||
int navUpImgIndex;
|
||||
|
||||
htoolbar = CreateWindowExW(0, TOOLBARCLASSNAMEW, NULL, TBSTYLE_FLAT | WS_CHILD | WS_VISIBLE,
|
||||
0, 0, 0, 0,
|
||||
|
@ -1975,6 +1977,9 @@ static void init_toolbar(FileDialogImpl *This, HWND hwnd)
|
|||
tbab.hInst = HINST_COMMCTRL;
|
||||
tbab.nID = IDB_HIST_LARGE_COLOR;
|
||||
SendMessageW(htoolbar, TB_ADDBITMAP, 0, (LPARAM)&tbab);
|
||||
tbab.nID = IDB_VIEW_LARGE_COLOR;
|
||||
navUpImgIndex = SendMessageW(htoolbar, TB_ADDBITMAP, 0, (LPARAM)&tbab);
|
||||
navUpImgIndex += VIEW_PARENTFOLDER;
|
||||
|
||||
button[0].iBitmap = HIST_BACK;
|
||||
button[0].idCommand = IDC_NAVBACK;
|
||||
|
@ -1990,7 +1995,14 @@ static void init_toolbar(FileDialogImpl *This, HWND hwnd)
|
|||
button[1].dwData = 0;
|
||||
button[1].iString = 0;
|
||||
|
||||
SendMessageW(htoolbar, TB_ADDBUTTONSW, 2, (LPARAM)button);
|
||||
button[2].iBitmap = navUpImgIndex;
|
||||
button[2].idCommand = IDC_NAVUP;
|
||||
button[2].fsState = TBSTATE_ENABLED;
|
||||
button[2].fsStyle = BTNS_BUTTON;
|
||||
button[2].dwData = 0;
|
||||
button[2].iString = 0;
|
||||
|
||||
SendMessageW(htoolbar, TB_ADDBUTTONSW, 3, (LPARAM)button);
|
||||
height = MulDiv(24, This->dpi_y, USER_DEFAULT_SCREEN_DPI);
|
||||
SendMessageW(htoolbar, TB_SETBUTTONSIZE, 0, MAKELPARAM(height, height));
|
||||
SendMessageW(htoolbar, TB_AUTOSIZE, 0, 0);
|
||||
|
@ -2281,6 +2293,13 @@ static LRESULT on_command_filetype(FileDialogImpl *This, WPARAM wparam, LPARAM l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static LRESULT on_browse_up(FileDialogImpl *This)
|
||||
{
|
||||
TRACE("%p\n", This);
|
||||
IExplorerBrowser_BrowseToIDList(This->peb, NULL, SBSP_PARENT);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static LRESULT on_wm_command(FileDialogImpl *This, WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
switch(LOWORD(wparam))
|
||||
|
@ -2291,6 +2310,7 @@ static LRESULT on_wm_command(FileDialogImpl *This, WPARAM wparam, LPARAM lparam)
|
|||
case IDC_NAVBACK: return on_browse_back(This);
|
||||
case IDC_NAVFORWARD: return on_browse_forward(This);
|
||||
case IDC_FILETYPE: return on_command_filetype(This, wparam, lparam);
|
||||
case IDC_NAVUP: return on_browse_up(This);
|
||||
default: TRACE("Unknown command.\n");
|
||||
}
|
||||
return FALSE;
|
||||
|
|
Loading…
Reference in a new issue