diff --git a/filters/words/rtf/import/3rdparty/rtf-qt/src/AbstractRtfOutput.h b/filters/words/rtf/import/3rdparty/rtf-qt/src/AbstractRtfOutput.h --- a/filters/words/rtf/import/3rdparty/rtf-qt/src/AbstractRtfOutput.h +++ b/filters/words/rtf/import/3rdparty/rtf-qt/src/AbstractRtfOutput.h @@ -282,6 +282,7 @@ virtual void setFontPointSize( const int value ) = 0; virtual void setFontSuperscript() = 0; virtual void setFontSubscript() = 0; + virtual void setFontStrikeout(const bool value) = 0; virtual void setForegroundColour( const int value ) = 0; virtual void setHighlightColour( const int value ) = 0; virtual void setParagraphPatternBackgroundColour( const int value ) = 0; diff --git a/filters/words/rtf/import/3rdparty/rtf-qt/src/DocumentDestination.cpp b/filters/words/rtf/import/3rdparty/rtf-qt/src/DocumentDestination.cpp --- a/filters/words/rtf/import/3rdparty/rtf-qt/src/DocumentDestination.cpp +++ b/filters/words/rtf/import/3rdparty/rtf-qt/src/DocumentDestination.cpp @@ -117,6 +117,8 @@ m_output->setPageHeight( value ); } else if ( controlWord == "paperw" ) { m_output->setPageWidth( value ); + } else if ( controlWord == "strike" ) { + m_output->setFontStrikeout( ! hasValue || ( hasValue && value != 0 ) ); } else if ( ( controlWord == "u" ) && hasValue ) { m_output->appendText( QChar( value ) ); m_charactersToSkip = 1; /* TODO: this should be driven by \uc, default to 1 */ diff --git a/filters/words/rtf/import/3rdparty/rtf-qt/src/TextDocumentRtfOutput.h b/filters/words/rtf/import/3rdparty/rtf-qt/src/TextDocumentRtfOutput.h --- a/filters/words/rtf/import/3rdparty/rtf-qt/src/TextDocumentRtfOutput.h +++ b/filters/words/rtf/import/3rdparty/rtf-qt/src/TextDocumentRtfOutput.h @@ -68,6 +68,8 @@ virtual void setFontUnderline( const int value ); + virtual void setFontStrikeout( const bool value ); + virtual void setFontPointSize( const int pointSize ); virtual void setForegroundColour( const int colourIndex ); diff --git a/filters/words/rtf/import/3rdparty/rtf-qt/src/TextDocumentRtfOutput.cpp b/filters/words/rtf/import/3rdparty/rtf-qt/src/TextDocumentRtfOutput.cpp --- a/filters/words/rtf/import/3rdparty/rtf-qt/src/TextDocumentRtfOutput.cpp +++ b/filters/words/rtf/import/3rdparty/rtf-qt/src/TextDocumentRtfOutput.cpp @@ -137,7 +137,13 @@ m_textCharFormatStack.top().setFontUnderline( value != 0 ); m_cursor->setCharFormat( m_textCharFormatStack.top() ); } - + + void TextDocumentRtfOutput::setFontStrikeout(const bool value) + { + m_textCharFormatStack.top().setFontStrikeOut(value); + m_cursor->setCharFormat( m_textCharFormatStack.top() ); + } + void TextDocumentRtfOutput::setFontPointSize( const int pointSize ) { m_textCharFormatStack.top().setFontPointSize( pointSize );