Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Hi Markus,

On Tue, Apr 17, 2012 at 21:10, Markus Mohrhard
<markus.mohrhard@googlemail.com> wrote:

You need to export GetDefaultsOptions with SC_DLLPUBLIC in scmod.hxx.


Ok, that was simple enough. I have of course seen this SC_DLLPUBLIC
thing before, but never really understood the need for that. Now I do,
thanks Markus!

Please find the updated patch attached.

/Albert
From 07a8bae403441ee71a994ebdad963e6e29477e7d Mon Sep 17 00:00:00 2001
From: Albert Thuswaldner <albert.thuswaldner@gmail.com>
Date: Tue, 17 Apr 2012 20:25:53 +0200
Subject: [PATCH] Removed duplicate set/get methods for initial tab count

---
 sc/inc/appoptio.hxx                 |    5 -----
 sc/inc/scmod.hxx                    |    2 +-
 sc/source/core/tool/appoptio.cxx    |    4 ----
 sc/source/ui/vba/vbaapplication.cxx |   10 +++++-----
 sc/source/ui/view/tabvwsh4.cxx      |   11 +----------
 5 files changed, 7 insertions(+), 25 deletions(-)

diff --git a/sc/inc/appoptio.hxx b/sc/inc/appoptio.hxx
index b7f5fe8..d4cc424 100644
--- a/sc/inc/appoptio.hxx
+++ b/sc/inc/appoptio.hxx
@@ -46,10 +46,6 @@ public:
 
     void        SetDefaults();
 
-    // Set or get the initial tab count for new spreadsheet, it is used by VBA API currently.
-    void    SetTabCountInNewSpreadsheet( SCTAB nCount )  { nTabCountInNewSpreadsheet = nCount; }
-    SCTAB   GetTabCountInNewSpreadsheet() const              { return nTabCountInNewSpreadsheet;   
}
-
     void        SetAppMetric( FieldUnit eUnit ) { eMetric = eUnit;      }
     FieldUnit   GetAppMetric() const            { return eMetric;       }
     void        SetZoom( sal_uInt16 nNew )          { nZoom = nNew;         }
@@ -94,7 +90,6 @@ public:
     const ScAppOptions& operator=   ( const ScAppOptions& rOpt );
 
 private:
-    SCTAB   nTabCountInNewSpreadsheet;
     FieldUnit   eMetric;
     sal_uInt16      nLRUFuncCount;
     sal_uInt16*     pLRUList;
diff --git a/sc/inc/scmod.hxx b/sc/inc/scmod.hxx
index 4c36f30..69bc665 100644
--- a/sc/inc/scmod.hxx
+++ b/sc/inc/scmod.hxx
@@ -182,7 +182,7 @@ public:
     const ScViewOptions&    GetViewOptions  ();
 SC_DLLPUBLIC    const ScDocOptions&     GetDocOptions   ();
 SC_DLLPUBLIC    const ScAppOptions&     GetAppOptions   ();
-    const ScDefaultsOptions&   GetDefaultsOptions ();
+SC_DLLPUBLIC    const ScDefaultsOptions&   GetDefaultsOptions ();
     const ScFormulaOptions&   GetFormulaOptions ();
     const ScInputOptions&   GetInputOptions ();
 SC_DLLPUBLIC    const ScPrintOptions&   GetPrintOptions ();
diff --git a/sc/source/core/tool/appoptio.cxx b/sc/source/core/tool/appoptio.cxx
index 9b352b8..b864804 100644
--- a/sc/source/core/tool/appoptio.cxx
+++ b/sc/source/core/tool/appoptio.cxx
@@ -78,9 +78,6 @@ ScAppOptions::~ScAppOptions()
 
 void ScAppOptions::SetDefaults()
 {
-    // Set default tab count for new spreadsheet.
-    nTabCountInNewSpreadsheet = 0;
-
     if ( ScOptionsUtil::IsMetricSystem() )
         eMetric     = FUNIT_CM;             // default for countries with metric system
     else
@@ -118,7 +115,6 @@ void ScAppOptions::SetDefaults()
 
 const ScAppOptions& ScAppOptions::operator=( const ScAppOptions& rCpy )
 {
-    nTabCountInNewSpreadsheet = rCpy.nTabCountInNewSpreadsheet;
     eMetric         = rCpy.eMetric;
     eZoomType       = rCpy.eZoomType;
     bSynchronizeZoom = rCpy.bSynchronizeZoom;
diff --git a/sc/source/ui/vba/vbaapplication.cxx b/sc/source/ui/vba/vbaapplication.cxx
index d0201a4..478e8f4 100644
--- a/sc/source/ui/vba/vbaapplication.cxx
+++ b/sc/source/ui/vba/vbaapplication.cxx
@@ -79,7 +79,7 @@
 #include "global.hxx"
 #include "scmod.hxx"
 #include "docoptio.hxx"
-#include "appoptio.hxx"
+#include "defaultsoptions.hxx"
 
 #include <osl/file.hxx>
 #include <rtl/instance.hxx>
@@ -939,8 +939,8 @@ ScVbaApplication::setEnableCancelKey(sal_Int32 /*lEnableCancelKey*/) throw (uno:
 
 sal_Int32 SAL_CALL ScVbaApplication::getSheetsInNewWorkbook() throw (uno::RuntimeException)
 {
-    const ScAppOptions& rAppOpt = SC_MOD()->GetAppOptions();
-    return rAppOpt.GetTabCountInNewSpreadsheet();
+    const ScDefaultsOptions& rOpt = SC_MOD()->GetDefaultsOptions();
+    return rOpt.GetInitTabCount();
 }
 
 void SAL_CALL ScVbaApplication::setSheetsInNewWorkbook( sal_Int32 SheetsInNewWorkbook ) throw 
(script::BasicErrorException, uno::RuntimeException)
@@ -952,8 +952,8 @@ void SAL_CALL ScVbaApplication::setSheetsInNewWorkbook( sal_Int32 SheetsInNewWor
     }
     else
     {
-        ScAppOptions& rAppOpt = const_cast< ScAppOptions& >(SC_MOD()->GetAppOptions());
-        rAppOpt.SetTabCountInNewSpreadsheet( SheetsInNewWorkbook );
+        ScDefaultsOptions& rOpt = const_cast< ScDefaultsOptions& >(SC_MOD()->GetDefaultsOptions());
+        rOpt.SetInitTabCount( SheetsInNewWorkbook );
     }
 }
 
diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx
index 4cf2624..238d124 100644
--- a/sc/source/ui/view/tabvwsh4.cxx
+++ b/sc/source/ui/view/tabvwsh4.cxx
@@ -1605,19 +1605,10 @@ void ScTabViewShell::Construct( sal_uInt8 nForceDesignMode )
             // append additional sheets (not for OLE object)
             if ( pDocSh->GetCreateMode() != SFX_CREATE_MODE_EMBEDDED )
             {
-                // Get the customized initial tab count...
-
-                // ... from option dialog.
+                // Get the customized initial tab count
                 const ScDefaultsOptions& rOpt = SC_MOD()->GetDefaultsOptions();
                 SCTAB nInitTabCount = rOpt.GetInitTabCount();
 
-                // ... by VBA API.
-                const ScAppOptions& rAppOpt = SC_MOD()->GetAppOptions();
-                SCTAB nNewTabCount = rAppOpt.GetTabCountInNewSpreadsheet();
-                if ( nNewTabCount >= 1 && nNewTabCount <= MAXTAB )
-                {
-                    nInitTabCount = nNewTabCount;
-                }
                 for (SCTAB i=1; i<nInitTabCount; i++)
                     pDoc->MakeTable(i,false);
             }
-- 
1.7.3.4


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.