diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2020-06-15 19:45:50 +0200 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2020-07-06 08:42:13 +0200 |
commit | 9bb3b614300cd8b6572c9fa92fcd92a80d22fdc6 (patch) | |
tree | 7dbc90d212d46211e0e5fd5e8d2484ff853fa5b0 /vcl | |
parent | 20f04a0c85e15aca46e181ac489b11d84d789a8e (diff) |
tdf#133877 use optimal size for hamburger button
This way it'll properly scale, instead of using the fixed 28 pixel
dimension. This is a hack, which is used a few more times in VCL.
Still this should not be needed, but done automatically.
If there aren't any constraints, just return the optimal size!
Change-Id: I8aa32645ea95cba28d0daf56f0be27c15153b6c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96390
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit eff34e639055701b1299c07e6cdc0ce07cfc0936)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96411
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
(cherry picked from commit 1c73b219487b2aa60d888755cf4eca082e6b00c0)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97464
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/control/tabctrl.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/vcl/source/control/tabctrl.cxx b/vcl/source/control/tabctrl.cxx index d39b50866366..cece38cc9f87 100644 --- a/vcl/source/control/tabctrl.cxx +++ b/vcl/source/control/tabctrl.cxx @@ -84,7 +84,6 @@ struct ImplTabCtrlData // for the Tab positions #define TAB_PAGERECT 0xFFFF -#define HAMBURGER_DIM 28 void TabControl::ImplInit( vcl::Window* pParent, WinBits nStyle ) { @@ -2198,9 +2197,9 @@ NotebookbarTabControlBase::NotebookbarTabControlBase(vcl::Window* pParent) , eLastContext(vcl::EnumContext::Context::Any) { m_pOpenMenu = VclPtr<PushButton>::Create( this , WB_CENTER | WB_VCENTER ); - m_pOpenMenu->SetSizePixel(Size(HAMBURGER_DIM, HAMBURGER_DIM)); m_pOpenMenu->SetClickHdl(LINK(this, NotebookbarTabControlBase, OpenMenu)); m_pOpenMenu->SetModeImage(Image(StockImage::Yes, SV_RESID_BITMAP_NOTEBOOKBAR)); + m_pOpenMenu->SetSizePixel(m_pOpenMenu->GetOptimalSize()); m_pOpenMenu->Show(); } @@ -2307,7 +2306,8 @@ bool NotebookbarTabControlBase::ImplPlaceTabs( long nWidth ) if (!m_pOpenMenu || m_pOpenMenu->isDisposed()) return false; - long nMaxWidth = nWidth - HAMBURGER_DIM; + const long nHamburgerWidth = m_pOpenMenu->GetSizePixel().Width(); + long nMaxWidth = nWidth - nHamburgerWidth; long nShortcutsWidth = m_pShortcuts != nullptr ? m_pShortcuts->GetSizePixel().getWidth() + 1 : 0; long nFullWidth = nShortcutsWidth; @@ -2375,7 +2375,7 @@ bool NotebookbarTabControlBase::ImplPlaceTabs( long nWidth ) long nPosY = (m_nHeaderHeight - m_pOpenMenu->GetSizePixel().getHeight()) / 2; // position the menu - m_pOpenMenu->SetPosPixel(Point(nWidth - HAMBURGER_DIM, nPosY)); + m_pOpenMenu->SetPosPixel(Point(nWidth - nHamburgerWidth, nPosY)); return true; } |