Kaydet (Commit) 26bc5a20 authored tarafından Miklos Vajna's avatar Miklos Vajna

RTFTokenizer: remember start pos of current group

Change-Id: I953ca1d3fb5532ac8261ef0def033a4c0fcd79c6
üst b440845b
...@@ -31,7 +31,8 @@ RTFTokenizer::RTFTokenizer(RTFListener& rImport, SvStream* pInStream, uno::Refer ...@@ -31,7 +31,8 @@ RTFTokenizer::RTFTokenizer(RTFListener& rImport, SvStream* pInStream, uno::Refer
m_xStatusIndicator(xStatusIndicator), m_xStatusIndicator(xStatusIndicator),
m_nGroup(0), m_nGroup(0),
m_nLineNumber(0), m_nLineNumber(0),
m_nLineStartPos(0) m_nLineStartPos(0),
m_nGroupStart(0)
{ {
if (!RTFTokenizer::m_bControlWordsSorted) if (!RTFTokenizer::m_bControlWordsSorted)
{ {
...@@ -96,6 +97,7 @@ int RTFTokenizer::resolveParse() ...@@ -96,6 +97,7 @@ int RTFTokenizer::resolveParse()
switch (ch) switch (ch)
{ {
case '{': case '{':
m_nGroupStart = Strm().Tell() - 1;
ret = m_rImport.pushState(); ret = m_rImport.pushState();
if (ret) if (ret)
return ret; return ret;
...@@ -336,6 +338,11 @@ OUString RTFTokenizer::getPosition() ...@@ -336,6 +338,11 @@ OUString RTFTokenizer::getPosition()
return aRet.makeStringAndClear(); return aRet.makeStringAndClear();
} }
sal_Size RTFTokenizer::getGroupStart()
{
return m_nGroupStart;
}
} // namespace rtftok } // namespace rtftok
} // namespace writerfilter } // namespace writerfilter
......
...@@ -33,6 +33,7 @@ namespace writerfilter { ...@@ -33,6 +33,7 @@ namespace writerfilter {
/// To be invoked by the popState() callback to single when the importer leaves a group. /// To be invoked by the popState() callback to single when the importer leaves a group.
void popGroup(); void popGroup();
OUString getPosition(); OUString getPosition();
sal_Size getGroupStart();
private: private:
SvStream& Strm(); SvStream& Strm();
int resolveKeyword(); int resolveKeyword();
...@@ -48,6 +49,7 @@ namespace writerfilter { ...@@ -48,6 +49,7 @@ namespace writerfilter {
int m_nGroup; int m_nGroup;
sal_Int32 m_nLineNumber; sal_Int32 m_nLineNumber;
sal_Int32 m_nLineStartPos; sal_Int32 m_nLineStartPos;
sal_Size m_nGroupStart;
}; };
} // namespace rtftok } // namespace rtftok
} // namespace writerfilter } // namespace writerfilter
......
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