Kaydet (Commit) 5dee438c authored tarafından Jan Holesovsky's avatar Jan Holesovsky

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
üst 31ea60c8
...@@ -670,134 +670,107 @@ sal_uInt16 SwHTMLWriter::GetCSS1Selector( const SwFmt *pFmt, OString& rToken, ...@@ -670,134 +670,107 @@ sal_uInt16 SwHTMLWriter::GetCSS1Selector( const SwFmt *pFmt, OString& rToken,
if( USER_FMT & nPoolId ) if( USER_FMT & nPoolId )
{ {
// Benutzer-Vorlagen // Benutzer-Vorlagen
const OUString aNm = pPFmt->GetName(); const OUString aNm(pPFmt->GetName());
switch( aNm[0] )
if (!bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_blockquote)
{ {
// nicht mehr unterstuetzt: rRefPoolId = RES_POOLCOLL_HTML_BLOCKQUOTE;
// OOO_STRING_SVTOOLS_HTML_author rToken = OString(OOO_STRING_SVTOOLS_HTML_blockquote);
// OOO_STRING_SVTOOLS_HTML_acronym }
// OOO_STRING_SVTOOLS_HTML_abbreviation else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_citiation)
// OOO_STRING_SVTOOLS_HTML_deletedtext {
// OOO_STRING_SVTOOLS_HTML_insertedtext rRefPoolId = RES_POOLCHR_HTML_CITIATION;
// OOO_STRING_SVTOOLS_HTML_language rToken = OString(OOO_STRING_SVTOOLS_HTML_citiation);
// OOO_STRING_SVTOOLS_HTML_person }
case 'B': if( !bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_blockquote ) else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_code)
{ {
rRefPoolId = RES_POOLCOLL_HTML_BLOCKQUOTE; rRefPoolId = RES_POOLCHR_HTML_CODE;
rToken = OString(OOO_STRING_SVTOOLS_HTML_blockquote); rToken = OString(OOO_STRING_SVTOOLS_HTML_code);
} }
break; else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_definstance)
case 'C': if( bChrFmt ) {
{ rRefPoolId = RES_POOLCHR_HTML_DEFINSTANCE;
if( aNm == OOO_STRING_SVTOOLS_HTML_citiation ) rToken = OString(OOO_STRING_SVTOOLS_HTML_definstance);
{ }
rRefPoolId = RES_POOLCHR_HTML_CITIATION; else if (!bChrFmt && (aNm == OOO_STRING_SVTOOLS_HTML_dd || OOO_STRING_SVTOOLS_HTML_dt))
rToken = OString(OOO_STRING_SVTOOLS_HTML_citiation); {
} sal_uInt16 nDefListLvl = GetDefListLvl(aNm, nPoolId);
else if( aNm == OOO_STRING_SVTOOLS_HTML_code ) // Die Vorlagen DD 1/DT 1 werden ausgegeben,
{ // aber keine von ihnen abgeleiteten Vorlagen,
rRefPoolId = RES_POOLCHR_HTML_CODE; // auch nicht DD 2/DT 2 etc.
rToken = OString(OOO_STRING_SVTOOLS_HTML_code); if (nDefListLvl)
} {
} if (pPseudo && (nDeep || (nDefListLvl & 0x0fff) > 1))
break; {
case 'D': if( bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_definstance ) bStop = true;
{ }
rRefPoolId = RES_POOLCHR_HTML_DEFINSTANCE; else if (nDefListLvl & HTML_DLCOLL_DD)
rToken = OString(OOO_STRING_SVTOOLS_HTML_definstance); {
} rRefPoolId = RES_POOLCOLL_HTML_DD;
else if( !bChrFmt ) rToken = OString(OOO_STRING_SVTOOLS_HTML_dd);
{ }
sal_uInt16 nDefListLvl = GetDefListLvl( aNm, nPoolId ); else
// Die Vorlagen DD 1/DT 1 werden ausgegeben, {
// aber keine von ihnen abgeleiteten Vorlagen, rRefPoolId = RES_POOLCOLL_HTML_DT;
// auch nicht DD 2/DT 2 etc. rToken = OString(OOO_STRING_SVTOOLS_HTML_dt);
if( nDefListLvl ) }
{ }
if( pPseudo && }
(nDeep || (nDefListLvl & 0x0fff) > 1) ) else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_emphasis)
{ {
bStop = true; rRefPoolId = RES_POOLCHR_HTML_EMPHASIS;
} rToken = OString(OOO_STRING_SVTOOLS_HTML_emphasis);
else if( nDefListLvl & HTML_DLCOLL_DD ) }
{ else if (!bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_horzrule)
rRefPoolId = RES_POOLCOLL_HTML_DD; {
rToken = OString(OOO_STRING_SVTOOLS_HTML_dd); // HR nicht ausgeben!
} bStop = (nDeep==0);
else }
{ else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_keyboard)
rRefPoolId = RES_POOLCOLL_HTML_DT; {
rToken = OString(OOO_STRING_SVTOOLS_HTML_dt); rRefPoolId = RES_POOLCHR_HTML_KEYBOARD;
} rToken = OString(OOO_STRING_SVTOOLS_HTML_keyboard);
} }
} else if (!bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_listing)
break; {
case 'E': if( bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_emphasis ) // Listing als PRE exportieren bzw. von
{ // PRE abgeleitete Vorlage exportieren
rRefPoolId = RES_POOLCHR_HTML_EMPHASIS; rToken = OString(OOO_STRING_SVTOOLS_HTML_preformtxt);
rToken = OString(OOO_STRING_SVTOOLS_HTML_emphasis); rRefPoolId = RES_POOLCOLL_HTML_PRE;
} nDeep = CSS1_FMT_CMPREF;
break; }
case 'H': if( !bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_horzrule ) else if (!bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_preformtxt)
// HR nicht ausgeben! {
bStop = (nDeep==0); rRefPoolId = RES_POOLCOLL_HTML_PRE;
break; rToken = OString(OOO_STRING_SVTOOLS_HTML_preformtxt);
case 'K': if( bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_keyboard ) }
{ else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_sample)
rRefPoolId = RES_POOLCHR_HTML_KEYBOARD; {
rToken = OString(OOO_STRING_SVTOOLS_HTML_keyboard); rRefPoolId = RES_POOLCHR_HTML_SAMPLE;
} rToken = OString(OOO_STRING_SVTOOLS_HTML_sample);
break; }
case 'L': if( !bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_listing ) else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_strong)
{ {
// Listing als PRE exportieren bzw. von rRefPoolId = RES_POOLCHR_HTML_STRONG;
// PRE abgeleitete Vorlage exportieren rToken = OString(OOO_STRING_SVTOOLS_HTML_strong);
rToken = OString(OOO_STRING_SVTOOLS_HTML_preformtxt); }
rRefPoolId = RES_POOLCOLL_HTML_PRE; else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_teletype)
nDeep = CSS1_FMT_CMPREF; {
} rRefPoolId = RES_POOLCHR_HTML_TELETYPE;
break; rToken = OString(OOO_STRING_SVTOOLS_HTML_teletype);
case 'P': if( !bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_preformtxt ) }
{ else if (bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_variable)
rRefPoolId = RES_POOLCOLL_HTML_PRE; {
rToken = OString(OOO_STRING_SVTOOLS_HTML_preformtxt); rRefPoolId = RES_POOLCHR_HTML_VARIABLE;
} rToken = OString(OOO_STRING_SVTOOLS_HTML_variable);
break; }
case 'S': if( bChrFmt ) else if (!bChrFmt && aNm == OOO_STRING_SVTOOLS_HTML_xmp)
{ {
if( aNm == OOO_STRING_SVTOOLS_HTML_sample ) // XMP als PRE exportieren (aber nicht die
{ // Vorlage als Style)
rRefPoolId = RES_POOLCHR_HTML_SAMPLE; rToken = OString(OOO_STRING_SVTOOLS_HTML_preformtxt);
rToken = OString(OOO_STRING_SVTOOLS_HTML_sample); rRefPoolId = RES_POOLCOLL_HTML_PRE;
} nDeep = CSS1_FMT_CMPREF;
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;
} }
// Wenn eine PoolId gesetzt ist, entspricht der Name der // Wenn eine PoolId gesetzt ist, entspricht der Name der
...@@ -1625,22 +1598,16 @@ static Writer& OutCSS1_SwFmt( Writer& rWrt, const SwFmt& rFmt, ...@@ -1625,22 +1598,16 @@ static Writer& OutCSS1_SwFmt( Writer& rWrt, const SwFmt& rFmt,
if( USER_FMT & nPoolFmtId ) if( USER_FMT & nPoolFmtId )
{ {
// Benutzer-Vorlagen // Benutzer-Vorlagen
const OUString aNm = rFmt.GetName(); const OUString aNm(rFmt.GetName());
switch( aNm[0] )
{ if (aNm == "DD 1" || aNm == "DT 1")
case 'D': if( aNm == "DD 1" || aNm == "DT 1" ) rHTMLWrt.nDfltBottomMargin = 0;
rHTMLWrt.nDfltBottomMargin = 0; else if (aNm == OOO_STRING_SVTOOLS_HTML_listing)
break; rHTMLWrt.nDfltBottomMargin = 0;
case 'L': if(aNm == OOO_STRING_SVTOOLS_HTML_listing ) else if (aNm == OOO_STRING_SVTOOLS_HTML_preformtxt)
rHTMLWrt.nDfltBottomMargin = 0; rHTMLWrt.nDfltBottomMargin = 0;
break; else if (aNm == OOO_STRING_SVTOOLS_HTML_xmp)
case 'P': if( aNm == OOO_STRING_SVTOOLS_HTML_preformtxt ) rHTMLWrt.nDfltBottomMargin = 0;
rHTMLWrt.nDfltBottomMargin = 0;
break;
case 'X': if( aNm == OOO_STRING_SVTOOLS_HTML_xmp )
rHTMLWrt.nDfltBottomMargin = 0;
break;
}
} }
else else
{ {
......
...@@ -540,50 +540,39 @@ void OutHTML_SwFmt( Writer& rWrt, const SwFmt& rFmt, ...@@ -540,50 +540,39 @@ void OutHTML_SwFmt( Writer& rWrt, const SwFmt& rFmt,
// solchen abgeleitet // solchen abgeleitet
rInfo.aToken = pFmtInfo->aToken; rInfo.aToken = pFmtInfo->aToken;
// der erste Buchstabe reicht meistens if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_address)
switch( rInfo.aToken[0] )
{ {
case 'A': OSL_ENSURE( rInfo.aToken == OOO_STRING_SVTOOLS_HTML_address, rInfo.bParaPossible = sal_True;
"Doch kein ADDRESS?" ); rHWrt.bNoAlign = sal_True;
rInfo.bParaPossible = sal_True; }
rHWrt.bNoAlign = sal_True; else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_blockquote)
break; {
rInfo.bParaPossible = sal_True;
case 'B': OSL_ENSURE( rInfo.aToken == OOO_STRING_SVTOOLS_HTML_blockquote, rHWrt.bNoAlign = sal_True;
"Doch kein BLOCKQUOTE?" ); }
rInfo.bParaPossible = sal_True; else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_parabreak)
rHWrt.bNoAlign = sal_True; {
break; bPara = sal_True;
}
case 'P': if( rInfo.aToken.getLength() == 1 ) else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_preformtxt)
{ {
bPara = sal_True; if (HTML_PREFORMTXT_ON == rHWrt.nLastParaToken)
} {
else bOutNewLine = sal_True;
{ }
OSL_ENSURE( rInfo.aToken == OOO_STRING_SVTOOLS_HTML_preformtxt, else
"Doch kein PRE?" ); {
if( HTML_PREFORMTXT_ON == rHWrt.nLastParaToken ) nToken = HTML_PREFORMTXT_ON;
{ rHWrt.bNoAlign = sal_True;
bOutNewLine = sal_True; bNoEndTag = sal_True;
} }
else }
{ else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_dt || rInfo.aToken == OOO_STRING_SVTOOLS_HTML_dd)
nToken = HTML_PREFORMTXT_ON; {
rHWrt.bNoAlign = sal_True; bDT = rInfo.aToken == OOO_STRING_SVTOOLS_HTML_dt;
bNoEndTag = sal_True; rInfo.bParaPossible = !bDT;
} rHWrt.bNoAlign = sal_True;
} bForceDL = 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;
} }
} }
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment