mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 11:25:00 +00:00
save/restore toolbar collapsed state from RDF
This commit is contained in:
parent
5b458783eb
commit
8589f7c2a6
@ -154,6 +154,7 @@ public:
|
||||
virtual void RenameCustomizableToolbar(UINT nStringID) = 0;
|
||||
virtual void FinishedAddingBrowserToolbars()=0;
|
||||
virtual void SetToolbarStyle( int nToolbarStyle )=0;
|
||||
virtual void ToolbarActivation()=0;
|
||||
virtual BOOL CustToolbarShowing()=0;
|
||||
virtual void ViewCustToolbar(BOOL bShow) = 0;
|
||||
virtual void Customize()=0;
|
||||
|
@ -312,6 +312,11 @@ int CDragToolbar::GetToolbarHeight(void)
|
||||
return height;
|
||||
}
|
||||
|
||||
void CDragToolbar::SetOpen(BOOL bIsOpen)
|
||||
{
|
||||
m_bIsOpen = bIsOpen;
|
||||
}
|
||||
|
||||
void CDragToolbar::SetToolbarStyle(int nToolbarStyle)
|
||||
{
|
||||
m_pToolbar->SetToolbarStyle(nToolbarStyle);
|
||||
@ -927,11 +932,11 @@ CDragToolbar* CCustToolbar::CreateDragBar()
|
||||
return new CDragToolbar();
|
||||
}
|
||||
|
||||
void CCustToolbar::AddNewWindow(UINT nToolbarID, CToolbarWindow* pWindow, int nPosition, int nNoviceHeight, int nAdvancedHeight,
|
||||
UINT nTabBitmapIndex, CString tabTip, BOOL bIsNoviceMode, BOOL bIsOpen, BOOL bIsAnimation)
|
||||
void CCustToolbar::AddNewWindowGuts(UINT nToolbarID, CToolbarWindow* pWindow, int nPosition,
|
||||
CString tabTip, BOOL bForceOpen, BOOL bIsOpen)
|
||||
{
|
||||
|
||||
if(m_pToolbarArray[nPosition] != NULL || nPosition < 0 || nPosition >= m_nNumToolbars)
|
||||
if(nPosition < 0 || nPosition >= m_nNumToolbars || m_pToolbarArray[nPosition] != NULL)
|
||||
nPosition = FindFirstAvailablePosition();
|
||||
|
||||
CDragToolbar *pDragToolbar = CreateDragBar();
|
||||
@ -941,7 +946,10 @@ void CCustToolbar::AddNewWindow(UINT nToolbarID, CToolbarWindow* pWindow, int nP
|
||||
m_nNumShowing++;
|
||||
m_pToolbarArray[nPosition] = pDragToolbar;
|
||||
pWindow->GetToolbar()->ShowWindow(SW_SHOW);
|
||||
pDragToolbar->SetOpen(bIsOpen);
|
||||
if (bForceOpen)
|
||||
pDragToolbar->SetOpen(bIsOpen);
|
||||
else
|
||||
bIsOpen = pDragToolbar->GetOpen();
|
||||
pDragToolbar->SetTabTip(tabTip);
|
||||
pDragToolbar->SetToolbarID(nToolbarID);
|
||||
|
||||
@ -1189,8 +1197,13 @@ void CCustToolbar::SetToolbarStyle(int nToolbarStyle)
|
||||
|
||||
m_pParent->RecalcLayout();
|
||||
RedrawWindow();
|
||||
}
|
||||
|
||||
|
||||
void CCustToolbar::BeActiveToolbar()
|
||||
{
|
||||
for(int i = 0; i < m_nNumToolbars; i++)
|
||||
if(m_pToolbarArray[i] != NULL)
|
||||
m_pToolbarArray[i]->BeActiveToolbar();
|
||||
}
|
||||
|
||||
void CCustToolbar::OnUpdateCmdUI( CFrameWnd* pTarget, BOOL bDisableIfNoHndler )
|
||||
|
@ -139,7 +139,7 @@ protected:
|
||||
public:
|
||||
CDragToolbar();
|
||||
~CDragToolbar();
|
||||
int Create(CWnd *pParent, CToolbarWindow *pToolbar);
|
||||
virtual int Create(CWnd *pParent, CToolbarWindow *pToolbar);
|
||||
|
||||
virtual BOOL ShouldClipChildren() { return TRUE; }
|
||||
|
||||
@ -149,7 +149,7 @@ public:
|
||||
void SetMouseOffsetWithinToolbar(int y) { m_mouseDownPoint.y = y; }
|
||||
void SetShowing(BOOL bIsShowing) { m_bIsShowing = bIsShowing; }
|
||||
BOOL GetShowing(void) { return m_bIsShowing; }
|
||||
void SetOpen(BOOL bIsOpen) { m_bIsOpen = bIsOpen; }
|
||||
virtual void SetOpen(BOOL bIsOpen);
|
||||
BOOL GetOpen(void) { return m_bIsOpen;}
|
||||
void SetTabTip(CString tabTip);
|
||||
CString &GetTabTip (void) { return m_tabTip; }
|
||||
@ -158,6 +158,7 @@ public:
|
||||
void SetToolbarID(int nToolbarID) {m_nToolbarID = nToolbarID;}
|
||||
UINT GetToolbarID(void) { return m_nToolbarID;}
|
||||
void SetToolbarStyle(int nToolbarStyle);
|
||||
virtual void BeActiveToolbar() {}
|
||||
void SetAnimation(CAnimationBar2 *pAnimation);
|
||||
HTAB_BITMAP GetHTabType(void) { return m_eHTabType;}
|
||||
void OnUpdateCmdUI( CFrameWnd* pTarget, BOOL bDisableIfNoHndler );
|
||||
@ -245,9 +246,13 @@ public:
|
||||
//Creation
|
||||
int Create(CFrameWnd* pParent, BOOL bHasAnimation);
|
||||
|
||||
void AddNewWindow(UINT nToolbarID, CToolbarWindow* pWindow, int nPosition, int nNoviceHeight, int nAdvancedHeight,
|
||||
UINT nTabBitmapIndex, CString tabTip, BOOL bIsNoviceMode, BOOL bIsOpen,
|
||||
BOOL bIsAnimation);
|
||||
inline void AddNewWindow(UINT nToolbarID, CToolbarWindow* pWindow, int nPosition, int nNoviceHeight, int nAdvancedHeight,
|
||||
UINT nTabBitmapIndex, CString tabTip, BOOL bIsNoviceMode, BOOL bIsOpen, BOOL bIsAnimation)
|
||||
{ AddNewWindowGuts(nToolbarID, pWindow, nPosition, tabTip, TRUE, bIsOpen); }
|
||||
inline void AddNewWindow(UINT nToolbarID, CToolbarWindow* pWindow, int nPosition, int nNoviceHeight, int nAdvancedHeight,
|
||||
UINT nTabBitmapIndex, CString tabTip, BOOL bIsNoviceMode, BOOL bIsAnimation)
|
||||
{ AddNewWindowGuts(nToolbarID, pWindow, nPosition, tabTip, FALSE, FALSE); }
|
||||
|
||||
// Call this function when you are finished adding the toolbars that go in the
|
||||
// customizable toolbar.
|
||||
void FinishedAddingNewWindows(void){}
|
||||
@ -258,6 +263,7 @@ public:
|
||||
void StopAnimation();
|
||||
void StartAnimation();
|
||||
void SetToolbarStyle(int nToolbarStyle);
|
||||
void BeActiveToolbar();
|
||||
|
||||
BOOL IsWindowShowing(CWnd *pToolbar);
|
||||
BOOL IsWindowShowing(UINT nToolbarID);
|
||||
@ -321,6 +327,8 @@ public:
|
||||
protected:
|
||||
// virtual BOOL OnNotify( WPARAM wParam, LPARAM lParam, LRESULT* pResult );
|
||||
|
||||
void AddNewWindowGuts(UINT nToolbarID, CToolbarWindow* pWindow, int nPosition,
|
||||
CString tabTip, BOOL bForceOpen, BOOL bIsOpen);
|
||||
int CheckOpenButtons(CPoint point);
|
||||
int CheckClosedButtons(CPoint point);
|
||||
BOOL PointInClosedTab(CPoint point, HTAB_BITMAP tabType, int nNumClosedButtons, int nStartX,
|
||||
|
@ -69,6 +69,7 @@ BEGIN_MESSAGE_MAP(CMainFrame, CGenericFrame)
|
||||
ON_WM_INITMENUPOPUP()
|
||||
ON_WM_MENUSELECT()
|
||||
ON_WM_SHOWWINDOW()
|
||||
ON_WM_ACTIVATE()
|
||||
ON_COMMAND(ID_OPTIONS_TITLELOCATION_BAR, OnOptionsTitlelocationBar)
|
||||
ON_UPDATE_COMMAND_UI(ID_OPTIONS_TITLELOCATION_BAR, OnUpdateOptionsTitlelocationBar)
|
||||
ON_WM_TIMER()
|
||||
@ -587,6 +588,14 @@ void CMainFrame::OnShowWindow (BOOL bShow, UINT nStatus)
|
||||
RecalcLayout();
|
||||
}
|
||||
|
||||
void CMainFrame::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
|
||||
{
|
||||
CGenericFrame::OnActivate(nState, pWndOther, bMinimized);
|
||||
IChrome *chrome = GetChrome();
|
||||
if (chrome)
|
||||
chrome->ToolbarActivation();
|
||||
}
|
||||
|
||||
// returns TRUE if something was added to the folder, false otherwise
|
||||
BOOL CMainFrame::FileBookmark(HT_Resource pFolder)
|
||||
{
|
||||
|
@ -1015,6 +1015,12 @@ void CGenericChrome::SetToolbarStyle( int nToolbarStyle )
|
||||
}
|
||||
}
|
||||
|
||||
void CGenericChrome::ToolbarActivation()
|
||||
{
|
||||
if (m_pCustToolbar != NULL)
|
||||
m_pCustToolbar->BeActiveToolbar();
|
||||
}
|
||||
|
||||
BOOL CGenericChrome::CustToolbarShowing(void)
|
||||
{
|
||||
return m_pCustToolbar->IsWindowVisible();
|
||||
|
@ -261,6 +261,7 @@ public:
|
||||
virtual void RenameCustomizableToolbar(UINT nStringID);
|
||||
virtual void FinishedAddingBrowserToolbars();
|
||||
virtual void SetToolbarStyle( int nToolbarStyle );
|
||||
virtual void ToolbarActivation();
|
||||
virtual BOOL CustToolbarShowing();
|
||||
virtual void ViewCustToolbar(BOOL bShow);
|
||||
virtual void Customize();
|
||||
|
@ -186,6 +186,7 @@ protected:
|
||||
afx_msg void OnUpdateViewCommandToolbar(CCmdUI* pCmdUI);
|
||||
afx_msg void OnUpdateViewLocationToolbar(CCmdUI* pCmdUI);
|
||||
afx_msg void OnUpdateViewCustomToolbar(CCmdUI* pCmdUI);
|
||||
afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);
|
||||
#ifdef ENDER
|
||||
afx_msg LONG OnToolController(UINT,LONG);
|
||||
#endif
|
||||
|
@ -1366,7 +1366,7 @@ static void toolbarNotifyProcedure (HT_Notification ns, HT_Resource n, HT_Event
|
||||
theApp.m_pToolbarStyle, 43, 27, eSMALL_HTAB);
|
||||
|
||||
theToolbarHolder->AddNewWindow(ID_PERSONAL_TOOLBAR+toolbarIDCounter, pWindow, toolbarIDCounter, 43, 27, 1,
|
||||
HT_GetNodeName(HT_TopNode(theNewToolbar->GetHTView())),theApp.m_pToolbarStyle, TRUE, FALSE);
|
||||
HT_GetNodeName(HT_TopNode(theNewToolbar->GetHTView())),theApp.m_pToolbarStyle, FALSE);
|
||||
toolbarIDCounter++;
|
||||
theToolbarHolder->GetCachedParentWindow()->RecalcLayout();
|
||||
}
|
||||
@ -1533,6 +1533,7 @@ int CRDFToolbar::Create(CWnd *pParent)
|
||||
BOOL fixedSize = FALSE;
|
||||
|
||||
void* data;
|
||||
|
||||
HT_GetTemplateData(topNode, gNavCenter->toolbarButtonsFixedSize, HT_COLUMN_STRING, &data);
|
||||
if (data)
|
||||
{
|
||||
@ -1683,7 +1684,8 @@ void CRDFToolbar::ChangeButtonSizes(void)
|
||||
|
||||
/* RDF toolbars get their style info from RDF. App preference settings
|
||||
make their way into RDF elsewhere. */
|
||||
void CRDFToolbar::SetToolbarStyle(int nToolbarStyle) {
|
||||
void CRDFToolbar::SetToolbarStyle(int nToolbarStyle)
|
||||
{
|
||||
CNSToolbar2::SetToolbarStyle(GetDisplayMode());
|
||||
}
|
||||
|
||||
@ -2460,6 +2462,44 @@ END_MESSAGE_MAP()
|
||||
|
||||
extern HBITMAP m_hTabBitmap;
|
||||
|
||||
int CRDFDragToolbar::Create(CWnd *pParent, CToolbarWindow *pToolbar)
|
||||
{
|
||||
int rtnval = CDragToolbar::Create(pParent, pToolbar);
|
||||
|
||||
if (rtnval)
|
||||
{
|
||||
char *data;
|
||||
CRDFToolbar* pToolbar = (CRDFToolbar*)m_pToolbar->GetToolbar();
|
||||
HT_Resource top = HT_TopNode(pToolbar->GetHTView());
|
||||
HT_GetNodeData(top, gNavCenter->toolbarCollapsed, HT_COLUMN_STRING, (void **)&data);
|
||||
if (data)
|
||||
{
|
||||
if (data[0] == 'y' || data[0] == 'Y')
|
||||
SetOpen(FALSE);
|
||||
}
|
||||
}
|
||||
return rtnval;
|
||||
}
|
||||
|
||||
void CRDFDragToolbar::SetOpen(BOOL bIsOpen)
|
||||
{
|
||||
CDragToolbar::SetOpen(bIsOpen);
|
||||
CopySettingsToRDF();
|
||||
}
|
||||
|
||||
void CRDFDragToolbar::BeActiveToolbar()
|
||||
{
|
||||
CopySettingsToRDF();
|
||||
}
|
||||
|
||||
void CRDFDragToolbar::CopySettingsToRDF(void)
|
||||
{
|
||||
char *data = GetOpen() ? "no" : "yes";
|
||||
CRDFToolbar* pToolbar = (CRDFToolbar*)m_pToolbar->GetToolbar();
|
||||
HT_Resource top = HT_TopNode(pToolbar->GetHTView());
|
||||
HT_SetNodeData(top, gNavCenter->toolbarCollapsed, HT_COLUMN_STRING, data);
|
||||
}
|
||||
|
||||
void CRDFDragToolbar::OnPaint(void)
|
||||
{
|
||||
CPaintDC dcPaint(this); // device context for painting
|
||||
|
@ -346,6 +346,14 @@ class CRDFDragToolbar : public CDragToolbar
|
||||
{
|
||||
public:
|
||||
|
||||
virtual int Create(CWnd *pParent, CToolbarWindow *pToolbar);
|
||||
virtual void SetOpen(BOOL bIsOpen);
|
||||
virtual void BeActiveToolbar();
|
||||
|
||||
protected:
|
||||
void CopySettingsToRDF(void);
|
||||
|
||||
public:
|
||||
// Generated message map functions
|
||||
//{{AFX_MSG(CDragToolbar)
|
||||
afx_msg void OnPaint(void);
|
||||
|
Loading…
Reference in New Issue
Block a user