[QGIS Commit] r11169 - in branches/symbology-ng-branch/src: gui/symbology-ng ui

svn_qgis at osgeo.org svn_qgis at osgeo.org
Fri Jul 24 09:24:18 EDT 2009


Author: wonder
Date: 2009-07-24 09:24:17 -0400 (Fri, 24 Jul 2009)
New Revision: 11169

Modified:
   branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp
   branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.h
   branches/symbology-ng-branch/src/ui/qgssymbolv2selectordialogbase.ui
Log:
"Add symbol to style" functionality in symbol selector.


Modified: branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp
===================================================================
--- branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp	2009-07-24 12:32:21 UTC (rev 11168)
+++ branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp	2009-07-24 13:24:17 UTC (rev 11169)
@@ -7,9 +7,12 @@
 #include "qgssymbollayerv2utils.h"
 #include "qgsstylev2.h"
 
+#include "qgsapplication.h"
+
 #include <QColorDialog>
 #include <QPainter>
 #include <QStandardItemModel>
+#include <QInputDialog>
 
 QgsSymbolV2SelectorDialog::QgsSymbolV2SelectorDialog(QgsSymbolV2* symbol, QgsStyleV2* style, QWidget* parent, bool embedded)
   : QDialog(parent)
@@ -45,6 +48,8 @@
   connect(spinSize, SIGNAL(valueChanged(double)), this, SLOT(setMarkerSize(double)));
   connect(spinWidth, SIGNAL(valueChanged(double)), this, SLOT(setLineWidth(double)));
 
+  connect(btnAddToStyle, SIGNAL(clicked()), this, SLOT(addSymbolToStyle()));
+  btnAddToStyle->setIcon( QIcon( QgsApplication::defaultThemePath() + "symbologyAdd.png" ) );
 }
 
 void QgsSymbolV2SelectorDialog::populateSymbolView()
@@ -183,3 +188,17 @@
   updateSymbolPreview();
   emit symbolModified();
 }
+
+void QgsSymbolV2SelectorDialog::addSymbolToStyle()
+{
+  bool ok;
+  QString name = QInputDialog::getText(this, "Symbol name",
+          "Please enter name for the symbol:", QLineEdit::Normal, "New symbol", &ok);
+  if (!ok || name.isEmpty())
+    return;
+
+  // add new symbol to style and re-populate the list
+  mStyle->addSymbol(name, mSymbol->clone());
+
+  populateSymbolView();
+}

Modified: branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.h
===================================================================
--- branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.h	2009-07-24 12:32:21 UTC (rev 11168)
+++ branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbolv2selectordialog.h	2009-07-24 13:24:17 UTC (rev 11169)
@@ -30,6 +30,7 @@
   void setMarkerAngle(double angle);
   void setMarkerSize(double size);
   void setLineWidth(double width);
+  void addSymbolToStyle();
 
 signals:
   void symbolModified();

Modified: branches/symbology-ng-branch/src/ui/qgssymbolv2selectordialogbase.ui
===================================================================
--- branches/symbology-ng-branch/src/ui/qgssymbolv2selectordialogbase.ui	2009-07-24 12:32:21 UTC (rev 11168)
+++ branches/symbology-ng-branch/src/ui/qgssymbolv2selectordialogbase.ui	2009-07-24 13:24:17 UTC (rev 11169)
@@ -6,17 +6,17 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>477</width>
+    <width>452</width>
     <height>397</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Symbol selector</string>
   </property>
-  <layout class="QVBoxLayout">
+  <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <layout class="QGridLayout">
-     <item row="0" column="0" rowspan="2">
+    <layout class="QGridLayout" name="gridLayout">
+     <item row="0" column="0" rowspan="3">
       <widget class="QLabel" name="lblPreview">
        <property name="sizePolicy">
         <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
@@ -45,7 +45,7 @@
        </property>
       </widget>
      </item>
-     <item row="0" column="2" rowspan="2">
+     <item row="0" column="2" rowspan="3">
       <widget class="QStackedWidget" name="stackedWidget">
        <property name="currentIndex">
         <number>1</number>
@@ -116,28 +116,32 @@
       </widget>
      </item>
      <item row="0" column="3" rowspan="2">
-      <spacer>
+      <spacer name="verticalSpacer">
        <property name="orientation">
-        <enum>Qt::Horizontal</enum>
+        <enum>Qt::Vertical</enum>
        </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Preferred</enum>
-       </property>
        <property name="sizeHint" stdset="0">
         <size>
-         <width>50</width>
-         <height>81</height>
+         <width>20</width>
+         <height>40</height>
         </size>
        </property>
       </spacer>
      </item>
-     <item row="1" column="1">
+     <item row="1" column="1" rowspan="2">
       <widget class="QPushButton" name="btnSetColor">
        <property name="text">
         <string>Set color</string>
        </property>
       </widget>
      </item>
+     <item row="2" column="3">
+      <widget class="QPushButton" name="btnAddToStyle">
+       <property name="text">
+        <string>Add to style</string>
+       </property>
+      </widget>
+     </item>
     </layout>
    </item>
    <item>



More information about the QGIS-commit mailing list