tdf#102139 : prevent the notebookbar from switching to empty tab
Change-Id: I0b463fef98d7597c9b7f22ee84701519a0f2b575 Reviewed-on: https://gerrit.libreoffice.org/33100 Reviewed-by: Szymon Kłos <eszkadev@gmail.com> Tested-by: Szymon Kłos <eszkadev@gmail.com>
This commit is contained in:
parent
53f21cde33
commit
b33715c00e
@ -68,7 +68,7 @@ protected:
|
||||
SAL_DLLPRIVATE Rectangle ImplGetTabRect( sal_uInt16 nPos, long nWidth = -1, long nHeight = -1 );
|
||||
SAL_DLLPRIVATE void ImplChangeTabPage( sal_uInt16 nId, sal_uInt16 nOldId );
|
||||
SAL_DLLPRIVATE bool ImplPosCurTabPage();
|
||||
SAL_DLLPRIVATE void ImplActivateTabPage( bool bNext );
|
||||
virtual void ImplActivateTabPage( bool bNext );
|
||||
SAL_DLLPRIVATE void ImplShowFocus();
|
||||
SAL_DLLPRIVATE void ImplDrawItem(vcl::RenderContext& rRenderContext, ImplTabItem* pItem,
|
||||
const Rectangle& rCurRect, bool bFirstInGroup,
|
||||
@ -208,6 +208,7 @@ public:
|
||||
protected:
|
||||
virtual bool ImplPlaceTabs( long nWidth ) override;
|
||||
virtual void ImplPaint(vcl::RenderContext& rRenderContext, const Rectangle& rRect) override;
|
||||
virtual void ImplActivateTabPage( bool bNext ) override;
|
||||
|
||||
private:
|
||||
bool bLastContextWasSupported;
|
||||
|
@ -2288,6 +2288,39 @@ void NotebookbarTabControl::SetCurPageId( sal_uInt16 nPageId )
|
||||
TabControl::SetCurPageId( nPageId );
|
||||
}
|
||||
|
||||
void NotebookbarTabControl::ImplActivateTabPage( bool bNext )
|
||||
{
|
||||
sal_uInt16 nCurPos = GetPagePos( GetCurPageId() );
|
||||
|
||||
if ( bNext && nCurPos + 1 < GetPageCount() )
|
||||
{
|
||||
sal_uInt16 nOldPos = nCurPos;
|
||||
nCurPos++;
|
||||
|
||||
ImplTabItem* pItem = &mpTabCtrlData->maItemList[nCurPos];
|
||||
while ( !pItem->mbEnabled && nCurPos + 1 < GetPageCount())
|
||||
{
|
||||
nCurPos++;
|
||||
pItem = &mpTabCtrlData->maItemList[nCurPos];
|
||||
}
|
||||
|
||||
if ( !pItem->mbEnabled )
|
||||
nCurPos = nOldPos;
|
||||
}
|
||||
else if ( !bNext && nCurPos )
|
||||
{
|
||||
nCurPos--;
|
||||
ImplTabItem* pItem = &mpTabCtrlData->maItemList[nCurPos];
|
||||
while ( nCurPos && !pItem->mbEnabled )
|
||||
{
|
||||
nCurPos--;
|
||||
pItem = &mpTabCtrlData->maItemList[nCurPos];
|
||||
}
|
||||
}
|
||||
|
||||
SelectTabPage( TabControl::GetPageId( nCurPos ) );
|
||||
}
|
||||
|
||||
sal_uInt16 NotebookbarTabControl::GetHeaderHeight()
|
||||
{
|
||||
return m_nHeaderHeight;
|
||||
|
Loading…
x
Reference in New Issue
Block a user