tdf#100584, tdf#157784 - Arrange sheets depending on the RTL settings
The tab bar's position should be determined globally based on the RTL
settings, rather than being individually set for each sheet.
Change-Id: I0690b01c842d2da6d49b57d1adad0a8e0844087f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158730
Tested-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
index d158516..25d60ab 100644
--- a/sc/source/ui/view/tabview.cxx
+++ b/sc/source/ui/view/tabview.cxx
@@ -280,7 +280,8 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, bool bInner )
if (bHasHint)
RemoveHintWindow();
bool bLayoutRTL = aViewData.GetDocument().IsLayoutRTL( aViewData.GetTabNo() );
// tdf#100584 - arrange sheets depending on the RTL settings
bool bLayoutRTL = AllSettings::GetLayoutRTL();
tools::Long nTotalWidth = rSize.Width();
if ( bLayoutRTL )
nTotalWidth += 2*rOffset.X();
diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx
index 1690269..02a23b8 100644
--- a/svtools/source/control/tabbar.cxx
+++ b/svtools/source/control/tabbar.cxx
@@ -715,9 +715,7 @@ void TabBar::ImplFormat()
const size_t nItemListSize = mpImpl->maItemList.size();
for (size_t nItemIndex = 0; nItemIndex < nItemListSize; nItemIndex++)
{
// tdf#100584 - arrange sheets depending on the RTL settings
auto& rItem = mbMirrored ? mpImpl->maItemList[nItemListSize - nItemIndex - 1]
: mpImpl->maItemList[nItemIndex];
auto& rItem = mpImpl->maItemList[nItemIndex];
// At all non-visible tabs an empty rectangle is set
if ((nItemIndex + 1 < mnFirstPos) || (x > mnLastOffX))