summaryrefslogtreecommitdiff
path: root/writerfilter/source/rtftok
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-07-27 17:40:39 +0200
committerMiklos Vajna <vmiklos@suse.cz>2012-07-30 09:57:33 +0200
commit334989a3b87eba4882bd6b67b84c443816b361c3 (patch)
tree3cacdc08ca80f20b1b219b77f14080514788bd49 /writerfilter/source/rtftok
parent42f17f3f62471d5be4fe7db7334db09c3b8cbe08 (diff)
Related: fdo#36089 improve import of EQ field in writerfilter
This moves the FIELD_EQ parsing where it belongs + improves it, so a custom "lower by" value is handled on import. Change-Id: I0459042d7a610c397ce90ec3dba5ff49ce9ef60f
Diffstat (limited to 'writerfilter/source/rtftok')
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx22
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.hxx2
2 files changed, 4 insertions, 20 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index b03a7bc5d415..e6758f1f9610 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -260,7 +260,6 @@ RTFDocumentImpl::RTFDocumentImpl(uno::Reference<uno::XComponentContext> const& x
m_nCurrentFontIndex(0),
m_aStyleTableEntries(),
m_nCurrentStyleIndex(0),
- m_bEq(false),
m_bFormField(false),
m_bIsInFrame(false),
m_aUnicodeBuffer(),
@@ -989,10 +988,6 @@ void RTFDocumentImpl::text(OUString& rString)
case DESTINATION_MGROW:
m_aStates.top().aDestinationText.append(rString);
break;
- case DESTINATION_EQINSTRUCTION:
- if ( rString.getLength() > 3 && rString.copy(0, 2) == "do" && rString.copy(2).toInt32() > 0 )
- dispatchFlag(RTF_SUB);
- break;
default: bRet = false; break;
}
if (bRet)
@@ -1134,11 +1129,7 @@ int RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
if (aBuf.toString().indexOf(OString("FORM")) != -1 )
m_bFormField = true;
- // EQ fields are not really fields in fact.
- if (aBuf.toString().equals("EQ"))
- m_bEq = true;
- else
- singleChar(0x13);
+ singleChar(0x13);
m_aStates.top().nDestinationState = DESTINATION_FIELDINSTRUCTION;
}
break;
@@ -3160,7 +3151,6 @@ int RTFDocumentImpl::pushState()
case DESTINATION_FIELDRESULT:
case DESTINATION_SHAPETEXT:
case DESTINATION_FORMFIELD:
- case DESTINATION_EQINSTRUCTION:
m_aStates.top().nDestinationState = DESTINATION_NORMAL;
break;
case DESTINATION_MNUM:
@@ -3174,7 +3164,7 @@ int RTFDocumentImpl::pushState()
m_aStates.top().nDestinationState = DESTINATION_MR;
break;
case DESTINATION_FIELDINSTRUCTION:
- m_aStates.top().nDestinationState = !m_bEq ? DESTINATION_NORMAL : DESTINATION_EQINSTRUCTION;
+ m_aStates.top().nDestinationState = DESTINATION_NORMAL;
break;
case DESTINATION_REVISIONTABLE: m_aStates.top().nDestinationState = DESTINATION_REVISIONENTRY; break;
case DESTINATION_MOMATH: m_aStates.top().nDestinationState = DESTINATION_MR; break;
@@ -3285,14 +3275,10 @@ int RTFDocumentImpl::popState()
m_aFormfieldAttributes.clear();
m_aFormfieldSprms.clear();
}
- if (!m_bEq)
- singleChar(0x14);
+ singleChar(0x14);
break;
case DESTINATION_FIELDRESULT:
- if (!m_bEq)
- singleChar(0x15);
- else
- m_bEq = false;
+ singleChar(0x15);
break;
case DESTINATION_LEVELTEXT:
{
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index f2532e7e7a1a..1de7c6e36c39 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -65,7 +65,6 @@ namespace writerfilter {
DESTINATION_COLORTABLE,
DESTINATION_STYLESHEET,
DESTINATION_STYLEENTRY,
- DESTINATION_EQINSTRUCTION,
DESTINATION_FIELD,
DESTINATION_FIELDINSTRUCTION,
DESTINATION_FIELDRESULT,
@@ -563,7 +562,6 @@ namespace writerfilter {
RTFReferenceTable::Entries_t m_aStyleTableEntries;
int m_nCurrentStyleIndex;
- bool m_bEq;
bool m_bFormField;
/// If a frame start token is already sent to dmapper (nesting them is not OK).
bool m_bIsInFrame;