[QGIS Commit] r9829 - branches/vector_overlay_branch/src/plugins/diagram_overlay

svn_qgis at osgeo.org svn_qgis at osgeo.org
Tue Dec 16 10:50:10 EST 2008


Author: mhugent
Date: 2008-12-16 10:50:10 -0500 (Tue, 16 Dec 2008)
New Revision: 9829

Modified:
   branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactory.cpp
   branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactory.h
   branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactorywidget.cpp
Log:
insert svg path when reopening the dialog for proportional svg symbols

Modified: branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactory.cpp
===================================================================
--- branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactory.cpp	2008-12-16 15:32:06 UTC (rev 9828)
+++ branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactory.cpp	2008-12-16 15:50:10 UTC (rev 9829)
@@ -69,8 +69,9 @@
   return 1; //soon...
 }
 
-bool QgsSVGDiagramFactory::setSVGData(const QByteArray& data)
+bool QgsSVGDiagramFactory::setSVGData(const QByteArray& data, const QString& filePath)
 {
+  mSvgFilePath = filePath;
   return mRenderer.load(data);
 }
 

Modified: branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactory.h
===================================================================
--- branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactory.h	2008-12-16 15:32:06 UTC (rev 9828)
+++ branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactory.h	2008-12-16 15:50:10 UTC (rev 9829)
@@ -53,10 +53,15 @@
 
   /**Sets the SVG data to be rendered.
    @return true in case of success*/
-  bool setSVGData(const QByteArray& data);
+  bool setSVGData(const QByteArray& data, const QString& filePath = "");
 
+  QString svgFilePath() const {return mSvgFilePath;}
+
  private:
   mutable QSvgRenderer mRenderer;
+
+  /**Path to the current svg file. Mainly for the purpose of inserting the path into a newly created dialog*/
+  QString mSvgFilePath;
 };
 
 #endif

Modified: branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactorywidget.cpp
===================================================================
--- branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactorywidget.cpp	2008-12-16 15:32:06 UTC (rev 9828)
+++ branches/vector_overlay_branch/src/plugins/diagram_overlay/qgssvgdiagramfactorywidget.cpp	2008-12-16 15:50:10 UTC (rev 9829)
@@ -60,7 +60,7 @@
     QByteArray svgData = svgFile.readAll();
 
     QgsSVGDiagramFactory* factory = new QgsSVGDiagramFactory();
-    if(!factory->setSVGData(svgData))
+    if(!factory->setSVGData(svgData, filePath))
     {
         delete factory; return 0;
     }
@@ -71,6 +71,11 @@
 void QgsSVGDiagramFactoryWidget::setExistingFactory(const QgsDiagramFactory* f)
 {
     mPreviewListWidget->setLayoutDirection(Qt::LeftToRight);
+    const QgsSVGDiagramFactory* svgFactory = dynamic_cast<const QgsSVGDiagramFactory*>(f);
+    if(svgFactory)
+    {
+        mPictureLineEdit->setText(svgFactory->svgFilePath());
+    }
 }
 
 void QgsSVGDiagramFactoryWidget::on_mPictureBrowseButton_clicked()



More information about the QGIS-commit mailing list