summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2013-06-04 12:21:11 +0200
committerLuboš Luňák <l.lunak@suse.cz>2013-06-04 14:04:46 +0000
commiteedf31c5a548d88acbc42daf3fdd647c7aee859e (patch)
tree263c46f7d229cb2c191e1f7e86b48fa699eb4d5b /sw
parentf50f172efbe534863c91f4b1cc6dc58a05f1eeb9 (diff)
fdo#62044 RTF import: don't overwrite existing styles when pasting
(cherry picked from commit 2ade07126971b79c92f729fae5709f2e2e2b495c) Conflicts: sw/qa/extras/rtfimport/rtfimport.cxx Change-Id: I80a83caebc8fa3f038cf2ff080c6c6ec8e93fb70 Reviewed-on: https://gerrit.libreoffice.org/4149 Reviewed-by: Luboš Luňák <l.lunak@suse.cz> Tested-by: Luboš Luňák <l.lunak@suse.cz>
Diffstat (limited to 'sw')
-rw-r--r--sw/qa/extras/rtfimport/data/fdo62044-paste.rtf7
-rw-r--r--sw/qa/extras/rtfimport/data/fdo62044.rtf7
-rw-r--r--sw/qa/extras/rtfimport/rtfimport.cxx14
3 files changed, 28 insertions, 0 deletions
diff --git a/sw/qa/extras/rtfimport/data/fdo62044-paste.rtf b/sw/qa/extras/rtfimport/data/fdo62044-paste.rtf
new file mode 100644
index 000000000000..cea4373f5ca8
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/fdo62044-paste.rtf
@@ -0,0 +1,7 @@
+{\rtf
+{\stylesheet
+{\s14\fs36 Heading1;}
+}
+from impress
+\par
+}
diff --git a/sw/qa/extras/rtfimport/data/fdo62044.rtf b/sw/qa/extras/rtfimport/data/fdo62044.rtf
new file mode 100644
index 000000000000..8ab293bbb7ac
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/fdo62044.rtf
@@ -0,0 +1,7 @@
+{\rtf1
+{\stylesheet
+{\s1\fs20 Heading 1;}
+}
+\s1 this is heading 1
+\par
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index 2e99c2777ccf..2e33f8efdba5 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -149,6 +149,7 @@ public:
void testFdo63023();
void testFdo62977();
void testFdo64671();
+ void testFdo62044();
CPPUNIT_TEST_SUITE(Test);
#if !defined(MACOSX) && !defined(WNT)
@@ -268,6 +269,7 @@ void Test::run()
{"fdo63023.rtf", &Test::testFdo63023},
{"fdo62977.rtf", &Test::testFdo62977},
{"fdo64671.rtf", &Test::testFdo64671},
+ {"fdo62044.rtf", &Test::testFdo62044},
};
for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i)
{
@@ -1230,6 +1232,18 @@ void Test::testFdo64671()
getRun(getParagraph(1), 1, OUString("\xC5\xBD", 2, RTL_TEXTENCODING_UTF8));
}
+void Test::testFdo62044()
+{
+ // The problem was that RTF import during copy&paste did not ignore existing paragraph styles.
+ uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY);
+ uno::Reference<text::XTextRange> xText(xTextDocument->getText(), uno::UNO_QUERY);
+ uno::Reference<text::XTextRange> xEnd = xText->getEnd();
+ paste("fdo62044-paste.rtf", xEnd);
+
+ uno::Reference<beans::XPropertySet> xPropertySet(getStyles("ParagraphStyles")->getByName("Heading 1"), uno::UNO_QUERY);
+ CPPUNIT_ASSERT_EQUAL(10.f, getProperty<float>(xPropertySet, "CharHeight")); // Was 18, i.e. reset back to original value.
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
CPPUNIT_PLUGIN_IMPLEMENT();