diff options
| author | Fridrich Strba <fridrich.strba@bluewin.ch> | 2014-10-17 02:38:20 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2014-10-17 02:38:20 +0000 |
| commit | ce59a1f6e746f40805550bdfffa8501776e824de (patch) | |
| tree | 86c0d97bfc286ecb00a8225720ab7190caadd6fd /src/ui | |
| parent | Merge in osx-packaging-update branch. OS X packaging now works correctly for ... (diff) | |
| parent | update to trunk (r13560) (diff) | |
| download | inkscape-ce59a1f6e746f40805550bdfffa8501776e824de.tar.gz inkscape-ce59a1f6e746f40805550bdfffa8501776e824de.zip | |
Port inkscape to librevenge framework for WPG, CDR and VSD imports
Fixed bugs:
- https://launchpad.net/bugs/1323592
Original authors:
- Fridrich Strba <fridrich.strba@bluewin.ch>
- Alex Valavanis <valavanisalex@gmail.com>
(bzr r13621)
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/dialog/symbols.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/ui/dialog/symbols.cpp b/src/ui/dialog/symbols.cpp index c58df864c..a9cf8d068 100644 --- a/src/ui/dialog/symbols.cpp +++ b/src/ui/dialog/symbols.cpp @@ -62,8 +62,20 @@ #include "widgets/icon.h" #ifdef WITH_LIBVISIO -#include <libvisio/libvisio.h> -#include <libwpd-stream/libwpd-stream.h> + #include <libvisio/libvisio.h> + + // TODO: Drop this check when librevenge is widespread. + #if WITH_LIBVISIO01 + #include <librevenge-stream/librevenge-stream.h> + + using librevenge::RVNGFileStream; + using librevenge::RVNGStringVector; + #else + #include <libwpd-stream/libwpd-stream.h> + + typedef WPXFileStream RVNGFileStream; + typedef libvisio::VSDStringVector RVNGStringVector; + #endif #endif #include "verbs.h" @@ -495,14 +507,20 @@ void SymbolsDialog::iconChanged() { // Read Visio stencil files SPDocument* read_vss( gchar* fullname, gchar* filename ) { - WPXFileStream input(fullname); + RVNGFileStream input(fullname); if (!libvisio::VisioDocument::isSupported(&input)) { return NULL; } - libvisio::VSDStringVector output; + RVNGStringVector output; +#if WITH_LIBVISIO01 + librevenge::RVNGSVGDrawingGenerator generator(output, "svg"); + + if (!libvisio::VisioDocument::parseStencils(&input, &generator)) { +#else if (!libvisio::VisioDocument::generateSVGStencils(&input, output)) { +#endif return NULL; } |
