Kaydet (Commit) 8a009858 authored tarafından Tomaž Vajngerl's avatar Tomaž Vajngerl

Adjust the statusbar item widths according to HiDPI scaling factor

Change-Id: Id697b3b799c7437d937de6534edf88083e5c4dfd
üst f37ccf3e
......@@ -147,6 +147,7 @@ StatusBarManager::StatusBarManager(
m_xStatusbarControllerFactory = frame::theStatusbarControllerFactory::get(
::comphelper::getProcessComponentContext());
m_pStatusBar->AdjustItemWidthsForHiDPI(true);
m_pStatusBar->SetClickHdl( LINK( this, StatusBarManager, Click ) );
m_pStatusBar->SetDoubleClickHdl( LINK( this, StatusBarManager, DoubleClick ) );
}
......
......@@ -92,6 +92,7 @@ private:
bool mbFormat;
bool mbProgressMode;
bool mbInUserDraw;
bool mbAdjustHiDPI;
Link maClickHdl;
Link maDoubleClickHdl;
......@@ -114,6 +115,8 @@ public:
WinBits nWinStyle = WB_BORDER | WB_RIGHT );
virtual ~StatusBar();
void AdjustItemWidthsForHiDPI(bool bAdjustHiDPI);
virtual void MouseButtonDown( const MouseEvent& rMEvt ) SAL_OVERRIDE;
virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE;
virtual void Move() SAL_OVERRIDE;
......
......@@ -129,6 +129,7 @@ void StatusBar::ImplInit( vcl::Window* pParent, WinBits nStyle )
mbVisibleItems = true;
mbProgressMode = false;
mbInUserDraw = false;
mbAdjustHiDPI = false;
mnItemsWidth = STATUSBAR_OFFSET_X;
mnDX = 0;
mnDY = 0;
......@@ -161,6 +162,11 @@ StatusBar::~StatusBar()
delete mpImplData;
}
void StatusBar::AdjustItemWidthsForHiDPI(bool bAdjustHiDPI)
{
mbAdjustHiDPI = bAdjustHiDPI;
}
void StatusBar::ImplInitSettings( bool bFont,
bool bForeground, bool bBackground )
{
......@@ -899,6 +905,10 @@ void StatusBar::InsertItem( sal_uInt16 nItemId, sal_uLong nWidth,
nBits |= SIB_CENTER;
// create item
if (mbAdjustHiDPI && GetDPIScaleFactor() != 1)
{
nWidth *= GetDPIScaleFactor();
}
long nFudge = GetTextHeight()/4;
ImplStatusItem* pItem = new ImplStatusItem;
pItem->mnId = nItemId;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment