summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-10-20 18:12:22 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-10-20 18:12:23 +0200
commit03bb5d52fecd6c613c6cc36508eb44e5e1c3456a (patch)
treec96d4cf398cea8ffe1ea5f1de8c071477d4b4a5d
parentfd612a144c0028972513a18167a13d29326a1798 (diff)
sc: initial png export
Change-Id: Iae0e89646eab794879529274f09839ad34aa4696
-rw-r--r--desktop/qa/desktop_lib/test_desktop_lib.cxx10
-rw-r--r--desktop/source/lib/init.cxx1
-rw-r--r--filter/Configuration_filter.mk9
-rw-r--r--filter/source/config/fragments/filters/calc_png_Export.xcu20
-rw-r--r--postprocess/CustomTarget_registry.mk2
-rw-r--r--svtools/source/filter/DocumentToGraphicRenderer.cxx2
6 files changed, 44 insertions, 0 deletions
diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx
index 204fc6d0b9e5..3e8544c6c5d2 100644
--- a/desktop/qa/desktop_lib/test_desktop_lib.cxx
+++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx
@@ -64,6 +64,7 @@ public:
void testSearchCalc();
void testPaintTile();
void testSaveAs();
+ void testSaveAsCalc();
CPPUNIT_TEST_SUITE(DesktopLOKTest);
CPPUNIT_TEST(testGetStyles);
@@ -74,6 +75,7 @@ public:
CPPUNIT_TEST(testSearchCalc);
CPPUNIT_TEST(testPaintTile);
CPPUNIT_TEST(testSaveAs);
+ CPPUNIT_TEST(testSaveAsCalc);
CPPUNIT_TEST_SUITE_END();
uno::Reference<lang::XComponent> mxComponent;
@@ -320,6 +322,14 @@ void DesktopLOKTest::testSaveAs()
CPPUNIT_ASSERT(pDocument->pClass->saveAs(pDocument, aTempFile.GetURL().toUtf8().getStr(), "png", 0));
}
+void DesktopLOKTest::testSaveAsCalc()
+{
+ LibLODocument_Impl* pDocument = loadDoc("search.ods");
+ utl::TempFile aTempFile;
+ aTempFile.EnableKillingFile();
+ CPPUNIT_ASSERT(pDocument->pClass->saveAs(pDocument, aTempFile.GetURL().toUtf8().getStr(), "png", 0));
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(DesktopLOKTest);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 15c27ad85b45..405e5ff12165 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -132,6 +132,7 @@ static const ExtensionMap aCalcExtensionMap[] =
{ "xhtml", "XHTML Calc File" },
{ "xls", "MS Excel 97" },
{ "xlsx", "Calc MS Excel 2007 XML" },
+ { "png", "calc_png_Export" },
{ NULL, NULL }
};
diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk
index 03579263a51b..5e093ca4ad57 100644
--- a/filter/Configuration_filter.mk
+++ b/filter/Configuration_filter.mk
@@ -843,6 +843,15 @@ $(eval $(call filter_Configuration_add_filters,fcfg_langpack,fcfg_writergraphics
writer_png_Export \
))
+# fcfg_calcgraphics
+$(eval $(call filter_Configuration_add_types,fcfg_langpack,fcfg_calcgraphics_types.xcu,filter/source/config/fragments/types,\
+ png_Portable_Network_Graphic \
+))
+
+$(eval $(call filter_Configuration_add_filters,fcfg_langpack,fcfg_calcgraphics_filters.xcu,filter/source/config/fragments/filters,\
+ calc_png_Export \
+))
+
# fcfg_internalgraphics
$(eval $(call filter_Configuration_add_types,fcfg_langpack,fcfg_internalgraphics_types.xcu,filter/source/config/fragments/types,\
bmp_MS_Windows \
diff --git a/filter/source/config/fragments/filters/calc_png_Export.xcu b/filter/source/config/fragments/filters/calc_png_Export.xcu
new file mode 100644
index 000000000000..999bef299a75
--- /dev/null
+++ b/filter/source/config/fragments/filters/calc_png_Export.xcu
@@ -0,0 +1,20 @@
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-->
+ <node oor:name="calc_png_Export" oor:op="replace">
+ <prop oor:name="Flags"><value>EXPORT ALIEN 3RDPARTYFILTER</value></prop>
+ <prop oor:name="UIComponent"><value>com.sun.star.comp.GraphicExportDialog</value></prop>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.GraphicExportFilter</value></prop>
+ <prop oor:name="UserData"><value></value></prop>
+ <prop oor:name="UIName">
+ <value xml:lang="en-US">PNG - Portable Network Graphic</value>
+ </prop>
+ <prop oor:name="FileFormatVersion"><value>0</value></prop>
+ <prop oor:name="Type"><value>png_Portable_Network_Graphic</value></prop>
+ <prop oor:name="TemplateName"/>
+ <prop oor:name="DocumentService"><value>com.sun.star.sheet.SpreadsheetDocument</value></prop>
+ </node>
diff --git a/postprocess/CustomTarget_registry.mk b/postprocess/CustomTarget_registry.mk
index 897ad6a8e3ff..effafab2ccee 100644
--- a/postprocess/CustomTarget_registry.mk
+++ b/postprocess/CustomTarget_registry.mk
@@ -87,6 +87,8 @@ postprocess_FILES_graphicfilter := \
$(call gb_XcuFilterTypesTarget_get_target,fcfg_drawgraphics_types.xcu) \
$(call gb_XcuFilterFiltersTarget_get_target,fcfg_impressgraphics_filters.xcu) \
$(call gb_XcuFilterTypesTarget_get_target,fcfg_impressgraphics_types.xcu) \
+ $(call gb_XcuFilterFiltersTarget_get_target,fcfg_calcgraphics_filters.xcu) \
+ $(call gb_XcuFilterTypesTarget_get_target,fcfg_calcgraphics_types.xcu) \
$(call gb_XcuFilterFiltersTarget_get_target,fcfg_writergraphics_filters.xcu) \
$(call gb_XcuFilterTypesTarget_get_target,fcfg_writergraphics_types.xcu)
diff --git a/svtools/source/filter/DocumentToGraphicRenderer.cxx b/svtools/source/filter/DocumentToGraphicRenderer.cxx
index e33a94ec416e..e78b0f1ad8ab 100644
--- a/svtools/source/filter/DocumentToGraphicRenderer.cxx
+++ b/svtools/source/filter/DocumentToGraphicRenderer.cxx
@@ -148,6 +148,8 @@ Graphic DocumentToGraphicRenderer::renderToGraphic(
sal_Int32 DocumentToGraphicRenderer::getCurrentPageWriter()
{
Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(mxModel->getCurrentController(), UNO_QUERY);
+ if (!xTextViewCursorSupplier.is())
+ return 1;
Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(), UNO_QUERY);
return xCursor->getPage();
}