summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorFridrich 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
commitce59a1f6e746f40805550bdfffa8501776e824de (patch)
tree86c0d97bfc286ecb00a8225720ab7190caadd6fd /src/ui
parentMerge in osx-packaging-update branch. OS X packaging now works correctly for ... (diff)
parentupdate to trunk (r13560) (diff)
downloadinkscape-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.cpp26
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;
}