summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--offapi/UnoApi_offapi.mk1
-rw-r--r--offapi/com/sun/star/oox/PowerPointExport.idl37
-rw-r--r--oox/source/ppt/pptimport.cxx30
-rw-r--r--sd/source/filter/eppt/pptx-epptooxml.cxx5
-rw-r--r--sd/util/sdfilt.component1
5 files changed, 57 insertions, 17 deletions
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 79f76c814d56..20aa8a7abe82 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -262,6 +262,7 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/mozilla,\
))
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/oox,\
ExcelFilterExport \
+ PowerPointExport \
))
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/packages/manifest,\
ManifestReader \
diff --git a/offapi/com/sun/star/oox/PowerPointExport.idl b/offapi/com/sun/star/oox/PowerPointExport.idl
new file mode 100644
index 000000000000..14f84ebc015f
--- /dev/null
+++ b/offapi/com/sun/star/oox/PowerPointExport.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_oox_PowerPointExport_idl__
+#define __com_sun_star_oox_PowerPointExport_idl__
+
+#include <com/sun/star/document/XExporter.idl>
+
+
+module com { module sun { module star { module oox {
+
+/**
+ @since LibreOffice 4.2
+*/
+service PowerPointExport : com::sun::star::document::XExporter;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/source/ppt/pptimport.cxx b/oox/source/ppt/pptimport.cxx
index 285ac2a064bc..e9008b3fb231 100644
--- a/oox/source/ppt/pptimport.cxx
+++ b/oox/source/ppt/pptimport.cxx
@@ -24,10 +24,12 @@
#include "oox/helper/graphichelper.hxx"
#include "oox/ole/vbaproject.hxx"
+#include "com/sun/star/oox/PowerPointExport.hpp"
+
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::xml::sax;
-using namespace oox::core;
+using namespace ::oox::core;
using ::com::sun::star::beans::PropertyValue;
using ::com::sun::star::lang::XComponent;
@@ -96,7 +98,7 @@ sal_Int32 PowerPointImport::getSchemeColor( sal_Int32 nToken ) const
if ( mpActualSlidePersist )
{
sal_Bool bColorMapped = sal_False;
- oox::drawingml::ClrMapPtr pClrMapPtr( mpActualSlidePersist->getClrMap() );
+ ::oox::drawingml::ClrMapPtr pClrMapPtr( mpActualSlidePersist->getClrMap() );
if ( pClrMapPtr )
bColorMapped = pClrMapPtr->getColorMap( nToken );
@@ -110,7 +112,7 @@ sal_Int32 PowerPointImport::getSchemeColor( sal_Int32 nToken ) const
bColorMapped = pClrMapPtr->getColorMap( nToken );
}
}
- oox::drawingml::ClrSchemePtr pClrSchemePtr( mpActualSlidePersist->getClrScheme() );
+ ::oox::drawingml::ClrSchemePtr pClrSchemePtr( mpActualSlidePersist->getClrScheme() );
if ( pClrSchemePtr )
pClrSchemePtr->getColor( nToken, nColor );
else
@@ -140,17 +142,15 @@ sal_Bool SAL_CALL PowerPointImport::filter( const Sequence< PropertyValue >& rDe
return true;
if( isExportFilter() ) {
- Reference< XExporter > xExporter( Reference<css::lang::XMultiServiceFactory>(getComponentContext()->getServiceManager(), UNO_QUERY_THROW)->createInstance( "com.sun.star.comp.Impress.oox.PowerPointExport" ), UNO_QUERY );;
+ Reference< XExporter > xExporter = css::oox::PowerPointExport::create( getComponentContext() );
- if( xExporter.is() ) {
- Reference< XComponent > xDocument( getModel(), UNO_QUERY );
- Reference< XFilter > xFilter( xExporter, UNO_QUERY );
+ Reference< XComponent > xDocument( getModel(), UNO_QUERY );
+ Reference< XFilter > xFilter( xExporter, UNO_QUERY );
- if( xFilter.is() ) {
- xExporter->setSourceDocument( xDocument );
- if( xFilter->filter( rDescriptor ) )
- return true;
- }
+ if( xFilter.is() ) {
+ xExporter->setSourceDocument( xDocument );
+ if( xFilter->filter( rDescriptor ) )
+ return true;
}
}
@@ -162,12 +162,12 @@ sal_Bool SAL_CALL PowerPointImport::filter( const Sequence< PropertyValue >& rDe
return mpActualSlidePersist ? mpActualSlidePersist->getDrawing() : 0;
}
-const oox::drawingml::table::TableStyleListPtr PowerPointImport::getTableStyles()
+const ::oox::drawingml::table::TableStyleListPtr PowerPointImport::getTableStyles()
{
if ( !mpTableStyleList && !maTableStyleListPath.isEmpty() )
{
- mpTableStyleList = oox::drawingml::table::TableStyleListPtr( new oox::drawingml::table::TableStyleList() );
- importFragment( new oox::drawingml::table::TableStyleListFragmentHandler(
+ mpTableStyleList = ::oox::drawingml::table::TableStyleListPtr( new ::oox::drawingml::table::TableStyleList() );
+ importFragment( new ::oox::drawingml::table::TableStyleListFragmentHandler(
*this, maTableStyleListPath, *mpTableStyleList ) );
}
return mpTableStyleList;
diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx b/sd/source/filter/eppt/pptx-epptooxml.cxx
index ba04809775e1..084fa7873216 100644
--- a/sd/source/filter/eppt/pptx-epptooxml.cxx
+++ b/sd/source/filter/eppt/pptx-epptooxml.cxx
@@ -2141,8 +2141,9 @@ OUString SAL_CALL PowerPointExport_getImplementationName() throw()
uno::Sequence< OUString > SAL_CALL PowerPointExport_getSupportedServiceNames() throw()
{
- const OUString aServiceName( "com.sun.star.comp.ooxpptx" );
- const Sequence< OUString > aSeq( &aServiceName, 1 );
+ Sequence< OUString > aSeq( 2 );
+ aSeq[0] = "com.sun.star.comp.ooxpptx";
+ aSeq[1] = "com.sun.star.oox.PowerPointExport";
return aSeq;
}
diff --git a/sd/util/sdfilt.component b/sd/util/sdfilt.component
index 3b1d3b0fb62b..349ea8b87194 100644
--- a/sd/util/sdfilt.component
+++ b/sd/util/sdfilt.component
@@ -11,5 +11,6 @@
xmlns="http://openoffice.org/2010/uno-components">
<implementation name="com.sun.star.comp.Impress.oox.PowerPointExport">
<service name="com.sun.star.comp.ooxpptx"/>
+ <service name="com.sun.star.oox.PowerPointExport"/>
</implementation>
</component>