Added some svgviewer code for possible future switch to QGraphicsWebView
authorClifford Wolf <clifford@clifford.at>
Wed, 27 Nov 2013 19:43:42 +0000 (20:43 +0100)
committerClifford Wolf <clifford@clifford.at>
Wed, 27 Nov 2013 19:43:42 +0000 (20:43 +0100)
libs/svgviewer/mainwindow.cpp
libs/svgviewer/svgview.cpp
libs/svgviewer/svgviewer.pro

index b352ff9f79f853843c1655847ae92d0f6cd2e7d7..f8f72e5c4e3ce2dfa5f58f74c1b1ada93defb2e2 100644 (file)
@@ -109,7 +109,7 @@ MainWindow::MainWindow()
             this, SLOT(setRenderer(QAction*)));
 
     setCentralWidget(m_view);
-    setWindowTitle(tr("SVG Viewer"));
+    setWindowTitle(tr("Yosys SVG Viewer"));
 }
 
 void MainWindow::openFile(const QString &path, bool reload)
@@ -147,7 +147,7 @@ void MainWindow::openFile(const QString &path, bool reload)
         if (!fileName.startsWith(":/"))
        {
             m_currentPath = fileName;
-            setWindowTitle(tr("%1 - SVGViewer").arg(m_currentPath));
+            setWindowTitle(tr("%1 - Yosys SVG Viewer").arg(m_currentPath));
 
            // just keep the file open so this process is found using 'fuser'
            m_filehandle = fopen(fileName.toAscii(), "r");
index da9a4aee30e1819f4cb99cbcc9df204e9323edfa..d41f542d00ab6ada051d31f17f7e267a118f0ecb 100644 (file)
@@ -44,6 +44,7 @@
 #include <QMouseEvent>
 #include <QGraphicsRectItem>
 #include <QGraphicsSvgItem>
+#include <QGraphicsWebView>
 #include <QPaintEvent>
 #include <qmath.h>
 
@@ -96,16 +97,29 @@ void SvgView::openFile(const QFile &file)
     s->clear();
     resetTransform();
 
+#if 0
+    QGraphicsWebView *webview = new QGraphicsWebView();
+    QString fn = file.fileName();
+    if (fn[0] != '/') {
+        char cwd_buffer[4096];
+        if (getcwd(cwd_buffer, 4096) != NULL)
+            fn = cwd_buffer + ("/" + fn);
+    }
+    webview->load(QUrl::fromLocalFile(fn));
+    webview->setResizesToContents(true);
+    m_svgItem = webview;
+#else
     m_svgItem = new QGraphicsSvgItem(file.fileName());
+#endif
     m_svgItem->setFlags(QGraphicsItem::ItemClipsToShape);
     m_svgItem->setCacheMode(QGraphicsItem::NoCache);
-    m_svgItem->setZValue(0);
+    m_svgItem->setZValue(1);
 
     m_backgroundItem = new QGraphicsRectItem(m_svgItem->boundingRect());
     m_backgroundItem->setBrush(Qt::white);
     m_backgroundItem->setPen(Qt::NoPen);
     m_backgroundItem->setVisible(drawBackground);
-    m_backgroundItem->setZValue(-1);
+    m_backgroundItem->setZValue(0);
 
     m_outlineItem = new QGraphicsRectItem(m_svgItem->boundingRect());
     QPen outline(Qt::black, 2, Qt::DashLine);
@@ -113,7 +127,7 @@ void SvgView::openFile(const QFile &file)
     m_outlineItem->setPen(outline);
     m_outlineItem->setBrush(Qt::NoBrush);
     m_outlineItem->setVisible(drawOutline);
-    m_outlineItem->setZValue(1);
+    m_outlineItem->setZValue(2);
 
     s->addItem(m_backgroundItem);
     s->addItem(m_svgItem);
index 0d938f4440037d63a96ff0774653fc086198dbf7..488c62fd54cbceb3a8cd08ee706e72833c5c037f 100644 (file)
@@ -4,7 +4,7 @@ RESOURCES     = svgviewer.qrc
 SOURCES       = main.cpp \
                 mainwindow.cpp \
                 svgview.cpp
-QT           += svg xml
+QT           += webkit svg xml
 
 contains(QT_CONFIG, opengl): QT += opengl