diff --git a/src/qgscontcoldialog.cpp b/src/qgscontcoldialog.cpp index d240355c995..79249405851 100644 --- a/src/qgscontcoldialog.cpp +++ b/src/qgscontcoldialog.cpp @@ -31,6 +31,7 @@ #include "qgsdlgvectorlayerproperties.h" #include "qgsdataprovider.h" #include "qgsfield.h" +#include QgsContColDialog::QgsContColDialog(QgsVectorLayer * layer):QgsContColDialogBase(), m_vectorlayer(layer) { @@ -92,6 +93,8 @@ QgsContColDialog::QgsContColDialog(QgsVectorLayer * layer):QgsContColDialogBase( mincolorbutton->setPaletteBackgroundColor(minitem->getSymbol()->brush().color()); maxcolorbutton->setPaletteBackgroundColor(maxitem->getSymbol()->brush().color()); } + outlinewidthspinbox->setValue(minitem->getSymbol()->pen().width()); + outlinewidthspinbox->setMinValue(1); } } @@ -137,22 +140,25 @@ void QgsContColDialog::apply() QgsSymbol minsymbol; if (m_vectorlayer->vectorType() == QGis::Line) { - minsymbol.setPen(QPen(mincolorbutton->paletteBackgroundColor())); - } else + minsymbol.setPen(QPen(mincolorbutton->paletteBackgroundColor(),outlinewidthspinbox->value())); + } + else { minsymbol.setBrush(QBrush(mincolorbutton->paletteBackgroundColor())); - minsymbol.setPen(QPen(QColor(0, 0, 0), 1)); + minsymbol.setPen(QPen(QColor(0, 0, 0), outlinewidthspinbox->value())); } QgsRenderItem *minimumitem = new QgsRenderItem(minsymbol, QString::number(minimum, 'f'), " "); + QgsSymbol maxsymbol; if (m_vectorlayer->vectorType() == QGis::Line) { - maxsymbol.setPen(QPen(maxcolorbutton->paletteBackgroundColor())); - } else + maxsymbol.setPen(QPen(maxcolorbutton->paletteBackgroundColor(),outlinewidthspinbox->value())); + } + else { maxsymbol.setBrush(QBrush(maxcolorbutton->paletteBackgroundColor())); - maxsymbol.setPen(QPen(QColor(0, 0, 0), 1)); + maxsymbol.setPen(QPen(QColor(0, 0, 0), outlinewidthspinbox->value())); } QgsRenderItem *maximumitem = new QgsRenderItem(maxsymbol, QString::number(maximum, 'f'), " "); diff --git a/src/qgscontcoldialogbase.ui b/src/qgscontcoldialogbase.ui index 5334d484741..627cde1f19e 100644 --- a/src/qgscontcoldialogbase.ui +++ b/src/qgscontcoldialogbase.ui @@ -8,8 +8,8 @@ 0 0 - 442 - 96 + 408 + 143 @@ -19,7 +19,7 @@ unnamed - + classificationComboBox @@ -44,6 +44,48 @@ Classification Field: + + + mincolorbutton + + + + 0 + 20 + + + + + 255 + 255 + 255 + + + + + + + + + maxcolorbutton + + + + 0 + 20 + + + + + 255 + 255 + 255 + + + + + + mincolorlabel @@ -72,9 +114,9 @@ Maximum Value: - + - mincolorbutton + outlinewidthlabel @@ -82,38 +124,32 @@ 20 - - - 255 - 255 - 255 - - - + Outline Width: - + - maxcolorbutton + outlinewidthspinbox - + + + + spacer1 + + + Horizontal + + + Expanding + + - 0 + 111 20 - - - 255 - 255 - 255 - - - - - - + diff --git a/src/qgscontinuouscolrenderer.cpp b/src/qgscontinuouscolrenderer.cpp index 89d48625997..fdb8524ea9f 100644 --- a/src/qgscontinuouscolrenderer.cpp +++ b/src/qgscontinuouscolrenderer.cpp @@ -67,6 +67,7 @@ void QgsContinuousColRenderer::initializeSymbology(QgsVectorLayer * layer, QgsDl QgsSymbol sy; sy.brush().setStyle(Qt::SolidPattern); sy.pen().setStyle(Qt::SolidLine); + sy.pen().setWidth(1); //random fill colors for points and polygons and pen colors for lines int red = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0)); @@ -190,8 +191,9 @@ void QgsContinuousColRenderer::renderFeature(QPainter * p, QgsFeature * f, QgsCo if (wkbType == QGis::WKBLineString || wkbType == QGis::WKBMultiLineString) { - p->setPen(QColor(red, green, blue)); - } else + p->setPen(QPen(QColor(red, green, blue),m_minimumItem->getSymbol()->pen().width()));//make sure the correct line width is used + } + else { p->setBrush(QColor(red, green, blue)); }