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

fdo#57881 sw: make UseOnPage independent from SvxPageUsage

UseOnPage got changed in commit
fa0f42ba, but SvxPageUsage got
unchanged. Given that right now other applications don't support first
page headers / footers, leave SvxPageUsage unchanged and provide
conversion methods between the two types.
üst 54b6b5dd
...@@ -40,6 +40,7 @@ public: ...@@ -40,6 +40,7 @@ public:
void testEmptySvgFamilyName(); void testEmptySvgFamilyName();
void testHideAllSections(); void testHideAllSections();
void testOdtBorders(); void testOdtBorders();
void testPageStyleLayoutDefault();
void testPageStyleLayoutRight(); void testPageStyleLayoutRight();
CPPUNIT_TEST_SUITE(Test); CPPUNIT_TEST_SUITE(Test);
...@@ -58,6 +59,7 @@ void Test::run() ...@@ -58,6 +59,7 @@ void Test::run()
{"empty-svg-family-name.odt", &Test::testEmptySvgFamilyName}, {"empty-svg-family-name.odt", &Test::testEmptySvgFamilyName},
{"fdo53210.odt", &Test::testHideAllSections}, {"fdo53210.odt", &Test::testHideAllSections},
{"borders_ooo33.odt", &Test::testOdtBorders}, {"borders_ooo33.odt", &Test::testOdtBorders},
{"hello.odt", &Test::testPageStyleLayoutDefault},
{"hello.odt", &Test::testPageStyleLayoutRight}, {"hello.odt", &Test::testPageStyleLayoutRight},
}; };
for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i) for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i)
...@@ -273,6 +275,13 @@ void Test::testOdtBorders() ...@@ -273,6 +275,13 @@ void Test::testOdtBorders()
} while(xParaEnum->hasMoreElements()); } while(xParaEnum->hasMoreElements());
} }
void Test::testPageStyleLayoutDefault()
{
uno::Reference<beans::XPropertySet> xPropertySet(getStyles("PageStyles")->getByName("Default Style"), uno::UNO_QUERY);
// This was style::PageStyleLayout_MIRRORED.
CPPUNIT_ASSERT_EQUAL(style::PageStyleLayout_ALL, getProperty<style::PageStyleLayout>(xPropertySet, "PageStyleLayout"));
}
void Test::testPageStyleLayoutRight() void Test::testPageStyleLayoutRight()
{ {
uno::Reference<beans::XPropertySet> xPropertySet(getStyles("PageStyles")->getByName("Default Style"), uno::UNO_QUERY); uno::Reference<beans::XPropertySet> xPropertySet(getStyles("PageStyles")->getByName("Default Style"), uno::UNO_QUERY);
......
...@@ -147,6 +147,36 @@ void FillHdFt(SwFrmFmt* pFmt, const SfxItemSet& rSet) ...@@ -147,6 +147,36 @@ void FillHdFt(SwFrmFmt* pFmt, const SfxItemSet& rSet)
pFmt->SetFmtAttr(aSet); pFmt->SetFmtAttr(aSet);
} }
/// Convert from UseOnPage to SvxPageUsage.
UseOnPage lcl_convertUseToSvx(UseOnPage nUse)
{
UseOnPage nRet = nsUseOnPage::PD_NONE;
if ((nUse & nsUseOnPage::PD_LEFT) == nsUseOnPage::PD_LEFT)
nRet |= SVX_PAGE_LEFT;
if ((nUse & nsUseOnPage::PD_RIGHT) == nsUseOnPage::PD_RIGHT)
nRet |= SVX_PAGE_RIGHT;
if ((nUse & nsUseOnPage::PD_ALL) == nsUseOnPage::PD_ALL)
nRet |= SVX_PAGE_ALL;
if ((nUse & nsUseOnPage::PD_MIRROR) == nsUseOnPage::PD_MIRROR)
nRet |= SVX_PAGE_MIRROR;
return nRet;
}
/// Convert from SvxPageUsage to UseOnPage.
UseOnPage lcl_convertUseFromSvx(UseOnPage nUse)
{
UseOnPage nRet = nsUseOnPage::PD_NONE;
if ((nUse & SVX_PAGE_LEFT) == SVX_PAGE_LEFT)
nRet |= nsUseOnPage::PD_LEFT;
if ((nUse & SVX_PAGE_RIGHT) == SVX_PAGE_RIGHT)
nRet |= nsUseOnPage::PD_RIGHT;
if ((nUse & SVX_PAGE_ALL) == SVX_PAGE_ALL)
nRet |= nsUseOnPage::PD_ALL;
if ((nUse & SVX_PAGE_MIRROR) == SVX_PAGE_MIRROR)
nRet |= nsUseOnPage::PD_MIRROR;
return nRet;
}
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
Beschreibung: PageDesc <-> in Sets wandeln und zurueck Beschreibung: PageDesc <-> in Sets wandeln und zurueck
--------------------------------------------------------------------*/ --------------------------------------------------------------------*/
...@@ -171,7 +201,7 @@ void ItemSetToPageDesc( const SfxItemSet& rSet, SwPageDesc& rPageDesc ) ...@@ -171,7 +201,7 @@ void ItemSetToPageDesc( const SfxItemSet& rSet, SwPageDesc& rPageDesc )
if(nUse & 0x04) if(nUse & 0x04)
nUse |= 0x03; nUse |= 0x03;
if(nUse) if(nUse)
rPageDesc.SetUseOn( (UseOnPage) nUse ); rPageDesc.SetUseOn( lcl_convertUseFromSvx((UseOnPage) nUse) );
rPageDesc.SetLandscape(rPageItem.IsLandscape()); rPageDesc.SetLandscape(rPageItem.IsLandscape());
SvxNumberType aNumType; SvxNumberType aNumType;
aNumType.SetNumberingType( static_cast< sal_Int16 >(rPageItem.GetNumType()) ); aNumType.SetNumberingType( static_cast< sal_Int16 >(rPageItem.GetNumType()) );
...@@ -320,7 +350,7 @@ void PageDescToItemSet( const SwPageDesc& rPageDesc, SfxItemSet& rSet) ...@@ -320,7 +350,7 @@ void PageDescToItemSet( const SwPageDesc& rPageDesc, SfxItemSet& rSet)
// //
SvxPageItem aPageItem(SID_ATTR_PAGE); SvxPageItem aPageItem(SID_ATTR_PAGE);
aPageItem.SetDescName(rPageDesc.GetName()); aPageItem.SetDescName(rPageDesc.GetName());
aPageItem.SetPageUsage(rPageDesc.GetUseOn()); aPageItem.SetPageUsage(lcl_convertUseToSvx(rPageDesc.GetUseOn()));
aPageItem.SetLandscape(rPageDesc.GetLandscape()); aPageItem.SetLandscape(rPageDesc.GetLandscape());
aPageItem.SetNumType((SvxNumType)rPageDesc.GetNumType().GetNumberingType()); aPageItem.SetNumType((SvxNumType)rPageDesc.GetNumType().GetNumberingType());
rSet.Put(aPageItem); rSet.Put(aPageItem);
......
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