diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-03-02 12:20:07 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-03-06 05:59:16 +0000 |
commit | 59fbef6cf83083d678571f706bebd5f3147a3d0e (patch) | |
tree | cd0eadde188de2c28ea840f61406f27e7bd3b640 /svtools/source | |
parent | e07dc67dedcb8450bc9d6076f5ef5322c316d20a (diff) |
templatize HTMLEnumOption::GetEnum methods
And consequently fix bug in htmlfld.cxx in
the RES_DOCSTATFLD/SwDocStatSubType handling, where it was updating
the m_bUpdateDocStat fields by comparing the wrong enum variable.
Change-Id: If9a68699a9d375ace120a3bf4f4bf4d4ae20a8e0
Reviewed-on: https://gerrit.libreoffice.org/34857
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svtools/source')
-rw-r--r-- | svtools/source/svhtml/htmlsupp.cxx | 14 | ||||
-rw-r--r-- | svtools/source/svhtml/parhtml.cxx | 78 |
2 files changed, 30 insertions, 62 deletions
diff --git a/svtools/source/svhtml/htmlsupp.cxx b/svtools/source/svhtml/htmlsupp.cxx index 2f075997e0ab..e1c9d5dd9b2c 100644 --- a/svtools/source/svhtml/htmlsupp.cxx +++ b/svtools/source/svhtml/htmlsupp.cxx @@ -26,13 +26,13 @@ #include <tools/urlobj.hxx> // Table for converting option values into strings -static HTMLOptionEnum const aScriptLangOptEnums[] = +static HTMLOptionEnum<HTMLScriptLanguage> const aScriptLangOptEnums[] = { - { OOO_STRING_SVTOOLS_HTML_LG_starbasic, HTML_SL_STARBASIC }, - { OOO_STRING_SVTOOLS_HTML_LG_javascript, HTML_SL_JAVASCRIPT }, - { OOO_STRING_SVTOOLS_HTML_LG_javascript11,HTML_SL_JAVASCRIPT }, - { OOO_STRING_SVTOOLS_HTML_LG_livescript, HTML_SL_JAVASCRIPT }, - { nullptr, 0 } + { OOO_STRING_SVTOOLS_HTML_LG_starbasic, HTML_SL_STARBASIC }, + { OOO_STRING_SVTOOLS_HTML_LG_javascript, HTML_SL_JAVASCRIPT }, + { OOO_STRING_SVTOOLS_HTML_LG_javascript11, HTML_SL_JAVASCRIPT }, + { OOO_STRING_SVTOOLS_HTML_LG_livescript, HTML_SL_JAVASCRIPT }, + { nullptr, (HTMLScriptLanguage)0 } }; void HTMLParser::ParseScriptOptions( OUString& rLangString, const OUString& rBaseURL, @@ -57,7 +57,7 @@ void HTMLParser::ParseScriptOptions( OUString& rLangString, const OUString& rBas case HTML_O_LANGUAGE: { rLangString = aOption.GetString(); - sal_uInt16 nLang; + HTMLScriptLanguage nLang; if( aOption.GetEnum( nLang, aScriptLangOptEnums ) ) rLang = (HTMLScriptLanguage)nLang; else diff --git a/svtools/source/svhtml/parhtml.cxx b/svtools/source/svhtml/parhtml.cxx index 9df8ceaa796e..4e98c3017dde 100644 --- a/svtools/source/svhtml/parhtml.cxx +++ b/svtools/source/svhtml/parhtml.cxx @@ -51,7 +51,7 @@ const sal_Int32 MAX_ENTITY_LEN( 8L ); // Tables to convert option values into strings // <INPUT TYPE=xxx> -static HTMLOptionEnum const aInputTypeOptEnums[] = +static HTMLOptionEnum<HTMLInputType> const aInputTypeOptEnums[] = { { OOO_STRING_SVTOOLS_HTML_IT_text, HTML_IT_TEXT }, { OOO_STRING_SVTOOLS_HTML_IT_password, HTML_IT_PASSWORD }, @@ -65,67 +65,35 @@ static HTMLOptionEnum const aInputTypeOptEnums[] = { OOO_STRING_SVTOOLS_HTML_IT_image, HTML_IT_IMAGE }, { OOO_STRING_SVTOOLS_HTML_IT_reset, HTML_IT_RESET }, { OOO_STRING_SVTOOLS_HTML_IT_button, HTML_IT_BUTTON }, - { nullptr, 0 } + { nullptr, (HTMLInputType)0 } }; // <TABLE FRAME=xxx> -static HTMLOptionEnum const aTableFrameOptEnums[] = +static HTMLOptionEnum<HTMLTableFrame> const aTableFrameOptEnums[] = { - { OOO_STRING_SVTOOLS_HTML_TF_void, HTML_TF_VOID }, - { OOO_STRING_SVTOOLS_HTML_TF_above, HTML_TF_ABOVE }, - { OOO_STRING_SVTOOLS_HTML_TF_below, HTML_TF_BELOW }, - { OOO_STRING_SVTOOLS_HTML_TF_hsides, HTML_TF_HSIDES }, - { OOO_STRING_SVTOOLS_HTML_TF_lhs, HTML_TF_LHS }, - { OOO_STRING_SVTOOLS_HTML_TF_rhs, HTML_TF_RHS }, - { OOO_STRING_SVTOOLS_HTML_TF_vsides, HTML_TF_VSIDES }, - { OOO_STRING_SVTOOLS_HTML_TF_box, HTML_TF_BOX }, - { OOO_STRING_SVTOOLS_HTML_TF_border, HTML_TF_BOX }, - { nullptr, 0 } + { OOO_STRING_SVTOOLS_HTML_TF_void, HTML_TF_VOID }, + { OOO_STRING_SVTOOLS_HTML_TF_above, HTML_TF_ABOVE }, + { OOO_STRING_SVTOOLS_HTML_TF_below, HTML_TF_BELOW }, + { OOO_STRING_SVTOOLS_HTML_TF_hsides, HTML_TF_HSIDES }, + { OOO_STRING_SVTOOLS_HTML_TF_lhs, HTML_TF_LHS }, + { OOO_STRING_SVTOOLS_HTML_TF_rhs, HTML_TF_RHS }, + { OOO_STRING_SVTOOLS_HTML_TF_vsides, HTML_TF_VSIDES }, + { OOO_STRING_SVTOOLS_HTML_TF_box, HTML_TF_BOX }, + { OOO_STRING_SVTOOLS_HTML_TF_border, HTML_TF_BOX }, + { nullptr, (HTMLTableFrame)0 } }; // <TABLE RULES=xxx> -static HTMLOptionEnum const aTableRulesOptEnums[] = +static HTMLOptionEnum<HTMLTableRules> const aTableRulesOptEnums[] = { - { OOO_STRING_SVTOOLS_HTML_TR_none, HTML_TR_NONE }, - { OOO_STRING_SVTOOLS_HTML_TR_groups, HTML_TR_GROUPS }, - { OOO_STRING_SVTOOLS_HTML_TR_rows, HTML_TR_ROWS }, - { OOO_STRING_SVTOOLS_HTML_TR_cols, HTML_TR_COLS }, - { OOO_STRING_SVTOOLS_HTML_TR_all, HTML_TR_ALL }, - { nullptr, 0 } + { OOO_STRING_SVTOOLS_HTML_TR_none, HTML_TR_NONE }, + { OOO_STRING_SVTOOLS_HTML_TR_groups, HTML_TR_GROUPS }, + { OOO_STRING_SVTOOLS_HTML_TR_rows, HTML_TR_ROWS }, + { OOO_STRING_SVTOOLS_HTML_TR_cols, HTML_TR_COLS }, + { OOO_STRING_SVTOOLS_HTML_TR_all, HTML_TR_ALL }, + { nullptr, (HTMLTableRules)0 } }; -sal_uInt16 HTMLOption::GetEnum( const HTMLOptionEnum *pOptEnums, sal_uInt16 nDflt ) const -{ - sal_uInt16 nValue = nDflt; - - while( pOptEnums->pName ) - if( aValue.equalsIgnoreAsciiCaseAscii( pOptEnums->pName ) ) - break; - else - pOptEnums++; - - if( pOptEnums->pName ) - nValue = pOptEnums->nValue; - - return nValue; -} - -bool HTMLOption::GetEnum( sal_uInt16 &rEnum, const HTMLOptionEnum *pOptEnums ) const -{ - while( pOptEnums->pName ) - { - if( aValue.equalsIgnoreAsciiCaseAscii( pOptEnums->pName ) ) - break; - else - pOptEnums++; - } - - const sal_Char *pName = pOptEnums->pName; - if( pName ) - rEnum = pOptEnums->nValue; - - return (pName != nullptr); -} HTMLOption::HTMLOption( sal_uInt16 nTok, const OUString& rToken, const OUString& rValue ) @@ -1876,7 +1844,7 @@ enum eHtmlMetas { }; // <META NAME=xxx> -static HTMLOptionEnum const aHTMLMetaNameTable[] = +static HTMLOptionEnum<eHtmlMetas> const aHTMLMetaNameTable[] = { { OOO_STRING_SVTOOLS_HTML_META_author, HTML_META_AUTHOR }, { OOO_STRING_SVTOOLS_HTML_META_changed, HTML_META_CHANGED }, @@ -1890,7 +1858,7 @@ static HTMLOptionEnum const aHTMLMetaNameTable[] = { OOO_STRING_SVTOOLS_HTML_META_refresh, HTML_META_REFRESH }, { OOO_STRING_SVTOOLS_HTML_META_sdendnote, HTML_META_SDENDNOTE }, { OOO_STRING_SVTOOLS_HTML_META_sdfootnote, HTML_META_SDFOOTNOTE }, - { nullptr, 0 } + { nullptr, (eHtmlMetas)0 } }; @@ -1905,7 +1873,7 @@ bool HTMLParser::ParseMetaOptionsImpl( rtl_TextEncoding& o_rEnc ) { OUString aName, aContent; - sal_uInt16 nAction = HTML_META_NONE; + eHtmlMetas nAction = HTML_META_NONE; bool bHTTPEquiv = false, bChanged = false; for ( size_t i = aOptions.size(); i; ) |