Merge the improvements to the ODF reader: - Basic reader for ODS - Reader for frames - Reader for most graphics items - Reader for charts - Support for tables

Desktop / KDE / Calligra - Inge Wallin [lysator.liu.se] - 2 March 2015 06:05 UTC

Merge the improvements to the ODF reader:- Basic reader for ODS- Reader for frames- Reader for most graphics items- Reader for charts- Support for tables in the text reader- Better support for tables in the text reader- Smarter implementation

REVIEW: 122035

Squashed commit of the following:

commit d0255df44214f471d1b560dab5e63cfd6b24a440 Merge: 70d29fc 0f6dd09 Author: Inge Wallin Date: Mon Mar 2 00:27:23 2015 +0100

Merge branch 'master' into filters-libodfreader-ingwa

commit 70d29fcf7175adf6d4cb9e6e1b8639726f1b2831 Merge: 4136306 c9e4f87 Author: Inge Wallin Date: Wed Feb 25 19:32:48 2015 +0100

Merge branch 'master' into filters-libodfreader-ingwa

commit 41363060c53f84836611b2149d4e82f044683830 Merge: e20537d 189c859 Author: Inge Wallin Date: Tue Jan 13 15:10:33 2015 +0100

Merge branch 'master' into filters-libodfreader-ingwa

commit e20537df4f4085c4f80bdd2e0e5a43181b496984 Merge: 0f989c5 ccbd9e3 Author: Inge Wallin Date: Sun Oct 26 02:59:36 2014 +0100

Merge branch 'master' into filters-libodfreader-ingwa

commit ccbd9e3f2d2ef17db204c3833de9a3ba6dc47e1d Author: Inge Wallin Date: Mon Oct 6 20:28:06 2014 +0200

Fix build

commit 0f989c54990da8c0681aefaeebeee411b8b8c678 Author: Inge Wallin Date: Sun Oct 19 16:52:37 2014 +0200

Implement graphics objects and 3D objects

commit 8356af68fee60c222ba9bbf3617e32008dc98409 Author: Inge Wallin Date: Sun Oct 19 06:25:53 2014 +0200

Support for and all its children

This completes the chart reader.

There is also a new macro: IMPLEMENT_READER_FUNCTION_ONE_CHILD

commit e13387a7dd506361956e4278b1fba2617f212020 Author: Inge Wallin Date: Sun Oct 19 05:21:36 2014 +0200

Support for chart:axis and children

commit b6b049eb3eec9c4839aab61ea944739e4181463f Merge: 3e3c5bd 367991a Author: Inge Wallin Date: Sun Oct 19 04:30:37 2014 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit 367991ab885b318930d82ddf7eaa13986d1d3cbc Author: Inge Wallin Date: Mon Oct 6 20:28:06 2014 +0200

Fix build

commit 3e3c5bd1e9f018c02cba78e5857b5283a005b46f Merge: 41ef6e4 c30c93a Author: Inge Wallin Date: Fri Oct 17 01:02:30 2014 +0200

Merge branch 'master' into filters-libodfreader-ingwa

Conflicts: plugins/semanticitems/event/KoRdfCalendarEvent.h

commit c30c93a5263e3df9970ad97f3b6d64b11a25d6e2 Author: Inge Wallin Date: Mon Oct 6 20:28:06 2014 +0200

Fix build

commit 41ef6e4f49b7240be0becbfb24b015ee435a6c22 Merge: e7b3ed3 edfcd93 Author: Inge Wallin Date: Mon Oct 6 21:07:38 2014 +0200

Merge branch 'master' into filters-libodfreader-ingwa

Conflicts: plugins/semanticitems/event/KoRdfCalendarEvent.h

commit edfcd938a6ed4ba90b0d01f0740855fb4a6fbf9a Author: Inge Wallin Date: Mon Oct 6 20:28:06 2014 +0200

Fix build

commit e7b3ed300dcd976b1263301bbbcb349b45087a26 Author: Inge Wallin Date: Mon Oct 6 20:19:33 2014 +0200

Improve some comments

commit cd1541f3025abaad71a5e2743beaeccfd4fac7ba Author: Inge Wallin Date: Sun Oct 5 02:02:52 2014 +0200

More macros.

commit c4503f51de72958bc978b95ccb23dbb11fb655a3 Author: Inge Wallin Date: Sun Oct 5 01:15:50 2014 +0200

Use macros everywhere for repetitive functions.

commit 286025c7873e8238c4d90a85a25bcadf1b4ce24a Author: Inge Wallin Date: Sun Oct 5 00:33:59 2014 +0200

Use the new macros to declare all reader functions

commit 1d3a79ce1375535866eaf0898647f028b5caf113 Author: Inge Wallin Date: Sun Oct 5 00:19:00 2014 +0200

ChartReader: More support for children of chart:chart

Also: some implementation and declaration macros

commit 41a2221cb8a94c9b008267afe632ed9521bdc257 Author: Inge Wallin Date: Sat Oct 4 22:10:52 2014 +0200

Make it build again

commit 07c19ff71e02b01b539bec2d1435c6f0dc5a9930 Author: Inge Wallin Date: Sat Oct 4 21:08:09 2014 +0200

Mark as done

commit c494850d3d8a2f4479b1c77b343ff1829291943c Merge: 396165b ecaf659 Author: Inge Wallin Date: Sat Oct 4 20:12:37 2014 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit 396165b871ed4d3183791b4d08a69c65941d6e71 Author: Inge Wallin Date: Sat Oct 4 02:03:01 2014 +0200

ChartReader: Implement support for legend.

commit e5b4005dfa5abf012979a8e327b509923ee69cf2 Author: Inge Wallin Date: Sat Oct 4 01:38:47 2014 +0200

Forgot to call the new functions

commit 06af78488c8e09d8a1be7ee68ef105c3c28febdf Author: Inge Wallin Date: Sat Oct 4 01:31:20 2014 +0200

Chart reader: Implement the simple parts.

- chart:footer- chart:title- chart:subtitle- table:table

commit 33fc0801d2a2439209caba5b6a6420c76af646b0 Merge: cb2b386 72a8017 Author: Inge Wallin Date: Fri Oct 3 23:51:55 2014 +0200

Merge branch 'master' into filters-libodfreader-ingwa

Conflicts: filters/libodfreader/OdfTextReader.cpp filters/libodfreader/OdfTextReader.h

commit cb2b38608b1fcfc7b44ee4b02a542224f727249f Author: Inge Wallin Date: Thu Oct 2 02:16:22 2014 +0200

First embryo of a chart reader

commit abf8c690e9929e94e60da2d91ca45e5c5d2fb58c Author: Inge Wallin Date: Thu Oct 2 02:15:11 2014 +0200

Fix minor issues in OdfDrawReader.h

- a typo- unnecessary class declarations

commit bbc3e12f9a15ffb2315d1d96cd05c7aef544732f Merge: a2ed867 beea244 Author: Inge Wallin Date: Tue Sep 30 21:16:43 2014 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit a2ed867a4cbb1bda7bfafbf6b3384ce057d91e0c Author: Inge Wallin Date: Tue Sep 30 21:15:16 2014 +0200

Add support for OLE objects in frames

commit 5e655eb21cf93f9936c4201c9e9cd4d0a6625a7d Author: Inge Wallin Date: Sun Sep 28 01:01:56 2014 +0200

Finish the support for

commit b5b575e82ed2cca50d6d2561a9658355ad74f422 Merge: 1213ce6 ee0ae28 Author: Inge Wallin Date: Sat Sep 27 20:13:56 2014 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit 1213ce6fa8e454c41e1265f6516b8ff25495af1b Author: Inge Wallin Date: Sat Sep 27 20:11:56 2014 +0200

Finish table support in the OdfTextReader.

Also add a new XML utility which can be used in many other places.

commit 7747c76f152c9913a2aa4d81a662ebdbf47ca156 Merge: 7199351 0e51913 Author: Inge Wallin Date: Fri Sep 26 00:05:31 2014 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit 7199351bb89689127bb41d0ec3b5023132aa5801 Author: Inge Wallin Date: Thu Sep 25 04:30:24 2014 +0200

Add support for and to the text reader

commit 63f76c41cadc839e5a08ea82a02fe7a26761d90d Author: Inge Wallin Date: Thu Sep 25 04:04:16 2014 +0200

Add support for and in frames.

commit fb3b47febeac5e76ac4d41f96f05aa6ac52011d4 Author: Inge Wallin Date: Wed Sep 24 22:41:42 2014 +0200

Add support for

commit f1f82a672cd3cb1a2cc18784d051f1c3f33776a0 Author: Inge Wallin Date: Mon Sep 22 17:55:49 2014 +0200

More support for tables



commit 5e8530d8a51cad280e9642fbf84a063b8837afde Author: Inge Wallin Date: Mon Sep 22 17:25:47 2014 +0200

Call the draw reader from more places

commit 964a3adcce3128537c6b0b1c8f46b42a29694237 Author: Inge Wallin Date: Mon Sep 22 14:13:53 2014 +0200

Create a foundation for the draw reader.

From here on it's just filling in all the graphics objects.

commit 00bdcd9eb72b93099f41d7d542aa18cb440aa983 Author: Inge Wallin Date: Mon Sep 22 05:52:14 2014 +0200

Add support for reading graphics elements.

This is done by introducing the OdfDrawReader which is similar to the OdfTextReader except it handles graphics elements mainly in the dr3d and draw namespaces.

commit 9c248e6bf7d60b628559a1ad43d412a91151ae20 Author: Inge Wallin Date: Mon Sep 22 04:15:31 2014 +0200

Implement a spreadsheet reader.

commit b0f62e518b25c650a7dfffaa101a25e22ce17a2a Author: Inge Wallin Date: Sun Sep 21 04:04:42 2014 +0200

Prepare for more readers of ODF files than just ODT.

This patch creates a baseclass OdfReader, which is inherited by OdtReader. Most of the common functionality is kept in OdfReader. There is also a new accompanying class OdfReaderBackend which is inherited by OdtReaderBackend.

The same pattern will be followed by OdsReader, OdpReader and so on.

commit 350d9a8ad09885354f15da3077fb2a70406b6d35 Merge: b8b2d51 f436f6b Author: Inge Wallin Date: Sun Sep 21 02:49:12 2014 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit b8b2d517ac8e24f870217cdfebea7feca436197a Author: Inge Wallin Date: Sat Sep 20 23:05:31 2014 +0200

README: Fixed some typos

commit 5334c0ee94191fd39dcb9336873ec48f6e298fe9 Author: Inge Wallin Date: Sat Sep 20 03:24:11 2014 +0200

Small fixes in the odf reader.

commit 6ae66d0202360b70ed65cac326cbb2a4054eaa46 Merge: 79016d9 e15f4cc Author: Inge Wallin Date: Fri Sep 19 21:34:41 2014 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit 79016d9731c3286ac0728580b0c9b284391f9d65 Merge: c3656f7 089dff6 Author: Inge Wallin Date: Sun Apr 13 12:54:49 2014 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit c3656f7df06f10af3d7abdb7725d334eb92469a5 Merge: b780dd3 f1c4432 Author: Inge Wallin Date: Sun Aug 25 19:23:06 2013 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit b780dd3c0adb9874f7fc72d7bfd579f7ff5f60f1 Author: Inge Wallin Date: Sun Aug 25 11:10:56 2013 +0200

Define LIBODFREADER_INCLUDES in the main CMakeLists.txt

commit 6d01c07c0fd4086301794f22709c24918932e980 Author: Inge Wallin Date: Sun Aug 25 09:26:54 2013 +0200

Implement support for .

commit f8071086e346bee93ba6be4101e080dacce0f90c Author: Inge Wallin Date: Sun Aug 25 08:59:58 2013 +0200

Implement table:covered-table-cell

commit 003298177a95af1eb456c343fcbf8bedcfd6afa3 Author: Inge Wallin Date: Sun Aug 25 08:49:02 2013 +0200

Better comments

commit 33e182f456bff86d2bf6c9d7986d9bc5ff849091 Author: Inge Wallin Date: Sun Aug 25 08:20:29 2013 +0200

Enable reading of table contents.

commit 35a7e163725412fc972a4df52e11917fdd417542 Author: Inge Wallin Date: Sat Aug 24 18:56:41 2013 +0200

Add support for table header rows.

Also do some nicer formatting of some comments

commit 83111e63651ede0f22835d8e7ce23254d83cfaea Author: Inge Wallin Date: Sat Aug 24 11:24:14 2013 +0200

Implement very basic support for tables

commit 5de9e69685bdaf3e1620d07b7ca13117520bb381 Merge: 43d6494 9c43651 Author: Inge Wallin Date: Fri Aug 23 02:34:08 2013 +0200

Merge branch 'master' into filters-libodfreader-ingwa

Conflicts: filters/libodfreader/OdtReaderBackend.cpp filters/libodfreader/OdtReaderBackend.h

commit 43d649485099d61cedbc91c5aafcd5ecd8a9bfaf Author: Inge Wallin Date: Thu Jul 18 23:02:13 2013 +0200

Make the API of the OdtReaderBackend slightly saner.

Previously there was a completely unused pointer given to the constructor.

commit 251716c604e68e5525f6b9c6bfd0ea01a943a407 Author: Inge Wallin Date: Thu Jul 18 22:32:16 2013 +0200

Split out a reader for ODF text contents.

This prepares for readers of e.g. ODS and ODP since it means that we can share the text reading part between them.

Also adapt the ascii filter to the new API.

commit eb5e0f50e3b2a461837f14daeaa725dfa8933dae Author: Inge Wallin Date: Thu Jul 18 15:04:47 2013 +0200

Prepare for merge into master

- Remove some things to come in later installments
- Fix a build issue.

commit 83017f4258513c5bfeaa7e877ce27c2db5fcc538 Merge: 73570b5 35ca4ac Author: Inge Wallin Date: Thu Jul 18 14:41:40 2013 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit 73570b5a3f7b3478d772610c794aa7476c23d4d3 Merge: a46ecd9 cc6f5ab Author: Inge Wallin Date: Sun Jul 14 14:29:51 2013 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit a46ecd992995474a85af245395e38d80c9a74b21 Merge: 80a6a66 7e03514 Author: Inge Wallin Date: Sat Jul 6 07:51:48 2013 +0700

Merge branch 'master' into filters-libodfreader-ingwa

Conflicts: filters/libodfreader/CMakeLists.txt

commit 80a6a66e1240bcc581e62276a2b9cd06cee3cd32 Author: Inge Wallin Date: Sat Jun 8 22:05:07 2013 +0200

Add documentation and support for a few new elements.

commit 591bacd9cb3e972528eb79ec489f65a26ff615ff Merge: bf7ed75 cedf488 Author: Inge Wallin Date: Sat Jun 1 15:12:31 2013 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit bf7ed7502d85f6455312c8fb3888a21fe481e372 Author: Inge Wallin Date: Wed May 22 02:20:04 2013 +0200

Implement elementOfficeDocumentcontent() backend call

This is the last one of the document level callbacks.

commit 22c0ab5311d21491f8eb8249f408da55c1ff0054 Merge: 613c7b4 ac8f70b Author: Inge Wallin Date: Tue May 21 21:44:59 2013 +0200

Merge branch 'master' into filters-libodfreader-ingwa

We need the newly merged changes from libs-odf2-ingwa.

commit 613c7b480b708c5370ce179765376788585da645 Author: Inge Wallin Date: Sun May 19 13:31:45 2013 +0200

Some cleanup.

commit 592c376fff0d9ab980c8f914cdad336013ad23cc Author: Inge Wallin Date: Sun May 19 12:30:31 2013 +0200

Make it easy to turn debug on and off.

commit 2e318ad5e0d2f3f40002b4f1209d5be056f51a22 Author: Inge Wallin Date: Sun May 19 12:11:09 2013 +0200

Fix last bug with the OdtReader.

This makes the ascii export filter work! In fact it's already better than the old one because this one also extracts contents inside tables.

commit 8d32f10efea822af97b187a9662d369980dedf7b Author: Inge Wallin Date: Sun May 19 12:01:24 2013 +0200

More fixes and more debug.

commit cc5c24036bc06147a80a26d4dd1d73b243e777ad Author: Inge Wallin Date: Sun May 19 03:23:14 2013 +0200

Improve debugging and fix a couple of bugs.

commit 53017dfbdd5546ec0912fb673410cf6a195f3b85 Author: Inge Wallin Date: Sun May 19 00:51:29 2013 +0200

Add more features to the reader

- support for all children office:text (most are ignored)- debug statements- better parsing

commit c3cb4a6065a25351a14342d8e9dee0f5cfb084d5 Author: Inge Wallin Date: Sat May 18 22:10:36 2013 +0200

Port the ascii filter to the odfreader.

Still doesn't work perfectly.

commit 0a4d1ee10c1d0104b24b89de4702d7859a02aa69 Author: Inge Wallin Date: Sat May 18 19:58:11 2013 +0200

Handle unknown elements

commit f7500ab149b243afe11bb1806d6bccb4be5653df Merge: 9c14652 0b8b9c7 Author: Inge Wallin Date: Sat May 18 19:02:40 2013 +0200

Merge branch 'master' into filters-libodfreader-ingwa

commit 9c14652d8f35946b80b9255b4d2113229f082875 Author: Inge Wallin Date: Sun May 12 21:33:35 2013 +0200

Add a simple README to the library.

commit e26e12a9baea6f8492926e12ce0e03ac3115b50f Author: Inge Wallin Date: Sun May 12 17:12:41 2013 +0200

Use our own version of prepareForOdf() until it's exported from libodf.

commit 884c2e681231fe4a926012b2a9f83510b4b598ec Author: Inge Wallin Date: Sun May 12 17:05:25 2013 +0200

Add the first embryo to the new reader and the backend class.

commit fb0a654b9577d12d7c42b49e3de6f798acf6f8b1 Author: Inge Wallin Date: Sun May 12 14:12:50 2013 +0200

Forgot the export macros.

commit 5bc522bc16c2fd962c2f8f2d2c80f5a3695d9194 Author: Inge Wallin Date: Sun May 12 14:11:28 2013 +0200

First commit on the new odfreader library.

This one contains:- create the directory- define the LIB_ODFREADER product in cmake- include it in all levels of cmake files- First two classes: OdfParser and OdfReaderContext

b2ad4ee Merge the improvements to the ODF reader: - Basic reader for ODS - Reader for frames - Reader for most graphics items - Reader for charts - Support for tables in the text reader - Better support for tables in the text reader - Smarter implementation
filters/libodf2/CMakeLists.txt | 2 +
filters/libodf2/KoXmlStreamReader.h | 2 +-
filters/libodf2/KoXmlUtils.cpp | 47 +++
filters/libodf2/KoXmlUtils.h | 46 +++
filters/libodfreader/CMakeLists.txt | 12 +-
filters/libodfreader/OdfChartReader.cpp | 390 ++++++++++++++++++
filters/libodfreader/OdfChartReader.h | 108 +++++
filters/libodfreader/OdfChartReaderBackend.cpp | 97 +++++
filters/libodfreader/OdfChartReaderBackend.h | 95 +++++
filters/libodfreader/OdfDrawReader.cpp | 518 ++++++++++++++++++++++++
filters/libodfreader/OdfDrawReader.h | 125 ++++++
filters/libodfreader/OdfDrawReaderBackend.cpp | 108 +++++
filters/libodfreader/OdfDrawReaderBackend.h | 103 +++++
filters/libodfreader/OdfReader.cpp | 396 ++++++++++++++++++
filters/libodfreader/OdfReader.h | 115 ++++++
filters/libodfreader/OdfReaderBackend.cpp | 76 ++++
filters/libodfreader/OdfReaderBackend.h | 88 ++++
filters/libodfreader/OdfReaderInternals.h | 79 ++++
filters/libodfreader/OdfTextReader.cpp | 247 +++++++++--
filters/libodfreader/OdfTextReader.h | 54 ++-
filters/libodfreader/OdfTextReaderBackend.cpp | 159 ++------
filters/libodfreader/OdfTextReaderBackend.h | 52 ++-
filters/libodfreader/OdsReader.cpp | 207 ++++++++++
filters/libodfreader/OdsReader.h | 86 ++++
filters/libodfreader/OdsReaderBackend.cpp | 75 ++++
filters/libodfreader/OdsReaderBackend.h | 89 ++++
filters/libodfreader/OdtReader.cpp | 224 +---------
filters/libodfreader/OdtReader.h | 28 +-
filters/libodfreader/OdtReaderBackend.cpp | 21 +-
filters/libodfreader/OdtReaderBackend.h | 10 +-
30 files changed, 3200 insertions(+), 459 deletions(-)

Upstream: quickgit.kde.org


  • Share