Hi, It took some time to fix this. I moved stuff to a new computer, had some build problems, implemented some changes (see below), and had a fair share of bugs to straighten out. But now I think I'm finished with this feature patch. Please have a look
- Changed the option tab page to defaults. - Changed the name of the handler class to ScTpDefaultsOptions - Changed the type of the tab enumerator to SCTAB - Changed to c++ type static casts - Renamed variables to more sensable names - Added new option nodes in officecfg/registry/schema/org/openoffice/Office/Calc.xcs - Set the maximum allowed sheet tabs tat you can enter into the input field to 32000 I also looked at checking that no negative numbers/character are inserted. To my understanding, you don't have to to anything special, it is taken care of in the input field. If you try to give a negative value as an input it changes to the minimum value (in this case have been setting this to 1) and the same happens when you try to enter a character. This is also consistent with how other input fields behave. Regards, /Albert On Wed, Jun 1, 2011 at 16:15, Kohei Yoshida <kyosh...@novell.com> wrote: > Sorry I forgot to snip a large part of it. Don't copy this behavior of > mine... It's something to be used as a counter-example of good > behavior. ;-) > > Kohei > > _______________________________________________ > LibreOffice mailing list > LibreOffice@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/libreoffice >
diff --git a/sc/Library_scui.mk b/sc/Library_scui.mk index 1e0ef6b..c85de9f 100644 --- a/sc/Library_scui.mk +++ b/sc/Library_scui.mk @@ -103,6 +103,7 @@ $(eval $(call gb_Library_add_exception_objects,scui,\ sc/source/ui/optdlg/tpcalc \ sc/source/ui/optdlg/tpcompatibility \ sc/source/ui/optdlg/tpformula \ + sc/source/ui/optdlg/tpdefaults \ sc/source/ui/optdlg/tpprint \ sc/source/ui/optdlg/tpusrlst \ sc/source/ui/optdlg/tpview \ diff --git a/sc/inc/docoptio.hxx b/sc/inc/docoptio.hxx index 9ca84eb..de6b970 100644 --- a/sc/inc/docoptio.hxx +++ b/sc/inc/docoptio.hxx @@ -33,6 +33,7 @@ #include <svl/poolitem.hxx> #include <svl/itemprop.hxx> #include "scdllapi.h" +#include "scmod.hxx" #include "optutil.hxx" #include "formula/grammar.hxx" @@ -41,6 +42,7 @@ class SC_DLLPUBLIC ScDocOptions { double fIterEps; // epsilon value dazu sal_uInt16 nIterCount; // number + SCTAB nInitTabCount; // number of Tabs for new Spreadssheet doc sal_uInt16 nPrecStandardFormat; // precision for standard format ScOptionsUtil::KeyBindingType eKeyBindingType; sal_uInt16 nDay; // Null date: @@ -79,6 +81,8 @@ public: void SetIter( sal_Bool bVal ) { bIsIter = bVal; } sal_uInt16 GetIterCount() const { return nIterCount; } void SetIterCount( sal_uInt16 nCount) { nIterCount = nCount; } + SCTAB GetInitTabCount() const { return nInitTabCount; } + void SetInitTabCount( SCTAB nTabs) { nInitTabCount = nTabs; } double GetIterEps() const { return fIterEps; } void SetIterEps( double fEps ) { fIterEps = fEps; } @@ -134,6 +138,7 @@ inline const ScDocOptions& ScDocOptions::operator=( const ScDocOptions& rCpy ) bIsIgnoreCase = rCpy.bIsIgnoreCase; bIsIter = rCpy.bIsIter; nIterCount = rCpy.nIterCount; + nInitTabCount = rCpy.nInitTabCount; fIterEps = rCpy.fIterEps; nPrecStandardFormat = rCpy.nPrecStandardFormat; eKeyBindingType = rCpy.eKeyBindingType; @@ -162,6 +167,7 @@ inline int ScDocOptions::operator==( const ScDocOptions& rOpt ) const rOpt.bIsIgnoreCase == bIsIgnoreCase && rOpt.bIsIter == bIsIter && rOpt.nIterCount == nIterCount + && rOpt.nInitTabCount == nInitTabCount && rOpt.fIterEps == fIterEps && rOpt.nPrecStandardFormat == nPrecStandardFormat && rOpt.eKeyBindingType == eKeyBindingType @@ -221,16 +227,19 @@ class ScDocCfg : public ScDocOptions ScLinkConfigItem aFormulaItem; ScLinkConfigItem aLayoutItem; ScLinkConfigItem aCompatItem; + ScLinkConfigItem aDefaultsItem; DECL_LINK( CalcCommitHdl, void* ); DECL_LINK( FormulaCommitHdl, void* ); DECL_LINK( LayoutCommitHdl, void* ); DECL_LINK( CompatCommitHdl, void* ); + DECL_LINK( DefaultsCommitHdl, void* ); com::sun::star::uno::Sequence<rtl::OUString> GetCalcPropertyNames(); com::sun::star::uno::Sequence<rtl::OUString> GetFormulaPropertyNames(); com::sun::star::uno::Sequence<rtl::OUString> GetLayoutPropertyNames(); com::sun::star::uno::Sequence<rtl::OUString> GetCompatPropertyNames(); + com::sun::star::uno::Sequence<rtl::OUString> GetDefaultsPropertyNames(); public: ScDocCfg(); diff --git a/sc/inc/helpids.h b/sc/inc/helpids.h index de666a3..6273186 100644 --- a/sc/inc/helpids.h +++ b/sc/inc/helpids.h @@ -99,7 +99,7 @@ #define HID_SCPAGE_COMPATIBILITY "SC_HID_SCPAGE_COMPATIBILITY" #define HID_SCPAGE_TABLE "SC_HID_SCPAGE_TABLE" #define HID_SCPAGE_PRINT "SC_HID_SCPAGE_PRINT" - +#define HID_SCPAGE_DEFAULTS "SC_HID_SCPAGE_DEFAULTS" #define HID_SCPAGE_SUBT_GROUP1 "SC_HID_SCPAGE_SUBT_GROUP1" #define HID_SCPAGE_SUBT_GROUP2 "SC_HID_SCPAGE_SUBT_GROUP2" #define HID_SCPAGE_SUBT_GROUP3 "SC_HID_SCPAGE_SUBT_GROUP3" diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc index ac00c69..d2b7048 100644 --- a/sc/inc/sc.hrc +++ b/sc/inc/sc.hrc @@ -1253,5 +1253,8 @@ // compatibility options page #define RID_SCPAGE_COMPATIBILITY (SC_OOO_BUILD_START + 9) +// init option page +#define RID_SCPAGE_DEFAULTS (SC_OOO_BUILD_START + 10) + #endif diff --git a/sc/source/core/tool/appoptio.cxx b/sc/source/core/tool/appoptio.cxx index 4680d86..7541fb6 100644 --- a/sc/source/core/tool/appoptio.cxx +++ b/sc/source/core/tool/appoptio.cxx @@ -85,7 +85,7 @@ ScAppOptions::~ScAppOptions() void ScAppOptions::SetDefaults() { // Set default tab count for new spreadsheet. - nTabCountInNewSpreadsheet = 3; + nTabCountInNewSpreadsheet = 0; if ( ScOptionsUtil::IsMetricSystem() ) eMetric = FUNIT_CM; // default for countries with metric system diff --git a/sc/source/core/tool/docoptio.cxx b/sc/source/core/tool/docoptio.cxx index f9e81a9..662d59c 100644 --- a/sc/source/core/tool/docoptio.cxx +++ b/sc/source/core/tool/docoptio.cxx @@ -91,6 +91,7 @@ ScDocOptions::ScDocOptions() ScDocOptions::ScDocOptions( const ScDocOptions& rCpy ) : fIterEps( rCpy.fIterEps ), nIterCount( rCpy.nIterCount ), + nInitTabCount( rCpy.nInitTabCount ), nPrecStandardFormat( rCpy.nPrecStandardFormat ), eKeyBindingType( rCpy.eKeyBindingType ), nDay( rCpy.nDay ), @@ -126,6 +127,7 @@ void ScDocOptions::ResetDocOptions() bIsIgnoreCase = false; bIsIter = false; nIterCount = 100; + nInitTabCount = 3; fIterEps = 1.0E-3; nPrecStandardFormat = SvNumberFormatter::UNLIMITED_PRECISION; eKeyBindingType = ScOptionsUtil::KEY_DEFAULT; @@ -290,6 +292,11 @@ SfxPoolItem* ScTpCalcItem::Clone( SfxItemPool * ) const #define SCCOMPATOPT_KEY_BINDING 0 #define SCCOMPATOPT_COUNT 1 +#define CFGPATH_DEFAULTS "Office.Calc/Defaults" +#define SCDEFAULTSOPT_TAB_COUNT 0 +#define SCDEFAULTSOPT_COUNT 1 + + Sequence<OUString> ScDocCfg::GetCalcPropertyNames() { static const char* aPropNames[] = @@ -365,11 +372,27 @@ Sequence<OUString> ScDocCfg::GetCompatPropertyNames() return aNames; } +Sequence<OUString> ScDocCfg::GetDefaultsPropertyNames() +{ + static const char* aPropNames[] = + { + "Other/TabCount" // SCDEFAULTSOPT_COUNT_TAB_COUNT + }; + Sequence<OUString> aNames(SCDEFAULTSOPT_COUNT); + OUString* pNames = aNames.getArray(); + for (int i = 0; i < SCDEFAULTSOPT_COUNT; ++i) + pNames[i] = OUString::createFromAscii(aPropNames[i]); + + return aNames; +} + + ScDocCfg::ScDocCfg() : aCalcItem( OUString(RTL_CONSTASCII_USTRINGPARAM( CFGPATH_CALC )) ), aFormulaItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_FORMULA))), aLayoutItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_DOCLAYOUT))), - aCompatItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_COMPAT))) + aCompatItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_COMPAT))), + aDefaultsItem(OUString(RTL_CONSTASCII_USTRINGPARAM(CFGPATH_DEFAULTS))) { sal_Int32 nIntVal = 0; @@ -559,6 +582,27 @@ ScDocCfg::ScDocCfg() : } } aCompatItem.SetCommitLink( LINK(this, ScDocCfg, CompatCommitHdl) ); + + aNames = GetDefaultsPropertyNames(); + aValues = aDefaultsItem.GetProperties(aNames); + aDefaultsItem.EnableNotification(aNames); + pValues = aValues.getConstArray(); + if (aValues.getLength() == aNames.getLength()) + { + for (int nProp = 0; nProp < aNames.getLength(); ++nProp) + { + switch (nProp) + { + + case SCDEFAULTSOPT_TAB_COUNT: + nIntVal = 3; // 3 = 'Default' + if (pValues[nProp] >>= nIntVal) + SetInitTabCount( static_cast<SCTAB>(nIntVal) ); + break; + } + } + } + aDefaultsItem.SetCommitLink( LINK(this, ScDocCfg, DefaultsCommitHdl) ); } IMPL_LINK( ScDocCfg, CalcCommitHdl, void *, EMPTYARG ) @@ -703,6 +747,25 @@ IMPL_LINK( ScDocCfg, CompatCommitHdl, void *, EMPTYARG ) return 0; } +IMPL_LINK( ScDocCfg, DefaultsCommitHdl, void *, EMPTYARG ) +{ + Sequence<OUString> aNames = GetDefaultsPropertyNames(); + Sequence<Any> aValues(aNames.getLength()); + Any* pValues = aValues.getArray(); + + for (int nProp = 0; nProp < aNames.getLength(); ++nProp) + { + switch(nProp) + { + case SCDEFAULTSOPT_TAB_COUNT: + pValues[nProp] <<= static_cast<sal_Int32>(GetInitTabCount()); + break; + } + } + aDefaultsItem.PutProperties(aNames, aValues); + return 0; +} + void ScDocCfg::SetOptions( const ScDocOptions& rNew ) { *(ScDocOptions*)this = rNew; @@ -711,6 +774,7 @@ void ScDocCfg::SetOptions( const ScDocOptions& rNew ) aFormulaItem.SetModified(); aLayoutItem.SetModified(); aCompatItem.SetModified(); + aDefaultsItem.SetModified(); } diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx index aa90629..82eacd5 100644 --- a/sc/source/ui/app/scmod.cxx +++ b/sc/source/ui/app/scmod.cxx @@ -100,13 +100,13 @@ #include "dwfunctr.hxx" #include "formdata.hxx" #include "tpprint.hxx" +#include "tpdefaults.hxx" #include "transobj.hxx" #include "detfunc.hxx" #include "preview.hxx" #include <svx/xmlsecctrl.hxx> - #define ScModule #include "scslots.hxx" @@ -2054,6 +2054,14 @@ SfxTabPage* ScModule::CreateTabPage( sal_uInt16 nId, Window* pParent, const Sfx pRet = (*ScTpPrintOptionsCreate)( pParent, rSet); } break; + case RID_SC_TP_DEFAULTS: + { + ::CreateTabPage ScTpDefaultsOptionsCreate = pFact->GetTabPageCreatorFunc( RID_SCPAGE_DEFAULTS ); + if ( ScTpDefaultsOptionsCreate ) + pRet = (*ScTpDefaultsOptionsCreate)( pParent, rSet); + } + break; + case RID_OFA_TP_INTERNATIONAL: { SfxAbstractDialogFactory* pSfxFact = SfxAbstractDialogFactory::Create(); diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx index faf0f29..14e3c6d 100644 --- a/sc/source/ui/attrdlg/scdlgfact.cxx +++ b/sc/source/ui/attrdlg/scdlgfact.cxx @@ -83,6 +83,7 @@ #include "tpformula.hxx" #include "datafdlg.hxx" #include "tpcompatibility.hxx" +#include "tpdefaults.hxx" // ause #include "editutil.hxx" @@ -1608,6 +1609,8 @@ CreateTabPage ScAbstractDialogFactory_Impl::GetTabPageCreatorFunc( sal_uInt16 nI return ScTpFormulaOptions::Create; case RID_SCPAGE_COMPATIBILITY: return ScTpCompatOptions::Create; + case RID_SCPAGE_DEFAULTS: + return ScTpDefaultsOptions::Create; case RID_SCPAGE_PRINT : return ScTpPrintOptions::Create; //break; diff --git a/sc/source/ui/inc/optdlg.hrc b/sc/source/ui/inc/optdlg.hrc index d62819b..4cdb0a5 100644 --- a/sc/source/ui/inc/optdlg.hrc +++ b/sc/source/ui/inc/optdlg.hrc @@ -194,3 +194,8 @@ #define FL_KEY_BINDINGS 1 #define FT_KEY_BINDINGS 2 #define LB_KEY_BINDINGS 3 + +// TP_DEFAULTS +#define FL_INIT_SPREADSHEET 1 +#define FT_NSHEETS 2 +#define ED_NSHEETS 3 diff --git a/sc/source/ui/inc/tpdefaults.hxx b/sc/source/ui/inc/tpdefaults.hxx new file mode 100644 index 0000000..0d3300e --- /dev/null +++ b/sc/source/ui/inc/tpdefaults.hxx @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2010 Novell, Inc. + * + * LibreOffice - a multi-platform office productivity suite + * + * This file is part of LibreOffice. + * + * LibreOffice is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * LibreOffice is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with LibreOffice. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __SC_TPDEFAULTS_HXX__ +#define __SC_TPDEFAULTS_HXX__ + +#include <sfx2/tabdlg.hxx> +#include <vcl/fixed.hxx> +#include <vcl/field.hxx> + +#include <boost/shared_ptr.hpp> + +class ScDocOptions; + +class ScTpDefaultsOptions : public SfxTabPage +{ +public: + using SfxTabPage::DeactivatePage; + + static SfxTabPage* Create (Window* pParent, const SfxItemSet& rCoreAttrs); + + virtual sal_Bool FillItemSet(SfxItemSet& rCoreAttrs); + virtual void Reset(const SfxItemSet& rCoreAttrs); + virtual int DeactivatePage(SfxItemSet* pSet = NULL); + +private: + explicit ScTpDefaultsOptions(Window* pParent, const SfxItemSet& rCoreAttrs); + virtual ~ScTpDefaultsOptions(); + +private: + FixedLine aFLInitSpreadSheet; + FixedText aFtNSheets; + NumericField aEdNSheets; + + ::boost::shared_ptr<ScDocOptions> mpLocalOptions; +}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/optdlg/tpdefaults.cxx b/sc/source/ui/optdlg/tpdefaults.cxx new file mode 100644 index 0000000..b260bd5 --- /dev/null +++ b/sc/source/ui/optdlg/tpdefaults.cxx @@ -0,0 +1,87 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2010 Novell, Inc. + * + * LibreOffice - a multi-platform office productivity suite + * + * This file is part of LibreOffice. + * + * LibreOffice is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * LibreOffice is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with LibreOffice. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_sc.hxx" + +#undef SC_DLLIMPLEMENTATION + +#include "tpdefaults.hxx" +#include "optdlg.hrc" +#include "scresid.hxx" +#include "scmod.hxx" +#include "docoptio.hxx" + +ScTpDefaultsOptions::ScTpDefaultsOptions(Window *pParent, const SfxItemSet &rCoreAttrs) : + SfxTabPage(pParent, ScResId(RID_SCPAGE_DEFAULTS), rCoreAttrs), + aFLInitSpreadSheet ( this, ScResId( FL_INIT_SPREADSHEET ) ), + aFtNSheets ( this, ScResId( FT_NSHEETS ) ), + aEdNSheets ( this, ScResId( ED_NSHEETS ) ) +{ + FreeResource(); + + const ScTpCalcItem& rItem = static_cast<const ScTpCalcItem&>( + rCoreAttrs.Get(GetWhich(SID_SCDOCOPTIONS))); + mpLocalOptions.reset(new ScDocOptions(rItem.GetDocOptions())); +} + +ScTpDefaultsOptions::~ScTpDefaultsOptions() +{ +} + +SfxTabPage* ScTpDefaultsOptions::Create(Window *pParent, const SfxItemSet &rCoreAttrs) +{ + return new ScTpDefaultsOptions(pParent, rCoreAttrs); +} + +sal_Bool ScTpDefaultsOptions::FillItemSet(SfxItemSet &rCoreAttrs) +{ + SCTAB nTabCount = static_cast<SCTAB>(aEdNSheets.GetValue()); + + if ( mpLocalOptions->GetInitTabCount() != nTabCount) + { + mpLocalOptions->SetInitTabCount( nTabCount ); + + rCoreAttrs.Put(ScTpCalcItem(GetWhich(SID_SCDOCOPTIONS), *mpLocalOptions)); + return sal_True; + } + else + return sal_False; +} + +void ScTpDefaultsOptions::Reset(const SfxItemSet &/*rCoreAttrs*/) +{ + aEdNSheets.SetValue( static_cast<sal_uInt16>(mpLocalOptions->GetInitTabCount()) ); +} + +int ScTpDefaultsOptions::DeactivatePage(SfxItemSet* /*pSet*/) +{ + return KEEP_PAGE; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/src/optdlg.src b/sc/source/ui/src/optdlg.src index 5a210d0..d6a6228 100644 --- a/sc/source/ui/src/optdlg.src +++ b/sc/source/ui/src/optdlg.src @@ -908,3 +908,35 @@ TabPage RID_SCPAGE_PRINT Text [ en-US ] = "~Print only selected sheets"; }; }; + +TabPage RID_SCPAGE_DEFAULTS +{ + HelpId = HID_SCPAGE_DEFAULTS ; + SVLook = TRUE ; + Hide = TRUE ; + Pos = MAP_APPFONT ( 0 , 0 ) ; + Size = MAP_APPFONT ( 260 , 185 ) ; + FixedLine FL_INIT_SPREADSHEET + { + Pos = MAP_APPFONT ( 6 , 3 ) ; + Size = MAP_APPFONT ( 248 , 8 ) ; + Text [ en-US ] = "New Spreadsheet"; + }; + FixedText FT_NSHEETS + { + Pos = MAP_APPFONT ( 12 , 32 ) ; + Size = MAP_APPFONT ( 120 , 8 ) ; + Text [ en-US ] = "Number of worksheets in new document"; + }; + NumericField ED_NSHEETS + { + HelpID = "sc:NumericField:RID_SCPAGE_CALC:ED_NSHEETS"; + Border = TRUE ; + Pos = MAP_APPFONT ( 130 , 30 ) ; + Size = MAP_APPFONT ( 25 , 12 ) ; + Minimum = 1 ; + Maximum = 32000 ; + Spin = TRUE ; + Repeat = TRUE ; + }; +}; diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx index a542a27..73e3055 100644 --- a/sc/source/ui/view/tabvwsh4.cxx +++ b/sc/source/ui/view/tabvwsh4.cxx @@ -29,8 +29,6 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sc.hxx" - - // INCLUDE --------------------------------------------------------------- #include "scitems.hxx" @@ -97,6 +95,7 @@ #include "sc.hrc" #include "scabstdlg.hxx" #include "externalrefmgr.hxx" +#include "docoptio.hxx" void ActivateOlk( ScViewData* pViewData ); void DeActivateOlk( ScViewData* pViewData ); @@ -1596,8 +1595,13 @@ void ScTabViewShell::Construct( sal_uInt8 nForceDesignMode ) // append additional sheets (not for OLE object) if ( pDocSh->GetCreateMode() != SFX_CREATE_MODE_EMBEDDED ) { - SCTAB nInitTabCount = 3; //! konfigurierbar !!! - // Get the customized initial tab count, we only can set the count by VBA API currently. + // Get the customized initial tab count... + + // ... from option dialog. + const ScDocOptions& rDocOpt = SC_MOD()->GetDocOptions(); + SCTAB nInitTabCount = rDocOpt.GetInitTabCount(); + + // ... by VBA API. const ScAppOptions& rAppOpt = SC_MOD()->GetAppOptions(); SCTAB nNewTabCount = rAppOpt.GetTabCountInNewSpreadsheet(); if ( nNewTabCount >= 1 && nNewTabCount <= MAXTAB ) diff --git a/cui/source/options/treeopt.src b/cui/source/options/treeopt.src index a1924ad..55eaf83 100644 --- a/cui/source/options/treeopt.src +++ b/cui/source/options/treeopt.src @@ -237,6 +237,7 @@ Resource RID_OFADLG_OPTIONS_TREE_PAGES { < "%PRODUCTNAME Calc" ; 0; > ; < "General" ; SID_SC_TP_LAYOUT ;> ; + < "Defaults" ; RID_SC_TP_DEFAULTS ;> ; < "View" ; SID_SC_TP_CONTENT ;> ; < "International" ; RID_OFA_TP_INTERNATIONAL ;> ; < "Calculate" ; SID_SC_TP_CALC ;> ; diff --git a/helpcontent2/helpers/help_hid.lst b/helpcontent2/helpers/help_hid.lst index 3164a82..d9c1db7 100644 --- a/helpcontent2/helpers/help_hid.lst +++ b/helpcontent2/helpers/help_hid.lst @@ -3520,6 +3520,7 @@ HID_SCPAGE_SUBT_GROUP2,58886, HID_SCPAGE_SUBT_GROUP3,58887, HID_SCPAGE_SUBT_OPTIONS,58875, HID_SCPAGE_TABLE,58883, +HID_SCPAGE_DEFAULTS,58894, HID_SCPAGE_USERLISTS,58880, HID_SCRIPTORG_DIALOG,39987, HID_SCRIPTSBOX,40011, diff --git a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs index 8e50f95..f558af8 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs @@ -1570,6 +1570,24 @@ </constraints> </prop> </group> + </group> + <group oor:name="Defaults"> + <info> + <desc>Contains various defaults settings.</desc> + </info> + <group oor:name="Other"> + <info> + <desc>Other Program defaults</desc> + </info> + <prop oor:name="TabCount" oor:type="xs:int"> + <!-- UIHints: Tools - Options - Spreadsheet - Defaults --> + <info> + <author>Albert Thuswaldner</author> + <desc>Option to set initial number of sheet tabs</desc> + </info> + <value>3</value> + </prop> + </group> </group> - </component> + </component> </oor:component-schema> diff --git a/svx/inc/svx/dialogs.hrc b/svx/inc/svx/dialogs.hrc index 4a30eb4..c399162 100755 --- a/svx/inc/svx/dialogs.hrc +++ b/svx/inc/svx/dialogs.hrc @@ -166,6 +166,7 @@ #define RID_OFA_TP_INTERNATIONAL_SD (RID_OFA_START + 253) #define RID_OFA_TP_INTERNATIONAL_IMPR (RID_OFA_START + 254) #define RID_OFA_TP_INTERNATIONAL (RID_OFA_START + 252) // calc +#define RID_SC_TP_DEFAULTS (RID_OFA_START + 253) //--------------------------------------------------------------------- // ResId's fuer die Zeichen-TabPages diff --git a/svx/source/src/app.hrc b/svx/source/src/app.hrc index 69f5766..bcacb30 100755 --- a/svx/source/src/app.hrc +++ b/svx/source/src/app.hrc @@ -199,6 +199,7 @@ #define RID_SW_TP_OPTCAPTION_PAGE (RID_OFA_START + 256) #define SID_SC_TP_FORMULA (RID_OFA_START + 257) #define SID_SC_TP_COMPATIBILITY (RID_OFA_START + 258) +#define RID_SC_TP_DEFAULTS (RID_OFA_START + 259) // Strings ------------------------------------------
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice