Kaydet (Commit) 5dbf5f0a authored tarafından Matteo Casalin's avatar Matteo Casalin Kaydeden (comit) Caolán McNamara

String to OUString

Change-Id: I0adbe625400f71eb8cb21d0b36a117c708348a20
Reviewed-on: https://gerrit.libreoffice.org/5875Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 284cdce6
...@@ -339,7 +339,7 @@ public: ...@@ -339,7 +339,7 @@ public:
protected: protected:
void GetNumberPara( String& rStr, const SwField& rFld ); void GetNumberPara( OUString& rStr, const SwField& rFld );
/// Output frames - the implementation. /// Output frames - the implementation.
virtual void OutputFlyFrame_Impl( const sw::Frame& rFmt, const Point& rNdTopLeft ) = 0; virtual void OutputFlyFrame_Impl( const sw::Frame& rFmt, const Point& rNdTopLeft ) = 0;
......
...@@ -2354,29 +2354,29 @@ bool MSWordExportBase::GetNumberFmt(const SwField& rFld, String& rStr) ...@@ -2354,29 +2354,29 @@ bool MSWordExportBase::GetNumberFmt(const SwField& rFld, String& rStr)
return bHasFmt; return bHasFmt;
} }
void AttributeOutputBase::GetNumberPara( String& rStr, const SwField& rFld ) void AttributeOutputBase::GetNumberPara( OUString& rStr, const SwField& rFld )
{ {
switch(rFld.GetFormat()) switch(rFld.GetFormat())
{ {
case SVX_NUM_CHARS_UPPER_LETTER: case SVX_NUM_CHARS_UPPER_LETTER:
case SVX_NUM_CHARS_UPPER_LETTER_N: case SVX_NUM_CHARS_UPPER_LETTER_N:
rStr.AppendAscii( "\\*ALPHABETIC "); rStr += "\\*ALPHABETIC ";
break; break;
case SVX_NUM_CHARS_LOWER_LETTER: case SVX_NUM_CHARS_LOWER_LETTER:
case SVX_NUM_CHARS_LOWER_LETTER_N: case SVX_NUM_CHARS_LOWER_LETTER_N:
rStr.AppendAscii("\\*alphabetic "); rStr += "\\*alphabetic ";
break; break;
case SVX_NUM_ROMAN_UPPER: case SVX_NUM_ROMAN_UPPER:
rStr.AppendAscii("\\*ROMAN "); rStr += "\\*ROMAN ";
break; break;
case SVX_NUM_ROMAN_LOWER: case SVX_NUM_ROMAN_LOWER:
rStr.AppendAscii("\\*roman "); rStr += "\\*roman ";
break; break;
default: default:
OSL_ENSURE(rFld.GetFormat() == SVX_NUM_ARABIC, OSL_ENSURE(rFld.GetFormat() == SVX_NUM_ARABIC,
"Unknown numbering type exported as default\n"); "Unknown numbering type exported as default\n");
case SVX_NUM_ARABIC: case SVX_NUM_ARABIC:
rStr.AppendAscii("\\*Arabic "); rStr += "\\*Arabic ";
break; break;
case SVX_NUM_PAGEDESC: case SVX_NUM_PAGEDESC:
//Nothing, use word's default //Nothing, use word's default
...@@ -2539,7 +2539,6 @@ void WW8AttributeOutput::WriteExpand( const SwField* pFld ) ...@@ -2539,7 +2539,6 @@ void WW8AttributeOutput::WriteExpand( const SwField* pFld )
void AttributeOutputBase::TextField( const SwFmtFld& rField ) void AttributeOutputBase::TextField( const SwFmtFld& rField )
{ {
const SwField* pFld = rField.GetFld(); const SwField* pFld = rField.GetFld();
String sStr; // fuer optionale Parameter
bool bWriteExpand = false; bool bWriteExpand = false;
sal_uInt16 nSubType = pFld->GetSubType(); sal_uInt16 nSubType = pFld->GetSubType();
...@@ -2557,11 +2556,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2557,11 +2556,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
case RES_SETEXPFLD: case RES_SETEXPFLD:
if (nsSwGetSetExpType::GSE_SEQ == nSubType) if (nsSwGetSetExpType::GSE_SEQ == nSubType)
{ {
sStr = FieldString(ww::eSEQ); OUString sStr = FieldString(ww::eSEQ) + "\"" + pFld->GetTyp()->GetName() +"\" ";
sStr.AppendAscii("\"");
sStr += pFld->GetTyp()->GetName();
sStr.AppendAscii( "\" " );
GetNumberPara( sStr, *pFld ); GetNumberPara( sStr, *pFld );
GetExport().OutputField(pFld, ww::eSEQ, sStr); GetExport().OutputField(pFld, ww::eSEQ, sStr);
} }
...@@ -2570,25 +2565,21 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2570,25 +2565,21 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
bool bShowAsWell = false; bool bShowAsWell = false;
ww::eField eFieldNo; ww::eField eFieldNo;
const SwSetExpField *pSet=(const SwSetExpField*)(pFld); const SwSetExpField *pSet=(const SwSetExpField*)(pFld);
const String &rVar = pSet->GetPar2(); const OUString sVar = pSet->GetPar2();
OUString sStr;
if (pSet->GetInputFlag()) if (pSet->GetInputFlag())
{ {
sStr = FieldString(ww::eASK); sStr = FieldString(ww::eASK) + "\""
sStr.AppendAscii("\""); + pSet->GetPar1() + "\" "
sStr += pSet->GetPar1(); + pSet->GetPromptText() + " \\d "
sStr.AppendAscii( "\" " ); + sVar;
sStr += pSet->GetPromptText();
sStr.AppendAscii( " \\d " );
sStr += rVar;
eFieldNo = ww::eASK; eFieldNo = ww::eASK;
} }
else else
{ {
sStr = FieldString(ww::eSET); sStr = FieldString(ww::eSET)
sStr += pSet->GetPar1(); + pSet->GetPar1() + " \""
sStr.AppendAscii(" \""); + sVar + "\" ";
sStr += rVar;
sStr.AppendAscii("\" ");
eFieldNo = ww::eSET; eFieldNo = ww::eSET;
bShowAsWell = (nSubType & nsSwExtendedSubType::SUB_INVISIBLE) ? false : true; bShowAsWell = (nSubType & nsSwExtendedSubType::SUB_INVISIBLE) ? false : true;
} }
...@@ -2602,23 +2593,27 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2602,23 +2593,27 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
bWriteExpand = true; bWriteExpand = true;
break; break;
case RES_PAGENUMBERFLD: case RES_PAGENUMBERFLD:
sStr = FieldString(ww::ePAGE); {
OUString sStr = FieldString(ww::ePAGE);
GetNumberPara(sStr, *pFld); GetNumberPara(sStr, *pFld);
GetExport().OutputField(pFld, ww::ePAGE, sStr); GetExport().OutputField(pFld, ww::ePAGE, sStr);
}
break; break;
case RES_FILENAMEFLD: case RES_FILENAMEFLD:
sStr = FieldString(ww::eFILENAME); {
OUString sStr = FieldString(ww::eFILENAME);
if (pFld->GetFormat() == FF_PATHNAME) if (pFld->GetFormat() == FF_PATHNAME)
sStr.AppendAscii("\\p "); sStr += "\\p ";
GetExport().OutputField(pFld, ww::eFILENAME, sStr); GetExport().OutputField(pFld, ww::eFILENAME, sStr);
}
break; break;
case RES_DBNAMEFLD: case RES_DBNAMEFLD:
{ {
sStr = FieldString(ww::eDATABASE);
SwDBData aData = GetExport().pDoc->GetDBData(); SwDBData aData = GetExport().pDoc->GetDBData();
sStr += String(aData.sDataSource); const OUString sStr = FieldString(ww::eDATABASE)
sStr += DB_DELIM; + aData.sDataSource
sStr += String(aData.sCommand); + OUString(DB_DELIM)
+ aData.sCommand;
GetExport().OutputField(pFld, ww::eDATABASE, sStr); GetExport().OutputField(pFld, ww::eDATABASE, sStr);
} }
break; break;
...@@ -2637,6 +2632,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2637,6 +2632,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
bWriteExpand = true; bWriteExpand = true;
else else
{ {
String sStr;
ww::eField eFld(ww::eNONE); ww::eField eFld(ww::eNONE);
switch (0xff & nSubType) switch (0xff & nSubType)
{ {
...@@ -2714,6 +2710,8 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2714,6 +2710,8 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
} }
break; break;
case RES_DATETIMEFLD: case RES_DATETIMEFLD:
{
String sStr;
if (FIXEDFLD & nSubType || !GetExport().GetNumberFmt(*pFld, sStr)) if (FIXEDFLD & nSubType || !GetExport().GetNumberFmt(*pFld, sStr))
bWriteExpand = true; bWriteExpand = true;
else else
...@@ -2722,6 +2720,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2722,6 +2720,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
sStr.Insert(FieldString(eFld), 0); sStr.Insert(FieldString(eFld), 0);
GetExport().OutputField(pFld, eFld, sStr); GetExport().OutputField(pFld, eFld, sStr);
} }
}
break; break;
case RES_DOCSTATFLD: case RES_DOCSTATFLD:
{ {
...@@ -2742,7 +2741,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2742,7 +2741,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
if (eFld != ww::eNONE) if (eFld != ww::eNONE)
{ {
sStr = FieldString(eFld); OUString sStr = FieldString(eFld);
GetNumberPara(sStr, *pFld); GetNumberPara(sStr, *pFld);
GetExport().OutputField(pFld, eFld, sStr); GetExport().OutputField(pFld, eFld, sStr);
} }
...@@ -2772,8 +2771,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2772,8 +2771,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
if (eFld != ww::eNONE) if (eFld != ww::eNONE)
{ {
sStr = FieldString(eFld); GetExport().OutputField(pFld, eFld, FieldString(eFld));
GetExport().OutputField(pFld, eFld, sStr);
} }
else else
bWriteExpand = true; bWriteExpand = true;
...@@ -2795,11 +2793,8 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2795,11 +2793,8 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
GetExport().DoFormText(pInputField); GetExport().DoFormText(pInputField);
else else
{ {
sStr = FieldString(ww::eFILLIN); const OUString sStr = FieldString(ww::eFILLIN) + "\""
+ pFld->GetPar2() + "\"";
sStr.AppendAscii("\"");
sStr += pFld->GetPar2();
sStr += '\"';
GetExport().OutputField(pFld, ww::eFILLIN, sStr); GetExport().OutputField(pFld, ww::eFILLIN, sStr);
} }
...@@ -2808,6 +2803,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2808,6 +2803,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
case RES_GETREFFLD: case RES_GETREFFLD:
{ {
ww::eField eFld = ww::eNONE; ww::eField eFld = ww::eNONE;
OUString sStr;
const SwGetRefField& rRFld = *(SwGetRefField*)pFld; const SwGetRefField& rRFld = *(SwGetRefField*)pFld;
switch (nSubType) switch (nSubType)
{ {
...@@ -2825,19 +2821,19 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2825,19 +2821,19 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
} }
{ {
const OUString aRefName(rRFld.GetSetRefName()); const OUString aRefName(rRFld.GetSetRefName());
sStr = FieldString(eFld); sStr = FieldString(eFld)
sStr += GetExport().GetBookmarkName(nSubType, &aRefName, 0); + GetExport().GetBookmarkName(nSubType, &aRefName, 0);
} }
switch (pFld->GetFormat()) switch (pFld->GetFormat())
{ {
case REF_NUMBER: case REF_NUMBER:
sStr.AppendAscii(" \\r"); sStr += " \\r";
break; break;
case REF_NUMBER_NO_CONTEXT: case REF_NUMBER_NO_CONTEXT:
sStr.AppendAscii(" \\n"); sStr += " \\n";
break; break;
case REF_NUMBER_FULL_CONTEXT: case REF_NUMBER_FULL_CONTEXT:
sStr.AppendAscii(" \\w"); sStr += " \\w";
break; break;
} }
break; break;
...@@ -2857,9 +2853,8 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2857,9 +2853,8 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
REF_ENDNOTE == nSubType ? ww::eNOTEREF : ww::eFOOTREF; REF_ENDNOTE == nSubType ? ww::eNOTEREF : ww::eFOOTREF;
break; break;
} }
sStr = FieldString(eFld); sStr = FieldString(eFld)
sStr += GetExport().GetBookmarkName(nSubType, 0, + GetExport().GetBookmarkName(nSubType, 0, rRFld.GetSeqNo());
rRFld.GetSeqNo());
break; break;
} }
...@@ -2868,15 +2863,15 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2868,15 +2863,15 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
switch (pFld->GetFormat()) switch (pFld->GetFormat())
{ {
case REF_UPDOWN: case REF_UPDOWN:
sStr.AppendAscii(" \\p"); sStr += " \\p \\h "; // with hyperlink
break; break;
case REF_CHAPTER: case REF_CHAPTER:
sStr.AppendAscii(" \\n"); sStr += " \\n \\h "; // with hyperlink
break; break;
default: default:
sStr += " \\h "; // insert hyperlink
break; break;
} }
sStr.AppendAscii(" \\h "); // insert hyperlink
GetExport().OutputField(pFld, eFld, sStr); GetExport().OutputField(pFld, eFld, sStr);
} }
else else
...@@ -2905,7 +2900,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2905,7 +2900,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
nScript = i18n::ScriptType::ASIAN; nScript = i18n::ScriptType::ASIAN;
long nHeight = ((SvxFontHeightItem&)(GetExport().GetItem( long nHeight = ((SvxFontHeightItem&)(GetExport().GetItem(
GetWhichOfScript(RES_CHRATR_FONTSIZE,nScript)))).GetHeight();; GetWhichOfScript(RES_CHRATR_FONTSIZE,nScript)))).GetHeight();
nHeight = (nHeight + 10) / 20; //Font Size in points; nHeight = (nHeight + 10) / 20; //Font Size in points;
...@@ -2914,19 +2909,17 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2914,19 +2909,17 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
font size and fill in the defaults as up == half the font size and font size and fill in the defaults as up == half the font size and
down == a fifth the font size down == a fifth the font size
*/ */
xub_StrLen nAbove = (pFld->GetPar1().getLength()+1)/2; const sal_Int32 nAbove = (pFld->GetPar1().getLength()+1)/2;
sStr = FieldString(ww::eEQ); const OUString sStr = FieldString(ww::eEQ)
sStr.AppendAscii("\\o (\\s\\up "); + "\\o (\\s\\up "
sStr += OUString::number(nHeight/2); + OUString::number(nHeight/2)
+ "("
sStr.Append('('); + pFld->GetPar1().copy(0, nAbove)
sStr += String(pFld->GetPar1(),0,nAbove); + "), \\s\\do "
sStr.AppendAscii("), \\s\\do "); + OUString::number(nHeight/5)
sStr += OUString::number(nHeight/5); + "("
+ pFld->GetPar1().copy(nAbove)
sStr.Append('('); + "))";
sStr += String(pFld->GetPar1(),nAbove,pFld->GetPar1().getLength()-nAbove);
sStr.AppendAscii("))");
GetExport().OutputField(pFld, ww::eEQ, sStr); GetExport().OutputField(pFld, ww::eEQ, sStr);
} }
break; break;
...@@ -2966,12 +2959,13 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField ) ...@@ -2966,12 +2959,13 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
bWriteExpand = PlaceholderField( pFld ); bWriteExpand = PlaceholderField( pFld );
break; break;
case RES_MACROFLD: case RES_MACROFLD:
sStr.AssignAscii(" MACROBUTTON"); {
sStr += pFld->GetPar1(); const OUString sStr = " MACROBUTTON"
sStr.SearchAndReplaceAscii("StarOffice.Standard.Modul1.", String(' ')); + pFld->GetPar1().replaceFirst("StarOffice.Standard.Modul1.", " ")
sStr += String(' '); + " "
sStr += lcl_GetExpandedField(*pFld); + lcl_GetExpandedField(*pFld);
GetExport().OutputField( pFld, ww::eMACROBUTTON, sStr ); GetExport().OutputField( pFld, ww::eMACROBUTTON, sStr );
}
break; break;
default: default:
bWriteExpand = true; bWriteExpand = true;
......
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