Commit c38cb012 authored by Juergen Schmied's avatar Juergen Schmied Committed by Alexandre Julliard

Made the buttons in the filedlg change when selecting a different

view type by the context menu, cleanup.
parent c7ca3dde
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
#ifndef _WINE_DLL_CDLG_H #ifndef _WINE_DLL_CDLG_H
#define _WINE_DLL_CDLG_H #define _WINE_DLL_CDLG_H
#include "dlgs.h"
/*---------------- 16-bit ----------------*/ /*---------------- 16-bit ----------------*/
extern HINSTANCE16 COMMDLG_hInstance; extern HINSTANCE16 COMMDLG_hInstance;
extern HINSTANCE COMMDLG_hInstance32; extern HINSTANCE COMMDLG_hInstance32;
......
...@@ -921,22 +921,24 @@ static LRESULT FILEDLG95_OnWMCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) ...@@ -921,22 +921,24 @@ static LRESULT FILEDLG95_OnWMCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
case IDC_LOOKIN: case IDC_LOOKIN:
FILEDLG95_LOOKIN_OnCommand(hwnd,wNotifyCode); FILEDLG95_LOOKIN_OnCommand(hwnd,wNotifyCode);
break; break;
/* --- toolbar --- */
/* Up folder button */ /* Up folder button */
case IDC_UPFOLDER: case FCIDM_TB_UPFOLDER:
FILEDLG95_SHELL_UpFolder(hwnd); FILEDLG95_SHELL_UpFolder(hwnd);
break; break;
/* New folder button */
case FCIDM_TB_NEWFOLDER:
FILEDLG95_SHELL_NewFolder(hwnd);
break;
/* List option button */ /* List option button */
case IDC_LIST: case FCIDM_TB_SMALLICON:
FILEDLG95_SHELL_ExecuteCommand(hwnd,CMDSTR_VIEWLIST); FILEDLG95_SHELL_ExecuteCommand(hwnd,CMDSTR_VIEWLIST);
break; break;
/* Details option button */ /* Details option button */
case IDC_DETAILS: case FCIDM_TB_REPORTVIEW:
FILEDLG95_SHELL_ExecuteCommand(hwnd,CMDSTR_VIEWDETAILS); FILEDLG95_SHELL_ExecuteCommand(hwnd,CMDSTR_VIEWDETAILS);
break; break;
/* New folder button */
case IDC_NEWFOLDER:
FILEDLG95_SHELL_NewFolder(hwnd);
break;
case IDC_FILENAME: case IDC_FILENAME:
break; break;
...@@ -972,12 +974,12 @@ static LRESULT FILEDLG95_OnWMGetIShellBrowser(HWND hwnd) ...@@ -972,12 +974,12 @@ static LRESULT FILEDLG95_OnWMGetIShellBrowser(HWND hwnd)
static LRESULT FILEDLG95_InitUI(HWND hwnd) static LRESULT FILEDLG95_InitUI(HWND hwnd)
{ {
TBBUTTON tbb[] = TBBUTTON tbb[] =
{{VIEW_PARENTFOLDER, IDC_UPFOLDER, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0, 0}, 0, 0 }, {{VIEW_PARENTFOLDER, FCIDM_TB_UPFOLDER, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0, 0}, 0, 0 },
{0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0, 0}, 0, 0 }, {0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0, 0}, 0, 0 },
{VIEW_NEWFOLDER, IDC_NEWFOLDER, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0, 0}, 0, 0 }, {VIEW_NEWFOLDER, FCIDM_TB_NEWFOLDER, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0, 0}, 0, 0 },
{0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0, 0}, 0, 0 }, {0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0, 0}, 0, 0 },
{VIEW_LIST, IDC_LIST, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0, 0}, 0, 0 }, {VIEW_LIST, FCIDM_TB_SMALLICON, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0, 0}, 0, 0 },
{VIEW_DETAILS, IDC_DETAILS, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0, 0}, 0, 0 }, {VIEW_DETAILS, FCIDM_TB_REPORTVIEW, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0, 0}, 0, 0 },
}; };
RECT rectTB; RECT rectTB;
......
...@@ -503,11 +503,21 @@ HRESULT WINAPI IShellBrowserImpl_SendControlMsg(IShellBrowser *iface, ...@@ -503,11 +503,21 @@ HRESULT WINAPI IShellBrowserImpl_SendControlMsg(IShellBrowser *iface,
{ {
ICOM_THIS(IShellBrowserImpl, iface); ICOM_THIS(IShellBrowserImpl, iface);
LRESULT lres;
TRACE("(%p)->(0x%08x 0x%08x 0x%08x 0x%08lx %p)\n", This, id, uMsg, wParam, lParam, pret);
TRACE("(%p)\n", This); switch (id)
{
/* Feature not implemented */ case FCW_TOOLBAR:
return E_NOTIMPL; lres = SendDlgItemMessageA( This->hwndOwner, IDC_TOOLBAR, uMsg, wParam, lParam);
break;
default:
FIXME("ctrl id: %x\n", id);
return E_NOTIMPL;
}
if (pret) *pret = lres;
return S_OK;
} }
/************************************************************************** /**************************************************************************
* IShellBrowserImpl_SetMenuSB * IShellBrowserImpl_SetMenuSB
......
...@@ -69,6 +69,40 @@ typedef struct ...@@ -69,6 +69,40 @@ typedef struct
} FileOpenDlgInfos; } FileOpenDlgInfos;
/*********************************************************************** /***********************************************************************
* Control ID's
*/
#define IDS_ABOUTBOX 101
#define IDS_DOCUMENTFOLDERS 102
#define IDS_PERSONAL 103
#define IDS_FAVORITES 104
#define IDS_PATH 105
#define IDS_DESKTOP 106
#define IDS_FONTS 108
#define IDS_MYCOMPUTER 110
#define IDS_SYSTEMFOLDERS 112
#define IDS_LOCALHARDRIVES 113
#define IDS_FILENOTFOUND 114
#define IDS_VERIFYFILE 115
#define IDS_CREATEFILE 116
#define IDC_OPENREADONLY chx1
#define IDC_TOOLBARSTATIC stc1
#define IDC_FILETYPESTATIC stc2
#define IDC_FILENAMESTATIC stc3
#define IDC_LOOKINSTATIC stc4
#define IDC_SHELLSTATIC lst1
#define IDC_FILETYPE cmb1
#define IDC_LOOKIN cmb2
#define IDC_FILENAME edt1
#define IDC_TOOLBAR ctl1
/***********************************************************************
* Prototypes for the methods of the IShellBrowserImpl class * Prototypes for the methods of the IShellBrowserImpl class
*/ */
/* Constructor */ /* Constructor */
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
#include "winuser.h" #include "winuser.h"
#include "winnls.h" #include "winnls.h"
#include "dlgs.h"
#include "cdlg.h" #include "cdlg.h"
#include "winspool.h" #include "winspool.h"
#include "filedlgbrowser.h"
/* /*
* Everything that does not depend on language, * Everything that does not depend on language,
......
...@@ -207,11 +207,7 @@ static HRESULT OnStateChange(IShellViewImpl * This, UINT uFlags) ...@@ -207,11 +207,7 @@ static HRESULT OnStateChange(IShellViewImpl * This, UINT uFlags)
return ret; return ret;
} }
/********************************************************** /**********************************************************
* * set the toolbar of the filedialog buttons
* ##### helperfunctions for initializing the view #####
*/
/**********************************************************
* set the toolbar buttons
*/ */
static void CheckToolbar(IShellViewImpl * This) static void CheckToolbar(IShellViewImpl * This)
{ {
...@@ -219,17 +215,24 @@ static void CheckToolbar(IShellViewImpl * This) ...@@ -219,17 +215,24 @@ static void CheckToolbar(IShellViewImpl * This)
TRACE("\n"); TRACE("\n");
IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_TOOLBAR, TB_CHECKBUTTON, if (IsInCommDlg(This))
{
IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_TOOLBAR, TB_CHECKBUTTON,
FCIDM_TB_SMALLICON, (This->FolderSettings.ViewMode==FVM_LIST)? TRUE : FALSE, &result); FCIDM_TB_SMALLICON, (This->FolderSettings.ViewMode==FVM_LIST)? TRUE : FALSE, &result);
IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_TOOLBAR, TB_CHECKBUTTON, IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_TOOLBAR, TB_CHECKBUTTON,
FCIDM_TB_REPORTVIEW, (This->FolderSettings.ViewMode==FVM_DETAILS)? TRUE : FALSE, &result); FCIDM_TB_REPORTVIEW, (This->FolderSettings.ViewMode==FVM_DETAILS)? TRUE : FALSE, &result);
IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_TOOLBAR, TB_ENABLEBUTTON, IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_TOOLBAR, TB_ENABLEBUTTON,
FCIDM_TB_SMALLICON, TRUE, &result); FCIDM_TB_SMALLICON, TRUE, &result);
IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_TOOLBAR, TB_ENABLEBUTTON, IShellBrowser_SendControlMsg(This->pShellBrowser, FCW_TOOLBAR, TB_ENABLEBUTTON,
FCIDM_TB_REPORTVIEW, TRUE, &result); FCIDM_TB_REPORTVIEW, TRUE, &result);
}
} }
/********************************************************** /**********************************************************
*
* ##### helperfunctions for initializing the view #####
*/
/**********************************************************
* change the style of the listview control * change the style of the listview control
*/ */
static void SetStyle(IShellViewImpl * This, DWORD dwAdd, DWORD dwRemove) static void SetStyle(IShellViewImpl * This, DWORD dwAdd, DWORD dwRemove)
...@@ -960,21 +963,25 @@ static LRESULT ShellView_OnCommand(IShellViewImpl * This,DWORD dwCmdID, DWORD dw ...@@ -960,21 +963,25 @@ static LRESULT ShellView_OnCommand(IShellViewImpl * This,DWORD dwCmdID, DWORD dw
case FCIDM_SHVIEW_SMALLICON: case FCIDM_SHVIEW_SMALLICON:
This->FolderSettings.ViewMode = FVM_SMALLICON; This->FolderSettings.ViewMode = FVM_SMALLICON;
SetStyle (This, LVS_SMALLICON, LVS_TYPEMASK); SetStyle (This, LVS_SMALLICON, LVS_TYPEMASK);
CheckToolbar(This);
break; break;
case FCIDM_SHVIEW_BIGICON: case FCIDM_SHVIEW_BIGICON:
This->FolderSettings.ViewMode = FVM_ICON; This->FolderSettings.ViewMode = FVM_ICON;
SetStyle (This, LVS_ICON, LVS_TYPEMASK); SetStyle (This, LVS_ICON, LVS_TYPEMASK);
CheckToolbar(This);
break; break;
case FCIDM_SHVIEW_LISTVIEW: case FCIDM_SHVIEW_LISTVIEW:
This->FolderSettings.ViewMode = FVM_LIST; This->FolderSettings.ViewMode = FVM_LIST;
SetStyle (This, LVS_LIST, LVS_TYPEMASK); SetStyle (This, LVS_LIST, LVS_TYPEMASK);
CheckToolbar(This);
break; break;
case FCIDM_SHVIEW_REPORTVIEW: case FCIDM_SHVIEW_REPORTVIEW:
This->FolderSettings.ViewMode = FVM_DETAILS; This->FolderSettings.ViewMode = FVM_DETAILS;
SetStyle (This, LVS_REPORT, LVS_TYPEMASK); SetStyle (This, LVS_REPORT, LVS_TYPEMASK);
CheckToolbar(This);
break; break;
/* the menu-ID's for sorting are 0x30... see shrec.rc */ /* the menu-ID's for sorting are 0x30... see shrec.rc */
...@@ -986,7 +993,6 @@ static LRESULT ShellView_OnCommand(IShellViewImpl * This,DWORD dwCmdID, DWORD dw ...@@ -986,7 +993,6 @@ static LRESULT ShellView_OnCommand(IShellViewImpl * This,DWORD dwCmdID, DWORD dw
This->ListViewSortInfo.bIsAscending = TRUE; This->ListViewSortInfo.bIsAscending = TRUE;
This->ListViewSortInfo.nLastHeaderID = This->ListViewSortInfo.nHeaderID; This->ListViewSortInfo.nLastHeaderID = This->ListViewSortInfo.nHeaderID;
ListView_SortItems(This->hWndList, ShellView_ListViewCompareItems, (LPARAM) (&(This->ListViewSortInfo))); ListView_SortItems(This->hWndList, ShellView_ListViewCompareItems, (LPARAM) (&(This->ListViewSortInfo)));
CheckToolbar(This);
break; break;
default: default:
......
...@@ -196,42 +196,4 @@ ...@@ -196,42 +196,4 @@
#define COLORMGMTDLGORD 1551 #define COLORMGMTDLGORD 1551
#define NEWFILEOPENV2ORD 1552 #define NEWFILEOPENV2ORD 1552
/* fixme: move away */
#define IDS_ABOUTBOX 101
#define IDS_DOCUMENTFOLDERS 102
#define IDS_PERSONAL 103
#define IDS_FAVORITES 104
#define IDS_PATH 105
#define IDS_DESKTOP 106
#define IDS_FONTS 108
#define IDS_MYCOMPUTER 110
#define IDS_SYSTEMFOLDERS 112
#define IDS_LOCALHARDRIVES 113
#define IDS_FILENOTFOUND 114
#define IDS_VERIFYFILE 115
#define IDS_CREATEFILE 116
#define IDC_OPENREADONLY chx1
#define IDC_TOOLBARSTATIC stc1
#define IDC_FILETYPESTATIC stc2
#define IDC_FILENAMESTATIC stc3
#define IDC_LOOKINSTATIC stc4
#define IDC_SHELLSTATIC lst1
#define IDC_FILETYPE cmb1
#define IDC_LOOKIN cmb2
#define IDC_FILENAME edt1
/* fixme: replace with FCIDM_* constants */
#define IDC_UPFOLDER 1009
#define IDC_NEWFOLDER 1010
#define IDC_LIST 1011
#define IDC_DETAILS 1012
#define IDC_TOOLBAR ctl1
#endif /* #ifdef __WINE_DLGS_H */ #endif /* #ifdef __WINE_DLGS_H */
...@@ -72,6 +72,8 @@ typedef struct IShellView IShellView, *LPSHELLVIEW; ...@@ -72,6 +72,8 @@ typedef struct IShellView IShellView, *LPSHELLVIEW;
#define FCIDM_SHVIEWLAST 0x7fff #define FCIDM_SHVIEWLAST 0x7fff
#define FCIDM_BROWSERFIRST 0xA000 #define FCIDM_BROWSERFIRST 0xA000
/* undocumented toolbar items from stddlg's*/ /* undocumented toolbar items from stddlg's*/
#define FCIDM_TB_UPFOLDER 0xA001
#define FCIDM_TB_NEWFOLDER 0xA002
#define FCIDM_TB_SMALLICON 0xA003 #define FCIDM_TB_SMALLICON 0xA003
#define FCIDM_TB_REPORTVIEW 0xA004 #define FCIDM_TB_REPORTVIEW 0xA004
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment