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( ...@@ -147,6 +147,7 @@ StatusBarManager::StatusBarManager(
m_xStatusbarControllerFactory = frame::theStatusbarControllerFactory::get( m_xStatusbarControllerFactory = frame::theStatusbarControllerFactory::get(
::comphelper::getProcessComponentContext()); ::comphelper::getProcessComponentContext());
m_pStatusBar->AdjustItemWidthsForHiDPI(true);
m_pStatusBar->SetClickHdl( LINK( this, StatusBarManager, Click ) ); m_pStatusBar->SetClickHdl( LINK( this, StatusBarManager, Click ) );
m_pStatusBar->SetDoubleClickHdl( LINK( this, StatusBarManager, DoubleClick ) ); m_pStatusBar->SetDoubleClickHdl( LINK( this, StatusBarManager, DoubleClick ) );
} }
......
...@@ -92,6 +92,7 @@ private: ...@@ -92,6 +92,7 @@ private:
bool mbFormat; bool mbFormat;
bool mbProgressMode; bool mbProgressMode;
bool mbInUserDraw; bool mbInUserDraw;
bool mbAdjustHiDPI;
Link maClickHdl; Link maClickHdl;
Link maDoubleClickHdl; Link maDoubleClickHdl;
...@@ -114,6 +115,8 @@ public: ...@@ -114,6 +115,8 @@ public:
WinBits nWinStyle = WB_BORDER | WB_RIGHT ); WinBits nWinStyle = WB_BORDER | WB_RIGHT );
virtual ~StatusBar(); virtual ~StatusBar();
void AdjustItemWidthsForHiDPI(bool bAdjustHiDPI);
virtual void MouseButtonDown( const MouseEvent& rMEvt ) SAL_OVERRIDE; virtual void MouseButtonDown( const MouseEvent& rMEvt ) SAL_OVERRIDE;
virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE; virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE;
virtual void Move() SAL_OVERRIDE; virtual void Move() SAL_OVERRIDE;
......
...@@ -129,6 +129,7 @@ void StatusBar::ImplInit( vcl::Window* pParent, WinBits nStyle ) ...@@ -129,6 +129,7 @@ void StatusBar::ImplInit( vcl::Window* pParent, WinBits nStyle )
mbVisibleItems = true; mbVisibleItems = true;
mbProgressMode = false; mbProgressMode = false;
mbInUserDraw = false; mbInUserDraw = false;
mbAdjustHiDPI = false;
mnItemsWidth = STATUSBAR_OFFSET_X; mnItemsWidth = STATUSBAR_OFFSET_X;
mnDX = 0; mnDX = 0;
mnDY = 0; mnDY = 0;
...@@ -161,6 +162,11 @@ StatusBar::~StatusBar() ...@@ -161,6 +162,11 @@ StatusBar::~StatusBar()
delete mpImplData; delete mpImplData;
} }
void StatusBar::AdjustItemWidthsForHiDPI(bool bAdjustHiDPI)
{
mbAdjustHiDPI = bAdjustHiDPI;
}
void StatusBar::ImplInitSettings( bool bFont, void StatusBar::ImplInitSettings( bool bFont,
bool bForeground, bool bBackground ) bool bForeground, bool bBackground )
{ {
...@@ -899,6 +905,10 @@ void StatusBar::InsertItem( sal_uInt16 nItemId, sal_uLong nWidth, ...@@ -899,6 +905,10 @@ void StatusBar::InsertItem( sal_uInt16 nItemId, sal_uLong nWidth,
nBits |= SIB_CENTER; nBits |= SIB_CENTER;
// create item // create item
if (mbAdjustHiDPI && GetDPIScaleFactor() != 1)
{
nWidth *= GetDPIScaleFactor();
}
long nFudge = GetTextHeight()/4; long nFudge = GetTextHeight()/4;
ImplStatusItem* pItem = new ImplStatusItem; ImplStatusItem* pItem = new ImplStatusItem;
pItem->mnId = nItemId; 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