diff options
author | Jan Holesovsky <kendy@collabora.com> | 2014-02-25 22:07:44 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2014-02-25 22:25:26 +0100 |
commit | 5dee438cc2f1dc48c7bcca963f17dc797e8fb0fe (patch) | |
tree | 940c07b9bf1637d15d1d8f1a8a7f5499fa6ec5c3 /sw | |
parent | 31ea60c882cd9e0ce042f2d2945c711bffc93f18 (diff) |
html: Another problem caused by lowercasing the tags.
Let's convert the switches to full comprison; it's future-proof, and the
performance difference here is not critical.
Change-Id: I1541acdc89312806f4bf05226efb3a42e81f8019
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/html/css1atr.cxx | 253 | ||||
-rw-r--r-- | sw/source/filter/html/htmlatr.cxx | 75 |
2 files changed, 142 insertions, 186 deletions
diff --git a/sw/source/filter/html/css1atr.cxx b/sw/source/filter/html/css1atr.cxx index 222fd2180c59..972152da18e1 100644 --- a/sw/source/filter/html/css1atr.cxx +++ b/sw/source/filter/html/css1atr.cxx @@ -670,134 +670,107 @@ sal_uInt16 SwHTMLWriter::GetCSS1Selector( const SwFmt *pFmt, OString& rToken, if( USER_FMT & nPoolId ) { // Benutzer-Vorlagen - const OUString aNm = pPFmt->GetName(); - switch( aNm[0] ) + const OUString aNm(pPFmt->GetName()); + + if (!bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_blockquote) { - // nicht mehr unterstuetzt: - // OOO_STRING_SVTOOLS_HTML_author - // OOO_STRING_SVTOOLS_HTML_acronym - // OOO_STRING_SVTOOLS_HTML_abbreviation - // OOO_STRING_SVTOOLS_HTML_deletedtext - // OOO_STRING_SVTOOLS_HTML_insertedtext - // OOO_STRING_SVTOOLS_HTML_language - // OOO_STRING_SVTOOLS_HTML_person - case 'B': if( !bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_blockquote ) - { - rRefPoolId = RES_POOLCOLL_HTML_BLOCKQUOTE; - rToken = OString(OOO_STRING_SVTOOLS_HTML_blockquote); - } - break; - case 'C': if( bChrFmt ) - { - if( aNm == OOO_STRING_SVTOOLS_HTML_citiation ) - { - rRefPoolId = RES_POOLCHR_HTML_CITIATION; - rToken = OString(OOO_STRING_SVTOOLS_HTML_citiation); - } - else if( aNm == OOO_STRING_SVTOOLS_HTML_code ) - { - rRefPoolId = RES_POOLCHR_HTML_CODE; - rToken = OString(OOO_STRING_SVTOOLS_HTML_code); - } - } - break; - case 'D': if( bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_definstance ) - { - rRefPoolId = RES_POOLCHR_HTML_DEFINSTANCE; - rToken = OString(OOO_STRING_SVTOOLS_HTML_definstance); - } - else if( !bChrFmt ) - { - sal_uInt16 nDefListLvl = GetDefListLvl( aNm, nPoolId ); - // Die Vorlagen DD 1/DT 1 werden ausgegeben, - // aber keine von ihnen abgeleiteten Vorlagen, - // auch nicht DD 2/DT 2 etc. - if( nDefListLvl ) - { - if( pPseudo && - (nDeep || (nDefListLvl & 0x0fff) > 1) ) - { - bStop = true; - } - else if( nDefListLvl & HTML_DLCOLL_DD ) - { - rRefPoolId = RES_POOLCOLL_HTML_DD; - rToken = OString(OOO_STRING_SVTOOLS_HTML_dd); - } - else - { - rRefPoolId = RES_POOLCOLL_HTML_DT; - rToken = OString(OOO_STRING_SVTOOLS_HTML_dt); - } - } - } - break; - case 'E': if( bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_emphasis ) - { - rRefPoolId = RES_POOLCHR_HTML_EMPHASIS; - rToken = OString(OOO_STRING_SVTOOLS_HTML_emphasis); - } - break; - case 'H': if( !bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_horzrule ) - // HR nicht ausgeben! - bStop = (nDeep==0); - break; - case 'K': if( bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_keyboard ) - { - rRefPoolId = RES_POOLCHR_HTML_KEYBOARD; - rToken = OString(OOO_STRING_SVTOOLS_HTML_keyboard); - } - break; - case 'L': if( !bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_listing ) - { - // Listing als PRE exportieren bzw. von - // PRE abgeleitete Vorlage exportieren - rToken = OString(OOO_STRING_SVTOOLS_HTML_preformtxt); - rRefPoolId = RES_POOLCOLL_HTML_PRE; - nDeep = CSS1_FMT_CMPREF; - } - break; - case 'P': if( !bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_preformtxt ) - { - rRefPoolId = RES_POOLCOLL_HTML_PRE; - rToken = OString(OOO_STRING_SVTOOLS_HTML_preformtxt); - } - break; - case 'S': if( bChrFmt ) - { - if( aNm == OOO_STRING_SVTOOLS_HTML_sample ) - { - rRefPoolId = RES_POOLCHR_HTML_SAMPLE; - rToken = OString(OOO_STRING_SVTOOLS_HTML_sample); - } - else if( aNm == OOO_STRING_SVTOOLS_HTML_strong ) - { - rRefPoolId = RES_POOLCHR_HTML_STRONG; - rToken = OString(OOO_STRING_SVTOOLS_HTML_strong); - } - } - break; - case 'T': if( bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_teletype ) - { - rRefPoolId = RES_POOLCHR_HTML_TELETYPE; - rToken = OString(OOO_STRING_SVTOOLS_HTML_teletype); - } - break; - case 'V': if( bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_variable ) - { - rRefPoolId = RES_POOLCHR_HTML_VARIABLE; - rToken = OString(OOO_STRING_SVTOOLS_HTML_variable); - } - break; - case 'X': if( !bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_xmp ) - { - // XMP als PRE exportieren (aber nicht die - // Vorlage als Style) - rToken = OString(OOO_STRING_SVTOOLS_HTML_preformtxt); - rRefPoolId = RES_POOLCOLL_HTML_PRE; - nDeep = CSS1_FMT_CMPREF; - } - break; + rRefPoolId = RES_POOLCOLL_HTML_BLOCKQUOTE; + rToken = OString(OOO_STRING_SVTOOLS_HTML_blockquote); + } + else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_citiation) + { + rRefPoolId = RES_POOLCHR_HTML_CITIATION; + rToken = OString(OOO_STRING_SVTOOLS_HTML_citiation); + } + else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_code) + { + rRefPoolId = RES_POOLCHR_HTML_CODE; + rToken = OString(OOO_STRING_SVTOOLS_HTML_code); + } + else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_definstance) + { + rRefPoolId = RES_POOLCHR_HTML_DEFINSTANCE; + rToken = OString(OOO_STRING_SVTOOLS_HTML_definstance); + } + else if (!bChrFmt && (aNm == OOO_STRING_SVTOOLS_HTML_dd || OOO_STRING_SVTOOLS_HTML_dt)) + { + sal_uInt16 nDefListLvl = GetDefListLvl(aNm, nPoolId); + // Die Vorlagen DD 1/DT 1 werden ausgegeben, + // aber keine von ihnen abgeleiteten Vorlagen, + // auch nicht DD 2/DT 2 etc. + if (nDefListLvl) + { + if (pPseudo && (nDeep || (nDefListLvl & 0x0fff) > 1)) + { + bStop = true; + } + else if (nDefListLvl & HTML_DLCOLL_DD) + { + rRefPoolId = RES_POOLCOLL_HTML_DD; + rToken = OString(OOO_STRING_SVTOOLS_HTML_dd); + } + else + { + rRefPoolId = RES_POOLCOLL_HTML_DT; + rToken = OString(OOO_STRING_SVTOOLS_HTML_dt); + } + } + } + else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_emphasis) + { + rRefPoolId = RES_POOLCHR_HTML_EMPHASIS; + rToken = OString(OOO_STRING_SVTOOLS_HTML_emphasis); + } + else if (!bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_horzrule) + { + // HR nicht ausgeben! + bStop = (nDeep==0); + } + else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_keyboard) + { + rRefPoolId = RES_POOLCHR_HTML_KEYBOARD; + rToken = OString(OOO_STRING_SVTOOLS_HTML_keyboard); + } + else if (!bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_listing) + { + // Listing als PRE exportieren bzw. von + // PRE abgeleitete Vorlage exportieren + rToken = OString(OOO_STRING_SVTOOLS_HTML_preformtxt); + rRefPoolId = RES_POOLCOLL_HTML_PRE; + nDeep = CSS1_FMT_CMPREF; + } + else if (!bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_preformtxt) + { + rRefPoolId = RES_POOLCOLL_HTML_PRE; + rToken = OString(OOO_STRING_SVTOOLS_HTML_preformtxt); + } + else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_sample) + { + rRefPoolId = RES_POOLCHR_HTML_SAMPLE; + rToken = OString(OOO_STRING_SVTOOLS_HTML_sample); + } + else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_strong) + { + rRefPoolId = RES_POOLCHR_HTML_STRONG; + rToken = OString(OOO_STRING_SVTOOLS_HTML_strong); + } + else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_teletype) + { + rRefPoolId = RES_POOLCHR_HTML_TELETYPE; + rToken = OString(OOO_STRING_SVTOOLS_HTML_teletype); + } + else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_variable) + { + rRefPoolId = RES_POOLCHR_HTML_VARIABLE; + rToken = OString(OOO_STRING_SVTOOLS_HTML_variable); + } + else if (!bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_xmp) + { + // XMP als PRE exportieren (aber nicht die + // Vorlage als Style) + rToken = OString(OOO_STRING_SVTOOLS_HTML_preformtxt); + rRefPoolId = RES_POOLCOLL_HTML_PRE; + nDeep = CSS1_FMT_CMPREF; } // Wenn eine PoolId gesetzt ist, entspricht der Name der @@ -1625,22 +1598,16 @@ static Writer& OutCSS1_SwFmt( Writer& rWrt, const SwFmt& rFmt, if( USER_FMT & nPoolFmtId ) { // Benutzer-Vorlagen - const OUString aNm = rFmt.GetName(); - switch( aNm[0] ) - { - case 'D': if( aNm == "DD 1" || aNm == "DT 1" ) - rHTMLWrt.nDfltBottomMargin = 0; - break; - case 'L': if(aNm == OOO_STRING_SVTOOLS_HTML_listing ) - rHTMLWrt.nDfltBottomMargin = 0; - break; - case 'P': if( aNm == OOO_STRING_SVTOOLS_HTML_preformtxt ) - rHTMLWrt.nDfltBottomMargin = 0; - break; - case 'X': if( aNm == OOO_STRING_SVTOOLS_HTML_xmp ) - rHTMLWrt.nDfltBottomMargin = 0; - break; - } + const OUString aNm(rFmt.GetName()); + + if (aNm == "DD 1" || aNm == "DT 1") + rHTMLWrt.nDfltBottomMargin = 0; + else if (aNm == OOO_STRING_SVTOOLS_HTML_listing) + rHTMLWrt.nDfltBottomMargin = 0; + else if (aNm == OOO_STRING_SVTOOLS_HTML_preformtxt) + rHTMLWrt.nDfltBottomMargin = 0; + else if (aNm == OOO_STRING_SVTOOLS_HTML_xmp) + rHTMLWrt.nDfltBottomMargin = 0; } else { diff --git a/sw/source/filter/html/htmlatr.cxx b/sw/source/filter/html/htmlatr.cxx index 2d87eba89d11..a274a7dc86e5 100644 --- a/sw/source/filter/html/htmlatr.cxx +++ b/sw/source/filter/html/htmlatr.cxx @@ -540,50 +540,39 @@ void OutHTML_SwFmt( Writer& rWrt, const SwFmt& rFmt, // solchen abgeleitet rInfo.aToken = pFmtInfo->aToken; - // der erste Buchstabe reicht meistens - switch( rInfo.aToken[0] ) + if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_address) { - case 'A': OSL_ENSURE( rInfo.aToken == OOO_STRING_SVTOOLS_HTML_address, - "Doch kein ADDRESS?" ); - rInfo.bParaPossible = sal_True; - rHWrt.bNoAlign = sal_True; - break; - - case 'B': OSL_ENSURE( rInfo.aToken == OOO_STRING_SVTOOLS_HTML_blockquote, - "Doch kein BLOCKQUOTE?" ); - rInfo.bParaPossible = sal_True; - rHWrt.bNoAlign = sal_True; - break; - - case 'P': if( rInfo.aToken.getLength() == 1 ) - { - bPara = sal_True; - } - else - { - OSL_ENSURE( rInfo.aToken == OOO_STRING_SVTOOLS_HTML_preformtxt, - "Doch kein PRE?" ); - if( HTML_PREFORMTXT_ON == rHWrt.nLastParaToken ) - { - bOutNewLine = sal_True; - } - else - { - nToken = HTML_PREFORMTXT_ON; - rHWrt.bNoAlign = sal_True; - bNoEndTag = sal_True; - } - } - break; - - case 'D': OSL_ENSURE( rInfo.aToken == OOO_STRING_SVTOOLS_HTML_dt || - rInfo.aToken == OOO_STRING_SVTOOLS_HTML_dd, - "Doch kein DD/DT?" ); - bDT = rInfo.aToken == OOO_STRING_SVTOOLS_HTML_dt; - rInfo.bParaPossible = !bDT; - rHWrt.bNoAlign = sal_True; - bForceDL = sal_True; - break; + rInfo.bParaPossible = sal_True; + rHWrt.bNoAlign = sal_True; + } + else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_blockquote) + { + rInfo.bParaPossible = sal_True; + rHWrt.bNoAlign = sal_True; + } + else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_parabreak) + { + bPara = sal_True; + } + else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_preformtxt) + { + if (HTML_PREFORMTXT_ON == rHWrt.nLastParaToken) + { + bOutNewLine = sal_True; + } + else + { + nToken = HTML_PREFORMTXT_ON; + rHWrt.bNoAlign = sal_True; + bNoEndTag = sal_True; + } + } + else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_dt || rInfo.aToken == OOO_STRING_SVTOOLS_HTML_dd) + { + bDT = rInfo.aToken == OOO_STRING_SVTOOLS_HTML_dt; + rInfo.bParaPossible = !bDT; + rHWrt.bNoAlign = sal_True; + bForceDL = sal_True; } } else |