[QGIS Commit] r10779 - in branches/symbology-ng-branch/src/core: . symbology-ng

svn_qgis at osgeo.org svn_qgis at osgeo.org
Wed May 13 07:23:30 EDT 2009


Author: wonder
Date: 2009-05-13 07:23:29 -0400 (Wed, 13 May 2009)
New Revision: 10779

Modified:
   branches/symbology-ng-branch/src/core/qgsapplication.cpp
   branches/symbology-ng-branch/src/core/qgsapplication.h
   branches/symbology-ng-branch/src/core/symbology-ng/qgsmarkersymbollayerv2.cpp
   branches/symbology-ng-branch/src/core/symbology-ng/qgsstylev2.cpp
   branches/symbology-ng-branch/src/core/symbology-ng/qgssymbolv2.cpp
   branches/symbology-ng-branch/src/core/symbology-ng/qgssymbolv2.h
Log:
bugfixes and functions returning master / user's style file path


Modified: branches/symbology-ng-branch/src/core/qgsapplication.cpp
===================================================================
--- branches/symbology-ng-branch/src/core/qgsapplication.cpp	2009-05-13 10:29:54 UTC (rev 10778)
+++ branches/symbology-ng-branch/src/core/qgsapplication.cpp	2009-05-13 11:23:29 UTC (rev 10779)
@@ -272,6 +272,16 @@
   return mPkgDataPath + QString( "/svg/" );
 }
 
+const QString QgsApplication::userStyleV2Path()
+{
+  return qgisSettingsDirPath() + QString( "symbology-ng-style.xml" );
+}
+
+const QString QgsApplication::defaultStyleV2Path()
+{
+  return mPkgDataPath + QString( "/resources/symbology-ng-style.xml" );
+}
+
 QgsApplication::endian_t QgsApplication::endian()
 {
   return ( htonl( 1 ) == 1 ) ? XDR : NDR ;

Modified: branches/symbology-ng-branch/src/core/qgsapplication.h
===================================================================
--- branches/symbology-ng-branch/src/core/qgsapplication.h	2009-05-13 10:29:54 UTC (rev 10778)
+++ branches/symbology-ng-branch/src/core/qgsapplication.h	2009-05-13 11:23:29 UTC (rev 10779)
@@ -111,6 +111,12 @@
     //! Returns the path to the default theme directory.
     static const QString defaultThemePath();
 
+    //! Returns the path to user's style. Added in QGIS 1.2
+    static const QString userStyleV2Path();
+
+    //! Returns the path to default style (works as a starting point). Added in QGIS 1.2
+    static const QString defaultStyleV2Path();
+
     //! Alters prefix path - used by 3rd party apps
     static void setPrefixPath( const QString thePrefixPath, bool useDefaultPaths = FALSE );
 

Modified: branches/symbology-ng-branch/src/core/symbology-ng/qgsmarkersymbollayerv2.cpp
===================================================================
--- branches/symbology-ng-branch/src/core/symbology-ng/qgsmarkersymbollayerv2.cpp	2009-05-13 10:29:54 UTC (rev 10778)
+++ branches/symbology-ng-branch/src/core/symbology-ng/qgsmarkersymbollayerv2.cpp	2009-05-13 11:23:29 UTC (rev 10779)
@@ -4,6 +4,7 @@
 
 #include "qgsrendercontext.h"
 #include "qgsapplication.h"
+#include "qgslogger.h"
 
 #include <QPainter>
 #include <QSvgRenderer>
@@ -43,7 +44,7 @@
   if (props.contains("size"))
     size = props["size"].toDouble();
   if (props.contains("angle"))
-    size = props["angle"].toDouble();
+    angle = props["angle"].toDouble();
   
   return new QgsSimpleMarkerSymbolLayerV2(name, color, borderColor, size, angle);
 }
@@ -253,7 +254,7 @@
   if (props.contains("size"))
     size = props["size"].toDouble();
   if (props.contains("angle"))
-    size = props["angle"].toDouble();
+    angle = props["angle"].toDouble();
   
   return new QgsSvgMarkerSymbolLayerV2(name, size, angle);
 }

Modified: branches/symbology-ng-branch/src/core/symbology-ng/qgsstylev2.cpp
===================================================================
--- branches/symbology-ng-branch/src/core/symbology-ng/qgsstylev2.cpp	2009-05-13 10:29:54 UTC (rev 10778)
+++ branches/symbology-ng-branch/src/core/symbology-ng/qgsstylev2.cpp	2009-05-13 11:23:29 UTC (rev 10779)
@@ -411,7 +411,7 @@
   
   // save
   QFile f(filename);
-  if (!f.open(QFile::ReadWrite))
+  if (!f.open(QFile::WriteOnly))
   {
     mErrorString = "Couldn't open file for writing: "+filename;
     return false;

Modified: branches/symbology-ng-branch/src/core/symbology-ng/qgssymbolv2.cpp
===================================================================
--- branches/symbology-ng-branch/src/core/symbology-ng/qgssymbolv2.cpp	2009-05-13 10:29:54 UTC (rev 10778)
+++ branches/symbology-ng-branch/src/core/symbology-ng/qgssymbolv2.cpp	2009-05-13 11:23:29 UTC (rev 10779)
@@ -198,6 +198,19 @@
   }
 }
 
+QgsSymbolLayerV2List QgsSymbolV2::cloneLayers() const
+{
+  QgsSymbolLayerV2List lst;
+  for (QgsSymbolLayerV2List::const_iterator it = mLayers.begin(); it != mLayers.end(); ++it)
+  {
+    QgsSymbolLayerV2* layer = (*it)->clone();
+    layer->setLocked( (*it)->isLocked() );
+    lst.append( layer );
+  }
+  return lst;
+}
+
+
 ///////////////////
 
 
@@ -263,10 +276,7 @@
 
 QgsSymbolV2* QgsMarkerSymbolV2::clone() const
 {
-  QgsSymbolLayerV2List lst;
-  for (QgsSymbolLayerV2List::const_iterator it = mLayers.begin(); it != mLayers.end(); ++it)
-    lst.append( (*it)->clone() );
-  return new QgsMarkerSymbolV2(lst);
+  return new QgsMarkerSymbolV2( cloneLayers() );
 }
 
 
@@ -315,10 +325,7 @@
 
 QgsSymbolV2* QgsLineSymbolV2::clone() const
 {
-  QgsSymbolLayerV2List lst;
-  for (QgsSymbolLayerV2List::const_iterator it = mLayers.begin(); it != mLayers.end(); ++it)
-    lst.append( (*it)->clone() );
-  return new QgsLineSymbolV2(lst);
+  return new QgsLineSymbolV2( cloneLayers() );
 }
 
 ///////////////////
@@ -343,8 +350,5 @@
 
 QgsSymbolV2* QgsFillSymbolV2::clone() const
 {
-  QgsSymbolLayerV2List lst;
-  for (QgsSymbolLayerV2List::const_iterator it = mLayers.begin(); it != mLayers.end(); ++it)
-    lst.append( (*it)->clone() );
-  return new QgsFillSymbolV2(lst);
+  return new QgsFillSymbolV2( cloneLayers() );
 }

Modified: branches/symbology-ng-branch/src/core/symbology-ng/qgssymbolv2.h
===================================================================
--- branches/symbology-ng-branch/src/core/symbology-ng/qgssymbolv2.h	2009-05-13 10:29:54 UTC (rev 10778)
+++ branches/symbology-ng-branch/src/core/symbology-ng/qgssymbolv2.h	2009-05-13 11:23:29 UTC (rev 10779)
@@ -70,6 +70,8 @@
 	
 protected:
   QgsSymbolV2(SymbolType type, QgsSymbolLayerV2List layers); // can't be instantiated
+
+  QgsSymbolLayerV2List cloneLayers() const;
   
   SymbolType mType;
 	QgsSymbolLayerV2List mLayers;



More information about the QGIS-commit mailing list