From 54d58cdb656055df137ab3774c1883d2955a67c4 Mon Sep 17 00:00:00 2001 From: Ged Murphy Date: Thu, 23 Jul 2009 21:35:52 +0000 Subject: [PATCH] Draw the appropriate taskbar mockup image in the dialog when the user clicks the checkboxes svn path=/trunk/; revision=42165 --- reactos/base/shell/explorer-new/explorer.rc | 10 ++ reactos/base/shell/explorer-new/lang/en-US.rc | 16 +- .../base/shell/explorer-new/res/auto_hide.bmp | Bin 0 -> 10474 bytes .../explorer-new/res/lock_group_noql.bmp | Bin 0 -> 28010 bytes .../shell/explorer-new/res/lock_group_ql.bmp | Bin 0 -> 28010 bytes .../explorer-new/res/lock_nogroup_noql.bmp | Bin 0 -> 28010 bytes .../explorer-new/res/lock_nogroup_ql.bmp | Bin 0 -> 28010 bytes .../explorer-new/res/nolock_group_noql.bmp | Bin 0 -> 28010 bytes .../explorer-new/res/nolock_nogroup_noql.bmp | Bin 0 -> 28010 bytes .../explorer-new/res/nolock_nogroup_ql.bmp | Bin 0 -> 28010 bytes reactos/base/shell/explorer-new/resource.h | 14 ++ reactos/base/shell/explorer-new/trayprop.c | 170 +++++++++++++++++- 12 files changed, 195 insertions(+), 15 deletions(-) create mode 100644 reactos/base/shell/explorer-new/res/auto_hide.bmp create mode 100644 reactos/base/shell/explorer-new/res/lock_group_noql.bmp create mode 100644 reactos/base/shell/explorer-new/res/lock_group_ql.bmp create mode 100644 reactos/base/shell/explorer-new/res/lock_nogroup_noql.bmp create mode 100644 reactos/base/shell/explorer-new/res/lock_nogroup_ql.bmp create mode 100644 reactos/base/shell/explorer-new/res/nolock_group_noql.bmp create mode 100644 reactos/base/shell/explorer-new/res/nolock_nogroup_noql.bmp create mode 100644 reactos/base/shell/explorer-new/res/nolock_nogroup_ql.bmp diff --git a/reactos/base/shell/explorer-new/explorer.rc b/reactos/base/shell/explorer-new/explorer.rc index 15cfe4a7a1f..e8b2165f399 100644 --- a/reactos/base/shell/explorer-new/explorer.rc +++ b/reactos/base/shell/explorer-new/explorer.rc @@ -11,6 +11,16 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US IDI_START ICON DISCARDABLE res/start.ico IDB_STARTMENU BITMAP DISCARDABLE res/logov.bmp +IDB_TASKBARPROP_AUTOHIDE BITMAP DISCARDABLE res/auto_hide.bmp +IDB_TASKBARPROP_LOCK_GROUP_NOQL BITMAP DISCARDABLE res/lock_group_noql.bmp +IDB_TASKBARPROP_LOCK_GROUP_QL BITMAP DISCARDABLE res/lock_group_ql.bmp +IDB_TASKBARPROP_LOCK_NOGROUP_NOQL BITMAP DISCARDABLE res/lock_nogroup_noql.bmp +IDB_TASKBARPROP_LOCK_NOGROUP_QL BITMAP DISCARDABLE res/lock_nogroup_ql.bmp +IDB_TASKBARPROP_NOLOCK_GROUP_NOQL BITMAP DISCARDABLE res/nolock_group_noql.bmp +IDB_TASKBARPROP_NOLOCK_NOGROUP_NOQL BITMAP DISCARDABLE res/nolock_nogroup_noql.bmp +IDB_TASKBARPROP_NOLOCK_NOGROUP_QL BITMAP DISCARDABLE res/nolock_nogroup_ql.bmp +IDB_TASKBARPROP_NOLOCK_GROUP_QL BITMAP DISCARDABLE res/nolock_nogroup_ql.bmp + #include "lang/bg-BG.rc" #include "lang/cs-CZ.rc" #include "lang/de-DE.rc" diff --git a/reactos/base/shell/explorer-new/lang/en-US.rc b/reactos/base/shell/explorer-new/lang/en-US.rc index efbcca3580a..2e6e50dc64b 100644 --- a/reactos/base/shell/explorer-new/lang/en-US.rc +++ b/reactos/base/shell/explorer-new/lang/en-US.rc @@ -59,14 +59,14 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPT CAPTION "Taskbar" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - GROUPBOX "Taskbar appearance", IDC_STATIC, 6,6,240,121, WS_DISABLED - CONTROL "", IDC_TASKBARPROP_TASKBARBITMAP, "Static", SS_BITMAP | SS_SUNKEN, 13,18,224,21, WS_DISABLED - AUTOCHECKBOX "&Lock the taskbar", IDC_TASKBARPROP_LOCK, 13,45,200,10, WS_DISABLED - AUTOCHECKBOX "A&uto-hide the taskbar", IDC_TASKBARPROP_HIDE, 13,58,200,10, WS_DISABLED - AUTOCHECKBOX "Keep the &taskbar on top of other windows", IDC_TASKBARPROP_ONTOP, 13,71,200,10, WS_DISABLED - AUTOCHECKBOX "&Group similar taskbar buttons", IDC_TASKBARPROP_GROUP, 13,84,200,10, WS_DISABLED - AUTOCHECKBOX "Show &Quick Launch", IDC_TASKBARPROP_SHOWQL, 13,97,200,10, WS_DISABLED - AUTOCHECKBOX "&Show window previews (thumbnails)", IDC_TASKBARPROP_WNDPREV, 13,110,200,10, WS_DISABLED + GROUPBOX "Taskbar appearance", IDC_STATIC, 6,6,240,121, + CONTROL "", IDC_TASKBARPROP_TASKBARBITMAP, "Static", SS_BITMAP | SS_SUNKEN, 13,18,224,21, + AUTOCHECKBOX "&Lock the taskbar", IDC_TASKBARPROP_LOCK, 13,45,200,10, + AUTOCHECKBOX "A&uto-hide the taskbar", IDC_TASKBARPROP_HIDE, 13,58,200,10, + AUTOCHECKBOX "Keep the &taskbar on top of other windows", IDC_TASKBARPROP_ONTOP, 13,71,200,10, + AUTOCHECKBOX "&Group similar taskbar buttons", IDC_TASKBARPROP_GROUP, 13,84,200,10, + AUTOCHECKBOX "Show &Quick Launch", IDC_TASKBARPROP_SHOWQL, 13,97,200,10, + AUTOCHECKBOX "&Show window previews (thumbnails)", IDC_TASKBARPROP_WNDPREV, 13,110,200,10, END IDD_TASKBARPROP_STARTMENU DIALOGEX 0, 0, 252, 218 diff --git a/reactos/base/shell/explorer-new/res/auto_hide.bmp b/reactos/base/shell/explorer-new/res/auto_hide.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5780ab5ff1be6a8fc4ba8b79f370ba628c30e8bd GIT binary patch literal 10474 zcmeIyu@QqX3CErM2+CC%Yx{F9Fmb!KrRQl zM+i5=F#{;WEg~?S1326uDj=dF1a*-kt9Ubcwb}Na{$}uE!VG?2jUUhZyxmXt+da)O z3~tzR*lES9>ksVy8}{!npR8E%GxqV56+eB&zr1OF0{?y_E_U~c53vGb1uVA$I?GL6 z%v`L1SOHc6afZcjL&OSLb_K*4w(S0iUx>sC%+K(8bG=B1%r#9huf?eVwtI2pJ`R=n z8P@4^{^obF7GP5Wm}j2mS2>H!h;O&p=(lg->lr4~vgAv42EM5{!%Lo+n1CrNK-$e_ z*c4HgrKa8tH+S|nw05dB7cbN`UZ~epYg%esTI(;iGqSO@v#FzpJ(x{P*Clp0bvZ~= zA>0D3ZP0eqG;3>{T5FoL44XPVQGanOK-z7r(N_lsW@l$x+PkW%s~a>;we|Ijn}#K- z>CG@3(W-{#yrR;Cw2aeX(Z8q4I^-TN=Z=K4~{; zG$ffS&*9pe$)OX*9TGWMwlj^YC%orT*IXD+~_} z-!!Q9e~B%LOuQ5zj3zS6lAyIz}_tm`!_g#z1HEY_11f=cJ1C{ckqyltCRB) z2Uj;|Q^u}wSSkeZR9Aj1G$7!iR%{%v+K2lD}>-K5cwXHiKR z1G7(FbPtXs7S@$jHw@n#$x*3#wAMwFak7Km_ak4lyD1dc)^8j&=LXK17nOA1`^tX z&C=fa{2>$4ZqjJ5Y3=A@;OVpHL!)=)4VN9INoKM!}b<1PZG&oJD9 z zS%$xr@6O*=CRlYUf46h{W+&TSi783E3g&^~No-s)02l%BMOo5R;7MykrQyl`4g;#- zrsA}T(Qe(;#kuF#U(8MGbPr~x1~uh*T`7)N3PS6OGEtTR2yHL{+yZ-CG60T52bW-g zOQErl5xRgo&kHdy#&}d<26zcWgV~bYF)IL=18FyDG@8ZbUAR1OU3=}Gva~9(@O(i< z)%e{zxQl>^1Lngqh6Lqz(M2c%j(8UW-j~N<2~ilv2QY*uBwO-<5Ce}=4Cu|Urmc&; z=A4)qb4wen2-zKI{kb~ZW2`4`tRt|kz|QXDe@Oj0w#AbW+d@K9_>j}fhVnvmBoj<9~eF#)0iE4cl@UA`Rt3w-_Jc7 z)6I6?AMe)`rt~R&E}sd|oROg{gvKR{%VUxTCTY-y-{p0{7#JbXOCjc6c#I)XhX=4r z>~XokF4&mWowS=Y8dBZtlPRz1@4s<-eca&B_htS0NbuUU-jy~I;XxLz60WCy3cw?2%#7*i&2YK8-q+nO*nY#!F2#ep+Q-vFkERCxJKlKz zTF!WP*e#7?fBCk6uh%&3+jP+WTSx+8U_v~}Zy8I4*+X(d1JYDbCaq0KN{;kA+^6vC zNONzgD7b(B`zJr#dOp=RHQL+WRIg2P>&)=%R{CkOLih|JBBsi3y%Xkjm?OVLj6kTo zz?RS$nfLQTce4eg-K5cwcHkN97D>XyljeW8YKBVgjnc8nhGwYwdrzs*r{;8fIu&ApQG+alarGh8a0}x zW`!ch+uJKBRGMFC_(e+yC(K-!*aD2u-JmRz#GdEL);k4Vz}SMeNV`d+*+IVaNRB%< z|L(w*2hXey&@yu4(eU3Vb*;8LPEKm9p2m3M4$F5kHmG2XWXgCgU}JELITBuPhNDA0 zBZJ(f!CnzkpOOB`N7L6{e;w|UUb^7OMm$hr@8i5b#QqBu!fXIA9s%0C5eQvKQ$c~W zR-sTNCML$l#zsU$goTBLhK9zRj!VzXmS<&WDwJ8u+{${*8$(-`0V|YcCH$7zl6I3u zGm&6fl3R2Rs%?y#pXZZ}BcJ*eA`ie=m5lMkePI!U#!E=*%`khfr6M<*y+@k;V5}-C z$j_18zEUzVlz&|-lgAy)$da?STjr_qWsyO$=wMSPO_~bfNNdZ=%1TN~^7Hd^b90qS zWol}wsk0LGO;iEWZqn$jR$scfyYQhkn)%PpnG6ve%qH@cBU6O&T2^ zAHQSAHa^6P`r+Lb^MBd0*)y8o`q;4E44c*ANmC&=(ps}hSWMgw#5-Twe(cY0_5 literal 0 HcmV?d00001 diff --git a/reactos/base/shell/explorer-new/res/lock_group_ql.bmp b/reactos/base/shell/explorer-new/res/lock_group_ql.bmp new file mode 100644 index 0000000000000000000000000000000000000000..82b085af0d1f51207a77c2b2b561e579f353184a GIT binary patch literal 28010 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 Zq5>Pa0^(lUx4-*(!(E)n!5b=I{~y^frT_o{ literal 0 HcmV?d00001 diff --git a/reactos/base/shell/explorer-new/res/lock_nogroup_ql.bmp b/reactos/base/shell/explorer-new/res/lock_nogroup_ql.bmp new file mode 100644 index 0000000000000000000000000000000000000000..56c2c2ab6af0839c19e40711378ca2875dadd042 GIT binary patch literal 28010 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 J@cI>S{s*Z;u-X6s literal 0 HcmV?d00001 diff --git a/reactos/base/shell/explorer-new/res/nolock_group_noql.bmp b/reactos/base/shell/explorer-new/res/nolock_group_noql.bmp new file mode 100644 index 0000000000000000000000000000000000000000..6f9164439a295c2d9c1fdfad107f53313f6248af GIT binary patch literal 28010 zcmeHP`BPNc6?XoC{G4C1RHagtOj(&K$0SxIrN$b|Oo_(0M2+B#G9Vg|Mbfeg$YvvZ zi=kN?dI6MX7ZGUI25fc^6%bJof;tG8DDHHQUOe8u_jOM@LG5PVtLF80zjN+)&OP@Y z8=A&-n+|y_dwu;5?!SVsKYg-n*-zm4lVv}C&A+$s60i*q< zE@m!PK&${%KbbocgR-L7xP-23g9tV9J!^X zve3guqcPO>E+{o_9s*1g834AKKc*^z|EB`skzeQAY%JQ32){nCs!ILql_Ob8VeHHMO-( z`j+~}M!Q(uq9ke3!_cBNO|1nb<*8XYr{oz5O@XGcIKQa0pt$U8*}3v+9rQLdc6DP5 zfJF&!L4?^n^t7gj>lzyky7GqN+{#>;RxZ`Z!c~c3d9nztJf>15Yc5k(mKT+utFqsg zhTraEL6$aPj)7ngXDV`f`Yt_q_^hhxZd&1m{Gy8Ck?XclmJhQ{Y!4R{o;@iI4-P)+ z>Ertk4^MAjiI2q3*U#TCFgWUDT)IM;tMM*0n9J|vGb)~|?O)qoNWro&fg*PQRXB~IT%u&ZC zB&$RB>gr8;n5j4p0gwxGctgB;CL}WSkoV^qR1h=~EA4{}0CHhO1cJOZR?NY60CNlk zd$^>m0ur8k`m%R;OkUhjQQI_nb1YA*=~sUOxeYJYsY}5%fV5&7dp|cu!Ol z1Sm*b84=<`dz$nx{FJN8Q^rR~5|ZM}Q+H%YR!N;dug~0YS-Y}Jv*N35Yr^)gIksy> z#J<(BKHD)@CI-VZL*fi10^)!SCdX_Zx>?i1A;%-NQLg>DlAbKj2F3BAk+G>eqqEbu zhlWS$8k%BHo;(+K;A&oA_4!hiB?;gV(?Ea@mKk*8rFawZp#?4bpeF+KCyY6s55)Tu zpO1T|^Cy`w$3U=$+q-(e`PuUqBja}!O_$xJY0$&k(h`0x{Hhs-8G-_)!~?YQCJQ=z zR>+`^AVX`?o+dpEZ&ty3SBl)sQ;~Z|>zr;hICp6GML4ZU_WI(u)9;fHE>HUBnjPCV zd${cK+4mO=g8+1iGy-CxhlmmIK7?U552IMq!;#V$P2`~~XF^-E14eI*KfYCEe9>++ z-g^3YdVFHCEYYhk+iOr8Ra2rtSpbj{86u!b^yIBH!%SgJjFo6IKFrWUTzWd0Mb9>?^z6l}9-5Y`@bhq2C#^#;=mQ{ko)U%rP+6!zl$9E)QKdT)U?!uaOs@FRH4Uyn6>l5P&$r zbU0v`ptKdI@FHX)-g!XJr7`g&Q2^tEFbvO-Fr)(kHtAt~M-RN`ESD$UGDNDQc7{8C zu2cC<^rcL6g?ALWg#7K7%CPmjwyxj3$MHmLf?!|_K!Ei=BvJGSz-%6xtm)yn#H7=K z2dxbiIw(Y z+!zyW1rxc56yD#^ubyd=nJZ`#oPs0*lmdn(QS$=>k_K}pIWWgSu!pnHR)yrXZ3$F5 zWKVqNtn{uJ`gxSDu(XU{1;1Fr(076#<}kMlY{!=i~&v1 zs20m zHXLyMh6E#87?>t$6CINF0SqQ`M<3$AY#t%uZcPuTrlrUG9~w}HbY=OrRTbU8|LxQN z-g+@JFf-oY+0tl8^Xbm<@709pl~E`QfMh}#8q+@3U}i2oM2vtJv|!?$k@0w!1c)-COCt^-yrW|`T)&Km-^s~8pkM4C&k81Dq#gDakMo2bEBu8Ag{=s|yU&(xk z#0L{3E$6{cVKxt^ThqhY3PsGx*pRUBfWV+5zDLs2)0>+0`j%F;IxjFVAR<~?SSp!opwD*#ehRaBs9;SGtJP|`T%Meq92XZC6B831 z9i4P4B|BH8P^xm(8l@(`x>1jUO9Mawm&QVvRWQeZ@8L*UnonXL&RUH+C>8K= z%K~koEIvY(82P@FV>S=NS<}N66%}P=Wrc->`T6-8jV3cQ6Q_&7zAC^R1Ez;JJACQo z>qW0fuV47rd4nWAq4Nf9TB_KjhvE0b_<(-aclN?xJ2bR))VFoO9WcCc4LmWu?}{*+ zhvBU1;cA_>yplYM$}7+7en6jq$3iU)z#IdnhfkkAy=~hTdZo)6M|V~&{AJ5V|3uof zRIy19+tebN&BNTR>0xvhfxTCNIRz@!uGz{@0Y(__AqQDY%RTDdTVK3 z#P(hR3q5S_OIxh`?XQOgS1$IjU|E&`DfaMpZsOY>hBmOZOYr~k5L}Y2WiIBkh!voZ z!6M2o9Vx+<5J|BDVg>A_0t>Ih_L8ocr&s~80!#&#&Nmd|O2i8MKr6uXv^W$iAXdP> HDq#E{*uber literal 0 HcmV?d00001 diff --git a/reactos/base/shell/explorer-new/res/nolock_nogroup_noql.bmp b/reactos/base/shell/explorer-new/res/nolock_nogroup_noql.bmp new file mode 100644 index 0000000000000000000000000000000000000000..3461e443ab8d29ffe711d44ed5976a04945982e5 GIT binary patch literal 28010 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 fuE56mfa?}mPN`Hof|XJb(KLt{!GOF% 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 Z=U4_<1~vc#FDHF=70Uq2fR`{}|3ACKC(-}_ literal 0 HcmV?d00001 diff --git a/reactos/base/shell/explorer-new/resource.h b/reactos/base/shell/explorer-new/resource.h index 078bce4ef36..aeed8061345 100644 --- a/reactos/base/shell/explorer-new/resource.h +++ b/reactos/base/shell/explorer-new/resource.h @@ -54,6 +54,7 @@ #define IDD_NOTIFICATIONPAGE 2002 #define IDD_TOOLBARSPAGE 2003 +/* Taskbar properties, taskbar */ #define IDD_TASKBARPROP_TASKBAR 2000 #define IDC_TASKBARPROP_TASKBARBITMAP 2001 #define IDC_TASKBARPROP_LOCK 2002 @@ -63,6 +64,17 @@ #define IDC_TASKBARPROP_SHOWQL 2006 #define IDC_TASKBARPROP_WNDPREV 2007 +#define IDB_TASKBARPROP_AUTOHIDE 2050 +#define IDB_TASKBARPROP_LOCK_GROUP_NOQL 2051 +#define IDB_TASKBARPROP_LOCK_GROUP_QL 2052 +#define IDB_TASKBARPROP_LOCK_NOGROUP_NOQL 2053 +#define IDB_TASKBARPROP_LOCK_NOGROUP_QL 2054 +#define IDB_TASKBARPROP_NOLOCK_GROUP_NOQL 2055 +#define IDB_TASKBARPROP_NOLOCK_NOGROUP_NOQL 2056 +#define IDB_TASKBARPROP_NOLOCK_NOGROUP_QL 2057 +#define IDB_TASKBARPROP_NOLOCK_GROUP_QL 2058 + +/* Taskbar properties, startmenu*/ #define IDD_TASKBARPROP_STARTMENU 2100 #define IDC_TASKBARPROP_STARTMENU 2101 #define IDC_TASKBARPROP_STARTMENUCUST 2102 @@ -71,6 +83,7 @@ #define IDC_TASKBARPROP_RECENTFILES 2105 #define IDC_TASKBARPROP_RECENTFOLDERS 2106 +/* Taskbar properties, notification */ #define IDD_TASKBARPROP_NOTIFICATION 2200 #define IDC_TASKBARPROP_NOTIFICATIONBITMAP 2201 #define IDC_TASKBARPROP_HIDEICONS 2202 @@ -80,6 +93,7 @@ #define IDC_TASKBARPROP_NETWORK 2206 #define IDC_TASKBARPROP_POWER 2207 +/* Taskbar properties, toolbars */ #define IDD_TASKBARPROP_TOOLBARS 2300 #define IDC_TASKBARPROP_DESKBANDLIST 2301 diff --git a/reactos/base/shell/explorer-new/trayprop.c b/reactos/base/shell/explorer-new/trayprop.c index 429b012b94d..0eef0e6ad52 100644 --- a/reactos/base/shell/explorer-new/trayprop.c +++ b/reactos/base/shell/explorer-new/trayprop.c @@ -20,18 +20,142 @@ #include +typedef struct _PROPSHEET_INFO +{ + HWND hTaskbarWnd; + HWND hStartWnd; + HWND hNotiWnd; + HWND hToolWnd; + + HBITMAP hTaskbarBitmap; +} PROPSHEET_INFO, *PPROPSHEET_INFO; + + +static BOOL +UpdateTaskbarBitmap(PPROPSHEET_INFO pPropInfo) +{ + HWND hwndLock, hwndHide, hwndGroup, hwndShowQL; + HWND hwndBitmap; + BOOL bLock, bHide, bGroup, bShowQL; + LPTSTR lpImageName = NULL; + RECT BitmapRect; + BOOL bRet = FALSE; + + hwndLock = GetDlgItem(pPropInfo->hTaskbarWnd, IDC_TASKBARPROP_LOCK); + hwndHide = GetDlgItem(pPropInfo->hTaskbarWnd, IDC_TASKBARPROP_HIDE); + hwndGroup = GetDlgItem(pPropInfo->hTaskbarWnd, IDC_TASKBARPROP_GROUP); + hwndShowQL = GetDlgItem(pPropInfo->hTaskbarWnd, IDC_TASKBARPROP_SHOWQL); + + if (hwndLock && hwndHide && hwndGroup && hwndShowQL) + { + bLock = (SendMessage(hwndLock, BM_GETCHECK, 0, 0) == BST_CHECKED); + bHide = (SendMessage(hwndHide, BM_GETCHECK, 0, 0) == BST_CHECKED); + bGroup = (SendMessage(hwndGroup, BM_GETCHECK, 0, 0) == BST_CHECKED); + bShowQL = (SendMessage(hwndShowQL, BM_GETCHECK, 0, 0) == BST_CHECKED); + + if (bHide) + lpImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_AUTOHIDE); + else if (bLock && bGroup && bShowQL) + lpImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_GROUP_QL); + else if (bLock && !bGroup && !bShowQL) + lpImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_NOGROUP_NOQL); + else if (bLock && bGroup && !bShowQL) + lpImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_GROUP_NOQL); + else if (bLock && !bGroup && bShowQL) + lpImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_NOGROUP_QL); + else if (!bLock && !bGroup && !bShowQL) + lpImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_NOGROUP_NOQL); + else if (!bLock && bGroup && !bShowQL) + lpImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_GROUP_NOQL); + else if (!bLock && !bGroup && bShowQL) + lpImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_NOGROUP_QL); + else if (!bLock && bGroup && bShowQL) + lpImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_GROUP_QL); + + if (lpImageName) + { + if (pPropInfo->hTaskbarBitmap) + { + DeleteObject(pPropInfo->hTaskbarBitmap); + } + + pPropInfo->hTaskbarBitmap = LoadImage(hExplorerInstance, + lpImageName, + IMAGE_BITMAP, + 0, + 0, + LR_DEFAULTCOLOR); + if (pPropInfo->hTaskbarBitmap) + { + hwndBitmap = GetDlgItem(pPropInfo->hTaskbarWnd, + IDC_TASKBARPROP_TASKBARBITMAP); + if (hwndBitmap) + { + SendMessage(hwndBitmap, + STM_SETIMAGE, + IMAGE_BITMAP, + (LPARAM)pPropInfo->hTaskbarBitmap); + } + } + } + } + + return bRet; +} + +static VOID +OnCreateTaskbarPage(HWND hwnd, + PPROPSHEET_INFO pPropInfo) +{ + SetWindowLongPtr(hwnd, + GWLP_USERDATA, + (LONG_PTR)pPropInfo); + + pPropInfo->hTaskbarWnd = hwnd; + + // FIXME: check buttons + + UpdateTaskbarBitmap(pPropInfo); +} + INT_PTR CALLBACK TaskbarPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { + PPROPSHEET_INFO pPropInfo; + + /* Get the window context */ + pPropInfo = (PPROPSHEET_INFO)GetWindowLongPtrW(hwndDlg, + GWLP_USERDATA); + if (pPropInfo == NULL && uMsg != WM_INITDIALOG) + { + goto HandleDefaultMessage; + } + switch (uMsg) { case WM_INITDIALOG: + OnCreateTaskbarPage(hwndDlg, (PPROPSHEET_INFO)lParam); break; - case WM_DESTROY: + case WM_COMMAND: + switch(LOWORD(wParam)) + { + case IDC_TASKBARPROP_LOCK: + case IDC_TASKBARPROP_HIDE: + case IDC_TASKBARPROP_GROUP: + case IDC_TASKBARPROP_SHOWQL: + if (HIWORD(wParam) == BN_CLICKED) + { + UpdateTaskbarBitmap(pPropInfo); + + /* Enable the 'Apply' button */ + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + } + break; + } break; case WM_NOTIFY: @@ -49,6 +173,17 @@ TaskbarPageProc(HWND hwndDlg, break; } + + case WM_DESTROY: + if (pPropInfo->hTaskbarBitmap) + { + DeleteObject(pPropInfo->hTaskbarBitmap); + } + break; + +HandleDefaultMessage: + default: + return FALSE; } return FALSE; @@ -161,13 +296,17 @@ ToolbarsPageProc(HWND hwndDlg, static VOID -InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc) +InitPropSheetPage(PROPSHEETPAGE *psp, + WORD idDlg, + DLGPROC DlgProc, + LPARAM lParam) { ZeroMemory(psp, sizeof(PROPSHEETPAGE)); psp->dwSize = sizeof(PROPSHEETPAGE); psp->dwFlags = PSP_DEFAULT; psp->hInstance = hExplorerInstance; psp->pszTemplate = MAKEINTRESOURCE(idDlg); + psp->lParam = lParam; psp->pfnDlgProc = DlgProc; } @@ -175,9 +314,19 @@ InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc) HWND DisplayTrayProperties(ITrayWindow *Tray) { + PPROPSHEET_INFO pPropInfo; PROPSHEETHEADER psh; PROPSHEETPAGE psp[4]; TCHAR szCaption[256]; + HWND hwnd = 0; + + pPropInfo = (PPROPSHEET_INFO)HeapAlloc(hProcessHeap, + HEAP_ZERO_MEMORY, + sizeof(PROPSHEET_INFO)); + if (!pPropInfo) + { + return NULL; + } if (!LoadString(hExplorerInstance, IDS_TASKBAR_STARTMENU_PROP_CAPTION, @@ -198,10 +347,17 @@ DisplayTrayProperties(ITrayWindow *Tray) psh.nStartPage = 0; psh.ppsp = psp; - InitPropSheetPage(&psp[0], IDD_TASKBARPROP_TASKBAR, (DLGPROC)TaskbarPageProc); - InitPropSheetPage(&psp[1], IDD_TASKBARPROP_STARTMENU, (DLGPROC)StartMenuPageProc); - InitPropSheetPage(&psp[2], IDD_TASKBARPROP_NOTIFICATION, (DLGPROC)NotificationPageProc); - InitPropSheetPage(&psp[3], IDD_TASKBARPROP_TOOLBARS, (DLGPROC)ToolbarsPageProc); + InitPropSheetPage(&psp[0], IDD_TASKBARPROP_TASKBAR, (DLGPROC)TaskbarPageProc, (LPARAM)pPropInfo); + InitPropSheetPage(&psp[1], IDD_TASKBARPROP_STARTMENU, (DLGPROC)StartMenuPageProc, (LPARAM)pPropInfo); + InitPropSheetPage(&psp[2], IDD_TASKBARPROP_NOTIFICATION, (DLGPROC)NotificationPageProc, (LPARAM)pPropInfo); + InitPropSheetPage(&psp[3], IDD_TASKBARPROP_TOOLBARS, (DLGPROC)ToolbarsPageProc, (LPARAM)pPropInfo); - return (HWND)PropertySheet(&psh); + PropertySheet(&psh); + + HeapFree(hProcessHeap, + 0, + pPropInfo); + + // FIXME: return the HWND + return NULL; }