summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2014-12-22 13:10:46 +0900
committerTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2014-12-22 13:24:47 +0900
commitd0379e8f220941087ea025b37b0f70eb25f8de07 (patch)
treefc431aeee22b72798d5eaeb16043202d4126d0b4
parenta5e169a2f06b8ff159534a8d37e64ecb1a0f4d55 (diff)
fdo#56970 Show insert tab at the correct position when RTL is on
Change-Id: I1e7e751123fa3c3f365e5342211a0b75395a1711
-rw-r--r--svtools/source/control/tabbar.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx
index 2f01cbc77915..638d875bb634 100644
--- a/svtools/source/control/tabbar.cxx
+++ b/svtools/source/control/tabbar.cxx
@@ -35,13 +35,14 @@
#include <svtools/svtools.hrc>
#include <limits>
-
+namespace {
#define TABBAR_DRAG_SCROLLOFF 5
#define TABBAR_MINSIZE 5
const sal_uInt16 ADDNEWPAGE_AREAWIDTH = 10;
+const sal_uInt16 INSERT_TAB_WIDTH = 32;
-
+} // anonymous namespace
struct ImplTabBarItem
{
@@ -1730,12 +1731,14 @@ Rectangle TabBar::ImplGetInsertTabRect(ImplTabBarItem* pItem) const
{
if (mbHasInsertTab && pItem)
{
+ sal_Int32 aScaleFactor = GetDPIScaleFactor();
+ sal_Int32 nInsertTabWidth = aScaleFactor * INSERT_TAB_WIDTH;
Rectangle aInsTabRect = pItem->maRect;
if ( !mbMirrored )
aInsTabRect.setX(aInsTabRect.getX() + aInsTabRect.getWidth());
else
- aInsTabRect.setX(aInsTabRect.getX());
- aInsTabRect.setWidth(32);
+ aInsTabRect.setX(aInsTabRect.getX() - nInsertTabWidth);
+ aInsTabRect.setWidth(nInsertTabWidth);
return aInsTabRect;
}
return Rectangle();