convert resources containing strings to stringarray resources

Change-Id: I8a306b417dcf533a148e34a6314e37589dcdda12
This commit is contained in:
Caolán McNamara
2017-02-06 11:51:27 +00:00
parent 7863798f2a
commit 1c48275a28
7 changed files with 101 additions and 389 deletions

View File

@@ -27,7 +27,7 @@
contains strings needed for positioning dialogs contains strings needed for positioning dialogs
of frames and drawing in Writer of frames and drawing in Writer
*/ */
class SvxSwFramePosString_Impl; class ResStringArray;
class SVX_DLLPUBLIC SvxSwFramePosString class SVX_DLLPUBLIC SvxSwFramePosString
{ {
public: public:
@@ -80,10 +80,10 @@ public:
STR_MAX STR_MAX
}; };
const OUString& GetString(StringId eId); OUString GetString(StringId eId) const;
private: private:
std::unique_ptr<SvxSwFramePosString_Impl> pImpl; std::unique_ptr<ResStringArray> pImpl;
}; };
#endif #endif

View File

@@ -629,7 +629,7 @@ sal_uInt32 ScFunctionCategory::getCount() const
OUString ScFunctionCategory::getName() const OUString ScFunctionCategory::getName() const
{ {
if ( m_sName.isEmpty() ) if ( m_sName.isEmpty() )
m_sName = ScFunctionMgr::GetCategoryName(m_nCategory+1); m_sName = ScFunctionMgr::GetCategoryName(m_nCategory);
return m_sName; return m_sName;
} }
@@ -770,14 +770,14 @@ void ScFunctionMgr::fillLastRecentlyUsedFunctions(::std::vector< const formula::
OUString ScFunctionMgr::GetCategoryName(sal_uInt32 _nCategoryNumber ) OUString ScFunctionMgr::GetCategoryName(sal_uInt32 _nCategoryNumber )
{ {
if ( _nCategoryNumber > SC_FUNCGROUP_COUNT ) if (_nCategoryNumber >= SC_FUNCGROUP_COUNT)
{ {
OSL_FAIL("Invalid category number!"); OSL_FAIL("Invalid category number!");
return OUString(); return OUString();
} }
std::unique_ptr<ScResourcePublisher> pCategories( new ScResourcePublisher( ScResId( RID_FUNCTION_CATEGORIES ) ) ); ResStringArray aStringArray(ScResId(RID_FUNCTION_CATEGORIES));
return SC_RESSTR(static_cast<sal_uInt16>(_nCategoryNumber)); return aStringArray.GetString(_nCategoryNumber);
} }
sal_Unicode ScFunctionMgr::getSingleToken(const formula::IFunctionManager::EToken _eToken) const sal_Unicode ScFunctionMgr::getSingleToken(const formula::IFunctionManager::EToken _eToken) const

View File

@@ -20,51 +20,21 @@
#include "sc.hrc" #include "sc.hrc"
#include <formula/compiler.hrc> #include <formula/compiler.hrc>
Resource RID_FUNCTION_CATEGORIES StringArray RID_FUNCTION_CATEGORIES
{ {
String 1 ItemList [ en-US ] =
{ {
Text[ en-US ] = "Database" ; < "Database" ; >;
}; < "Date&Time" ; >;
String 2 < "Financial" ; >;
{ < "Information" ; >;
Text[ en-US ] = "Date&Time" ; < "Logical" ; >;
}; < "Mathematical" ; >;
String 3 < "Array" ; >;
{ < "Statistical" ; >;
Text[ en-US ] = "Financial" ; < "Spreadsheet" ; >;
}; < "Text" ; >;
String 4 < "Add-in" ; >;
{
Text[ en-US ] = "Information" ;
};
String 5
{
Text[ en-US ] = "Logical" ;
};
String 6
{
Text[ en-US ] = "Mathematical" ;
};
String 7
{
Text[ en-US ] = "Array" ;
};
String 8
{
Text[ en-US ] = "Statistical" ;
};
String 9
{
Text[ en-US ] = "Spreadsheet" ;
};
String 10
{
Text[ en-US ] = "Text" ;
};
String 11
{
Text[ en-US ] = "Add-in" ;
}; };
}; };

View File

@@ -18,44 +18,27 @@
*/ */
#include <svx/swframeposstrings.hxx> #include <svx/swframeposstrings.hxx>
#include <tools/rc.hxx> #include <tools/resary.hxx>
#include <tools/debug.hxx> #include <tools/debug.hxx>
#include <svx/dialmgr.hxx> #include <svx/dialmgr.hxx>
#include <svx/dialogs.hrc> #include <svx/dialogs.hrc>
class SvxSwFramePosString_Impl : public Resource
{
friend class SvxSwFramePosString;
OUString aStrings[SvxSwFramePosString::STR_MAX];
public:
SvxSwFramePosString_Impl();
};
SvxSwFramePosString_Impl::SvxSwFramePosString_Impl() :
Resource(SVX_RES(RID_SVXSW_FRAMEPOSITIONS))
{
for(sal_uInt16 i = 0; i < SvxSwFramePosString::STR_MAX; i++)
{
//string ids have to start at 1
aStrings[i] = SVX_RESSTR(i + 1);
}
FreeResource();
}
SvxSwFramePosString::SvxSwFramePosString() : SvxSwFramePosString::SvxSwFramePosString() :
pImpl(new SvxSwFramePosString_Impl) pImpl(new ResStringArray(SVX_RES(RID_SVXSW_FRAMEPOSITIONS)))
{ {
assert(pImpl->Count() == SvxSwFramePosString::STR_MAX);
} }
SvxSwFramePosString::~SvxSwFramePosString() SvxSwFramePosString::~SvxSwFramePosString()
{ {
} }
const OUString& SvxSwFramePosString::GetString(StringId eId) OUString SvxSwFramePosString::GetString(StringId eId) const
{ {
DBG_ASSERT(eId >= 0 && eId < STR_MAX, "invalid StringId"); DBG_ASSERT(eId >= 0 && eId < STR_MAX, "invalid StringId");
if(!(eId >= 0 && eId < STR_MAX)) if(!(eId >= 0 && eId < STR_MAX))
eId = LEFT; eId = LEFT;
return pImpl->aStrings[eId]; return pImpl->GetString(eId);
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -18,220 +18,53 @@
*/ */
#include <svx/dialogs.hrc> #include <svx/dialogs.hrc>
//the following defines have to match the (enum values + 1) in svx/swframeposstrings.hxx! //the following string have to match the (enum values) positions in svx/swframeposstrings.hxx!
#define STR_LEFT 1 StringArray RID_SVXSW_FRAMEPOSITIONS
#define STR_RIGHT 2
#define STR_FROMLEFT 3
#define STR_MIR_LEFT 4
#define STR_MIR_RIGHT 5
#define STR_MIR_FROMLEFT 6
#define STR_FRAME 7
#define STR_PRTAREA 8
#define STR_REL_PG_LEFT 9
#define STR_REL_PG_RIGHT 10
#define STR_REL_FRM_LEFT 11
#define STR_REL_FRM_RIGHT 12
#define STR_MIR_REL_PG_LEFT 13
#define STR_MIR_REL_PG_RIGHT 14
#define STR_MIR_REL_FRM_LEFT 15
#define STR_MIR_REL_FRM_RIGHT 16
#define STR_REL_PG_FRAME 17
#define STR_REL_PG_PRTAREA 18
#define STR_REL_BASE 19
#define STR_REL_CHAR 20
#define STR_REL_ROW 21
#define STR_REL_BORDER 22
#define STR_REL_PRTAREA 23
#define STR_FLY_REL_PG_LEFT 24
#define STR_FLY_REL_PG_RIGHT 25
#define STR_FLY_REL_PG_FRAME 26
#define STR_FLY_REL_PG_PRTAREA 27
#define STR_FLY_MIR_REL_PG_LEFT 28
#define STR_FLY_MIR_REL_PG_RIGHT 29
#define STR_TOP 30
#define STR_BOTTOM 31
#define STR_CENTER_HORI 32
#define STR_CENTER_VERT 33
#define STR_FROMTOP 34
#define STR_FROMBOTTOM 35
#define STR_BELOW 36
#define STR_FROMRIGHT 37
#define STR_REL_PG_TOP 38
#define STR_REL_PG_BOTTOM 39
#define STR_REL_FRM_TOP 40
#define STR_REL_FRM_BOTTOM 41
#define STR_REL_LINE 42
Resource RID_SVXSW_FRAMEPOSITIONS
{ {
String STR_LEFT ItemList [ en-US ] =
{ {
Text [ en-US ] = "Left" ; < "Left" ; > ;
}; < "Inside" ; > ;
String STR_MIR_LEFT < "Right" ; > ;
{ < "Outside" ; > ;
Text [ en-US ] = "Inside" ; < "Center" ; > ;
}; < "From left" ; > ;
String STR_RIGHT < "From inside" ; > ;
{ < "Paragraph area" ; > ;
Text [ en-US ] = "Right" ; < "Paragraph text area" ; > ;
}; < "Left page border" ; > ;
String STR_MIR_RIGHT < "Inner page border" ; > ;
{ < "Right page border" ; > ;
Text [ en-US ] = "Outside" ; < "Outer page border" ; > ;
}; < "Left paragraph border" ; > ;
String STR_CENTER_VERT < "Inner paragraph border" ; > ;
{ < "Right paragraph border" ; > ;
Text [ en-US ] = "Center" ; < "Outer paragraph border" ; > ;
}; < "Entire page" ; > ;
String STR_FROMLEFT < "Page text area" ; > ;
{ < "Top" ; > ;
Text [ en-US ] = "From left" ; < "Bottom" ; > ;
}; < "Center" ; > ;
String STR_MIR_FROMLEFT < "From top" ; > ;
{ < "From bottom" ; > ;
Text [ en-US ] = "From inside" ; < "Below" ; > ;
}; < "From right" ; > ;
String STR_FRAME < "Top page border" ; > ;
{ < "Bottom page border" ; > ;
Text [ en-US ] = "Paragraph area" ; < "Top paragraph border" ; > ;
}; < "Bottom paragraph border" ; > ;
String STR_PRTAREA < "Margin" ; > ;
{ < "Paragraph text area" ; > ;
Text [ en-US ] = "Paragraph text area" ; < "Left frame border" ; > ;
}; < "Inner frame border" ; > ;
String STR_REL_PG_LEFT < "Right frame border" ; > ;
{ < "Outer frame border" ; > ;
Text [ en-US ] = "Left page border" ; < "Entire frame" ; > ;
}; < "Frame text area" ; > ;
String STR_MIR_REL_PG_LEFT < "Base line" ; > ;
{ < "Character" ; > ;
Text [ en-US ] = "Inner page border" ; < "Row" ; > ;
}; < "Line of text" ; > ;
String STR_REL_PG_RIGHT
{
Text [ en-US ] = "Right page border" ;
};
String STR_MIR_REL_PG_RIGHT
{
Text [ en-US ] = "Outer page border" ;
};
String STR_REL_FRM_LEFT
{
Text [ en-US ] = "Left paragraph border" ;
};
String STR_MIR_REL_FRM_LEFT
{
Text [ en-US ] = "Inner paragraph border" ;
};
String STR_REL_FRM_RIGHT
{
Text [ en-US ] = "Right paragraph border" ;
};
String STR_MIR_REL_FRM_RIGHT
{
Text [ en-US ] = "Outer paragraph border" ;
};
String STR_REL_PG_FRAME
{
Text [ en-US ] = "Entire page" ;
};
String STR_REL_PG_PRTAREA
{
Text [ en-US ] = "Page text area" ;
};
String STR_TOP
{
Text [ en-US ] = "Top" ;
};
String STR_BOTTOM
{
Text [ en-US ] = "Bottom" ;
};
String STR_CENTER_HORI
{
Text [ en-US ] = "Center" ;
};
String STR_FROMTOP
{
Text [ en-US ] = "From top" ;
};
String STR_FROMBOTTOM
{
Text [ en-US ] = "From bottom" ;
};
String STR_BELOW
{
Text [ en-US ] = "Below" ;
};
String STR_FROMRIGHT
{
Text [ en-US ] = "From right" ;
};
String STR_REL_PG_TOP
{
Text [ en-US ] = "Top page border" ;
};
String STR_REL_PG_BOTTOM
{
Text [ en-US ] = "Bottom page border" ;
};
String STR_REL_FRM_TOP
{
Text [ en-US ] = "Top paragraph border" ;
};
String STR_REL_FRM_BOTTOM
{
Text [ en-US ] = "Bottom paragraph border" ;
};
String STR_REL_BORDER
{
Text [ en-US ] = "Margin" ;
};
String STR_REL_PRTAREA
{
Text [ en-US ] = "Paragraph text area" ;
};
String STR_FLY_REL_PG_LEFT
{
Text [ en-US ] = "Left frame border" ;
};
String STR_FLY_MIR_REL_PG_LEFT
{
Text [ en-US ] = "Inner frame border" ;
};
String STR_FLY_REL_PG_RIGHT
{
Text [ en-US ] = "Right frame border" ;
};
String STR_FLY_MIR_REL_PG_RIGHT
{
Text [ en-US ] = "Outer frame border" ;
};
String STR_FLY_REL_PG_FRAME
{
Text [ en-US ] = "Entire frame" ;
};
String STR_FLY_REL_PG_PRTAREA
{
Text [ en-US ] = "Frame text area" ;
};
String STR_REL_BASE
{
Text [ en-US ] = "Base line" ;
};
String STR_REL_CHAR
{
Text [ en-US ] = "Character" ;
};
String STR_REL_ROW
{
Text [ en-US ] = "Row" ;
};
// #i22341#
String STR_REL_LINE
{
Text [ en-US ] = "Line of text" ;
}; };
}; };

View File

@@ -22,99 +22,33 @@
#include "helpid.h" #include "helpid.h"
#include "comcore.hrc" #include "comcore.hrc"
Resource RID_SHELLRES_AUTOFMTSTRS StringArray RID_SHELLRES_AUTOFMTSTRS
{ {
String STR_AUTOFMTREDL_DEL_EMPTY_PARA+1 ItemList [ en-US ] =
{ {
Text [ en-US ] = "Remove empty paragraphs" ; < "Remove empty paragraphs" ; > ;
< "Use replacement table" ; > ;
< "Correct TWo INitial CApitals" ; > ;
< "Capitalize first letter of sentences" ; > ;
< "Replace \"standard\" quotes with %1 \bcustom%2 quotes" ; > ;
< "Replace Custom Styles" ; > ;
< "Bullets replaced"; > ;
< "Automatic _underline_"; > ;
< "Automatic *bold*"; > ;
< "Replace 1/2 ... with ½ ..." ; > ;
< "URL recognition" ; > ;
< "Replace dashes" ; > ;
< "Replace 1st... with 1^st..." ; > ;
< "Combine single line paragraphs"; > ;
< "Set \"Text body\" Style"; > ;
< "Set \"Text body indent\" Style"; > ;
< "Set \"Hanging indent\" Style"; > ;
< "Set \"Text body indent\" Style"; > ;
< "Set \"Heading $(ARG1)\" Style"; > ;
< "Set \"Bullet\" or \"Numbering\" Style"; > ;
< "Combine paragraphs"; > ;
< "Add non breaking space"; > ;
}; };
String STR_AUTOFMTREDL_USE_REPLACE+1
{
Text [ en-US ] = "Use replacement table" ;
};
String STR_AUTOFMTREDL_CPTL_STT_WORD+1
{
Text [ en-US ] = "Correct TWo INitial CApitals" ;
};
String STR_AUTOFMTREDL_CPTL_STT_SENT+1
{
Text [ en-US ] = "Capitalize first letter of sentences" ;
};
String STR_AUTOFMTREDL_TYPO+1
{
Text [ en-US ] = "Replace \"standard\" quotes with %1 \bcustom%2 quotes" ;
};
String STR_AUTOFMTREDL_USER_STYLE+1
{
Text [ en-US ] = "Replace Custom Styles" ;
};
String STR_AUTOFMTREDL_BULLET+1
{
Text [ en-US ] = "Bullets replaced";
};
String STR_AUTOFMTREDL_UNDER+1
{
Text [ en-US ] = "Automatic _underline_";
};
String STR_AUTOFMTREDL_BOLD+1
{
Text [ en-US ] = "Automatic *bold*";
};
String STR_AUTOFMTREDL_FRACTION+1
{
Text [ en-US ] = "Replace 1/2 ... with ½ ..." ;
};
String STR_AUTOFMTREDL_DETECT_URL+1
{
Text [ en-US ] = "URL recognition" ;
};
String STR_AUTOFMTREDL_DASH+1
{
Text [ en-US ] = "Replace dashes" ;
};
String STR_AUTOFMTREDL_ORDINAL+1
{
Text [ en-US ] = "Replace 1st... with 1^st..." ;
};
String STR_AUTOFMTREDL_RIGHT_MARGIN+1
{
Text [ en-US ] = "Combine single line paragraphs";
};
String STR_AUTOFMTREDL_SET_TMPL_TEXT +1
{
Text [ en-US ] = "Set \"Text body\" Style";
};
String STR_AUTOFMTREDL_SET_TMPL_INDENT +1
{
Text [ en-US ] = "Set \"Text body indent\" Style";
};
String STR_AUTOFMTREDL_SET_TMPL_NEG_INDENT +1
{
Text [ en-US ] = "Set \"Hanging indent\" Style";
};
String STR_AUTOFMTREDL_SET_TMPL_TEXT_INDENT +1
{
Text [ en-US ] = "Set \"Text body indent\" Style";
};
String STR_AUTOFMTREDL_SET_TMPL_HEADLINE +1
{
Text [ en-US ] = "Set \"Heading $(ARG1)\" Style";
};
String STR_AUTOFMTREDL_SET_NUMBULET +1
{
Text [ en-US ] = "Set \"Bullet\" or \"Numbering\" Style";
};
String STR_AUTOFMTREDL_DEL_MORELINES +1
{
Text [ en-US ] = "Combine paragraphs";
};
String STR_AUTOFMTREDL_NON_BREAK_SPACE +1
{
Text [ en-US ] = "Add non breaking space";
};
}; };
// Miscellaneous // Miscellaneous

View File

@@ -19,6 +19,7 @@
#include <config_features.h> #include <config_features.h>
#include <tools/resary.hxx>
#include <unotools/localedatawrapper.hxx> #include <unotools/localedatawrapper.hxx>
#include <viewsh.hxx> #include <viewsh.hxx>
#include <initui.hxx> #include <initui.hxx>
@@ -269,35 +270,26 @@ SwGlossaryList* GetGlossaryList()
return pGlossaryList; return pGlossaryList;
} }
struct ImpAutoFormatNameListLoader : public Resource
{
explicit ImpAutoFormatNameListLoader( std::vector<OUString>& rLst );
};
void ShellResource::GetAutoFormatNameLst_() const void ShellResource::GetAutoFormatNameLst_() const
{ {
assert(!pAutoFormatNameLst); assert(!pAutoFormatNameLst);
pAutoFormatNameLst.reset( new std::vector<OUString> ); pAutoFormatNameLst.reset( new std::vector<OUString> );
pAutoFormatNameLst->reserve(STR_AUTOFMTREDL_END); pAutoFormatNameLst->reserve(STR_AUTOFMTREDL_END);
ImpAutoFormatNameListLoader aTmp(*pAutoFormatNameLst);
}
ImpAutoFormatNameListLoader::ImpAutoFormatNameListLoader( std::vector<OUString>& rLst ) ResStringArray aStringArray(ResId(RID_SHELLRES_AUTOFMTSTRS, *pSwResMgr));
: Resource( ResId(RID_SHELLRES_AUTOFMTSTRS, *pSwResMgr) ) assert(aStringArray.Count() === STR_AUTOFMTREDL_END);
{ for (sal_uInt16 n = 0; n < STR_AUTOFMTREDL_END; ++n)
for( sal_uInt16 n = 0; n < STR_AUTOFMTREDL_END; ++n )
{ {
OUString p(ResId(n + 1, *pSwResMgr)); OUString p(aStringArray.GetString(n));
if(STR_AUTOFMTREDL_TYPO == n) if (STR_AUTOFMTREDL_TYPO == n)
{ {
const SvtSysLocale aSysLocale; const SvtSysLocale aSysLocale;
const LocaleDataWrapper& rLclD = aSysLocale.GetLocaleData(); const LocaleDataWrapper& rLclD = aSysLocale.GetLocaleData();
p = p.replaceFirst("%1", rLclD.getDoubleQuotationMarkStart()); p = p.replaceFirst("%1", rLclD.getDoubleQuotationMarkStart());
p = p.replaceFirst("%2", rLclD.getDoubleQuotationMarkEnd()); p = p.replaceFirst("%2", rLclD.getDoubleQuotationMarkEnd());
} }
rLst.insert(rLst.begin() + n, p); pAutoFormatNameLst->push_back(p);
} }
FreeResource();
} }
OUString SwAuthorityFieldType::GetAuthFieldName(ToxAuthorityField eType) OUString SwAuthorityFieldType::GetAuthFieldName(ToxAuthorityField eType)