You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
811 lines
35 KiB
811 lines
35 KiB
From 9954bf0938e34361d4d785c4109de303d422a8c8 Mon Sep 17 00:00:00 2001
|
|
From: osnola <alonso@loria.fr>
|
|
Date: Thu, 29 May 2014 15:35:18 +0200
|
|
Subject: [PATCH 13/18] Add new libmwaw's database/spreadsheet formats...
|
|
|
|
Change-Id: If07a9e548e1db15b403126263f63d9d09575eb95
|
|
(cherry picked from commit 696c8edf7a7731ea4e0f3e4ec4dfeadac2f8ffad)
|
|
---
|
|
filter/Configuration_filter.mk | 12 ++
|
|
.../config/fragments/filters/Beagle_Works_Calc.xcu | 29 ++++
|
|
.../config/fragments/filters/ClarisWorks_Calc.xcu | 30 ++++
|
|
.../fragments/filters/Claris_Resolve_Calc.xcu | 30 ++++
|
|
.../config/fragments/filters/Great_Works_Calc.xcu | 29 ++++
|
|
.../config/fragments/filters/Mac_Wingz_Calc.xcu | 30 ++++
|
|
.../config/fragments/filters/Mac_Works_Calc.xcu | 30 ++++
|
|
.../config/fragments/types/calc_Beagle_Works.xcu | 29 ++++
|
|
.../config/fragments/types/calc_ClarisWorks.xcu | 29 ++++
|
|
.../config/fragments/types/calc_Claris_Resolve.xcu | 29 ++++
|
|
.../config/fragments/types/calc_Great_Works.xcu | 29 ++++
|
|
.../config/fragments/types/calc_Mac_Wingz.xcu | 29 ++++
|
|
.../config/fragments/types/calc_Mac_Works.xcu | 29 ++++
|
|
writerperfect/Library_wpftcalc.mk | 2 +
|
|
writerperfect/source/calc/MWAWCalcImportFilter.cxx | 191 +++++++++++++++++++++
|
|
writerperfect/source/calc/MWAWCalcImportFilter.hxx | 53 ++++++
|
|
writerperfect/source/calc/wpftcalc.component | 4 +
|
|
.../source/calc/wpftcalc_genericfilter.cxx | 4 +
|
|
18 files changed, 618 insertions(+)
|
|
create mode 100644 filter/source/config/fragments/filters/Beagle_Works_Calc.xcu
|
|
create mode 100644 filter/source/config/fragments/filters/ClarisWorks_Calc.xcu
|
|
create mode 100644 filter/source/config/fragments/filters/Claris_Resolve_Calc.xcu
|
|
create mode 100644 filter/source/config/fragments/filters/Great_Works_Calc.xcu
|
|
create mode 100644 filter/source/config/fragments/filters/Mac_Wingz_Calc.xcu
|
|
create mode 100644 filter/source/config/fragments/filters/Mac_Works_Calc.xcu
|
|
create mode 100644 filter/source/config/fragments/types/calc_Beagle_Works.xcu
|
|
create mode 100644 filter/source/config/fragments/types/calc_ClarisWorks.xcu
|
|
create mode 100644 filter/source/config/fragments/types/calc_Claris_Resolve.xcu
|
|
create mode 100644 filter/source/config/fragments/types/calc_Great_Works.xcu
|
|
create mode 100644 filter/source/config/fragments/types/calc_Mac_Wingz.xcu
|
|
create mode 100644 filter/source/config/fragments/types/calc_Mac_Works.xcu
|
|
create mode 100644 writerperfect/source/calc/MWAWCalcImportFilter.cxx
|
|
create mode 100644 writerperfect/source/calc/MWAWCalcImportFilter.hxx
|
|
|
|
diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk
|
|
index ebd9bf2..825a899 100644
|
|
--- a/filter/Configuration_filter.mk
|
|
+++ b/filter/Configuration_filter.mk
|
|
@@ -538,6 +538,12 @@ $(call filter_Configuration_add_types,fcfg_langpack,fcfg_calc_types.xcu,filter/s
|
|
calc_OOXML \
|
|
calc_OOXML_Template \
|
|
calc_MS_Works_Document \
|
|
+ calc_Beagle_Works \
|
|
+ calc_ClarisWorks \
|
|
+ calc_Claris_Resolve \
|
|
+ calc_Great_Works \
|
|
+ calc_Mac_Works \
|
|
+ calc_Mac_Wingz \
|
|
)
|
|
|
|
$(call filter_Configuration_add_filters,fcfg_langpack,fcfg_calc_filters.xcu,filter/source/config/fragments/filters,\
|
|
@@ -570,6 +576,12 @@ $(call filter_Configuration_add_filters,fcfg_langpack,fcfg_calc_filters.xcu,filt
|
|
calc_OOXML \
|
|
calc_OOXML_Template \
|
|
MS_Works_Calc \
|
|
+ Beagle_Works_Calc \
|
|
+ ClarisWorks_Calc \
|
|
+ Claris_Resolve_Calc \
|
|
+ Great_Works_Calc \
|
|
+ Mac_Wingz_Calc \
|
|
+ Mac_Works_Calc \
|
|
)
|
|
|
|
$(call filter_Configuration_add_ui_filters,fcfg_langpack,filter/source/config/fragments/filters,\
|
|
diff --git a/filter/source/config/fragments/filters/Beagle_Works_Calc.xcu b/filter/source/config/fragments/filters/Beagle_Works_Calc.xcu
|
|
new file mode 100644
|
|
index 0000000..3d70268
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/filters/Beagle_Works_Calc.xcu
|
|
@@ -0,0 +1,29 @@
|
|
+<!--
|
|
+ * 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="Beagle_Works_Calc" oor:op="replace">
|
|
+ <prop oor:name="Flags">
|
|
+ <value>IMPORT ALIEN USESOPTIONS 3RDPARTYFILTER PREFERRED</value>
|
|
+ </prop>
|
|
+ <prop oor:name="FilterService">
|
|
+ <value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value>
|
|
+ </prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value xml:lang="en-US">BeagleWorks/WordPerfect Works v1 Document</value>
|
|
+ </prop>
|
|
+ <prop oor:name="FileFormatVersion">
|
|
+ <value>0</value>
|
|
+ </prop>
|
|
+ <prop oor:name="Type">
|
|
+ <value>calc_Beagle_Works</value>
|
|
+ </prop>
|
|
+ <prop oor:name="DocumentService">
|
|
+ <value>com.sun.star.sheet.SpreadsheetDocument</value>
|
|
+ </prop>
|
|
+</node>
|
|
diff --git a/filter/source/config/fragments/filters/ClarisWorks_Calc.xcu b/filter/source/config/fragments/filters/ClarisWorks_Calc.xcu
|
|
new file mode 100644
|
|
index 0000000..77e6fdb
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/filters/ClarisWorks_Calc.xcu
|
|
@@ -0,0 +1,30 @@
|
|
+<!--
|
|
+ * 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 .
|
|
+-->
|
|
+ <node oor:name="ClarisWorks_Calc" oor:op="replace">
|
|
+ <prop oor:name="Flags"><value>IMPORT ALIEN USESOPTIONS 3RDPARTYFILTER PREFERRED</value></prop>
|
|
+ <prop oor:name="UIComponent"/>
|
|
+ <prop oor:name="FilterService"><value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value></prop>
|
|
+ <prop oor:name="UserData"><value></value></prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value xml:lang="en-US">ClarisWorks/AppleWorks Document</value>
|
|
+ </prop>
|
|
+ <prop oor:name="FileFormatVersion"><value>0</value></prop>
|
|
+ <prop oor:name="Type"><value>calc_ClarisWorks</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/Claris_Resolve_Calc.xcu b/filter/source/config/fragments/filters/Claris_Resolve_Calc.xcu
|
|
new file mode 100644
|
|
index 0000000..1db9dcc
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/filters/Claris_Resolve_Calc.xcu
|
|
@@ -0,0 +1,30 @@
|
|
+<!--
|
|
+ * 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 .
|
|
+-->
|
|
+ <node oor:name="Claris_Resolve_Calc" oor:op="replace">
|
|
+ <prop oor:name="Flags"><value>IMPORT ALIEN USESOPTIONS 3RDPARTYFILTER PREFERRED</value></prop>
|
|
+ <prop oor:name="UIComponent"/>
|
|
+ <prop oor:name="FilterService"><value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value></prop>
|
|
+ <prop oor:name="UserData"><value></value></prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value xml:lang="en-US">ClarisResolve Document</value>
|
|
+ </prop>
|
|
+ <prop oor:name="FileFormatVersion"><value>0</value></prop>
|
|
+ <prop oor:name="Type"><value>calc_Claris_Resolve</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/Great_Works_Calc.xcu b/filter/source/config/fragments/filters/Great_Works_Calc.xcu
|
|
new file mode 100644
|
|
index 0000000..89b68f8
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/filters/Great_Works_Calc.xcu
|
|
@@ -0,0 +1,29 @@
|
|
+<!--
|
|
+ * 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="Great_Works_Calc" oor:op="replace">
|
|
+ <prop oor:name="Flags">
|
|
+ <value>IMPORT ALIEN USESOPTIONS 3RDPARTYFILTER PREFERRED</value>
|
|
+ </prop>
|
|
+ <prop oor:name="FilterService">
|
|
+ <value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value>
|
|
+ </prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value xml:lang="en-US">GreatWorks Document</value>
|
|
+ </prop>
|
|
+ <prop oor:name="FileFormatVersion">
|
|
+ <value>0</value>
|
|
+ </prop>
|
|
+ <prop oor:name="Type">
|
|
+ <value>calc_Great_Works</value>
|
|
+ </prop>
|
|
+ <prop oor:name="DocumentService">
|
|
+ <value>com.sun.star.sheet.SpreadsheetDocument</value>
|
|
+ </prop>
|
|
+</node>
|
|
diff --git a/filter/source/config/fragments/filters/Mac_Wingz_Calc.xcu b/filter/source/config/fragments/filters/Mac_Wingz_Calc.xcu
|
|
new file mode 100644
|
|
index 0000000..e908c7e
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/filters/Mac_Wingz_Calc.xcu
|
|
@@ -0,0 +1,30 @@
|
|
+<!--
|
|
+ * 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 .
|
|
+-->
|
|
+ <node oor:name="Mac_Wingz_Calc" oor:op="replace">
|
|
+ <prop oor:name="Flags"><value>IMPORT ALIEN USESOPTIONS 3RDPARTYFILTER PREFERRED</value></prop>
|
|
+ <prop oor:name="UIComponent"/>
|
|
+ <prop oor:name="FilterService"><value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value></prop>
|
|
+ <prop oor:name="UserData"><value></value></prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value xml:lang="en-US">Wingz for Mac Document</value>
|
|
+ </prop>
|
|
+ <prop oor:name="FileFormatVersion"><value>0</value></prop>
|
|
+ <prop oor:name="Type"><value>calc_Mac_Wingz</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/Mac_Works_Calc.xcu b/filter/source/config/fragments/filters/Mac_Works_Calc.xcu
|
|
new file mode 100644
|
|
index 0000000..8db1b16
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/filters/Mac_Works_Calc.xcu
|
|
@@ -0,0 +1,30 @@
|
|
+<!--
|
|
+ * 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 .
|
|
+-->
|
|
+ <node oor:name="Mac_Works_Calc" oor:op="replace">
|
|
+ <prop oor:name="Flags"><value>IMPORT ALIEN USESOPTIONS 3RDPARTYFILTER PREFERRED</value></prop>
|
|
+ <prop oor:name="UIComponent"/>
|
|
+ <prop oor:name="FilterService"><value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value></prop>
|
|
+ <prop oor:name="UserData"><value></value></prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value xml:lang="en-US">Microsoft Works for Mac Document (v1 - v4)</value>
|
|
+ </prop>
|
|
+ <prop oor:name="FileFormatVersion"><value>0</value></prop>
|
|
+ <prop oor:name="Type"><value>calc_Mac_Works</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/types/calc_Beagle_Works.xcu b/filter/source/config/fragments/types/calc_Beagle_Works.xcu
|
|
new file mode 100644
|
|
index 0000000..840e0a7
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/types/calc_Beagle_Works.xcu
|
|
@@ -0,0 +1,29 @@
|
|
+<!--
|
|
+ * 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_Beagle_Works" oor:op="replace">
|
|
+ <prop oor:name="DetectService">
|
|
+ <value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value>
|
|
+ </prop>
|
|
+ <prop oor:name="Extensions">
|
|
+ <value>dummy</value>
|
|
+ </prop>
|
|
+ <prop oor:name="MediaType">
|
|
+ <value></value>
|
|
+ </prop>
|
|
+ <prop oor:name="Preferred">
|
|
+ <value>true</value>
|
|
+ </prop>
|
|
+ <prop oor:name="PreferredFilter">
|
|
+ <value>Beagle_Works_Calc</value>
|
|
+ </prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value>BeagleWorks/WordPerfect Works Document</value>
|
|
+ </prop>
|
|
+</node>
|
|
diff --git a/filter/source/config/fragments/types/calc_ClarisWorks.xcu b/filter/source/config/fragments/types/calc_ClarisWorks.xcu
|
|
new file mode 100644
|
|
index 0000000..fe73b41
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/types/calc_ClarisWorks.xcu
|
|
@@ -0,0 +1,29 @@
|
|
+<!--
|
|
+ * 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 .
|
|
+-->
|
|
+ <node oor:name="calc_ClarisWorks" oor:op="replace" >
|
|
+ <prop oor:name="DetectService"><value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value></prop>
|
|
+ <prop oor:name="URLPattern"/>
|
|
+ <prop oor:name="Extensions"><value>cwk</value></prop>
|
|
+ <prop oor:name="MediaType"><value>application/clarisworks</value></prop>
|
|
+ <prop oor:name="Preferred"><value>true</value></prop>
|
|
+ <prop oor:name="PreferredFilter"><value>Claris_Works_Calc</value></prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value>ClarisWorks/AppleWorks Document</value>
|
|
+ </prop>
|
|
+ <prop oor:name="ClipboardFormat"/>
|
|
+ </node>
|
|
diff --git a/filter/source/config/fragments/types/calc_Claris_Resolve.xcu b/filter/source/config/fragments/types/calc_Claris_Resolve.xcu
|
|
new file mode 100644
|
|
index 0000000..309eb47
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/types/calc_Claris_Resolve.xcu
|
|
@@ -0,0 +1,29 @@
|
|
+<!--
|
|
+ * 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 .
|
|
+-->
|
|
+ <node oor:name="calc_Claris_Resolve" oor:op="replace" >
|
|
+ <prop oor:name="DetectService"><value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value></prop>
|
|
+ <prop oor:name="URLPattern"/>
|
|
+ <prop oor:name="Extensions"><value>cwk</value></prop>
|
|
+ <prop oor:name="MediaType"><value>application/clarisworks</value></prop>
|
|
+ <prop oor:name="Preferred"><value>true</value></prop>
|
|
+ <prop oor:name="PreferredFilter"><value>Claris_Resolve_Calc</value></prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value>ClarisResolve Document</value>
|
|
+ </prop>
|
|
+ <prop oor:name="ClipboardFormat"/>
|
|
+ </node>
|
|
diff --git a/filter/source/config/fragments/types/calc_Great_Works.xcu b/filter/source/config/fragments/types/calc_Great_Works.xcu
|
|
new file mode 100644
|
|
index 0000000..f14480d
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/types/calc_Great_Works.xcu
|
|
@@ -0,0 +1,29 @@
|
|
+<!--
|
|
+ * 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_Great_Works" oor:op="replace">
|
|
+ <prop oor:name="DetectService">
|
|
+ <value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value>
|
|
+ </prop>
|
|
+ <prop oor:name="Extensions">
|
|
+ <value>dummy</value>
|
|
+ </prop>
|
|
+ <prop oor:name="MediaType">
|
|
+ <value></value>
|
|
+ </prop>
|
|
+ <prop oor:name="Preferred">
|
|
+ <value>true</value>
|
|
+ </prop>
|
|
+ <prop oor:name="PreferredFilter">
|
|
+ <value>Great_Works_Calc</value>
|
|
+ </prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value>GreatWorks Document</value>
|
|
+ </prop>
|
|
+</node>
|
|
diff --git a/filter/source/config/fragments/types/calc_Mac_Wingz.xcu b/filter/source/config/fragments/types/calc_Mac_Wingz.xcu
|
|
new file mode 100644
|
|
index 0000000..357a189
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/types/calc_Mac_Wingz.xcu
|
|
@@ -0,0 +1,29 @@
|
|
+<!--
|
|
+ * 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 .
|
|
+-->
|
|
+ <node oor:name="calc_Mac_Wingz" oor:op="replace" >
|
|
+ <prop oor:name="DetectService"><value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value></prop>
|
|
+ <prop oor:name="URLPattern"/>
|
|
+ <prop oor:name="Extensions"><value></value></prop>
|
|
+ <prop oor:name="MediaType"></prop>
|
|
+ <prop oor:name="Preferred"><value>true</value></prop>
|
|
+ <prop oor:name="PreferredFilter"><value>Mac_Wingz_Calc</value></prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value>Wingz for Mac Document</value>
|
|
+ </prop>
|
|
+ <prop oor:name="ClipboardFormat"/>
|
|
+ </node>
|
|
diff --git a/filter/source/config/fragments/types/calc_Mac_Works.xcu b/filter/source/config/fragments/types/calc_Mac_Works.xcu
|
|
new file mode 100644
|
|
index 0000000..9a9d373
|
|
--- /dev/null
|
|
+++ b/filter/source/config/fragments/types/calc_Mac_Works.xcu
|
|
@@ -0,0 +1,29 @@
|
|
+<!--
|
|
+ * 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 .
|
|
+-->
|
|
+ <node oor:name="calc_Mac_Works" oor:op="replace" >
|
|
+ <prop oor:name="DetectService"><value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value></prop>
|
|
+ <prop oor:name="URLPattern"/>
|
|
+ <prop oor:name="Extensions"><value>wps</value></prop>
|
|
+ <prop oor:name="MediaType"><value>application/vnd.ms-works</value></prop>
|
|
+ <prop oor:name="Preferred"><value>true</value></prop>
|
|
+ <prop oor:name="PreferredFilter"><value>Mac_Works_Calc</value></prop>
|
|
+ <prop oor:name="UIName">
|
|
+ <value>Microsoft Works for Mac Document (v1 - v4)</value>
|
|
+ </prop>
|
|
+ <prop oor:name="ClipboardFormat"/>
|
|
+ </node>
|
|
diff --git a/writerperfect/Library_wpftcalc.mk b/writerperfect/Library_wpftcalc.mk
|
|
index 2e69c3b..e09c195 100644
|
|
--- a/writerperfect/Library_wpftcalc.mk
|
|
+++ b/writerperfect/Library_wpftcalc.mk
|
|
@@ -39,6 +39,7 @@ $(eval $(call gb_Library_use_libraries,wpftcalc,\
|
|
$(eval $(call gb_Library_use_externals,wpftcalc,\
|
|
odfgen \
|
|
revenge \
|
|
+ mwaw \
|
|
wps \
|
|
zlib \
|
|
lcms2 \
|
|
@@ -50,6 +51,7 @@ $(eval $(call gb_Library_use_externals,wpftcalc,\
|
|
$(eval $(call gb_Library_add_exception_objects,wpftcalc,\
|
|
writerperfect/source/calc/ImportFilterBase \
|
|
writerperfect/source/calc/MSWorksCalcImportFilter \
|
|
+ writerperfect/source/calc/MWAWCalcImportFilter \
|
|
writerperfect/source/calc/wpftcalc_genericfilter \
|
|
))
|
|
|
|
diff --git a/writerperfect/source/calc/MWAWCalcImportFilter.cxx b/writerperfect/source/calc/MWAWCalcImportFilter.cxx
|
|
new file mode 100644
|
|
index 0000000..0f5101f
|
|
--- /dev/null
|
|
+++ b/writerperfect/source/calc/MWAWCalcImportFilter.cxx
|
|
@@ -0,0 +1,191 @@
|
|
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
+/* MWAWCalcImportFilter: Sets up the filter, and calls DocumentCollector
|
|
+ * to do the actual filtering
|
|
+ *
|
|
+ * 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/.
|
|
+ */
|
|
+
|
|
+#include <com/sun/star/uno/Reference.h>
|
|
+#include <cppuhelper/supportsservice.hxx>
|
|
+
|
|
+#include <libmwaw/libmwaw.hxx>
|
|
+#include <libodfgen/libodfgen.hxx>
|
|
+
|
|
+#include "MWAWCalcImportFilter.hxx"
|
|
+
|
|
+using com::sun::star::uno::Sequence;
|
|
+using com::sun::star::uno::Reference;
|
|
+using com::sun::star::uno::Any;
|
|
+using com::sun::star::uno::XInterface;
|
|
+using com::sun::star::uno::Exception;
|
|
+using com::sun::star::uno::RuntimeException;
|
|
+using com::sun::star::uno::XComponentContext;
|
|
+
|
|
+static bool handleEmbeddedMWAWGraphicObject(const librevenge::RVNGBinaryData &data, OdfDocumentHandler *pHandler, const OdfStreamType streamType)
|
|
+{
|
|
+ OdgGenerator exporter;
|
|
+ exporter.addDocumentHandler(pHandler, streamType);
|
|
+ return MWAWDocument::decodeGraphic(data, &exporter);
|
|
+}
|
|
+
|
|
+static bool handleEmbeddedMWAWSpreadsheetObject(const librevenge::RVNGBinaryData &data, OdfDocumentHandler *pHandler, const OdfStreamType streamType)
|
|
+{
|
|
+ OdsGenerator exporter;
|
|
+ exporter.addDocumentHandler(pHandler, streamType);
|
|
+ return MWAWDocument::decodeSpreadsheet(data, &exporter);
|
|
+}
|
|
+
|
|
+bool MWAWCalcImportFilter::doImportDocument( librevenge::RVNGInputStream &rInput, librevenge::RVNGSpreadsheetInterface &rGenerator )
|
|
+{
|
|
+ return MWAWDocument::MWAW_R_OK == MWAWDocument::parse(&rInput, &rGenerator);
|
|
+}
|
|
+
|
|
+bool MWAWCalcImportFilter::doDetectFormat( librevenge::RVNGInputStream &rInput, OUString &rTypeName )
|
|
+{
|
|
+ rTypeName = "";
|
|
+
|
|
+ MWAWDocument::Type docType = MWAWDocument::MWAW_T_UNKNOWN;
|
|
+ MWAWDocument::Kind docKind = MWAWDocument::MWAW_K_UNKNOWN;
|
|
+ const MWAWDocument::Confidence confidence = MWAWDocument::isFileFormatSupported(&rInput, docType, docKind);
|
|
+
|
|
+ if (confidence == MWAWDocument::MWAW_C_EXCELLENT)
|
|
+ {
|
|
+ if ( docKind == MWAWDocument::MWAW_K_SPREADSHEET || docKind == MWAWDocument::MWAW_K_DATABASE )
|
|
+ {
|
|
+ switch (docType)
|
|
+ {
|
|
+ case MWAWDocument::MWAW_T_BEAGLEWORKS:
|
|
+ rTypeName = "calc_Beagle_Works";
|
|
+ break;
|
|
+ case MWAWDocument::MWAW_T_CLARISRESOLVE:
|
|
+ rTypeName = "calc_Claris_Resolve";
|
|
+ break;
|
|
+ case MWAWDocument::MWAW_T_CLARISWORKS:
|
|
+ rTypeName = "calc_ClarisWorks";
|
|
+ break;
|
|
+ case MWAWDocument::MWAW_T_GREATWORKS:
|
|
+ rTypeName = "calc_Great_Works";
|
|
+ break;
|
|
+ case MWAWDocument::MWAW_T_MICROSOFTWORKS:
|
|
+ rTypeName = "calc_Mac_Works";
|
|
+ break;
|
|
+ case MWAWDocument::MWAW_T_WINGZ:
|
|
+ rTypeName = "calc_Mac_Wingz";
|
|
+ break;
|
|
+
|
|
+ case MWAWDocument::MWAW_T_ACTA:
|
|
+ case MWAWDocument::MWAW_T_ADOBEILLUSTRATOR:
|
|
+ case MWAWDocument::MWAW_T_DBASE:
|
|
+ case MWAWDocument::MWAW_T_DOCMAKER:
|
|
+ case MWAWDocument::MWAW_T_EDOC:
|
|
+ case MWAWDocument::MWAW_T_FAMILYTREEMAKER:
|
|
+ case MWAWDocument::MWAW_T_FILEMAKER:
|
|
+ case MWAWDocument::MWAW_T_FOXBASE:
|
|
+ case MWAWDocument::MWAW_T_FRAMEMAKER:
|
|
+ case MWAWDocument::MWAW_T_FULLIMPACT:
|
|
+ case MWAWDocument::MWAW_T_FULLPAINT:
|
|
+ case MWAWDocument::MWAW_T_FULLWRITE:
|
|
+ case MWAWDocument::MWAW_T_INFOGENIE:
|
|
+ case MWAWDocument::MWAW_T_KALEIDAGRAPH:
|
|
+ case MWAWDocument::MWAW_T_HANMACWORDJ:
|
|
+ case MWAWDocument::MWAW_T_HANMACWORDK:
|
|
+ case MWAWDocument::MWAW_T_LIGHTWAYTEXT:
|
|
+ case MWAWDocument::MWAW_T_MACDOC:
|
|
+ case MWAWDocument::MWAW_T_MACDRAFT:
|
|
+ case MWAWDocument::MWAW_T_MACDRAW:
|
|
+ case MWAWDocument::MWAW_T_MACDRAWPRO:
|
|
+ case MWAWDocument::MWAW_T_MACPAINT:
|
|
+ case MWAWDocument::MWAW_T_MACWRITE:
|
|
+ case MWAWDocument::MWAW_T_MACWRITEPRO:
|
|
+ case MWAWDocument::MWAW_T_MARINERWRITE:
|
|
+ case MWAWDocument::MWAW_T_MINDWRITE:
|
|
+ case MWAWDocument::MWAW_T_MICROSOFTFILE:
|
|
+ case MWAWDocument::MWAW_T_MICROSOFTMULTIPLAN:
|
|
+ case MWAWDocument::MWAW_T_MICROSOFTWORD:
|
|
+ case MWAWDocument::MWAW_T_MORE:
|
|
+ case MWAWDocument::MWAW_T_NISUSWRITER:
|
|
+ case MWAWDocument::MWAW_T_OVERVUE:
|
|
+ case MWAWDocument::MWAW_T_PAGEMAKER:
|
|
+ case MWAWDocument::MWAW_T_PIXELPAINT:
|
|
+ case MWAWDocument::MWAW_T_RAGTIME:
|
|
+ case MWAWDocument::MWAW_T_READYSETGO:
|
|
+ case MWAWDocument::MWAW_T_SUPERPAINT:
|
|
+ case MWAWDocument::MWAW_T_SYMPOSIUM:
|
|
+ case MWAWDocument::MWAW_T_TEACHTEXT:
|
|
+ case MWAWDocument::MWAW_T_TEXEDIT:
|
|
+ case MWAWDocument::MWAW_T_TRAPEZE:
|
|
+ case MWAWDocument::MWAW_T_WRITENOW:
|
|
+ case MWAWDocument::MWAW_T_WRITERPLUS:
|
|
+ case MWAWDocument::MWAW_T_XPRESS:
|
|
+ case MWAWDocument::MWAW_T_ZWRITE:
|
|
+ case MWAWDocument::MWAW_T_4DIMENSION:
|
|
+
|
|
+ case MWAWDocument::MWAW_T_RESERVED1:
|
|
+ case MWAWDocument::MWAW_T_RESERVED2:
|
|
+ case MWAWDocument::MWAW_T_RESERVED3:
|
|
+ case MWAWDocument::MWAW_T_RESERVED4:
|
|
+ case MWAWDocument::MWAW_T_RESERVED5:
|
|
+ case MWAWDocument::MWAW_T_RESERVED6:
|
|
+ case MWAWDocument::MWAW_T_RESERVED7:
|
|
+ case MWAWDocument::MWAW_T_RESERVED8:
|
|
+ case MWAWDocument::MWAW_T_RESERVED9:
|
|
+ case MWAWDocument::MWAW_T_UNKNOWN:
|
|
+ default:
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+
|
|
+ return !rTypeName.isEmpty();
|
|
+}
|
|
+
|
|
+void MWAWCalcImportFilter::doRegisterHandlers( OdsGenerator &rGenerator )
|
|
+{
|
|
+ rGenerator.registerEmbeddedObjectHandler("image/mwaw-odg", &handleEmbeddedMWAWGraphicObject);
|
|
+ rGenerator.registerEmbeddedObjectHandler("image/mwaw-ods", &handleEmbeddedMWAWSpreadsheetObject);
|
|
+}
|
|
+
|
|
+OUString MWAWCalcImportFilter_getImplementationName ()
|
|
+throw (RuntimeException)
|
|
+{
|
|
+ return OUString ( "com.sun.star.comp.Calc.MWAWCalcImportFilter" );
|
|
+}
|
|
+
|
|
+Sequence< OUString > SAL_CALL MWAWCalcImportFilter_getSupportedServiceNames( )
|
|
+throw (RuntimeException)
|
|
+{
|
|
+ Sequence < OUString > aRet(2);
|
|
+ OUString *pArray = aRet.getArray();
|
|
+ pArray[0] = "com.sun.star.document.ImportFilter";
|
|
+ pArray[1] = "com.sun.star.document.ExtendedTypeDetection";
|
|
+ return aRet;
|
|
+}
|
|
+
|
|
+Reference< XInterface > SAL_CALL MWAWCalcImportFilter_createInstance( const Reference< XComponentContext > &rContext)
|
|
+throw( Exception )
|
|
+{
|
|
+ return (cppu::OWeakObject *) new MWAWCalcImportFilter( rContext );
|
|
+}
|
|
+
|
|
+// XServiceInfo
|
|
+OUString SAL_CALL MWAWCalcImportFilter::getImplementationName( )
|
|
+throw (RuntimeException, std::exception)
|
|
+{
|
|
+ return MWAWCalcImportFilter_getImplementationName();
|
|
+}
|
|
+sal_Bool SAL_CALL MWAWCalcImportFilter::supportsService( const OUString &rServiceName )
|
|
+throw (RuntimeException, std::exception)
|
|
+{
|
|
+ return cppu::supportsService( this, rServiceName );
|
|
+}
|
|
+Sequence< OUString > SAL_CALL MWAWCalcImportFilter::getSupportedServiceNames( )
|
|
+throw (RuntimeException, std::exception)
|
|
+{
|
|
+ return MWAWCalcImportFilter_getSupportedServiceNames();
|
|
+}
|
|
+
|
|
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
|
diff --git a/writerperfect/source/calc/MWAWCalcImportFilter.hxx b/writerperfect/source/calc/MWAWCalcImportFilter.hxx
|
|
new file mode 100644
|
|
index 0000000..8062f6b
|
|
--- /dev/null
|
|
+++ b/writerperfect/source/calc/MWAWCalcImportFilter.hxx
|
|
@@ -0,0 +1,53 @@
|
|
+/* -*- 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/.
|
|
+ */
|
|
+
|
|
+#ifndef _MWAWCALCIMPORTFILTER_HXX
|
|
+#define _MWAWCALCIMPORTFILTER_HXX
|
|
+
|
|
+#include <com/sun/star/lang/XServiceInfo.hpp>
|
|
+#include <com/sun/star/uno/XComponentContext.hpp>
|
|
+
|
|
+#include "ImportFilterBase.hxx"
|
|
+
|
|
+/* This component will be instantiated for both import or export. Whether it calls
|
|
+ * setSourceDocument or setTargetDocument determines which Impl function the filter
|
|
+ * member calls */
|
|
+class MWAWCalcImportFilter : public writerperfect::calc::ImportFilterBase
|
|
+{
|
|
+public:
|
|
+ MWAWCalcImportFilter( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext )
|
|
+ : writerperfect::calc::ImportFilterBase( rxContext ) {}
|
|
+
|
|
+ // XServiceInfo
|
|
+ virtual OUString SAL_CALL getImplementationName( )
|
|
+ throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
+ virtual sal_Bool SAL_CALL supportsService( const OUString &ServiceName )
|
|
+ throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
+ virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( )
|
|
+ throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
+
|
|
+private:
|
|
+ virtual bool doDetectFormat( librevenge::RVNGInputStream &rInput, OUString &rTypeName ) SAL_OVERRIDE;
|
|
+ virtual bool doImportDocument( librevenge::RVNGInputStream &rInput, librevenge::RVNGSpreadsheetInterface &rGenerator ) SAL_OVERRIDE;
|
|
+ virtual void doRegisterHandlers( OdsGenerator &rGenerator ) SAL_OVERRIDE;
|
|
+};
|
|
+
|
|
+OUString MWAWCalcImportFilter_getImplementationName()
|
|
+throw ( ::com::sun::star::uno::RuntimeException );
|
|
+
|
|
+::com::sun::star::uno::Sequence< OUString > SAL_CALL MWAWCalcImportFilter_getSupportedServiceNames( )
|
|
+throw ( ::com::sun::star::uno::RuntimeException );
|
|
+
|
|
+::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
|
|
+SAL_CALL MWAWCalcImportFilter_createInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rContext)
|
|
+throw ( ::com::sun::star::uno::Exception );
|
|
+
|
|
+#endif
|
|
+
|
|
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
|
diff --git a/writerperfect/source/calc/wpftcalc.component b/writerperfect/source/calc/wpftcalc.component
|
|
index c2def1e..68c5f85 100644
|
|
--- a/writerperfect/source/calc/wpftcalc.component
|
|
+++ b/writerperfect/source/calc/wpftcalc.component
|
|
@@ -13,4 +13,8 @@
|
|
<service name="com.sun.star.document.ImportFilter"/>
|
|
<service name="com.sun.star.document.ExtendedTypeDetection"/>
|
|
</implementation>
|
|
+ <implementation name="com.sun.star.comp.Calc.MWAWCalcImportFilter">
|
|
+ <service name="com.sun.star.document.ImportFilter"/>
|
|
+ <service name="com.sun.star.document.ExtendedTypeDetection"/>
|
|
+ </implementation>
|
|
</component>
|
|
diff --git a/writerperfect/source/calc/wpftcalc_genericfilter.cxx b/writerperfect/source/calc/wpftcalc_genericfilter.cxx
|
|
index eecd0b0..2641010 100644
|
|
--- a/writerperfect/source/calc/wpftcalc_genericfilter.cxx
|
|
+++ b/writerperfect/source/calc/wpftcalc_genericfilter.cxx
|
|
@@ -30,6 +30,7 @@
|
|
#include "sal/types.h"
|
|
|
|
#include "MSWorksCalcImportFilter.hxx"
|
|
+#include "MWAWCalcImportFilter.hxx"
|
|
|
|
namespace {
|
|
|
|
@@ -37,6 +38,9 @@ static cppu::ImplementationEntry const services[] = {
|
|
{ &MSWorksCalcImportFilter_createInstance, &MSWorksCalcImportFilter_getImplementationName,
|
|
&MSWorksCalcImportFilter_getSupportedServiceNames,
|
|
&cppu::createSingleComponentFactory, 0, 0 },
|
|
+ { &MWAWCalcImportFilter_createInstance, &MWAWCalcImportFilter_getImplementationName,
|
|
+ &MWAWCalcImportFilter_getSupportedServiceNames,
|
|
+ &cppu::createSingleComponentFactory, 0, 0 },
|
|
{ 0, 0, 0, 0, 0, 0 } };
|
|
|
|
}
|
|
--
|
|
1.9.3
|
|
|