mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 09:34:43 +00:00
[EXPLORER] Start menu: Fix Small Icons flag (#6651)
Follow-up to #6646. Fix wrong flag use: #6646 (comment) JIRA issue: CORE-19494 - Delete SmallStartMenu flag (wrong) from _TW_STUCKRECTS2. - Rename _TW_STUCKRECTS2.SmallIcons as SmSmallIcons. - Use SmSmallIcons flag.
This commit is contained in:
parent
2ec785b1ee
commit
17b0623cf8
5 changed files with 33 additions and 17 deletions
|
@ -203,9 +203,8 @@ typedef struct _TW_STUCKRECTS2
|
|||
{
|
||||
DWORD AutoHide : 1;
|
||||
DWORD AlwaysOnTop : 1;
|
||||
DWORD SmallIcons : 1;
|
||||
DWORD SmSmallIcons : 1; // Start menu Small Icons
|
||||
DWORD HideClock : 1;
|
||||
DWORD SmallStartMenu : 1;
|
||||
};
|
||||
};
|
||||
DWORD Position;
|
||||
|
@ -327,16 +326,23 @@ DECLARE_INTERFACE_(ITrayBandSite, IUnknown)
|
|||
HRESULT CTrayBandSite_CreateInstance(IN ITrayWindow *tray, IN IDeskBand* pTaskBand, OUT ITrayBandSite** pBandSite);
|
||||
|
||||
/*
|
||||
* startmnu.cpp
|
||||
* startctxmnu.cpp
|
||||
*/
|
||||
|
||||
HRESULT CStartMenuBtnCtxMenu_CreateInstance(ITrayWindow * TrayWnd, IN HWND hWndOwner, IContextMenu ** ppCtxMenu);
|
||||
|
||||
/*
|
||||
* startmnu.cpp
|
||||
*/
|
||||
IMenuPopup*
|
||||
CreateStartMenu(IN ITrayWindow *Tray,
|
||||
OUT IMenuBand **ppMenuBand,
|
||||
IN HBITMAP hbmBanner OPTIONAL,
|
||||
IN BOOL bSmallIcons);
|
||||
HRESULT
|
||||
UpdateStartMenu(IN OUT IMenuPopup *pMenuPopup,
|
||||
IN HBITMAP hbmBanner OPTIONAL,
|
||||
IN BOOL bSmallIcons,
|
||||
IN BOOL bRefresh);
|
||||
|
||||
/*
|
||||
* startmnucust.cpp
|
||||
|
@ -347,7 +353,6 @@ ShowCustomizeClassic(HINSTANCE, HWND);
|
|||
/*
|
||||
* startmnusite.cpp
|
||||
*/
|
||||
|
||||
HRESULT
|
||||
CStartMenuSite_CreateInstance(IN OUT ITrayWindow *Tray, const IID & riid, PVOID * ppv);
|
||||
|
||||
|
|
|
@ -80,9 +80,8 @@ BOOL TaskbarSettings::Load()
|
|||
sr.Position = ABE_BOTTOM;
|
||||
sr.AutoHide = FALSE;
|
||||
sr.AlwaysOnTop = TRUE;
|
||||
sr.SmallIcons = TRUE;
|
||||
sr.SmSmallIcons = FALSE;
|
||||
sr.HideClock = FALSE;
|
||||
sr.SmallStartMenu = FALSE;
|
||||
sr.Rect.left = sr.Rect.top = 0;
|
||||
sr.Rect.bottom = sr.Rect.right = 1;
|
||||
sr.Size.cx = sr.Size.cy = 0;
|
||||
|
|
|
@ -23,7 +23,8 @@
|
|||
HRESULT
|
||||
UpdateStartMenu(IN OUT IMenuPopup *pMenuPopup,
|
||||
IN HBITMAP hbmBanner OPTIONAL,
|
||||
IN BOOL bSmallIcons)
|
||||
IN BOOL bSmallIcons,
|
||||
IN BOOL bRefresh)
|
||||
{
|
||||
CComPtr<IBanneredBar> pbb;
|
||||
HRESULT hRet;
|
||||
|
@ -37,6 +38,11 @@ UpdateStartMenu(IN OUT IMenuPopup *pMenuPopup,
|
|||
hRet = pbb->SetIconSize(bSmallIcons ? BMICON_SMALL : BMICON_LARGE);
|
||||
}
|
||||
|
||||
if (bRefresh)
|
||||
{
|
||||
FIXME("Refresh the Start menu with communicating with SHELL32\n");
|
||||
}
|
||||
|
||||
return hRet;
|
||||
}
|
||||
|
||||
|
@ -97,7 +103,7 @@ CreateStartMenu(IN ITrayWindow *Tray,
|
|||
if (FAILED_UNEXPECTEDLY(hr))
|
||||
return NULL;
|
||||
|
||||
UpdateStartMenu(pMp, hbmBanner, bSmallIcons);
|
||||
UpdateStartMenu(pMp, hbmBanner, bSmallIcons, FALSE);
|
||||
|
||||
*ppMenuBand = pMb.Detach();
|
||||
|
||||
|
|
|
@ -91,12 +91,12 @@ static VOID CALLBACK CustomSetAdvanced(const CUSTOM_ENTRY *entry, BOOL bValue)
|
|||
|
||||
static BOOL CALLBACK CustomGetSmallStartMenu(const CUSTOM_ENTRY *entry)
|
||||
{
|
||||
return g_TaskbarSettings.sr.SmallStartMenu;
|
||||
return g_TaskbarSettings.sr.SmSmallIcons;
|
||||
}
|
||||
|
||||
static VOID CALLBACK CustomSetSmallStartMenu(const CUSTOM_ENTRY *entry, BOOL bValue)
|
||||
{
|
||||
g_TaskbarSettings.sr.SmallStartMenu = bValue;
|
||||
g_TaskbarSettings.sr.SmSmallIcons = bValue;
|
||||
}
|
||||
|
||||
static const CUSTOM_ENTRY s_CustomEntries[] =
|
||||
|
|
|
@ -2554,9 +2554,9 @@ ChangePos:
|
|||
RegLoadSettings();
|
||||
|
||||
/* Create and initialize the start menu */
|
||||
BOOL bSmallStartMenu = g_TaskbarSettings.sr.SmallStartMenu;
|
||||
HBITMAP hbmBanner = LoadBitmapW(hExplorerInstance, MAKEINTRESOURCEW(IDB_STARTMENU));
|
||||
m_StartMenuPopup = CreateStartMenu(this, &m_StartMenuBand, hbmBanner, bSmallStartMenu);
|
||||
m_StartMenuPopup = CreateStartMenu(this, &m_StartMenuBand, hbmBanner,
|
||||
g_TaskbarSettings.sr.SmSmallIcons);
|
||||
|
||||
/* Create the task band */
|
||||
hRet = CTaskBand_CreateInstance(this, m_StartButton.m_hWnd, IID_PPV_ARG(IDeskBand, &m_TaskBand));
|
||||
|
@ -2661,13 +2661,19 @@ ChangePos:
|
|||
|
||||
if (m_StartMenuPopup && lstrcmpiW((LPCWSTR)lParam, L"TraySettings") == 0)
|
||||
{
|
||||
/* Re-create the start menu */
|
||||
HideStartMenu();
|
||||
m_StartMenuBand.Release();
|
||||
|
||||
BOOL bSmallStartMenu = g_TaskbarSettings.sr.SmallStartMenu;
|
||||
HBITMAP hbmBanner = LoadBitmapW(hExplorerInstance, MAKEINTRESOURCEW(IDB_STARTMENU));
|
||||
m_StartMenuPopup = CreateStartMenu(this, &m_StartMenuBand, hbmBanner, bSmallStartMenu);
|
||||
#if 1 // FIXME: Please re-use the start menu
|
||||
/* Re-create the start menu */
|
||||
m_StartMenuBand.Release();
|
||||
m_StartMenuPopup = CreateStartMenu(this, &m_StartMenuBand, hbmBanner,
|
||||
g_TaskbarSettings.sr.SmSmallIcons);
|
||||
FIXME("Use UpdateStartMenu\n");
|
||||
#else
|
||||
// Update the start menu
|
||||
UpdateStartMenu(m_StartMenuPopup, hbmBanner, g_TaskbarSettings.sr.SmSmallIcons, TRUE);
|
||||
#endif
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue