From ae2e8202407e82c9b14f0cc307742561f8c6e530 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Mon, 6 Jul 2020 19:14:08 +0200 Subject: tdf#134264 writerfilter: fix DOCX->DOC of ADDRESSBLOCK field ... and other unsupported ones; the problem was that the field got exported with ww::eUNKNOWN = 1, which can't be imported again. Move the ww8 eField enum to include/ so it can be used from writerfilter. (regression from e511a0ca5dde6d731bb126bbfe21768867890102..d9030ad6298e2f49ee63489d6158ea6ad23c0111) Change-Id: I19193392d62fdf0bba01fac2516bafe9fdfa5a99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98221 Tested-by: Jenkins Reviewed-by: Michael Stahl --- sw/source/filter/ww8/fields.hxx | 107 +--------------------------------------- sw/source/filter/ww8/ww8atr.cxx | 8 +-- 2 files changed, 6 insertions(+), 109 deletions(-) (limited to 'sw') diff --git a/sw/source/filter/ww8/fields.hxx b/sw/source/filter/ww8/fields.hxx index 8e24ca11d37b..9f3b0aafa252 100644 --- a/sw/source/filter/ww8/fields.hxx +++ b/sw/source/filter/ww8/fields.hxx @@ -21,113 +21,10 @@ #ifndef INCLUDED_SW_SOURCE_FILTER_WW8_FIELDS_HXX #define INCLUDED_SW_SOURCE_FILTER_WW8_FIELDS_HXX +#include + namespace ww { - enum eField - { - eNONE = 0, - eUNKNOWN = 1, - ePOSSIBLEBOOKMARK = 2, - eREF = 3, - eXE = 4, - eFOOTREF = 5, - eSET = 6, - eIF = 7, - eINDEX = 8, - eTC = 9, - eSTYLEREF = 10, - eRD = 11, - eSEQ = 12, - eTOC = 13, - eINFO = 14, - eTITLE = 15, - eSUBJECT = 16, - eAUTHOR = 17, - eKEYWORDS = 18, - eCOMMENTS = 19, - eLASTSAVEDBY = 20, - eCREATEDATE = 21, - eSAVEDATE = 22, - ePRINTDATE = 23, - eREVNUM = 24, - eEDITTIME = 25, - eNUMPAGE = 26, - eNUMWORDS = 27, - eNUMCHARS = 28, - eFILENAME = 29, - eTEMPLATE = 30, - eDATE = 31, - eTIME = 32, - ePAGE = 33, - eEquals = 34, - eQUOTE = 35, - eMERGEINC = 36, - ePAGEREF = 37, - eASK = 38, - eFILLIN = 39, - eMERGEDATA = 40, - eNEXT = 41, - eNEXTIF = 42, - eSKIPIF = 43, - eMERGEREC = 44, - eDDEREF = 45, - eDDEAUTOREF = 46, - eGLOSSREF = 47, - ePRINT = 48, - eEQ = 49, - eGOTOBUTTON = 50, - eMACROBUTTON = 51, - eAUTONUMOUT = 52, - eAUTONUMLGL = 53, - eAUTONUM = 54, - eINCLUDETIFF = 55, - eLINK = 56, - eSYMBOL = 57, - eEMBED = 58, - eMERGEFIELD = 59, - eUSERNAME = 60, - eUSERINITIALS = 61, - eUSERADDRESS = 62, - eBARCODE = 63, - eDOCVARIABLE = 64, - eSECTION = 65, - eSECTIONPAGES = 66, - eINCLUDEPICTURE = 67, - eINCLUDETEXT = 68, - eFILESIZE = 69, - eFORMTEXT = 70, - eFORMCHECKBOX = 71, - eNOTEREF = 72, - eTOA = 73, - eTA = 74, - eMERGESEQ = 75, - eMACRO = 76, - ePRIVATE = 77, - eDATABASE = 78, - eAUTOTEXT = 79, - eCOMPARE = 80, - ePLUGIN = 81, - eSUBSCRIBER = 82, - eFORMDROPDOWN = 83, - eADVANCE = 84, - eDOCPROPERTY = 85, - eUNKNOWN2 = 86, - eCONTROL = 87, - eHYPERLINK = 88, - eAUTOTEXTLIST = 89, - eLISTNUM = 90, - eHTMLCONTROL = 91, - eBIDIOUTLINE = 92, - eADDRESSBLOCK = 93, - eGREETINGLINE = 94, - eSHAPE = 95, - // NOTE: values > 95 / 0x5F do not correspond to documented WW8 fields - // and thus need special handling in WW8Export::OutputField()! - eBIBLIOGRPAHY=96, - eCITATION = 97, - eFORMDATE = 98, - }; - /** Find the English Field Name from a winword index See OpenOffice.org issue 12831 diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx index da9e60091df0..3a45a4cb5bb4 100644 --- a/sw/source/filter/ww8/ww8atr.cxx +++ b/sw/source/filter/ww8/ww8atr.cxx @@ -1768,9 +1768,9 @@ void WW8Export::OutputField( const SwField* pField, ww::eField eFieldType, switch (eFieldType) { // map fields that are not supported in WW8 as of Word 2003 - case ww::eBIBLIOGRPAHY: + case ww::eBIBLIOGRAPHY: eFieldType = ww::eQUOTE; - assert(rFieldCmd == FieldString(ww::eBIBLIOGRPAHY)); + assert(rFieldCmd == FieldString(ww::eBIBLIOGRAPHY)); sFieldCmd = FieldString(ww::eQUOTE); break; case ww::eCITATION: @@ -2278,7 +2278,7 @@ void AttributeOutputBase::StartTOX( const SwSection& rSect ) break; case TOX_AUTHORITIES: - eCode = ww::eBIBLIOGRPAHY; + eCode = ww::eBIBLIOGRAPHY; sStr = FieldString(eCode); break; // case TOX_USER: @@ -2945,7 +2945,7 @@ void AttributeOutputBase::TextField( const SwFormatField& rField ) switch (nSubType) { case DS_PAGE: - eField = ww::eNUMPAGE; + eField = ww::eNUMPAGES; break; case DS_WORD: eField = ww::eNUMWORDS; -- cgit