[Libreoffice-commits] .: 14 commits - filter/source oox/inc oox/source oox/util writerfilter/source
Katarina Machalkova
bubli at kemper.freedesktop.org
Wed Oct 13 11:59:36 PDT 2010
filter/source/config/cache/constant.hxx | 2
filter/source/config/cache/filtercache.cxx | 6
filter/source/config/fragments/fcfg_calc.mk | 12 +
filter/source/config/fragments/fcfg_impress.mk | 17 ++
filter/source/config/fragments/fcfg_writer.mk | 12 +
filter/source/config/fragments/filters/MS_PowerPoint_97_AutoPlay.xcu | 13 ++
filter/source/config/fragments/filters/OOXML_Text.xcu | 14 ++
filter/source/config/fragments/filters/OOXML_Text_Template.xcu | 14 ++
filter/source/config/fragments/filters/OOXML_Text_Template_ui.xcu | 6
filter/source/config/fragments/filters/OOXML_Text_ui.xcu | 6
filter/source/config/fragments/filters/calc_MS_Excel_2007_XML.xcu | 2
filter/source/config/fragments/filters/calc_OOXML.xcu | 10 +
filter/source/config/fragments/filters/calc_OOXML_Template.xcu | 10 +
filter/source/config/fragments/filters/calc_OOXML_Template_ui.xcu | 6
filter/source/config/fragments/filters/calc_OOXML_ui.xcu | 6
filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_AutoPlay.xcu | 10 +
filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_Template.xcu | 1
filter/source/config/fragments/filters/impress_OOXML.xcu | 12 +
filter/source/config/fragments/filters/impress_OOXML_AutoPlay.xcu | 11 +
filter/source/config/fragments/filters/impress_OOXML_Template.xcu | 12 +
filter/source/config/fragments/filters/impress_OOXML_Template_ui.xcu | 5
filter/source/config/fragments/filters/impress_OOXML_ui.xcu | 5
filter/source/config/fragments/types/MS_Excel_2007_XML.xcu | 2
filter/source/config/fragments/types/MS_PowerPoint_2007_XML_AutoPlay.xcu | 10 +
filter/source/config/fragments/types/calc_OOXML.xcu | 10 +
filter/source/config/fragments/types/calc_OOXML_Template.xcu | 10 +
filter/source/config/fragments/types/impress_MS_PowerPoint_97.xcu | 2
filter/source/config/fragments/types/impress_MS_PowerPoint_97_AutoPlay.xcu | 12 +
filter/source/config/fragments/types/impress_OOXML_Presentation.xcu | 10 +
filter/source/config/fragments/types/impress_OOXML_Presentation_AutoPlay.xcu | 10 +
filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu | 10 +
filter/source/config/fragments/types/writer_OOXML.xcu | 12 +
filter/source/config/fragments/types/writer_OOXML_Template.xcu | 12 +
oox/inc/oox/core/filterbase.hxx | 8 +
oox/inc/oox/core/xmlfilterbase.hxx | 2
oox/inc/oox/xls/excelfilter.hxx | 2
oox/inc/oox/xls/pagesettings.hxx | 2
oox/inc/oox/xls/workbooksettings.hxx | 3
oox/source/core/filterbase.cxx | 28 ++++
oox/source/core/filterdetect.cxx | 4
oox/source/core/xmlfilterbase.cxx | 61 +++++++++-
oox/source/token/tokens.txt | 9 +
oox/source/xls/commentsbuffer.cxx | 13 ++
oox/source/xls/excelfilter.cxx | 28 ++++
oox/source/xls/pagesettings.cxx | 42 +++++-
oox/source/xls/workbooksettings.cxx | 23 +++
oox/source/xls/worksheetfragment.cxx | 4
oox/util/makefile.mk | 1
writerfilter/source/filter/ImportFilter.cxx | 4
49 files changed, 497 insertions(+), 29 deletions(-)
New commits:
commit 27ab4c396137590ba4f5bb5f767c48f56b28c9a1
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 19:27:54 2010 +0200
Remaining files from pptx-autoplay-fix.diff
diff --git a/filter/source/config/fragments/filters/impress_OOXML_AutoPlay.xcu b/filter/source/config/fragments/filters/impress_OOXML_AutoPlay.xcu
new file mode 100644
index 0000000..052c613
--- /dev/null
+++ b/filter/source/config/fragments/filters/impress_OOXML_AutoPlay.xcu
@@ -0,0 +1,11 @@
+<node oor:name="Impress Office Open XML AutoPlay" oor:op="replace">
+ <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER PREFERRED STARTPRESENTATION</value></prop>
+ <prop oor:name="UIComponent"/>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.Impress.oox.PowerPointImport</value></prop>
+ <prop oor:name="UserData"/>
+ <prop oor:name="UIName"><value xml:lang="x-default">Office Open XML Presentation AutoPlay</value></prop>
+ <prop oor:name="FileFormatVersion"/>
+ <prop oor:name="Type"><value>Office Open XML Presentation AutoPlay</value></prop>
+ <prop oor:name="TemplateName"/>
+ <prop oor:name="DocumentService"><value>com.sun.star.presentation.PresentationDocument</value></prop>
+</node>
diff --git a/filter/source/config/fragments/types/impress_OOXML_Presentation_AutoPlay.xcu b/filter/source/config/fragments/types/impress_OOXML_Presentation_AutoPlay.xcu
new file mode 100644
index 0000000..d4a8e6a
--- /dev/null
+++ b/filter/source/config/fragments/types/impress_OOXML_Presentation_AutoPlay.xcu
@@ -0,0 +1,10 @@
+<node oor:name="Office Open XML Presentation AutoPlay" oor:op="replace" >
+ <prop oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
+ <prop oor:name="URLPattern"/>
+ <prop oor:name="Extensions"><value>ppsx</value></prop>
+ <prop oor:name="MediaType"/>
+ <prop oor:name="Preferred"><value>true</value></prop>
+ <prop oor:name="PreferredFilter"><value>Impress Office Open XML AutoPlay</value></prop>
+ <prop oor:name="UIName"><value xml:lang="x-default">Office Open XML Presentation AutoPlay</value></prop>
+ <prop oor:name="ClipboardFormat"/>
+</node>
commit d1db197d09e944a22b8fa49cdd3f860555057ced
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:18:47 2010 +0200
Merged oox-sc-notes.diff from ooo-build
diff --git a/oox/source/xls/commentsbuffer.cxx b/oox/source/xls/commentsbuffer.cxx
index dccd70a..b1dceea 100644
--- a/oox/source/xls/commentsbuffer.cxx
+++ b/oox/source/xls/commentsbuffer.cxx
@@ -37,6 +37,10 @@
#include "oox/xls/addressconverter.hxx"
#include "oox/xls/drawingfragment.hxx"
+
+#include <com/sun/star/text/XText.hpp>
+#include <com/sun/star/text/XTextRange.hpp>
+
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Exception;
@@ -50,6 +54,10 @@ using ::com::sun::star::sheet::XSheetAnnotationShapeSupplier;
using ::com::sun::star::sheet::XSheetAnnotations;
using ::com::sun::star::sheet::XSheetAnnotationsSupplier;
+using ::com::sun::star::text::XText;
+using ::com::sun::star::text::XTextRange;
+
+
namespace oox {
namespace xls {
@@ -110,6 +118,11 @@ void Comment::finalizeImport()
Reference< XSheetAnnotation > xAnno( xAnnoAnchor->getAnnotation(), UNO_SET_THROW );
Reference< XSheetAnnotationShapeSupplier > xAnnoShapeSupp( xAnno, UNO_QUERY_THROW );
Reference< XShape > xAnnoShape( xAnnoShapeSupp->getAnnotationShape(), UNO_SET_THROW );
+ Reference <XText> xText( xAnnoShape, UNO_QUERY_THROW );
+ Reference <XTextRange> xTextRange( xText, UNO_QUERY_THROW );
+ xTextRange->setString( OUString::createFromAscii("") ); // Clear contents
+ maModel.mxText->convert( xText, -1 );
+
// convert shape formatting
if( const ::oox::vml::ShapeBase* pNoteShape = getVmlDrawing().getNoteShape( aNotePos ) )
{
commit d523a769ee307f1b9729e4c70aca4f726dd8f079
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:17:48 2010 +0200
Merged ooxml-autoplay-fix.diff from ooo-build
diff --git a/filter/source/config/fragments/fcfg_impress.mk b/filter/source/config/fragments/fcfg_impress.mk
index 43447cb..212e6fe 100644
--- a/filter/source/config/fragments/fcfg_impress.mk
+++ b/filter/source/config/fragments/fcfg_impress.mk
@@ -18,7 +18,8 @@ T4_IMPRESS = \
MS_PowerPoint_2007_XML_AutoPlay\
MS_PowerPoint_2007_XML_Template\
impress_OOXML_Presentation\
- impress_OOXML_Presentation_Template
+ impress_OOXML_Presentation_Template\
+ impress_OOXML_Presentation_AutoPlay
# -----------------------------------------------
# count = 20
@@ -38,7 +39,8 @@ F4_IMPRESS = \
impress_MS_PowerPoint_2007_XML_AutoPlay\
impress_MS_PowerPoint_2007_XML_Template\
impress_OOXML\
- impress_OOXML_Template
+ impress_OOXML_Template\
+ impress_OOXML_AutoPlay
# -----------------------------------------------
# count = 12
commit 8573901b91affc48a31beb85a103391117e7c03e
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:17:10 2010 +0200
Merged ooxml-sw-fix-2010-import-crash.diff from ooo-build
diff --git a/writerfilter/source/filter/ImportFilter.cxx b/writerfilter/source/filter/ImportFilter.cxx
index d20e3b8..1dd9f92 100644
--- a/writerfilter/source/filter/ImportFilter.cxx
+++ b/writerfilter/source/filter/ImportFilter.cxx
@@ -104,7 +104,9 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes
writerfilter::dmapper::SourceDocumentType eType =
(m_sFilterName.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "writer_MS_Word_2007" ) ) ||
- m_sFilterName.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "writer_MS_Word_2007_Template" ) )) ?
+ m_sFilterName.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "writer_MS_Word_2007_Template" ) ) ||
+ m_sFilterName.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "writer_OOXML" ) ) ||
+ m_sFilterName.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "writer_OOXML_Text_Template" ) )) ?
writerfilter::dmapper::DOCUMENT_OOXML : writerfilter::dmapper::DOCUMENT_DOC;
writerfilter::Stream::Pointer_t pStream(new writerfilter::dmapper::DomainMapper(m_xContext, xInputStream, m_xDstDoc, eType));
//create the tokenizer and domain mapper
commit 49d1c110b2e6ffc4a43160c56bb867e6b405d553
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:15:33 2010 +0200
Merged ooxml-sc-brk.diff from ooo-build
diff --git a/oox/source/xls/worksheetfragment.cxx b/oox/source/xls/worksheetfragment.cxx
index 3e709ee..15060a1 100644
--- a/oox/source/xls/worksheetfragment.cxx
+++ b/oox/source/xls/worksheetfragment.cxx
@@ -576,8 +576,8 @@ void OoxWorksheetFragment::importBrk( const AttributeList& rAttribs, bool bRowBr
{
PageBreakModel aModel;
aModel.mnColRow = rAttribs.getInteger( XML_id, 0 );
- aModel.mnMin = rAttribs.getInteger( XML_id, 0 );
- aModel.mnMax = rAttribs.getInteger( XML_id, 0 );
+ aModel.mnMin = rAttribs.getInteger( XML_min, aModel.mnColRow );
+ aModel.mnMax = rAttribs.getInteger( XML_max, aModel.mnColRow );
aModel.mbManual = rAttribs.getBool( XML_man, false );
setPageBreak( aModel, bRowBreak );
}
commit 8e33551b83842e624e73d2738082fc3c5c2ec38d
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:15:06 2010 +0200
Merged ooxml-sc-page-date-imp.diff from ooo-build
diff --git a/oox/inc/oox/xls/pagesettings.hxx b/oox/inc/oox/xls/pagesettings.hxx
index 79a1f48..3864714 100644
--- a/oox/inc/oox/xls/pagesettings.hxx
+++ b/oox/inc/oox/xls/pagesettings.hxx
@@ -58,6 +58,8 @@ struct PageSettingsModel
double mfHeaderMargin; /// Margin between top edge of page and begin of header.
double mfFooterMargin; /// Margin between end of footer and bottom edge of page.
sal_Int32 mnPaperSize; /// Paper size (enumeration).
+ sal_Int32 mnPaperWidth; /// Paper width in twips
+ sal_Int32 mnPaperHeight; /// Paper height in twips
sal_Int32 mnCopies; /// Number of copies to print.
sal_Int32 mnScale; /// Page scale (zoom in percent).
sal_Int32 mnFirstPage; /// First page number.
diff --git a/oox/inc/oox/xls/workbooksettings.hxx b/oox/inc/oox/xls/workbooksettings.hxx
index af291c0..6cd661f 100644
--- a/oox/inc/oox/xls/workbooksettings.hxx
+++ b/oox/inc/oox/xls/workbooksettings.hxx
@@ -57,6 +57,7 @@ struct WorkbookSettingsModel
sal_Int32 mnUpdateLinksMode; /// Specifies how external links are updated.
sal_Int32 mnDefaultThemeVer; /// Default theme version.
bool mbDateMode1904; /// True = null date is 1904-01-01.
+ bool mbDateCompatibility; /// False = null date is 1899-12-30.
bool mbSaveExtLinkValues; /// True = save cached cell values for external links.
explicit WorkbookSettingsModel();
@@ -148,7 +149,7 @@ public:
private:
/** Updates date mode and unit converter nulldate. */
- void setDateMode( bool bDateMode1904 );
+ void setDateMode( bool bDateMode1904, bool bDateCompatibility=true );
private:
FileSharingModel maFileSharing;
diff --git a/oox/source/xls/pagesettings.cxx b/oox/source/xls/pagesettings.cxx
index 8f30911..e98e53e 100644
--- a/oox/source/xls/pagesettings.cxx
+++ b/oox/source/xls/pagesettings.cxx
@@ -50,6 +50,8 @@
#include "oox/xls/excelhandlers.hxx"
#include "oox/xls/stylesbuffer.hxx"
#include "oox/xls/unitconverter.hxx"
+#include "tools/mapunit.hxx"
+#include "xmloff/xmluconv.hxx"
using ::rtl::OString;
using ::rtl::OStringBuffer;
@@ -130,6 +132,8 @@ PageSettingsModel::PageSettingsModel() :
mfHeaderMargin( OOX_MARGIN_DEFAULT_HF ),
mfFooterMargin( OOX_MARGIN_DEFAULT_HF ),
mnPaperSize( 1 ),
+ mnPaperWidth( 0 ),
+ mnPaperHeight( 0 ),
mnCopies( 1 ),
mnScale( 100 ),
mnFirstPage( 1 ),
@@ -188,8 +192,13 @@ void PageSettings::importPageMargins( const AttributeList& rAttribs )
void PageSettings::importPageSetup( const Relations& rRelations, const AttributeList& rAttribs )
{
+ OUString aStr;
maModel.maBinSettPath = rRelations.getFragmentPathFromRelId( rAttribs.getString( R_TOKEN( id ), OUString() ) );
maModel.mnPaperSize = rAttribs.getInteger( XML_paperSize, 1 );
+ aStr = rAttribs.getString ( XML_paperWidth, OUString() );
+ SvXMLUnitConverter::convertMeasure( maModel.mnPaperWidth, aStr, MAP_100TH_MM );
+ aStr = rAttribs.getString ( XML_paperHeight, OUString() );
+ SvXMLUnitConverter::convertMeasure( maModel.mnPaperHeight, aStr, MAP_100TH_MM );
maModel.mnCopies = rAttribs.getInteger( XML_copies, 1 );
maModel.mnScale = rAttribs.getInteger( XML_scale, 100 );
maModel.mnFirstPage = rAttribs.getInteger( XML_firstPageNumber, 1 );
@@ -209,8 +218,13 @@ void PageSettings::importPageSetup( const Relations& rRelations, const Attribute
void PageSettings::importChartPageSetup( const Relations& rRelations, const AttributeList& rAttribs )
{
+ OUString aStr;
maModel.maBinSettPath = rRelations.getFragmentPathFromRelId( rAttribs.getString( R_TOKEN( id ), OUString() ) );
maModel.mnPaperSize = rAttribs.getInteger( XML_paperSize, 1 );
+ aStr = rAttribs.getString ( XML_paperWidth, OUString() );
+ SvXMLUnitConverter::convertMeasure( maModel.mnPaperWidth, aStr, MAP_100TH_MM );
+ aStr = rAttribs.getString ( XML_paperHeight, OUString() );
+ SvXMLUnitConverter::convertMeasure( maModel.mnPaperHeight, aStr, MAP_100TH_MM );
maModel.mnCopies = rAttribs.getInteger( XML_copies, 1 );
maModel.mnFirstPage = rAttribs.getInteger( XML_firstPageNumber, 1 );
maModel.mnHorPrintRes = rAttribs.getInteger( XML_horizontalDpi, 600 );
@@ -1142,13 +1156,29 @@ void PageSettingsConverter::writePageSettingsProperties(
bLandscape = bChartSheet;
// paper size
- if( rModel.mbValidSettings && (0 < rModel.mnPaperSize) && (rModel.mnPaperSize < static_cast< sal_Int32 >( STATIC_ARRAY_SIZE( spPaperSizeTable ) )) )
+ if( !rModel.mbValidSettings )
{
- const ApiPaperSize& rPaperSize = spPaperSizeTable[ rModel.mnPaperSize ];
- Size aSize( rPaperSize.mnWidth, rPaperSize.mnHeight );
- if( bLandscape )
- ::std::swap( aSize.Width, aSize.Height );
- rPropSet.setProperty( PROP_Size, aSize );
+ Size aSize;
+ bool bValid = false;
+
+ if( (0 < rModel.mnPaperSize) && (rModel.mnPaperSize < static_cast< sal_Int32 >( STATIC_ARRAY_SIZE( spPaperSizeTable ) )) )
+ {
+ const ApiPaperSize& rPaperSize = spPaperSizeTable[ rModel.mnPaperSize ];
+ aSize = Size( rPaperSize.mnWidth, rPaperSize.mnHeight );
+ bValid = true;
+ }
+ if( rModel.mnPaperWidth > 0 && rModel.mnPaperHeight > 0 )
+ {
+ aSize = Size( rModel.mnPaperWidth, rModel.mnPaperHeight );
+ bValid = true;
+ }
+
+ if( bValid )
+ {
+ if( bLandscape )
+ ::std::swap( aSize.Width, aSize.Height );
+ rPropSet.setProperty( PROP_Size, aSize );
+ }
}
// header/footer
diff --git a/oox/source/xls/workbooksettings.cxx b/oox/source/xls/workbooksettings.cxx
index bba3df1..c0f024b 100644
--- a/oox/source/xls/workbooksettings.cxx
+++ b/oox/source/xls/workbooksettings.cxx
@@ -36,6 +36,7 @@
#include "oox/helper/propertyset.hxx"
#include "oox/helper/recordinputstream.hxx"
#include "oox/core/filterbase.hxx"
+#include "oox/core/xmlfilterbase.hxx"
#include "oox/xls/biffinputstream.hxx"
#include "oox/xls/unitconverter.hxx"
@@ -141,7 +142,7 @@ void WorkbookSettings::importWorkbookPr( const AttributeList& rAttribs )
maBookSettings.mnUpdateLinksMode = rAttribs.getToken( XML_updateLinks, XML_userSet );
maBookSettings.mnDefaultThemeVer = rAttribs.getInteger( XML_defaultThemeVersion, -1 );
maBookSettings.mbSaveExtLinkValues = rAttribs.getBool( XML_saveExternalLinkValues, true );
- setDateMode( rAttribs.getBool( XML_date1904, false ) );
+ setDateMode( rAttribs.getBool( XML_date1904, false ), rAttribs.getBool( XML_dateCompatibility, true ) );
}
void WorkbookSettings::importCalcPr( const AttributeList& rAttribs )
@@ -354,13 +355,27 @@ sal_Int16 WorkbookSettings::getApiShowObjectMode() const
Date WorkbookSettings::getNullDate() const
{
- static const Date saDate1900( 30, 12, 1899 ), saDate1904( 1, 1, 1904 );
+ static const Date saDate1900 ( 30, 12, 1899 );
+ static const Date saDate1904 ( 1, 1, 1904 );
+ static const Date saDateBackCompatibility1900( 31, 12, 1899 );
+
+ if( getOoxFilter().getVersion() == oox::core::ISOIEC_29500_2008 )
+ {
+ if( !maBookSettings.mbDateCompatibility )
+ return saDate1900;
+
+ return maBookSettings.mbDateMode1904 ? saDate1904 :
+ saDateBackCompatibility1900;
+ }
+
return maBookSettings.mbDateMode1904 ? saDate1904 : saDate1900;
}
-void WorkbookSettings::setDateMode( bool bDateMode1904 )
+void WorkbookSettings::setDateMode( bool bDateMode1904, bool bDateCompatibility )
{
- maBookSettings.mbDateMode1904 = bDateMode1904;
+ maBookSettings.mbDateMode1904 = bDateMode1904;
+ maBookSettings.mbDateCompatibility = bDateCompatibility;
+
getUnitConverter().finalizeNullDate( getNullDate() );
}
diff --git a/oox/util/makefile.mk b/oox/util/makefile.mk
index a8ba80c..ff4ca03 100644
--- a/oox/util/makefile.mk
+++ b/oox/util/makefile.mk
@@ -78,6 +78,7 @@ SHL1STDLIBS= \
$(SVLLIB) \
$(MSFILTERLIB) \
$(UNOTOOLSLIB) \
+ $(XMLOFFLIB) \
$(TOOLSLIB)
# link openssl, copied this bit from ucb/source/ucp/webdav/makefile.mk
commit 944cfb67bedd08cc1b03587e949c33f8387d9ea5
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:13:56 2010 +0200
Merged ooxml-sc-docpropsimp.dff from ooo-build
diff --git a/oox/inc/oox/core/xmlfilterbase.hxx b/oox/inc/oox/core/xmlfilterbase.hxx
index 909a51b..9b5e63d 100644
--- a/oox/inc/oox/core/xmlfilterbase.hxx
+++ b/oox/inc/oox/core/xmlfilterbase.hxx
@@ -198,6 +198,8 @@ public:
*/
XmlFilterBase& exportDocumentProperties( ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentProperties > xProperties );
+ void importDocumentProperties() throw();
+
protected:
virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >
implGetInputStream( ::comphelper::MediaDescriptor& rMediaDesc ) const;
diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx
index 84b86f3..bfefb73 100644
--- a/oox/source/core/xmlfilterbase.cxx
+++ b/oox/source/core/xmlfilterbase.cxx
@@ -81,6 +81,22 @@ using ::comphelper::MediaDescriptor;
using ::sax_fastparser::FastSerializerHelper;
using ::sax_fastparser::FSHelperPtr;
+
+#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
+#include <com/sun/star/document/XOOXMLDocumentPropertiesImporter.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <comphelper/processfactory.hxx>
+#include <comphelper/mediadescriptor.hxx>
+#include <oox/core/filterdetect.hxx>
+#include <comphelper/storagehelper.hxx>
+
+using ::com::sun::star::uno::XComponentContext;
+using ::com::sun::star::document::XOOXMLDocumentPropertiesImporter;
+using ::com::sun::star::document::XDocumentPropertiesSupplier;
+using ::com::sun::star::beans::XPropertySet;
+using ::com::sun::star::lang::XComponent;
+
+
namespace oox {
namespace core {
@@ -119,6 +135,22 @@ XmlFilterBaseImpl::XmlFilterBaseImpl() :
}
// ============================================================================
+static Reference< XComponentContext > lcl_getComponentContext(Reference< XMultiServiceFactory > aFactory)
+{
+ Reference< XComponentContext > xContext;
+ try
+ {
+ Reference< XPropertySet > xFactProp( aFactory, UNO_QUERY );
+ if( xFactProp.is() )
+ xFactProp->getPropertyValue( OUString::createFromAscii("DefaultContext") ) >>= xContext;
+ }
+ catch( Exception& )
+ {}
+
+ return xContext;
+}
+
+// ============================================================================
XmlFilterBase::XmlFilterBase( const Reference< XMultiServiceFactory >& rxGlobalFactory ) :
FilterBase( rxGlobalFactory ),
@@ -166,6 +198,25 @@ XmlFilterBase::~XmlFilterBase()
// ----------------------------------------------------------------------------
+void XmlFilterBase::importDocumentProperties() throw()
+{
+ Reference< XMultiServiceFactory > xFactory( getGlobalFactory(), UNO_QUERY );
+ MediaDescriptor aMediaDesc( getMediaDescriptor() );
+ Reference< XInputStream > xInputStream;
+ ::oox::core::FilterDetect aDetector( xFactory );
+ xInputStream = aDetector.extractUnencryptedPackage( aMediaDesc );
+ Reference< XComponent > xModel( getModel(), UNO_QUERY );
+ Reference< XComponentContext > xContext = lcl_getComponentContext(getGlobalFactory());
+ Reference< XStorage > xDocumentStorage (
+ ::comphelper::OStorageHelper::GetStorageOfFormatFromInputStream( OFOPXML_STORAGE_FORMAT_STRING, xInputStream ) );
+ Reference< XInterface > xTemp = xContext->getServiceManager()->createInstanceWithContext(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.document.OOXMLDocumentPropertiesImporter")),
+ xContext);
+ Reference< XOOXMLDocumentPropertiesImporter > xImporter( xTemp, UNO_QUERY );
+ Reference< XDocumentPropertiesSupplier > xPropSupplier( xModel, UNO_QUERY);
+ xImporter->importProperties( xDocumentStorage, xPropSupplier->getDocumentProperties() );
+}
+
OUString XmlFilterBase::getFragmentPathFromFirstType( const OUString& rType )
{
// importRelations() caches the relations map for subsequence calls
commit 96cf068042bb34194eb58aa933cac3c679a393a7
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:10:43 2010 +0200
Merged ooxml-schema.diff from ooo-build
diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx
index 23888fc..84b86f3 100644
--- a/oox/source/core/xmlfilterbase.cxx
+++ b/oox/source/core/xmlfilterbase.cxx
@@ -396,9 +396,13 @@ writeElement( FSHelperPtr pDoc, sal_Int32 nXmlElement, const Locale& rLocale )
static void
writeCoreProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xProperties )
{
- rSelf.addRelation(
- CREATE_OUSTRING( "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" ),
- CREATE_OUSTRING( "docProps/core.xml" ) );
+ OUString sValue;
+ if( rSelf.getVersion() == oox::core::ISOIEC_29500_2008 )
+ sValue = CREATE_OUSTRING( "http://schemas.openxmlformats.org/officedocument/2006/relationships/metadata/core-properties" );
+ else
+ sValue = CREATE_OUSTRING( "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" );
+
+ rSelf.addRelation( sValue, CREATE_OUSTRING( "docProps/core.xml" ) );
FSHelperPtr pCoreProps = rSelf.openFragmentStreamWithSerializer(
CREATE_OUSTRING( "docProps/core.xml" ),
CREATE_OUSTRING( "application/vnd.openxmlformats-package.core-properties+xml" ) );
commit 1a0d68fae1bcb0451a1935632ec6b68ec9ddb6c8
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:10:06 2010 +0200
Merged ooxml-sc-page-date.diff from ooo-build
diff --git a/oox/source/token/tokens.txt b/oox/source/token/tokens.txt
index b05a211..582805b 100644
--- a/oox/source/token/tokens.txt
+++ b/oox/source/token/tokens.txt
@@ -482,6 +482,7 @@ alg
algIdExt
algIdExtSource
algn
+algorithmName
alias
aliases
aliceBlue
@@ -1098,6 +1099,7 @@ char
charRg
charSpace
character
+characterSet
characterSpacingControl
characteristic
charset
@@ -1277,6 +1279,7 @@ confettiGrays
confettiOutline
confettiStreamers
confettiWhite
+conformance
conn
connDist
connRout
@@ -1583,6 +1586,7 @@ date
date1904
dateAx
dateBetween
+dateCompatibility
dateEqual
dateFormat
dateGroupItem
@@ -2502,6 +2506,7 @@ harsh
hasCustomPrompt
hash
hashData
+hashValue
hc
hd2
hd4
@@ -3714,8 +3719,11 @@ panose
panose1
papayaWhip
paperClips
+paperHeight
paperSize
paperSrc
+paperUnits
+paperWidth
papyrus
par
parOf
@@ -4291,6 +4299,7 @@ saka
salmon
salt
saltData
+saltValue
sameClick
sameDir
sampData
commit 75d9058b07874c97f913b1f72a7cb360116e4c6c
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:07:55 2010 +0200
Merged ooxml-filter-calc.diff from ooo-build
diff --git a/filter/source/config/fragments/fcfg_calc.mk b/filter/source/config/fragments/fcfg_calc.mk
index ee949ba..9f240c9 100644
--- a/filter/source/config/fragments/fcfg_calc.mk
+++ b/filter/source/config/fragments/fcfg_calc.mk
@@ -27,7 +27,9 @@ T4_CALC = \
calc_MS_Excel_2003_XML \
MS_Excel_2007_XML \
MS_Excel_2007_XML_Template \
- MS_Excel_2007_Binary
+ MS_Excel_2007_Binary \
+ calc_OOXML \
+ calc_OOXML_Template
# -----------------------------------------------
# count = 28
@@ -57,7 +59,9 @@ F4_CALC = \
MS_Excel_2003_XML \
calc_MS_Excel_2007_XML \
calc_MS_Excel_2007_XML_Template \
- calc_MS_Excel_2007_Binary
+ calc_MS_Excel_2007_Binary \
+ calc_OOXML \
+ calc_OOXML_Template
# -----------------------------------------------
# count = 12
@@ -76,7 +80,9 @@ F4_UI_CALC = \
MS_Excel_2003_XML_ui \
calc_MS_Excel_2007_XML_ui \
calc_MS_Excel_2007_XML_Template_ui \
- calc_MS_Excel_2007_Binary_ui
+ calc_MS_Excel_2007_Binary_ui \
+ calc_OOXML_ui \
+ calc_OOXML_Template_ui
# -----------------------------------------------
# count = 0
diff --git a/filter/source/config/fragments/filters/calc_OOXML.xcu b/filter/source/config/fragments/filters/calc_OOXML.xcu
new file mode 100644
index 0000000..69007ff
--- /dev/null
+++ b/filter/source/config/fragments/filters/calc_OOXML.xcu
@@ -0,0 +1,10 @@
+<node oor:name="Calc Office Open XML" oor:op="replace">
+ <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER PREFERRED</value></prop>
+ <prop oor:name="UIComponent"/>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.oox.ExcelFilter</value></prop>
+ <prop oor:name="UserData"><value>OOXML</value></prop>
+ <prop oor:name="FileFormatVersion"><value>1</value></prop>
+ <prop oor:name="Type"><value>Office Open XML Spreadsheet</value></prop>
+ <prop oor:name="TemplateName"/>
+ <prop oor:name="DocumentService"><value>com.sun.star.sheet.SpreadsheetDocument</value></prop>
+</node>
diff --git a/filter/source/config/fragments/filters/calc_OOXML_Template.xcu b/filter/source/config/fragments/filters/calc_OOXML_Template.xcu
new file mode 100644
index 0000000..99268d9
--- /dev/null
+++ b/filter/source/config/fragments/filters/calc_OOXML_Template.xcu
@@ -0,0 +1,10 @@
+<node oor:name="Calc Office Open XML Template" oor:op="replace">
+ <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER TEMPLATE TEMPLATEPATH</value></prop>
+ <prop oor:name="UIComponent"/>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.oox.ExcelFilter</value></prop>
+ <prop oor:name="UserData"><value>OOXML</value></prop>
+ <prop oor:name="FileFormatVersion"><value>1</value></prop>
+ <prop oor:name="Type"><value>Office Open XML Spreadsheet Template</value></prop>
+ <prop oor:name="TemplateName"/>
+ <prop oor:name="DocumentService"><value>com.sun.star.sheet.SpreadsheetDocument</value></prop>
+</node>
diff --git a/filter/source/config/fragments/filters/calc_OOXML_Template_ui.xcu b/filter/source/config/fragments/filters/calc_OOXML_Template_ui.xcu
new file mode 100644
index 0000000..cd72ad1
--- /dev/null
+++ b/filter/source/config/fragments/filters/calc_OOXML_Template_ui.xcu
@@ -0,0 +1,6 @@
+<node oor:name="Calc Office Open XML Template">
+ <prop oor:name="UIName">
+ <value xml:lang="en-US">Office Open XML Spreadsheet Template</value>
+ <value xml:lang="de">Office Open XML Spreadsheet Vorlage</value>
+ </prop>
+</node>
diff --git a/filter/source/config/fragments/filters/calc_OOXML_ui.xcu b/filter/source/config/fragments/filters/calc_OOXML_ui.xcu
new file mode 100644
index 0000000..29cc950
--- /dev/null
+++ b/filter/source/config/fragments/filters/calc_OOXML_ui.xcu
@@ -0,0 +1,6 @@
+<node oor:name="Calc Office Open XML">
+ <prop oor:name="UIName">
+ <value xml:lang="en-US">Office Open XML Spreadsheet</value>
+ <value xml:lang="de">Office Open XML Spreadsheet</value>
+ </prop>
+</node>
diff --git a/filter/source/config/fragments/types/calc_OOXML.xcu b/filter/source/config/fragments/types/calc_OOXML.xcu
new file mode 100644
index 0000000..40fd3ee
--- /dev/null
+++ b/filter/source/config/fragments/types/calc_OOXML.xcu
@@ -0,0 +1,10 @@
+<node oor:name="Office Open XML Spreadsheet" oor:op="replace" >
+ <prop oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
+ <prop oor:name="URLPattern"/>
+ <prop oor:name="Extensions"><value>xlsx xlsm</value></prop>
+ <prop oor:name="MediaType"/>
+ <prop oor:name="Preferred"><value>false</value></prop>
+ <prop oor:name="PreferredFilter"><value>Calc Office Open XML</value></prop>
+ <prop oor:name="UIName"><value xml:lang="x-default">Office Open XML Spreadsheet</value></prop>
+ <prop oor:name="ClipboardFormat"/>
+</node>
diff --git a/filter/source/config/fragments/types/calc_OOXML_Template.xcu b/filter/source/config/fragments/types/calc_OOXML_Template.xcu
new file mode 100644
index 0000000..aaa0755
--- /dev/null
+++ b/filter/source/config/fragments/types/calc_OOXML_Template.xcu
@@ -0,0 +1,10 @@
+<node oor:name="Office Open XML Spreadsheet Template" oor:op="replace" >
+ <prop oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
+ <prop oor:name="URLPattern"/>
+ <prop oor:name="Extensions"><value>xltx xltm</value></prop>
+ <prop oor:name="MediaType"/>
+ <prop oor:name="Preferred"><value>false</value></prop>
+ <prop oor:name="PreferredFilter"><value>Calc Office Open XML Template</value></prop>
+ <prop oor:name="UIName"><value xml:lang="x-default">Office Open XML Spreadsheet Template</value></prop>
+ <prop oor:name="ClipboardFormat"/>
+</node>
commit 60e2e4df2ccad7e0773dd4a15614f60f34f03c7c
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:05:59 2010 +0200
Merged ooxml-filter.diff from ooo-build
diff --git a/filter/source/config/fragments/fcfg_impress.mk b/filter/source/config/fragments/fcfg_impress.mk
index 2e354c8..43447cb 100644
--- a/filter/source/config/fragments/fcfg_impress.mk
+++ b/filter/source/config/fragments/fcfg_impress.mk
@@ -16,7 +16,9 @@ T4_IMPRESS = \
draw8\
MS_PowerPoint_2007_XML\
MS_PowerPoint_2007_XML_AutoPlay\
- MS_PowerPoint_2007_XML_Template
+ MS_PowerPoint_2007_XML_Template\
+ impress_OOXML_Presentation\
+ impress_OOXML_Presentation_Template
# -----------------------------------------------
# count = 20
@@ -34,7 +36,9 @@ F4_IMPRESS = \
impress8_draw\
impress_MS_PowerPoint_2007_XML\
impress_MS_PowerPoint_2007_XML_AutoPlay\
- impress_MS_PowerPoint_2007_XML_Template
+ impress_MS_PowerPoint_2007_XML_Template\
+ impress_OOXML\
+ impress_OOXML_Template
# -----------------------------------------------
# count = 12
@@ -47,7 +51,8 @@ F4_UI_IMPRESS = \
impress8_template_ui \
impress8_draw_ui \
impress_MS_PowerPoint_2007_XML_ui \
- impress_MS_PowerPoint_2007_XML_Template_ui
+ impress_OOXML_ui\
+ impress_OOXML_Template_ui
# -----------------------------------------------
# count = 0
diff --git a/filter/source/config/fragments/fcfg_writer.mk b/filter/source/config/fragments/fcfg_writer.mk
index 34d785f..930e2bd 100644
--- a/filter/source/config/fragments/fcfg_writer.mk
+++ b/filter/source/config/fragments/fcfg_writer.mk
@@ -30,7 +30,9 @@ T4_WRITER = \
writer8 \
writer_MS_Word_2003_XML \
writer_MS_Word_2007_XML \
- writer_MS_Word_2007_XML_Template
+ writer_MS_Word_2007_XML_Template \
+ writer_OOXML \
+ writer_OOXML_Template
# -----------------------------------------------
# count = 39
@@ -62,7 +64,9 @@ F4_WRITER = \
writer8_template \
MS_Word_2003_XML \
MS_Word_2007_XML \
- MS_Word_2007_XML_Template
+ MS_Word_2007_XML_Template \
+ OOXML_Text \
+ OOXML_Text_Template
# -----------------------------------------------
# count = 14
@@ -78,7 +82,9 @@ F4_UI_WRITER = \
writer8_template_ui \
MS_Word_2003_XML_ui \
MS_Word_2007_XML_ui \
- MS_Word_2007_XML_Template_ui
+ MS_Word_2007_XML_Template_ui \
+ OOXML_Text_ui \
+ OOXML_Text_Template_ui
# -----------------------------------------------
# count = 0
diff --git a/filter/source/config/fragments/filters/OOXML_Text.xcu b/filter/source/config/fragments/filters/OOXML_Text.xcu
new file mode 100644
index 0000000..9943af5
--- /dev/null
+++ b/filter/source/config/fragments/filters/OOXML_Text.xcu
@@ -0,0 +1,14 @@
+ <node oor:name="Office Open XML Text" oor:op="replace">
+ <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER</value></prop>
+ <prop oor:name="UIComponent"/>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.Writer.WriterFilter</value></prop>
+ <prop oor:name="UserData"><value></value></prop>
+ <prop oor:name="UIName">
+ <value xml:lang="x-default">Office Open XML Text</value>
+ </prop>
+ <!-- ISO/IEC 29500:2008 -->
+ <prop oor:name="FileFormatVersion"><value>1</value></prop>
+ <prop oor:name="Type"><value>writer_OOXML</value></prop>
+ <prop oor:name="TemplateName"/>
+ <prop oor:name="DocumentService"><value>com.sun.star.text.TextDocument</value></prop>
+ </node>
diff --git a/filter/source/config/fragments/filters/OOXML_Text_Template.xcu b/filter/source/config/fragments/filters/OOXML_Text_Template.xcu
new file mode 100644
index 0000000..ffc9dfd
--- /dev/null
+++ b/filter/source/config/fragments/filters/OOXML_Text_Template.xcu
@@ -0,0 +1,14 @@
+ <node oor:name="Office Open XML Text Template" oor:op="replace">
+ <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER TEMPLATE TEMPLATEPATH</value></prop>
+ <prop oor:name="UIComponent"/>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.Writer.WriterFilter</value></prop>
+ <prop oor:name="UserData"><value></value></prop>
+ <prop oor:name="UIName">
+ <value xml:lang="x-default">Office Open XML Text Template</value>
+ </prop>
+ <!-- ISO/IEC 29500:2008 -->
+ <prop oor:name="FileFormatVersion"><value>1</value></prop>
+ <prop oor:name="Type"><value>writer_OOXML_Text_Template</value></prop>
+ <prop oor:name="TemplateName"/>
+ <prop oor:name="DocumentService"><value>com.sun.star.text.TextDocument</value></prop>
+ </node>
diff --git a/filter/source/config/fragments/filters/OOXML_Text_Template_ui.xcu b/filter/source/config/fragments/filters/OOXML_Text_Template_ui.xcu
new file mode 100644
index 0000000..e790fb7
--- /dev/null
+++ b/filter/source/config/fragments/filters/OOXML_Text_Template_ui.xcu
@@ -0,0 +1,6 @@
+ <node oor:name="Office Open XML Text Template">
+ <prop oor:name="UIName">
+ <value xml:lang="en-US">Office Open XML Text Template</value>
+ <value xml:lang="de">Office Open XML Text Vorlage</value>
+ </prop>
+ </node>
diff --git a/filter/source/config/fragments/filters/OOXML_Text_ui.xcu b/filter/source/config/fragments/filters/OOXML_Text_ui.xcu
new file mode 100644
index 0000000..483f23d
--- /dev/null
+++ b/filter/source/config/fragments/filters/OOXML_Text_ui.xcu
@@ -0,0 +1,6 @@
+ <node oor:name="Office Open XML Text">
+ <prop oor:name="UIName">
+ <value xml:lang="en-US">Office Open XML Text</value>
+ <value xml:lang="de">Office Open XML Text</value>
+ </prop>
+ </node>
diff --git a/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_Template.xcu b/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_Template.xcu
index 4fad96f..28b9ea8 100644
--- a/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_Template.xcu
+++ b/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_Template.xcu
@@ -3,6 +3,7 @@
<prop oor:name="UIComponent"/>
<prop oor:name="FilterService"><value>com.sun.star.comp.Impress.oox.PowerPointImport</value></prop>
<prop oor:name="UserData"/>
+ <prop oor:name="UIName"><value xml:lang="x-default">Microsoft PowerPoint 2007 XML Template</value></prop>
<prop oor:name="FileFormatVersion"/>
<prop oor:name="Type"><value>MS PowerPoint 2007 XML Template</value></prop>
<prop oor:name="TemplateName"/>
diff --git a/filter/source/config/fragments/filters/impress_OOXML.xcu b/filter/source/config/fragments/filters/impress_OOXML.xcu
new file mode 100644
index 0000000..d1a5adb
--- /dev/null
+++ b/filter/source/config/fragments/filters/impress_OOXML.xcu
@@ -0,0 +1,12 @@
+<node oor:name="Impress Office Open XML" oor:op="replace">
+ <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER PREFERRED</value></prop>
+ <prop oor:name="UIComponent"/>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.Impress.oox.PowerPointImport</value></prop>
+ <prop oor:name="UserData"><value>OOXML</value></prop>
+ <prop oor:name="UIName"><value xml:lang="x-default">Office Open XML Presentation</value></prop>
+ <!-- ISO/IEC 29500:2008 -->
+ <prop oor:name="FileFormatVersion"><value>1</value></prop>
+ <prop oor:name="Type"><value>Office Open XML Presentation</value></prop>
+ <prop oor:name="TemplateName"/>
+ <prop oor:name="DocumentService"><value>com.sun.star.presentation.PresentationDocument</value></prop>
+</node>
diff --git a/filter/source/config/fragments/filters/impress_OOXML_Template.xcu b/filter/source/config/fragments/filters/impress_OOXML_Template.xcu
new file mode 100644
index 0000000..e9febe1
--- /dev/null
+++ b/filter/source/config/fragments/filters/impress_OOXML_Template.xcu
@@ -0,0 +1,12 @@
+<node oor:name="Impress Office Open XML Template" oor:op="replace">
+ <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER TEMPLATE TEMPLATEPATH PREFERRED</value></prop>
+ <prop oor:name="UIComponent"/>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.Impress.oox.PowerPointImport</value></prop>
+ <prop oor:name="UserData"><value>OOXML</value></prop>
+ <prop oor:name="UIName"><value xml:lang="x-default">Office Open XML Presentation Template</value></prop>
+ <!-- ISO/IEC 29500:2008 -->
+ <prop oor:name="FileFormatVersion"><value>1</value></prop>
+ <prop oor:name="Type"><value>Office Open XML Presentation Template</value></prop>
+ <prop oor:name="TemplateName"/>
+ <prop oor:name="DocumentService"><value>com.sun.star.presentation.PresentationDocument</value></prop>
+</node>
diff --git a/filter/source/config/fragments/filters/impress_OOXML_Template_ui.xcu b/filter/source/config/fragments/filters/impress_OOXML_Template_ui.xcu
new file mode 100644
index 0000000..f33346d
--- /dev/null
+++ b/filter/source/config/fragments/filters/impress_OOXML_Template_ui.xcu
@@ -0,0 +1,5 @@
+<node oor:name="Office Open XML Presentation Template">
+ <prop oor:name="UIName">
+ <value xml:lang="en-US">Office Open XML Presentation Template</value>
+ </prop>
+</node>
diff --git a/filter/source/config/fragments/filters/impress_OOXML_ui.xcu b/filter/source/config/fragments/filters/impress_OOXML_ui.xcu
new file mode 100644
index 0000000..cadc369
--- /dev/null
+++ b/filter/source/config/fragments/filters/impress_OOXML_ui.xcu
@@ -0,0 +1,5 @@
+<node oor:name="Office Open XML Presentation">
+ <prop oor:name="UIName">
+ <value xml:lang="en-US">Office Open XML Presentation</value>
+ </prop>
+</node>
diff --git a/filter/source/config/fragments/types/impress_OOXML_Presentation.xcu b/filter/source/config/fragments/types/impress_OOXML_Presentation.xcu
new file mode 100644
index 0000000..501f2e4
--- /dev/null
+++ b/filter/source/config/fragments/types/impress_OOXML_Presentation.xcu
@@ -0,0 +1,10 @@
+<node oor:name="Office Open XML Presentation" oor:op="replace">
+ <prop oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
+ <prop oor:name="URLPattern"/>
+ <prop oor:name="Extensions"><value>pptx pptm</value></prop>
+ <prop oor:name="MediaType"/>
+ <prop oor:name="Preferred"><value>true</value></prop>
+ <prop oor:name="PreferredFilter"><value>Impress Office Open XML</value></prop>
+ <prop oor:name="UIName"><value>Office Open XML Presentation</value></prop>
+ <prop oor:name="ClipboardFormat"/>
+</node>
diff --git a/filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu b/filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu
new file mode 100644
index 0000000..c2ea660
--- /dev/null
+++ b/filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu
@@ -0,0 +1,10 @@
+<node oor:name="Office Open XML Presentation Template" oor:op="replace">
+ <prop oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
+ <prop oor:name="URLPattern"/>
+ <prop oor:name="Extensions"><value>potm potx</value></prop>
+ <prop oor:name="MediaType"/>
+ <prop oor:name="Preferred"><value>true</value></prop>
+ <prop oor:name="PreferredFilter"><value>Impress Office Open XML Template</value></prop>
+ <prop oor:name="UIName"><value>Office Open XML Presentation Template</value></prop>
+ <prop oor:name="ClipboardFormat"/>
+</node>
diff --git a/filter/source/config/fragments/types/writer_OOXML.xcu b/filter/source/config/fragments/types/writer_OOXML.xcu
new file mode 100644
index 0000000..346b00e
--- /dev/null
+++ b/filter/source/config/fragments/types/writer_OOXML.xcu
@@ -0,0 +1,12 @@
+ <node oor:name="writer_OOXML" oor:op="replace" >
+ <prop oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
+ <prop oor:name="URLPattern"/>
+ <prop oor:name="Extensions"><value>docx docm</value></prop>
+ <prop oor:name="MediaType"><value>application/vnd.openxmlformats-officedocument.wordprocessingml.document</value></prop>
+ <prop oor:name="Preferred"><value>true</value></prop>
+ <prop oor:name="PreferredFilter"><value>Office Open XML Text</value></prop>
+ <prop oor:name="UIName">
+ <value>Office Open XML Text Document</value>
+ </prop>
+ <prop oor:name="ClipboardFormat"><value>MSWordDoc</value></prop>
+ </node>
diff --git a/filter/source/config/fragments/types/writer_OOXML_Template.xcu b/filter/source/config/fragments/types/writer_OOXML_Template.xcu
new file mode 100644
index 0000000..566e08d
--- /dev/null
+++ b/filter/source/config/fragments/types/writer_OOXML_Template.xcu
@@ -0,0 +1,12 @@
+ <node oor:name="writer_OOXML_Text_Template" oor:op="replace" >
+ <prop oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
+ <prop oor:name="URLPattern"/>
+ <prop oor:name="Extensions"><value>dotx dotm</value></prop>
+ <prop oor:name="MediaType"><value>application/vnd.openxmlformats-officedocument.wordprocessingml.template</value></prop>
+ <prop oor:name="Preferred"><value>true</value></prop>
+ <prop oor:name="PreferredFilter"><value>Office Open XML Text Template</value></prop>
+ <prop oor:name="UIName">
+ <value>Office Open XML Text Template</value>
+ </prop>
+ <prop oor:name="ClipboardFormat"><value>MSWordDoc</value></prop>
+ </node>
diff --git a/oox/inc/oox/core/filterbase.hxx b/oox/inc/oox/core/filterbase.hxx
index 15ed6cc..d54c534 100644
--- a/oox/inc/oox/core/filterbase.hxx
+++ b/oox/inc/oox/core/filterbase.hxx
@@ -75,6 +75,12 @@ namespace core {
// ============================================================================
+enum OoxmlVersion
+{
+ ECMA_DIALECT,
+ ISOIEC_29500_2008
+};
+
struct FilterBaseImpl;
typedef ::cppu::WeakImplHelper5<
@@ -98,6 +104,8 @@ public:
/** Returns true, if filter is an export filter. */
bool isExportFilter() const;
+ OoxmlVersion getVersion( );
+
/** Derived classes implement import of the entire document. */
virtual bool importDocument() = 0;
diff --git a/oox/source/core/filterbase.cxx b/oox/source/core/filterbase.cxx
index 86ecc7c..6890ad4 100644
--- a/oox/source/core/filterbase.cxx
+++ b/oox/source/core/filterbase.cxx
@@ -28,6 +28,7 @@
#include "oox/core/filterbase.hxx"
#include <set>
+#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/task/XStatusIndicator.hpp>
#include <com/sun/star/task/XInteractionHandler.hpp>
@@ -64,6 +65,7 @@ using ::com::sun::star::io::XStream;
using ::com::sun::star::task::XStatusIndicator;
using ::com::sun::star::task::XInteractionHandler;
using ::com::sun::star::graphic::XGraphic;
+using ::com::sun::star::container::XNameAccess;
using ::comphelper::MediaDescriptor;
using ::comphelper::SequenceAsHashMap;
using ::oox::ole::OleObjectHelper;
@@ -147,6 +149,7 @@ struct FilterBaseImpl
MediaDescriptor maMediaDesc;
OUString maFileUrl;
StorageRef mxStorage;
+ OoxmlVersion meVersion;
GraphicHelperRef mxGraphicHelper; /// Graphic and graphic object handling.
ModelObjHelperRef mxModelObjHelper; /// Tables to create new named drawing objects.
@@ -174,6 +177,7 @@ struct FilterBaseImpl
FilterBaseImpl::FilterBaseImpl( const Reference< XMultiServiceFactory >& rxGlobalFactory ) :
meDirection( FILTERDIRECTION_UNKNOWN ),
+ meVersion( ECMA_DIALECT ),
mxGlobalFactory( rxGlobalFactory )
{
OSL_ENSURE( mxGlobalFactory.is(), "FilterBaseImpl::FilterBaseImpl - missing service factory" );
@@ -237,6 +241,11 @@ bool FilterBase::isExportFilter() const
return mxImpl->meDirection == FILTERDIRECTION_EXPORT;
}
+OoxmlVersion FilterBase::getVersion( )
+{
+ return mxImpl->meVersion;
+}
+
// ----------------------------------------------------------------------------
Any FilterBase::getArgument( const OUString& rArgName ) const
@@ -559,6 +568,25 @@ void FilterBase::setMediaDescriptor( const Sequence< PropertyValue >& rMediaDesc
mxImpl->mxTargetFrame = mxImpl->maMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_FRAME(), Reference< XFrame >() );
mxImpl->mxStatusIndicator = mxImpl->maMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_STATUSINDICATOR(), Reference< XStatusIndicator >() );
mxImpl->mxInteractionHandler = mxImpl->maMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_INTERACTIONHANDLER(), Reference< XInteractionHandler >() );
+
+ // Check for ISO OOXML
+ OUString sFilterName = mxImpl->maMediaDesc.getUnpackedValueOrDefault( CREATE_OUSTRING( "FilterName" ), OUString() );
+ try
+ {
+ Reference< XNameAccess > xFilters( getGlobalFactory()->createInstance(
+ CREATE_OUSTRING( "com.sun.star.document.FilterFactory" ) ), UNO_QUERY_THROW );
+ Any aValues = xFilters->getByName( sFilterName );
+ Sequence<PropertyValue > aPropSeq;
+ aValues >>= aPropSeq;
+ SequenceAsHashMap aProps( aPropSeq );
+
+ sal_Int32 nVersion = aProps.getUnpackedValueOrDefault( CREATE_OUSTRING( "FileFormatVersion" ), sal_Int32( 0 ) );
+ mxImpl->meVersion = OoxmlVersion( nVersion );
+ }
+ catch ( Exception& )
+ {
+ // Not ISO OOXML
+ }
}
GraphicHelper* FilterBase::implCreateGraphicHelper() const
commit 10b44cee56bcc56cd4260252fb9780939f511d5f
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 18:02:38 2010 +0200
Merged pptx-autoplay-fix.diff from ooo-build
diff --git a/filter/source/config/cache/constant.hxx b/filter/source/config/cache/constant.hxx
index 780f05a..067e75b 100644
--- a/filter/source/config/cache/constant.hxx
+++ b/filter/source/config/cache/constant.hxx
@@ -132,6 +132,7 @@ extern rtl::OUString pFilterStrings[];
#define FLAGNAME_PACKED _FILTER_CONFIG_FROM_ASCII_("PACKED" )
#define FLAGNAME_PASSWORDTOMODIFY _FILTER_CONFIG_FROM_ASCII_("PASSWORDTOMODIFY" )
#define FLAGNAME_PREFERRED _FILTER_CONFIG_FROM_ASCII_("PREFERRED" )
+#define FLAGNAME_STARTPRESENTATION _FILTER_CONFIG_FROM_ASCII_("STARTPRESENTATION")
#define FLAGNAME_READONLY _FILTER_CONFIG_FROM_ASCII_("READONLY" )
#define FLAGNAME_SILENTEXPORT _FILTER_CONFIG_FROM_ASCII_("SILENTEXPORT" )
#define FLAGNAME_SUPPORTSSELECTION _FILTER_CONFIG_FROM_ASCII_("SUPPORTSSELECTION")
@@ -165,6 +166,7 @@ extern rtl::OUString pFilterStrings[];
#define FLAGVAL_ENCRYPTION 0x01000000 // 16777216
#define FLAGVAL_PASSWORDTOMODIFY 0x02000000 // 33554432
#define FLAGVAL_PREFERRED 0x10000000 // 268435456
+#define FLAGVAL_STARTPRESENTATION 0x20000000 // 268435456
#define FLAGVAL_ALL 0xffffffff // 4294967295
/** @short uno service names of our document services
diff --git a/filter/source/config/cache/filtercache.cxx b/filter/source/config/cache/filtercache.cxx
index 0b636cb..da62c69 100644
--- a/filter/source/config/cache/filtercache.cxx
+++ b/filter/source/config/cache/filtercache.cxx
@@ -2108,6 +2108,7 @@ css::uno::Sequence< ::rtl::OUString > FilterCache::impl_convertFlagField2FlagNam
if ((nFlags & FLAGVAL_PACKED ) == FLAGVAL_PACKED ) lFlagNames.push_back(FLAGNAME_PACKED );
if ((nFlags & FLAGVAL_PASSWORDTOMODIFY ) == FLAGVAL_PASSWORDTOMODIFY ) lFlagNames.push_back(FLAGNAME_PASSWORDTOMODIFY );
if ((nFlags & FLAGVAL_PREFERRED ) == FLAGVAL_PREFERRED ) lFlagNames.push_back(FLAGNAME_PREFERRED );
+ if ((nFlags & FLAGVAL_STARTPRESENTATION) == FLAGVAL_STARTPRESENTATION) lFlagNames.push_back(FLAGNAME_STARTPRESENTATION);
if ((nFlags & FLAGVAL_READONLY ) == FLAGVAL_READONLY ) lFlagNames.push_back(FLAGNAME_READONLY );
if ((nFlags & FLAGVAL_SILENTEXPORT ) == FLAGVAL_SILENTEXPORT ) lFlagNames.push_back(FLAGNAME_SILENTEXPORT );
if ((nFlags & FLAGVAL_SUPPORTSSELECTION) == FLAGVAL_SUPPORTSSELECTION) lFlagNames.push_back(FLAGNAME_SUPPORTSSELECTION);
@@ -2216,6 +2217,11 @@ sal_Int32 FilterCache::impl_convertFlagNames2FlagField(const css::uno::Sequence<
nField |= FLAGVAL_PREFERRED;
continue;
}
+ if (pNames[i].equals(FLAGNAME_STARTPRESENTATION))
+ {
+ nField |= FLAGVAL_STARTPRESENTATION;
+ continue;
+ }
if (pNames[i].equals(FLAGNAME_READONLY))
{
nField |= FLAGVAL_READONLY;
diff --git a/filter/source/config/fragments/fcfg_impress.mk b/filter/source/config/fragments/fcfg_impress.mk
index f5c1c7d..2e354c8 100644
--- a/filter/source/config/fragments/fcfg_impress.mk
+++ b/filter/source/config/fragments/fcfg_impress.mk
@@ -5,6 +5,7 @@ all_fragments+=impress
T4_IMPRESS = \
draw_StarOffice_XML_Draw \
impress_MS_PowerPoint_97 \
+ impress_MS_PowerPoint_97_AutoPlay \
impress_MS_PowerPoint_97_Vorlage \
impress_StarOffice_XML_Impress \
impress_StarOffice_XML_Impress_Template \
@@ -14,12 +15,14 @@ T4_IMPRESS = \
impress8_template\
draw8\
MS_PowerPoint_2007_XML\
+ MS_PowerPoint_2007_XML_AutoPlay\
MS_PowerPoint_2007_XML_Template
# -----------------------------------------------
# count = 20
F4_IMPRESS = \
MS_PowerPoint_97 \
+ MS_PowerPoint_97_AutoPlay \
MS_PowerPoint_97_Vorlage \
impress_StarOffice_XML_Draw \
StarOffice_XML__Impress_ \
@@ -30,6 +33,7 @@ F4_IMPRESS = \
impress8_template\
impress8_draw\
impress_MS_PowerPoint_2007_XML\
+ impress_MS_PowerPoint_2007_XML_AutoPlay\
impress_MS_PowerPoint_2007_XML_Template
# -----------------------------------------------
diff --git a/filter/source/config/fragments/filters/MS_PowerPoint_97_AutoPlay.xcu b/filter/source/config/fragments/filters/MS_PowerPoint_97_AutoPlay.xcu
new file mode 100644
index 0000000..c19eeb4
--- /dev/null
+++ b/filter/source/config/fragments/filters/MS_PowerPoint_97_AutoPlay.xcu
@@ -0,0 +1,13 @@
+ <node oor:name="MS PowerPoint 97 AutoPlay" oor:op="replace">
+ <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN STARTPRESENTATION</value></prop>
+ <prop oor:name="UIComponent"/>
+ <prop oor:name="FilterService"/>
+ <prop oor:name="UserData"><value>sdfilt</value></prop>
+ <prop oor:name="UIName">
+ <value xml:lang="x-default">Microsoft PowerPoint 97/2000/XP</value>
+ </prop>
+ <prop oor:name="FileFormatVersion"><value>0</value></prop>
+ <prop oor:name="Type"><value>impress_MS_PowerPoint_97_AutoPlay</value></prop>
+ <prop oor:name="TemplateName"/>
+ <prop oor:name="DocumentService"><value>com.sun.star.presentation.PresentationDocument</value></prop>
+ </node>
diff --git a/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_AutoPlay.xcu b/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_AutoPlay.xcu
new file mode 100644
index 0000000..7a2e17f
--- /dev/null
+++ b/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_AutoPlay.xcu
@@ -0,0 +1,10 @@
+<node oor:name="Impress MS PowerPoint 2007 XML AutoPlay" oor:op="replace">
+ <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER PREFERRED STARTPRESENTATION</value></prop>
+ <prop oor:name="UIComponent"/>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.Impress.oox.PowerPointImport</value></prop>
+ <prop oor:name="UserData"/>
+ <prop oor:name="FileFormatVersion"/>
+ <prop oor:name="Type"><value>MS PowerPoint 2007 XML AutoPlay</value></prop>
+ <prop oor:name="TemplateName"/>
+ <prop oor:name="DocumentService"><value>com.sun.star.presentation.PresentationDocument</value></prop>
+</node>
diff --git a/filter/source/config/fragments/types/MS_PowerPoint_2007_XML_AutoPlay.xcu b/filter/source/config/fragments/types/MS_PowerPoint_2007_XML_AutoPlay.xcu
new file mode 100644
index 0000000..681b7b5
--- /dev/null
+++ b/filter/source/config/fragments/types/MS_PowerPoint_2007_XML_AutoPlay.xcu
@@ -0,0 +1,10 @@
+<node oor:name="MS PowerPoint 2007 XML AutoPlay" oor:op="replace" >
+ <prop oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
+ <prop oor:name="URLPattern"/>
+ <prop oor:name="Extensions"><value>ppsx</value></prop>
+ <prop oor:name="MediaType"/>
+ <prop oor:name="Preferred"><value>true</value></prop>
+ <prop oor:name="PreferredFilter"><value>Impress MS PowerPoint 2007 XML AutoPlay</value></prop>
+ <prop oor:name="UIName"><value xml:lang="x-default">Microsoft PowerPoint 2007 XML</value></prop>
+ <prop oor:name="ClipboardFormat"/>
+</node>
diff --git a/filter/source/config/fragments/types/impress_MS_PowerPoint_97.xcu b/filter/source/config/fragments/types/impress_MS_PowerPoint_97.xcu
index 3584127..c7a17a9 100644
--- a/filter/source/config/fragments/types/impress_MS_PowerPoint_97.xcu
+++ b/filter/source/config/fragments/types/impress_MS_PowerPoint_97.xcu
@@ -1,7 +1,7 @@
<node oor:name="impress_MS_PowerPoint_97" oor:op="replace" >
<prop oor:name="DetectService"><value>com.sun.star.comp.draw.FormatDetector</value></prop>
<prop oor:name="URLPattern"/>
- <prop oor:name="Extensions"><value>ppt pps</value></prop>
+ <prop oor:name="Extensions"><value>ppt</value></prop>
<prop oor:name="MediaType"><value>application/vnd.ms-powerpoint</value></prop>
<prop oor:name="Preferred"><value>false</value></prop>
<prop oor:name="PreferredFilter"><value>MS PowerPoint 97</value></prop>
diff --git a/filter/source/config/fragments/types/impress_MS_PowerPoint_97_AutoPlay.xcu b/filter/source/config/fragments/types/impress_MS_PowerPoint_97_AutoPlay.xcu
new file mode 100644
index 0000000..7cf518c
--- /dev/null
+++ b/filter/source/config/fragments/types/impress_MS_PowerPoint_97_AutoPlay.xcu
@@ -0,0 +1,12 @@
+ <node oor:name="impress_MS_PowerPoint_97_AutoPlay" oor:op="replace" >
+ <prop oor:name="DetectService"><value>com.sun.star.comp.draw.FormatDetector</value></prop>
+ <prop oor:name="URLPattern"/>
+ <prop oor:name="Extensions"><value>pps</value></prop>
+ <prop oor:name="MediaType"><value>application/vnd.ms-powerpoint</value></prop>
+ <prop oor:name="Preferred"><value>false</value></prop>
+ <prop oor:name="PreferredFilter"><value>MS PowerPoint 97 AutoPlay</value></prop>
+ <prop oor:name="UIName">
+ <value>Microsoft PowerPoint 97/2000/XP</value>
+ </prop>
+ <prop oor:name="ClipboardFormat"/>
+ </node>
diff --git a/oox/source/core/filterdetect.cxx b/oox/source/core/filterdetect.cxx
index afd31e7..1f52de4 100644
--- a/oox/source/core/filterdetect.cxx
+++ b/oox/source/core/filterdetect.cxx
@@ -205,6 +205,10 @@ OUString FilterDetectDocHandler::getFilterNameFromContentType( const OUString& r
rContentType.equalsAscii( "application/vnd.ms-powerpoint.presentation.macroEnabled.main+xml" ) )
return CREATE_OUSTRING( "MS PowerPoint 2007 XML" );
+ if( rContentType.equalsAscii( "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" ) ||
+ rContentType.equalsAscii( "application/vnd.ms-powerpoint.slideshow.macroEnabled.main+xml" ) )
+ return CREATE_OUSTRING( "MS PowerPoint 2007 XML AutoPlay" );
+
if( rContentType.equalsAscii( "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml" ) ||
rContentType.equalsAscii( "application/vnd.ms-powerpoint.template.macroEnabled.main+xml" ) )
return CREATE_OUSTRING( "MS PowerPoint 2007 XML Template" );
commit 4e4ef71c12e5a03cd77bd798321660fa5cedf999
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:50:18 2010 +0200
Merged xlsx-shared-xlsx-shared-import-and-export.diff from ooo-build
diff --git a/oox/inc/oox/xls/excelfilter.hxx b/oox/inc/oox/xls/excelfilter.hxx
index 1409740..49a0c85 100644
--- a/oox/inc/oox/xls/excelfilter.hxx
+++ b/oox/inc/oox/xls/excelfilter.hxx
@@ -70,6 +70,8 @@ public:
virtual const ::oox::drawingml::table::TableStyleListPtr getTableStyles();
virtual ::oox::drawingml::chart::ChartConverter& getChartConverter();
+ virtual sal_Bool SAL_CALL filter( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rDescriptor ) throw( ::com::sun::star::uno::RuntimeException );
+
private:
virtual GraphicHelper* implCreateGraphicHelper() const;
virtual ::rtl::OUString implGetImplementationName() const;
diff --git a/oox/source/xls/excelfilter.cxx b/oox/source/xls/excelfilter.cxx
index a1d5729..b5b3dc6 100644
--- a/oox/source/xls/excelfilter.cxx
+++ b/oox/source/xls/excelfilter.cxx
@@ -42,7 +42,9 @@ using ::com::sun::star::uno::Any;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
using ::com::sun::star::uno::Exception;
+using ::com::sun::star::uno::UNO_QUERY;
using ::com::sun::star::uno::XInterface;
+using ::com::sun::star::lang::XComponent;
using ::com::sun::star::lang::XMultiServiceFactory;
using ::com::sun::star::xml::sax::XFastDocumentHandler;
using ::oox::core::BinaryFilterBase;
@@ -160,6 +162,32 @@ GraphicHelper* ExcelFilter::implCreateGraphicHelper() const
return new ExcelGraphicHelper( getWorkbookData() );
}
+sal_Bool SAL_CALL ExcelFilter::filter( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rDescriptor ) throw( ::com::sun::star::uno::RuntimeException )
+{
+ if ( XmlFilterBase::filter( rDescriptor ) )
+ return true;
+
+ if ( isExportFilter() )
+ {
+ Reference< XExporter > xExporter( getGlobalFactory()->createInstance( CREATE_OUSTRING( "com.sun.star.comp.oox.ExcelFilterExport" ) ), UNO_QUERY );
+
+ if ( xExporter.is() )
+ {
+ Reference< XComponent > xDocument( getModel(), UNO_QUERY );
+ Reference< XFilter > xFilter( xExporter, UNO_QUERY );
+
+ if ( xFilter.is() )
+ {
+ xExporter->setSourceDocument( xDocument );
+ if ( xFilter->filter( rDescriptor ) )
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
OUString ExcelFilter::implGetImplementationName() const
{
return ExcelFilter_getImplementationName();
commit 4717bdf8d8d0698f0de54e1c683aaa7b1295b1a7
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Oct 13 17:45:03 2010 +0200
Merged xlsx-shared-xlsx-snapshot.diff from ooo-build
diff --git a/filter/source/config/fragments/filters/calc_MS_Excel_2007_XML.xcu b/filter/source/config/fragments/filters/calc_MS_Excel_2007_XML.xcu
index 5089278..50d29ce 100644
--- a/filter/source/config/fragments/filters/calc_MS_Excel_2007_XML.xcu
+++ b/filter/source/config/fragments/filters/calc_MS_Excel_2007_XML.xcu
@@ -1,5 +1,5 @@
<node oor:name="Calc MS Excel 2007 XML" oor:op="replace">
- <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value></prop>
+ <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER PREFERRED</value></prop>
<prop oor:name="UIComponent"/>
<prop oor:name="FilterService"><value>com.sun.star.comp.oox.ExcelFilter</value></prop>
<prop oor:name="UserData"/>
diff --git a/filter/source/config/fragments/types/MS_Excel_2007_XML.xcu b/filter/source/config/fragments/types/MS_Excel_2007_XML.xcu
index edd1498..ab9e409 100644
--- a/filter/source/config/fragments/types/MS_Excel_2007_XML.xcu
+++ b/filter/source/config/fragments/types/MS_Excel_2007_XML.xcu
@@ -1,7 +1,7 @@
<node oor:name="MS Excel 2007 XML" oor:op="replace" >
<prop oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
<prop oor:name="URLPattern"/>
- <prop oor:name="Extensions"><value>xlsm xlsx</value></prop>
+ <prop oor:name="Extensions"><value>xlsx xlsm</value></prop>
<prop oor:name="MediaType"/>
<prop oor:name="Preferred"><value>false</value></prop>
<prop oor:name="PreferredFilter"><value>Calc MS Excel 2007 XML</value></prop>
More information about the Libreoffice-commits
mailing list