diff options
author | Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de> | 2024-05-30 12:26:11 +0200 |
---|---|---|
committer | Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de> | 2024-06-03 09:32:06 +0200 |
commit | f6ea343e6fb2dc3539823dee60c9c6f96fc16275 (patch) | |
tree | db58599d2631c11684c70a793699e869d1ee329d | |
parent | 606bde742eb94767c9713f58a7b844c0c2957d60 (diff) |
tdf#161030 Improve vertical Tab list display
* Increase width a bit to allow for longer tab names
* Avoid jumping while moving through the list with arrow keys
Change-Id: Ie418dd40c5f69dcdea8fa07743ff26e3c9e04ee2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168251
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
-rw-r--r-- | vcl/source/control/imivctl1.cxx | 27 | ||||
-rw-r--r-- | vcl/source/control/ivctrl.cxx | 4 |
2 files changed, 17 insertions, 14 deletions
diff --git a/vcl/source/control/imivctl1.cxx b/vcl/source/control/imivctl1.cxx index ea69fbcfb99b..dca91c7d4163 100644 --- a/vcl/source/control/imivctl1.cxx +++ b/vcl/source/control/imivctl1.cxx @@ -92,7 +92,7 @@ SvxIconChoiceCtrl_Impl::SvxIconChoiceCtrl_Impl( aVisRectChangedIdle.SetInvokeHandler(LINK(this,SvxIconChoiceCtrl_Impl,VisRectChangedHdl)); Clear( true ); - Size gridSize((nWinStyle & WB_DETAILS) ? 200 : 100, (nWinStyle & WB_DETAILS) ? 20 : 70); + Size gridSize((nWinStyle & WB_DETAILS) ? 150 : 100, (nWinStyle & WB_DETAILS) ? 20 : 70); if(pView->GetDPIScaleFactor() > 1) { gridSize.setHeight( gridSize.Height() * ( pView->GetDPIScaleFactor()) ); @@ -1942,19 +1942,22 @@ void SvxIconChoiceCtrl_Impl::MakeVisible( const tools::Rectangle& rRect, bool bS else nDy = 0; - tools::Long nDx; - if( aVirtRect.Left() < aOutputArea.Left() ) - { - // scroll to the left (nDx < 0) - nDx = aVirtRect.Left() - aOutputArea.Left(); - } - else if( aVirtRect.Right() > aOutputArea.Right() ) + tools::Long nDx = 0; + + // no horizontal scrolling needed in list mode + if (!(nWinBits & WB_DETAILS)) { - // scroll to the right (nDx > 0) - nDx = aVirtRect.Right() - aOutputArea.Right(); + if( aVirtRect.Left() < aOutputArea.Left() ) + { + // scroll to the left (nDx < 0) + nDx = aVirtRect.Left() - aOutputArea.Left(); + } + else if( aVirtRect.Right() > aOutputArea.Right() ) + { + // scroll to the right (nDx > 0) + nDx = aVirtRect.Right() - aOutputArea.Right(); + } } - else - nDx = 0; aOrigin.AdjustX(nDx ); aOrigin.AdjustY(nDy ); diff --git a/vcl/source/control/ivctrl.cxx b/vcl/source/control/ivctrl.cxx index cb0c4e33d0c3..c17a0caf359d 100644 --- a/vcl/source/control/ivctrl.cxx +++ b/vcl/source/control/ivctrl.cxx @@ -447,9 +447,9 @@ VerticalTabControl::VerticalTabControl(vcl::Window* pParent, bool bWithIcons) SetType(WindowType::VERTICALTABCONTROL); m_xChooser->SetSelectionMode(SelectionMode::Single); m_xChooser->SetClickHdl(LINK(this, VerticalTabControl, ChosePageHdl_Impl)); - m_xChooser->set_width_request(110); + m_xChooser->set_width_request(150); m_xChooser->set_height_request(400); - m_xChooser->SetSizePixel(Size(110, 400)); + m_xChooser->SetSizePixel(Size(150, 400)); m_xBox->set_vexpand(true); m_xBox->set_hexpand(true); m_xBox->set_expand(true); |