[Libreoffice-commits] core.git: Branch 'libreoffice-6-3' - oox/source sd/qa
Tamas Bunth (via logerrit)
logerrit at kemper.freedesktop.org
Sun Nov 17 15:49:22 UTC 2019
oox/source/drawingml/customshapeproperties.cxx | 2 +
sd/qa/unit/data/pptx/tdf128684.pptx |binary
sd/qa/unit/import-tests.cxx | 29 +++++++++++++++++++++++++
3 files changed, 31 insertions(+)
New commits:
commit d6c3f1d37f651637ed4d803a2226ead4392fd85f
Author: Tamas Bunth <tamas.bunth at collabora.co.uk>
AuthorDate: Thu Nov 14 00:56:08 2019 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Sun Nov 17 16:48:41 2019 +0100
tdf128684: Rotate text in not preset custom shape
The TextPreRotateAngle property should be set in case of a not preset
custom shape as well during ooxml import.
Also add unit test for testing the TextPreRotateAngle property.
Change-Id: Ib5b822286f8a78fe8398bf7e2014a36d7e0a24d5
Reviewed-on: https://gerrit.libreoffice.org/82643
Tested-by: Jenkins
Reviewed-by: Tamás Bunth <btomi96 at gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/83021
Reviewed-by: Andras Timar <andras.timar at collabora.com>
diff --git a/oox/source/drawingml/customshapeproperties.cxx b/oox/source/drawingml/customshapeproperties.cxx
index fe3be0c97de2..b937140c04d9 100644
--- a/oox/source/drawingml/customshapeproperties.cxx
+++ b/oox/source/drawingml/customshapeproperties.cxx
@@ -234,6 +234,8 @@ void CustomShapeProperties::pushToPropSet(
aPropertyMap.setProperty( PROP_Type, OUString( "ooxml-non-primitive" ));
aPropertyMap.setProperty( PROP_MirroredX, mbMirroredX );
aPropertyMap.setProperty( PROP_MirroredY, mbMirroredY );
+ if( mnTextRotateAngle )
+ aPropertyMap.setProperty( PROP_TextPreRotateAngle, mnTextRotateAngle );
// Note 1: If Equations are defined - they are processed using internal div by 360 coordinates
// while if they are not, standard ooxml coordinates are used.
// This size specifically affects scaling.
diff --git a/sd/qa/unit/data/pptx/tdf128684.pptx b/sd/qa/unit/data/pptx/tdf128684.pptx
new file mode 100755
index 000000000000..80a5f30568d3
Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf128684.pptx differ
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index 1d1f5a6a46d1..943fc49cfc3f 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -196,6 +196,7 @@ public:
void testTdf77747();
void testTdf116266();
void testTdf126324();
+ void testTdf128684();
bool checkPattern(sd::DrawDocShellRef const & rDocRef, int nShapeNumber, std::vector<sal_uInt8>& rExpected);
void testPatternImport();
@@ -306,6 +307,7 @@ public:
CPPUNIT_TEST(testOOXTheme);
CPPUNIT_TEST(testCropToShape);
CPPUNIT_TEST(testTdf127964);
+ CPPUNIT_TEST(testTdf128684);
CPPUNIT_TEST_SUITE_END();
};
@@ -2921,6 +2923,33 @@ void SdImportTest::testTdf127964()
xDocShRef->DoClose();
}
+
+void SdImportTest::testTdf128684()
+{
+ sd::DrawDocShellRef xDocShRef
+ = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/tdf128684.pptx"), PPTX);
+ uno::Reference<drawing::XDrawPagesSupplier> xDoc(xDocShRef->GetDoc()->getUnoModel(),
+ uno::UNO_QUERY);
+ CPPUNIT_ASSERT(xDoc.is());
+ uno::Reference<drawing::XDrawPage> xPage(xDoc->getDrawPages()->getByIndex(0), uno::UNO_QUERY);
+ CPPUNIT_ASSERT(xPage.is());
+ uno::Reference<beans::XPropertySet> xShape(getShape(0, xPage));
+ CPPUNIT_ASSERT(xShape.is());
+ uno::Any aAny = xShape->getPropertyValue("CustomShapeGeometry");
+ CPPUNIT_ASSERT(aAny.hasValue());
+ uno::Sequence<beans::PropertyValue> aProps;
+ CPPUNIT_ASSERT(aAny >>= aProps);
+ sal_Int32 nRotateAngle = 0;
+ for( const auto& rProp : std::as_const(aProps) )
+ {
+ if( rProp.Name == "TextPreRotateAngle")
+ {
+ rProp.Value >>= nRotateAngle;
+ }
+ }
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(-90), nRotateAngle);
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest);
CPPUNIT_PLUGIN_IMPLEMENT();
More information about the Libreoffice-commits
mailing list