sw/qa/extras/odfimport/odfimport.cxx | 6 +++--- sw/qa/extras/ooxmlexport/ooxmlexport9.cxx | 4 ++-- sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 6 ------ sw/qa/extras/rtfimport/rtfimport.cxx | 24 ++++++++---------------- sw/qa/extras/ww8export/ww8export3.cxx | 4 ++-- sw/source/core/doc/SwStyleNameMapper.cxx | 4 ++-- sw/source/core/edit/edfcol.cxx | 7 ++++++- 7 files changed, 23 insertions(+), 32 deletions(-)
New commits: commit 44878a26e0d934a80ab39d5bf597ca49e46db86e Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Mon Dec 9 15:53:40 2024 +0100 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Tue Dec 10 16:42:42 2024 +0100 tdf#159549 sw: fix style mapping for Character Styles Change-Id: If6a130f21bfb29fe834c7004788183849f39f51e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178172 Reviewed-by: Michael Stahl <michael.st...@allotropia.de> Tested-by: Jenkins diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx index c3e18bfbae48..58be11a12b37 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx @@ -861,7 +861,7 @@ DECLARE_OOXMLEXPORT_TEST(testTdf82173_footnoteStyle, "tdf82173_footnoteStyle.doc // This was footnote text, which didn't match with newly created footnotes CPPUNIT_ASSERT_EQUAL(u"Footnote"_ustr, getProperty<OUString>(getParagraphOfText(1, xFootnoteText), u"ParaStyleName"_ustr)); - uno::Reference<beans::XPropertySet> xPageStyle(getStyles(u"CharacterStyles"_ustr)->getByName(u"Footnote Characters"_ustr), uno::UNO_QUERY); + uno::Reference<beans::XPropertySet> xPageStyle(getStyles(u"CharacterStyles"_ustr)->getByName(u"Footnote Symbol"_ustr), uno::UNO_QUERY); CPPUNIT_ASSERT_EQUAL( sal_Int32(58), getProperty< sal_Int32 >(xPageStyle, u"CharEscapementHeight"_ustr) ); CPPUNIT_ASSERT_EQUAL( COL_LIGHTGREEN, getProperty<Color>(xPageStyle, u"CharColor"_ustr)); @@ -890,7 +890,7 @@ DECLARE_OOXMLEXPORT_TEST(testTdf82173_endnoteStyle, "tdf82173_endnoteStyle.docx" CPPUNIT_ASSERT_EQUAL(u"Endnote"_ustr, getProperty<OUString>(getParagraphOfText(1, xEndnoteText), u"ParaStyleName"_ustr)); CPPUNIT_ASSERT_EQUAL(Color(0x993300), getProperty<Color>(getParagraphOfText(1, xEndnoteText), u"CharColor"_ustr)); - uno::Reference<beans::XPropertySet> xPageStyle(getStyles(u"CharacterStyles"_ustr)->getByName(u"Endnote Characters"_ustr), uno::UNO_QUERY); + uno::Reference<beans::XPropertySet> xPageStyle(getStyles(u"CharacterStyles"_ustr)->getByName(u"Endnote Symbol"_ustr), uno::UNO_QUERY); CPPUNIT_ASSERT_EQUAL( sal_Int32(58), getProperty< sal_Int32 >(xPageStyle, u"CharEscapementHeight"_ustr) ); CPPUNIT_ASSERT_EQUAL( COL_LIGHTMAGENTA, getProperty<Color>(xPageStyle, u"CharColor"_ustr)); diff --git a/sw/source/core/doc/SwStyleNameMapper.cxx b/sw/source/core/doc/SwStyleNameMapper.cxx index 9bf3ae40f050..11bc8089e5ca 100644 --- a/sw/source/core/doc/SwStyleNameMapper.cxx +++ b/sw/source/core/doc/SwStyleNameMapper.cxx @@ -263,7 +263,7 @@ void SwStyleNameMapper::FillProgName( rFillName = rName; if (nId == USHRT_MAX ) { - if (eFlags == SwGetPoolIdFromName::TxtColl || eFlags == SwGetPoolIdFromName::PageDesc) + if (eFlags == SwGetPoolIdFromName::TxtColl || eFlags == SwGetPoolIdFromName::PageDesc || eFlags == SwGetPoolIdFromName::ChrFmt) { // check if it has a " (user)" suffix, if so remove it lcl_CheckSuffixAndDelete(rFillName); @@ -305,7 +305,7 @@ void SwStyleNameMapper::FillUIName( if ( nId == USHRT_MAX ) { rFillName = aName; - if ((eFlags != SwGetPoolIdFromName::TxtColl && eFlags != SwGetPoolIdFromName::PageDesc) || // FIXME do it for all ids + if ((eFlags != SwGetPoolIdFromName::TxtColl && eFlags != SwGetPoolIdFromName::PageDesc && eFlags != SwGetPoolIdFromName::ChrFmt) || // FIXME do it for all ids GetPoolIdFromUIName(aName, eFlags) == USHRT_MAX) { // aName isn't in our Prog name table...check if it has a " (user)" suffix, if so remove it commit 0bc6fe5c1b889496fb83730545f9c8593ca65863 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Thu Dec 5 13:15:47 2024 +0100 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Tue Dec 10 16:42:32 2024 +0100 tdf#159549 sw: fix style mapping for Page Styles lcl_getUsedPageStyles() needs to convert the style names. Lots of tests request the UIName, testTdf87533_bidi even checks the same style twice with different names. Change-Id: Id173493daffadd0d0a74e089ecba8f19d2b267c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177859 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx index dd22a4937ee2..6cf97a2a9628 100644 --- a/sw/qa/extras/odfimport/odfimport.cxx +++ b/sw/qa/extras/odfimport/odfimport.cxx @@ -293,7 +293,7 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf41542_borderlessPadding) CPPUNIT_TEST_FIXTURE(Test, testPageStyleLayoutDefault) { createSwDoc("hello.odt"); - uno::Reference<beans::XPropertySet> xPropertySet(getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), uno::UNO_QUERY); + uno::Reference<beans::XPropertySet> xPropertySet(getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), uno::UNO_QUERY); // This was style::PageStyleLayout_MIRRORED. CPPUNIT_ASSERT_EQUAL(style::PageStyleLayout_ALL, getProperty<style::PageStyleLayout>(xPropertySet, u"PageStyleLayout"_ustr)); } @@ -504,7 +504,7 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf74524) CPPUNIT_TEST_FIXTURE(Test, testPageStyleLayoutRight) { createSwDoc("hello.odt"); - uno::Reference<beans::XPropertySet> xPropertySet(getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), uno::UNO_QUERY); + uno::Reference<beans::XPropertySet> xPropertySet(getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), uno::UNO_QUERY); // This caused a crash. xPropertySet->setPropertyValue(u"PageStyleLayout"_ustr, uno::Any(style::PageStyleLayout_RIGHT)); } @@ -562,7 +562,7 @@ CPPUNIT_TEST_FIXTURE(Test, testFdo79269_header) CPPUNIT_TEST_FIXTURE(Test, testPageBackground) { createSwDoc("PageBackground.odt"); - uno::Reference<beans::XPropertySet> xPropertySet(getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), uno::UNO_QUERY); + uno::Reference<beans::XPropertySet> xPropertySet(getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), uno::UNO_QUERY); // The background image was lost CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_BITMAP, getProperty<drawing::FillStyle>(xPropertySet, u"FillStyle"_ustr)); CPPUNIT_ASSERT_EQUAL(u"Sky"_ustr, getProperty<OUString>(xPropertySet, u"FillBitmapName"_ustr)); diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index 13490dff0ffe..4ce5edb38557 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -1727,12 +1727,6 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf87533_bidi) // "w:bidi" (specified inside Default paragraph properties) should not be ignored static constexpr OUString writingMode = u"WritingMode"_ustr; //getPropertyName(PROP_WRITING_MODE); - // check: "Default Style" master-style has RTL - { - const uno::Reference<beans::XPropertySet> xPropertySet(getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), uno::UNO_QUERY); - CPPUNIT_ASSERT_EQUAL(sal_Int32(text::WritingMode2::RL_TB), getProperty<sal_Int32>(xPropertySet, writingMode)); - } - // check: "Standard" master-style has RTL { const uno::Reference<beans::XPropertySet> xPropertySet(getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), uno::UNO_QUERY); diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 3aadb03618ff..1c9b80383668 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -1566,38 +1566,32 @@ CPPUNIT_TEST_FIXTURE(Test, testImportHeaderFooter) //Check if Headers/Footers only contain what they should in this document uno::Reference<text::XText> xHeaderText = getProperty<uno::Reference<text::XText>>( - getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), - u"HeaderTextFirst"_ustr); + getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), u"HeaderTextFirst"_ustr); OUString aActual = xHeaderText->getString(); CPPUNIT_ASSERT_EQUAL(u"First Page Header"_ustr, aActual); uno::Reference<text::XText> xHeaderTextLeft = getProperty<uno::Reference<text::XText>>( - getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), - u"HeaderTextLeft"_ustr); + getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), u"HeaderTextLeft"_ustr); aActual = xHeaderTextLeft->getString(); CPPUNIT_ASSERT_EQUAL(u"Header even"_ustr, aActual); uno::Reference<text::XText> xHeaderTextRight = getProperty<uno::Reference<text::XText>>( - getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), - u"HeaderTextRight"_ustr); + getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), u"HeaderTextRight"_ustr); aActual = xHeaderTextRight->getString(); CPPUNIT_ASSERT_EQUAL(u"Header uneven"_ustr, aActual); uno::Reference<text::XText> xFooterText = getProperty<uno::Reference<text::XText>>( - getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), - u"FooterTextFirst"_ustr); + getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), u"FooterTextFirst"_ustr); aActual = xFooterText->getString(); CPPUNIT_ASSERT_EQUAL(u"First Page Footer"_ustr, aActual); uno::Reference<text::XText> xFooterTextLeft = getProperty<uno::Reference<text::XText>>( - getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), - u"FooterTextLeft"_ustr); + getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), u"FooterTextLeft"_ustr); aActual = xFooterTextLeft->getString(); CPPUNIT_ASSERT_EQUAL(u"Footer even"_ustr, aActual); uno::Reference<text::XText> xFooterTextRight = getProperty<uno::Reference<text::XText>>( - getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), - u"FooterTextRight"_ustr); + getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), u"FooterTextRight"_ustr); aActual = xFooterTextRight->getString(); CPPUNIT_ASSERT_EQUAL(u"Footer uneven"_ustr, aActual); } @@ -1607,16 +1601,14 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf108947) createSwDoc("tdf108947.rtf"); //Check if Headers/Footers contain what they should in this document uno::Reference<text::XText> xHeaderTextRight = getProperty<uno::Reference<text::XText>>( - getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), - u"HeaderTextRight"_ustr); + getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), u"HeaderTextRight"_ustr); OUString aActual = xHeaderTextRight->getString(); CPPUNIT_ASSERT_EQUAL(u""_ustr, aActual); //Document is very fragile, hence we need this guard. #if HAVE_MORE_FONTS uno::Reference<text::XText> xHeaderTextLeft = getProperty<uno::Reference<text::XText>>( - getStyles(u"PageStyles"_ustr)->getByName(u"Default Page Style"_ustr), - u"HeaderTextLeft"_ustr); + getStyles(u"PageStyles"_ustr)->getByName(u"Standard"_ustr), u"HeaderTextLeft"_ustr); aActual = xHeaderTextLeft->getString(); CPPUNIT_ASSERT_EQUAL(u"" SAL_NEWLINE_STRING "Header Page 2 ?"_ustr, aActual); #endif diff --git a/sw/qa/extras/ww8export/ww8export3.cxx b/sw/qa/extras/ww8export/ww8export3.cxx index a8263d7fd73c..3e1c5497b25f 100644 --- a/sw/qa/extras/ww8export/ww8export3.cxx +++ b/sw/qa/extras/ww8export/ww8export3.cxx @@ -334,7 +334,7 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf138302_restartNumbering) DECLARE_WW8EXPORT_TEST(testTdf122429_header, "tdf122429_header.doc") { uno::Reference<container::XNameAccess> pageStyles = getStyles(u"PageStyles"_ustr); - uno::Reference<style::XStyle> pageStyle(pageStyles->getByName(u"Default Page Style"_ustr), uno::UNO_QUERY); + uno::Reference<style::XStyle> pageStyle(pageStyles->getByName(u"Standard"_ustr), uno::UNO_QUERY); bool headerIsOn = getProperty<bool>(pageStyle, u"HeaderIsOn"_ustr); CPPUNIT_ASSERT(headerIsOn); } @@ -344,7 +344,7 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf122460_header) loadAndReload("tdf122460_header.odt"); CPPUNIT_ASSERT_EQUAL(1, getPages()); uno::Reference<container::XNameAccess> pageStyles = getStyles(u"PageStyles"_ustr); - uno::Reference<style::XStyle> pageStyle(pageStyles->getByName(u"Default Page Style"_ustr), uno::UNO_QUERY); + uno::Reference<style::XStyle> pageStyle(pageStyles->getByName(u"Standard"_ustr), uno::UNO_QUERY); bool headerIsOn = getProperty<bool>(pageStyle, u"HeaderIsOn"_ustr); CPPUNIT_ASSERT(headerIsOn); } diff --git a/sw/source/core/doc/SwStyleNameMapper.cxx b/sw/source/core/doc/SwStyleNameMapper.cxx index 62d9f440e986..9bf3ae40f050 100644 --- a/sw/source/core/doc/SwStyleNameMapper.cxx +++ b/sw/source/core/doc/SwStyleNameMapper.cxx @@ -263,7 +263,7 @@ void SwStyleNameMapper::FillProgName( rFillName = rName; if (nId == USHRT_MAX ) { - if (eFlags == SwGetPoolIdFromName::TxtColl) + if (eFlags == SwGetPoolIdFromName::TxtColl || eFlags == SwGetPoolIdFromName::PageDesc) { // check if it has a " (user)" suffix, if so remove it lcl_CheckSuffixAndDelete(rFillName); @@ -305,7 +305,7 @@ void SwStyleNameMapper::FillUIName( if ( nId == USHRT_MAX ) { rFillName = aName; - if (eFlags != SwGetPoolIdFromName::TxtColl || // FIXME do it for all ids + if ((eFlags != SwGetPoolIdFromName::TxtColl && eFlags != SwGetPoolIdFromName::PageDesc) || // FIXME do it for all ids GetPoolIdFromUIName(aName, eFlags) == USHRT_MAX) { // aName isn't in our Prog name table...check if it has a " (user)" suffix, if so remove it diff --git a/sw/source/core/edit/edfcol.cxx b/sw/source/core/edit/edfcol.cxx index 64b990b4a4c4..08bf9a624fd8 100644 --- a/sw/source/core/edit/edfcol.cxx +++ b/sw/source/core/edit/edfcol.cxx @@ -88,6 +88,7 @@ #include <rdfhelper.hxx> #include <sfx2/watermarkitem.hxx> +#include <SwStyleNameMapper.hxx> #include <unoparagraph.hxx> #include <strings.hrc> #include <undobj.hxx> @@ -131,7 +132,11 @@ std::vector<OUString> lcl_getUsedPageStyles(SwViewShell const * pShell) { SwPageFrame* pPage = static_cast<SwPageFrame*>(pFrame); if (const SwPageDesc *pDesc = pPage->FindPageDesc()) - aReturn.push_back(pDesc->GetName()); + { + OUString sStyleName; + SwStyleNameMapper::FillUIName(pDesc->GetName(), sStyleName, SwGetPoolIdFromName::PageDesc); + aReturn.push_back(sStyleName); + } } return aReturn;