[Libreoffice-commits] core.git: sw/source

Stephan Bergmann sbergman at redhat.com
Thu Feb 8 13:59:25 UTC 2018


 sw/source/uibase/app/appopt.cxx     |    4 ++--
 sw/source/uibase/app/docshini.cxx   |    2 +-
 sw/source/uibase/config/usrpref.cxx |    6 +++---
 sw/source/uibase/inc/usrpref.hxx    |    8 ++++----
 4 files changed, 10 insertions(+), 10 deletions(-)

New commits:
commit f7011dc1c740dcb4b5e142aa6ddbafd212c2a7d8
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Feb 7 22:15:28 2018 +0100

    Store SwMasterUsrPref::m_nDefTab in 1/100 mm instead of twips
    
    ...to match its source (/org.openoffice.Office.Writer/Layout/Other/TabStop) and
    avoid rounding errors in case the value read from the configuration is ever
    written back to the configuration (which is pointless, but e.g. currently
    happens when the SwMasterUsrPref ctor calls SwLayoutViewConfig::Load, which
    calls SwMasterUsrPref::SetAlignMathObjectsToBaseline, which unconditionally
    calls SetModified, so that a later utl::ConfigManager::storeConfigItems will
    write them all back)
    
    Change-Id: I7a1ddfbc4771fac101b7ea3a8258bb51f09d9bc1
    Reviewed-on: https://gerrit.libreoffice.org/49407
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/sw/source/uibase/app/appopt.cxx b/sw/source/uibase/app/appopt.cxx
index 55f6643174bf..50ee0cc1997d 100644
--- a/sw/source/uibase/app/appopt.cxx
+++ b/sw/source/uibase/app/appopt.cxx
@@ -197,7 +197,7 @@ std::unique_ptr<SfxItemSet> SwModule::CreateItemSet( sal_uInt16 nId )
                 pRet->Put( SfxUInt16Item( SID_ATTR_DEFTABSTOP, static_cast<sal_uInt16>(::GetTabDist(rDefTabs))));
         }
         else
-            pRet->Put(SfxUInt16Item( SID_ATTR_DEFTABSTOP, static_cast<sal_uInt16>(pPref->GetDefTab())));
+            pRet->Put(SfxUInt16Item( SID_ATTR_DEFTABSTOP, static_cast<sal_uInt16>(convertMm100ToTwip(pPref->GetDefTabInMm100()))));
     }
 
     // Options for GridTabPage
@@ -329,7 +329,7 @@ void SwModule::ApplyItemSet( sal_uInt16 nId, const SfxItemSet& rSet )
     if( SfxItemState::SET == rSet.GetItemState(SID_ATTR_DEFTABSTOP, false, &pItem ) )
     {
         sal_uInt16 nTabDist = static_cast<const SfxUInt16Item*>(pItem)->GetValue();
-        pPref->SetDefTab(nTabDist);
+        pPref->SetDefTabInMm100(convertTwipToMm100(nTabDist));
         if(pAppView)
         {
             SvxTabStopItem aDefTabs( 0, 0, SvxTabAdjust::Default, RES_PARATR_TABSTOP );
diff --git a/sw/source/uibase/app/docshini.cxx b/sw/source/uibase/app/docshini.cxx
index 42dcb2933bef..e9bbeb63a2b6 100644
--- a/sw/source/uibase/app/docshini.cxx
+++ b/sw/source/uibase/app/docshini.cxx
@@ -678,7 +678,7 @@ void SwDocShell::SubInitNew()
 
         aDfltSet.Put( aHyp );
 
-        sal_uInt16 nNewPos = static_cast< sal_uInt16 >(SW_MOD()->GetUsrPref(false)->GetDefTab());
+        sal_uInt16 nNewPos = static_cast< sal_uInt16 >(convertMm100ToTwip(SW_MOD()->GetUsrPref(false)->GetDefTabInMm100()));
         if( nNewPos )
             aDfltSet.Put( SvxTabStopItem( 1, nNewPos,
                                           SvxTabAdjust::Default, RES_PARATR_TABSTOP ) );
diff --git a/sw/source/uibase/config/usrpref.cxx b/sw/source/uibase/config/usrpref.cxx
index b2c5db331231..f98e575c4bb7 100644
--- a/sw/source/uibase/config/usrpref.cxx
+++ b/sw/source/uibase/config/usrpref.cxx
@@ -50,7 +50,7 @@ SwMasterUsrPref::SwMasterUsrPref(bool bWeb) :
     m_nLinkUpdateMode(0),
     m_bIsHScrollMetricSet(false),
     m_bIsVScrollMetricSet(false),
-    m_nDefTab( MM50 * 4 ),
+    m_nDefTabInMm100( 2000 ), // 2 cm
     m_bIsSquaredPageMode(false),
     m_bIsAlignMathObjectsToBaseline(false),
     m_aContentConfig(bWeb, *this),
@@ -299,7 +299,7 @@ void SwLayoutViewConfig::ImplCommit()
             case 10: rVal <<= static_cast<sal_Int32>(rParent.GetZoomType()); break;              // "Zoom/Type",
             case 11: rVal <<= rParent.IsAlignMathObjectsToBaseline(); break;        // "Other/IsAlignMathObjectsToBaseline"
             case 12: rVal <<= static_cast<sal_Int32>(rParent.GetMetric()); break;                // "Other/MeasureUnit",
-            case 13: rVal <<= static_cast<sal_Int32>(convertTwipToMm100(rParent.GetDefTab())); break;// "Other/TabStop",
+            case 13: rVal <<= rParent.GetDefTabInMm100(); break;// "Other/TabStop",
             case 14: rVal <<= rParent.IsVRulerRight(); break;                       // "Window/IsVerticalRulerRight",
             case 15: rVal <<= static_cast<sal_Int32>(rParent.GetViewLayoutColumns()); break;     // "ViewLayout/Columns",
             case 16: rVal <<= rParent.IsViewLayoutBookMode(); break;                // "ViewLayout/BookMode",
@@ -353,7 +353,7 @@ void SwLayoutViewConfig::Load()
                     case 10: rParent.SetZoomType( static_cast< SvxZoomType >(nInt32Val) ); break;// "Zoom/Type",
                     case 11: rParent.SetAlignMathObjectsToBaseline(bSet); break;// "Other/IsAlignMathObjectsToBaseline"
                     case 12: rParent.SetMetric(static_cast<FieldUnit>(nInt32Val), true); break;// "Other/MeasureUnit",
-                    case 13: rParent.SetDefTab(convertMm100ToTwip(nInt32Val), true); break;// "Other/TabStop",
+                    case 13: rParent.SetDefTabInMm100(nInt32Val, true); break;// "Other/TabStop",
                     case 14: rParent.SetVRulerRight(bSet); break;// "Window/IsVerticalRulerRight",
                     case 15: rParent.SetViewLayoutColumns( static_cast<sal_uInt16>(nInt32Val) ); break;// "ViewLayout/Columns",
                     case 16: rParent.SetViewLayoutBookMode(bSet); break;// "ViewLayout/BookMode",
diff --git a/sw/source/uibase/inc/usrpref.hxx b/sw/source/uibase/inc/usrpref.hxx
index 021dded82d98..42d29861dc82 100644
--- a/sw/source/uibase/inc/usrpref.hxx
+++ b/sw/source/uibase/inc/usrpref.hxx
@@ -136,7 +136,7 @@ class SwMasterUsrPref : public SwViewOption
     FieldUnit   m_eVScrollMetric;
     bool    m_bIsVScrollMetricSet;
 
-    sal_Int32   m_nDefTab;            //default tab stop distance
+    sal_Int32   m_nDefTabInMm100;     //default tab stop distance, in 1/100 mm
 
     bool    m_bIsSquaredPageMode; //default page mode for text grid
     bool    m_bIsAlignMathObjectsToBaseline;
@@ -239,10 +239,10 @@ public:
         m_aLayoutConfig.SetModified();
     }
 
-    sal_Int32   GetDefTab() const { return m_nDefTab;}
-    void        SetDefTab( sal_Int32  nSet, bool bNoModify = false )
+    sal_Int32   GetDefTabInMm100() const { return m_nDefTabInMm100;}
+    void        SetDefTabInMm100( sal_Int32  nSet, bool bNoModify = false )
                 {
-                    m_nDefTab = nSet;
+                    m_nDefTabInMm100 = nSet;
                     if(!bNoModify)
                         m_aLayoutConfig.SetModified();
                 }


More information about the Libreoffice-commits mailing list