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.