Module: wine Branch: master Commit: 4432f57e35b6bc59f652d79be0904e356a5b25fb URL: http://source.winehq.org/git/wine.git/?a=commit;h=4432f57e35b6bc59f652d79be0...
Author: Alexander Nicolaysen Sørnes alex@thehandofagony.com Date: Fri Jul 9 19:15:51 2010 +0200
shdocvw: Add icons to the IE toolbar.
---
dlls/shdocvw/ietoolbar.bmp | Bin 0 -> 3170 bytes dlls/shdocvw/iexplore.c | 26 ++++++++++++++++++-------- dlls/shdocvw/resource.h | 1 + dlls/shdocvw/shdocvw.rc | 3 +++ 4 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/dlls/shdocvw/ietoolbar.bmp b/dlls/shdocvw/ietoolbar.bmp new file mode 100644 index 0000000..b76d50e Binary files /dev/null and b/dlls/shdocvw/ietoolbar.bmp differ diff --git a/dlls/shdocvw/iexplore.c b/dlls/shdocvw/iexplore.c index 9144e85..c4d545b 100644 --- a/dlls/shdocvw/iexplore.c +++ b/dlls/shdocvw/iexplore.c @@ -355,6 +355,8 @@ static void create_rebar(HWND hwnd) REBARINFO rebarinf; REBARBANDINFOW bandinf; WCHAR addr[] = {'A','d','d','r','e','s','s',0}; + HIMAGELIST imagelist; + WCHAR idb_ietoolbar[] = {'I','D','B','_','I','E','T','O','O','L','B','A','R',0};
hwndRebar = CreateWindowExW(WS_EX_TOOLWINDOW, REBARCLASSNAMEW, NULL, WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|RBS_VARHEIGHT|CCS_TOP|CCS_NODIVIDER, 0, 0, 0, 0, hwnd, (HMENU)IDC_BROWSE_REBAR, shdocvw_hinstance, NULL);
@@ -367,22 +369,25 @@ static void create_rebar(HWND hwnd)
hwndToolbar = CreateWindowExW(TBSTYLE_EX_MIXEDBUTTONS, TOOLBARCLASSNAMEW, NULL, TBSTYLE_FLAT | WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hwndRebar, (HMENU)IDC_BROWSE_TOOLBAR, shdocvw_hinstance, NULL);
+ imagelist = ImageList_LoadImageW(shdocvw_hinstance, idb_ietoolbar, 32, 0, RGB(255,0,255), IMAGE_BITMAP, LR_DEFAULTCOLOR); + + SendMessageW(hwndToolbar, TB_SETIMAGELIST, 0, (LPARAM)imagelist); SendMessageW(hwndToolbar, TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0); - add_tb_button(hwndToolbar, I_IMAGENONE, 0, IDS_TB_BACK); - add_tb_button(hwndToolbar, I_IMAGENONE, 0, IDS_TB_FORWARD); - add_tb_button(hwndToolbar, I_IMAGENONE, 0, IDS_TB_STOP); - add_tb_button(hwndToolbar, I_IMAGENONE, 0, IDS_TB_REFRESH); - add_tb_button(hwndToolbar, I_IMAGENONE, ID_BROWSE_HOME, IDS_TB_HOME); + add_tb_button(hwndToolbar, 0, 0, IDS_TB_BACK); + add_tb_button(hwndToolbar, 1, 0, IDS_TB_FORWARD); + add_tb_button(hwndToolbar, 2, 0, IDS_TB_STOP); + add_tb_button(hwndToolbar, 3, 0, IDS_TB_REFRESH); + add_tb_button(hwndToolbar, 4, ID_BROWSE_HOME, IDS_TB_HOME); add_tb_separator(hwndToolbar); - add_tb_button(hwndToolbar, I_IMAGENONE, ID_BROWSE_PRINT, IDS_TB_PRINT); - SendMessageW(hwndToolbar, TB_SETBUTTONSIZE, 0, MAKELPARAM(50,40)); + add_tb_button(hwndToolbar, 5, ID_BROWSE_PRINT, IDS_TB_PRINT); + SendMessageW(hwndToolbar, TB_SETBUTTONSIZE, 0, MAKELPARAM(55,50)); SendMessageW(hwndToolbar, TB_AUTOSIZE, 0, 0);
bandinf.cbSize = sizeof(bandinf); bandinf.fMask = RBBIM_STYLE | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE; bandinf.fStyle = RBBS_CHILDEDGE; bandinf.cx = 100; - bandinf.cyMinChild = 42; + bandinf.cyMinChild = 52; bandinf.hwndChild = hwndToolbar;
SendMessageW(hwndRebar, RB_INSERTBANDW, -1, (LPARAM)&bandinf); @@ -460,9 +465,14 @@ static LRESULT iewnd_OnNotify(InternetExplorer *This, WPARAM wparam, LPARAM lpar
static LRESULT iewnd_OnDestroy(InternetExplorer *This) { + HWND hwndRebar = GetDlgItem(This->frame_hwnd, IDC_BROWSE_REBAR); + HWND hwndToolbar = GetDlgItem(hwndRebar, IDC_BROWSE_TOOLBAR); + HIMAGELIST list = (HIMAGELIST)SendMessageW(hwndToolbar, TB_GETIMAGELIST, 0, 0); + TRACE("%p\n", This);
free_fav_menu_data(get_fav_menu(This->menu)); + ImageList_Destroy(list); This->frame_hwnd = NULL; PostQuitMessage(0); /* FIXME */
diff --git a/dlls/shdocvw/resource.h b/dlls/shdocvw/resource.h index 853538f..11b710d 100644 --- a/dlls/shdocvw/resource.h +++ b/dlls/shdocvw/resource.h @@ -28,6 +28,7 @@ #define IDC_BROWSE_ADDRESSBAR 1004 #define IDC_BROWSE_STATUSBAR 1005 #define IDC_BROWSE_TOOLBAR 1006 +#define IDB_IETOOLBAR 1007
#define ID_BROWSE_NEW_WINDOW 275 #define ID_BROWSE_OPEN 256 diff --git a/dlls/shdocvw/shdocvw.rc b/dlls/shdocvw/shdocvw.rc index 9872c23..08d9ebc 100644 --- a/dlls/shdocvw/shdocvw.rc +++ b/dlls/shdocvw/shdocvw.rc @@ -33,3 +33,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* @makedep: shdocvw.inf */ REGINST REGINST shdocvw.inf + +/* @makedep: ietoolbar.bmp */ +IDB_IETOOLBAR BITMAP ietoolbar.bmp