diff --git a/src/gui/qgscolorbutton.cpp b/src/gui/qgscolorbutton.cpp index cc9d92d426dd..d0f9624f9161 100644 --- a/src/gui/qgscolorbutton.cpp +++ b/src/gui/qgscolorbutton.cpp @@ -66,3 +66,33 @@ void QgsColorButton::setColor( const QColor &color ) mColor = color; update(); } + + +////////////////// + +QgsColorButtonV2::QgsColorButtonV2( QWidget* parent ) + : QPushButton(parent) +{ +} + +void QgsColorButtonV2::setColor( const QColor &color ) +{ + mColor = color; + + QPixmap pixmap(iconSize()); + pixmap.fill(QColor(0,0,0,0)); + + QRect rect(1,1, iconSize().width() - 2, iconSize().height() - 2); + + // draw a slightly rounded rectangle + QPainter p; + p.begin(&pixmap); + p.setPen(Qt::NoPen); + p.setRenderHint(QPainter::Antialiasing); + p.setBrush(color); + p.drawRoundedRect(rect, 4, 4); + p.end(); + + // set this pixmap as icon + setIcon(QIcon(pixmap)); +} diff --git a/src/gui/qgscolorbutton.h b/src/gui/qgscolorbutton.h index ade8d9a0898a..62d708ba5b1f 100644 --- a/src/gui/qgscolorbutton.h +++ b/src/gui/qgscolorbutton.h @@ -17,6 +17,7 @@ #define QGSCOLORBUTTON_H #include +#include /** \ingroup gui * A cross platform button subclass for selecting colors. @@ -37,4 +38,18 @@ class GUI_EXPORT QgsColorButton: public QToolButton QColor mColor; }; + +class QgsColorButtonV2 : public QPushButton +{ + public: + QgsColorButtonV2( QWidget* parent = 0 ); + + void setColor( const QColor &color ); + QColor color() const { return mColor; } + + private: + QColor mColor; +}; + + #endif diff --git a/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp b/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp index 02849fa2233a..fed9631f211d 100644 --- a/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp +++ b/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp @@ -27,6 +27,7 @@ QgsRendererV2PropertiesDialog::QgsRendererV2PropertiesDialog(QgsVectorLayer* lay if (embedded) { buttonBox->hide(); + layout()->setContentsMargins(0,0,0,0); } connect(buttonBox, SIGNAL(accepted()), this, SLOT(onOK())); diff --git a/src/gui/symbology-ng/qgssymbollayerv2widget.cpp b/src/gui/symbology-ng/qgssymbollayerv2widget.cpp index 68ff848e22be..d0a4ee1b6fed 100644 --- a/src/gui/symbology-ng/qgssymbollayerv2widget.cpp +++ b/src/gui/symbology-ng/qgssymbollayerv2widget.cpp @@ -16,14 +16,7 @@ #include #include -static void updateColorButton(QAbstractButton* button, QColor color) -{ - QPixmap p(20,20); - p.fill(color); - button->setIcon(QIcon(p)); -} -////////// QgsSimpleLineSymbolLayerV2Widget::QgsSimpleLineSymbolLayerV2Widget(QWidget* parent) : QgsSymbolLayerV2Widget(parent) @@ -51,7 +44,7 @@ void QgsSimpleLineSymbolLayerV2Widget::setSymbolLayer(QgsSymbolLayerV2* layer) // set values spinWidth->setValue(mLayer->width()); - updateColorButton(btnChangeColor, mLayer->color()); + btnChangeColor->setColor(mLayer->color()); cboPenStyle->setPenStyle(mLayer->penStyle()); spinOffset->setValue(mLayer->offset()); cboJoinStyle->setPenJoinStyle(mLayer->penJoinStyle()); @@ -75,7 +68,7 @@ void QgsSimpleLineSymbolLayerV2Widget::colorChanged() if (!color.isValid()) return; mLayer->setColor(color); - updateColorButton(btnChangeColor, mLayer->color()); + btnChangeColor->setColor(mLayer->color()); emit changed(); } @@ -145,8 +138,8 @@ void QgsSimpleMarkerSymbolLayerV2Widget::setSymbolLayer(QgsSymbolLayerV2* layer) break; } } - updateColorButton(btnChangeColorBorder, mLayer->borderColor()); - updateColorButton(btnChangeColorFill, mLayer->color()); + btnChangeColorBorder->setColor(mLayer->borderColor()); + btnChangeColorFill->setColor(mLayer->color()); spinSize->setValue(mLayer->size()); spinAngle->setValue(mLayer->angle()); @@ -176,7 +169,7 @@ void QgsSimpleMarkerSymbolLayerV2Widget::setColorBorder() if (!borderColor.isValid()) return; mLayer->setBorderColor(borderColor); - updateColorButton(btnChangeColorBorder, mLayer->borderColor()); + btnChangeColorBorder->setColor(mLayer->borderColor()); emit changed(); } @@ -186,7 +179,7 @@ void QgsSimpleMarkerSymbolLayerV2Widget::setColorFill() if (!color.isValid()) return; mLayer->setColor(color); - updateColorButton(btnChangeColorFill, mLayer->color()); + btnChangeColorFill->setColor(mLayer->color()); emit changed(); } @@ -232,8 +225,8 @@ void QgsSimpleFillSymbolLayerV2Widget::setSymbolLayer(QgsSymbolLayerV2* layer) mLayer = static_cast(layer); // set values - updateColorButton(btnChangeColor, mLayer->color()); - updateColorButton(btnChangeBorderColor, mLayer->borderColor()); + btnChangeColor->setColor(mLayer->color()); + btnChangeBorderColor->setColor(mLayer->borderColor()); cboFillStyle->setBrushStyle(mLayer->brushStyle()); } @@ -248,7 +241,7 @@ void QgsSimpleFillSymbolLayerV2Widget::setColor() if (!color.isValid()) return; mLayer->setColor(color); - updateColorButton(btnChangeColor, mLayer->color()); + btnChangeColor->setColor(mLayer->color()); emit changed(); } @@ -258,7 +251,7 @@ void QgsSimpleFillSymbolLayerV2Widget::setBorderColor() if (!color.isValid()) return; mLayer->setBorderColor(color); - updateColorButton(btnChangeBorderColor, mLayer->borderColor()); + btnChangeBorderColor->setColor(mLayer->borderColor()); emit changed(); } @@ -482,7 +475,7 @@ void QgsLineDecorationSymbolLayerV2Widget::setSymbolLayer(QgsSymbolLayerV2* laye mLayer = static_cast(layer); // set values - updateColorButton(btnChangeColor, mLayer->color()); + btnChangeColor->setColor(mLayer->color()); } QgsSymbolLayerV2* QgsLineDecorationSymbolLayerV2Widget::symbolLayer() @@ -496,6 +489,6 @@ void QgsLineDecorationSymbolLayerV2Widget::colorChanged() if (!color.isValid()) return; mLayer->setColor(color); - updateColorButton(btnChangeColor, mLayer->color()); + btnChangeColor->setColor(mLayer->color()); emit changed(); } diff --git a/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp b/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp index 8f603055f343..092bf75db848 100644 --- a/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp +++ b/src/gui/symbology-ng/qgssymbolv2selectordialog.cpp @@ -27,6 +27,7 @@ QgsSymbolV2SelectorDialog::QgsSymbolV2SelectorDialog(QgsSymbolV2* symbol, QgsSty if (embedded) { buttonBox->hide(); + layout()->setContentsMargins(0,0,0,0); } connect(btnSymbolProperties, SIGNAL(clicked()), this, SLOT(changeSymbolProperties())); @@ -44,12 +45,15 @@ QgsSymbolV2SelectorDialog::QgsSymbolV2SelectorDialog(QgsSymbolV2* symbol, QgsSty // there's a correspondence between symbol type number and page numbering => exploit it! stackedWidget->setCurrentIndex(symbol->type()); - connect(btnSetColor, SIGNAL(clicked()), this, SLOT(setSymbolColor())); + connect(btnColorMarker, SIGNAL(clicked()), this, SLOT(setSymbolColor())); + connect(btnColorLine, SIGNAL(clicked()), this, SLOT(setSymbolColor())); + connect(btnColorFill, SIGNAL(clicked()), this, SLOT(setSymbolColor())); connect(spinAngle, SIGNAL(valueChanged(double)), this, SLOT(setMarkerAngle(double))); 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())); + btnSymbolProperties->setIcon( QIcon( QgsApplication::defaultThemePath() + "mActionOptions.png" ) ); btnAddToStyle->setIcon( QIcon( QgsApplication::defaultThemePath() + "symbologyAdd.png" ) ); } @@ -114,9 +118,10 @@ void QgsSymbolV2SelectorDialog::updateSymbolPreview() void QgsSymbolV2SelectorDialog::updateSymbolColor() { - QPixmap p(20,20); - p.fill(mSymbol->color()); - btnSetColor->setIcon(QIcon(p)); + QColor c = mSymbol->color(); + btnColorMarker->setColor(c); + btnColorLine->setColor(c); + btnColorFill->setColor(c); } void QgsSymbolV2SelectorDialog::updateSymbolInfo() diff --git a/src/gui/symbology-ng/qgsvectorgradientcolorrampv2dialog.cpp b/src/gui/symbology-ng/qgsvectorgradientcolorrampv2dialog.cpp index 28e9fda640d7..3617ac9e6f5a 100644 --- a/src/gui/symbology-ng/qgsvectorgradientcolorrampv2dialog.cpp +++ b/src/gui/symbology-ng/qgsvectorgradientcolorrampv2dialog.cpp @@ -5,15 +5,6 @@ #include -static void updateColorButton(QAbstractButton* button, QColor color) -{ - QPixmap p(20,20); - p.fill(color); - button->setIcon(QIcon(p)); -} - -///////// - QgsVectorGradientColorRampV2Dialog::QgsVectorGradientColorRampV2Dialog(QgsVectorGradientColorRampV2* ramp, QWidget* parent) : QDialog(parent), mRamp(ramp) @@ -32,8 +23,8 @@ void QgsVectorGradientColorRampV2Dialog::updatePreview() QSize size(300,40); lblPreview->setPixmap(QgsSymbolLayerV2Utils::colorRampPreviewPixmap(mRamp, size)); - updateColorButton(btnColor1, mRamp->color1()); - updateColorButton(btnColor2, mRamp->color2()); + btnColor1->setColor(mRamp->color1()); + btnColor2->setColor(mRamp->color2()); } void QgsVectorGradientColorRampV2Dialog::setColor1() diff --git a/src/ui/qgssymbolv2selectordialogbase.ui b/src/ui/qgssymbolv2selectordialogbase.ui index d13828fa3980..58ce5c970565 100644 --- a/src/ui/qgssymbolv2selectordialogbase.ui +++ b/src/ui/qgssymbolv2selectordialogbase.ui @@ -7,7 +7,7 @@ 0 0 452 - 397 + 404 @@ -15,15 +15,21 @@ - - + + - + 0 0 + + + 100 + 100 + + QFrame::Box @@ -38,36 +44,56 @@ - - - - Properties - - - - + - 1 + 2 - + - + - Size: + Color + + + + + + + Change - + - Angle: + Size + + + 1 + + + 1.000000000000000 + + + + + + + Rotation + + + + + + ° + 1 @@ -79,8 +105,33 @@ + + + + + + + + Color + + + - + + + Change + + + + + + + Width + + + + + 1 @@ -91,51 +142,51 @@ - - + + - + - Width: + Color - - - 1 - - - 1.000000000000000 + + + Change - - - + + + + + + + + Properties + + + + + - Qt::Vertical + Qt::Horizontal - 20 - 40 + 40 + 20 - - - - Set color - - - - + Add to style @@ -153,6 +204,12 @@ + + + 0 + 2 + + 48 @@ -185,6 +242,25 @@ + + + QgsColorButtonV2 + QPushButton +
qgscolorbutton.h
+
+
+ + btnColorMarker + spinSize + spinAngle + btnColorLine + spinWidth + btnColorFill + btnSymbolProperties + btnAddToStyle + viewSymbols + buttonBox + diff --git a/src/ui/qgsvectorgradientcolorrampv2dialogbase.ui b/src/ui/qgsvectorgradientcolorrampv2dialogbase.ui index 0f3eca5369f0..72b2eb145d44 100644 --- a/src/ui/qgsvectorgradientcolorrampv2dialogbase.ui +++ b/src/ui/qgsvectorgradientcolorrampv2dialogbase.ui @@ -1,7 +1,8 @@ - + + QgsVectorGradientColorRampV2DialogBase - - + + 0 0 @@ -9,35 +10,35 @@ 300 - + Gradient color ramp - + - - - - + + + + Color 1: - - - - change + + + + Change - + - + Qt::Horizontal - + QSizePolicy::Preferred - + 40 71 @@ -45,17 +46,17 @@ - - - + + + Color 2: - - - - change + + + + Change @@ -63,13 +64,13 @@ - + Qt::Vertical - + QSizePolicy::Preferred - + 20 40 @@ -78,20 +79,20 @@ - - + + Preview - + - - + + QFrame::NoFrame - + - + Qt::AlignCenter @@ -100,17 +101,24 @@ - - + + Qt::Horizontal - - QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + QgsColorButtonV2 + QPushButton +
qgscolorbutton.h
+
+
@@ -119,11 +127,11 @@ QgsVectorGradientColorRampV2DialogBase accept() - + 258 281 - + 168 256 @@ -135,11 +143,11 @@ QgsVectorGradientColorRampV2DialogBase reject() - + 363 273 - + 371 259 diff --git a/src/ui/symbollayer/widget_linedecoration.ui b/src/ui/symbollayer/widget_linedecoration.ui index 6888e73aa7cb..9b560e0584db 100644 --- a/src/ui/symbollayer/widget_linedecoration.ui +++ b/src/ui/symbollayer/widget_linedecoration.ui @@ -1,7 +1,8 @@ - + + WidgetLineDecoration - - + + 0 0 @@ -9,41 +10,41 @@ 244 - + Form - + - + - - + + Color: - - - + + + 0 0 - - change + + Change - + Qt::Horizontal - + QSizePolicy::Preferred - + 112 21 @@ -55,10 +56,10 @@ - + Qt::Vertical - + 350 81 @@ -68,6 +69,13 @@ + + + QgsColorButtonV2 + QPushButton +
qgscolorbutton.h
+
+
diff --git a/src/ui/symbollayer/widget_markerline.ui b/src/ui/symbollayer/widget_markerline.ui index b73544e2c4ad..eb8c6b99e99a 100644 --- a/src/ui/symbollayer/widget_markerline.ui +++ b/src/ui/symbollayer/widget_markerline.ui @@ -26,7 +26,7 @@ - change + Change diff --git a/src/ui/symbollayer/widget_simplefill.ui b/src/ui/symbollayer/widget_simplefill.ui index 0a7605b9a15a..004c8c3eebe3 100644 --- a/src/ui/symbollayer/widget_simplefill.ui +++ b/src/ui/symbollayer/widget_simplefill.ui @@ -1,7 +1,8 @@ - + + WidgetSimpleFill - - + + 0 0 @@ -9,35 +10,35 @@ 154 - + Form - + - - - - + + + + Color: - - - - change + + + + Change - + - + Qt::Horizontal - + QSizePolicy::Preferred - + 91 51 @@ -45,27 +46,27 @@ - - - + + + Fill style: - - + + - - - + + + Border color: - - - - change + + + + Change @@ -73,10 +74,10 @@ - + Qt::Vertical - + 244 21 @@ -92,6 +93,11 @@ QComboBox
qgsbrushstylecombobox.h
+ + QgsColorButtonV2 + QPushButton +
qgscolorbutton.h
+
btnChangeColor diff --git a/src/ui/symbollayer/widget_simpleline.ui b/src/ui/symbollayer/widget_simpleline.ui index 25eca1d08f6c..1cf8f7b6ad19 100644 --- a/src/ui/symbollayer/widget_simpleline.ui +++ b/src/ui/symbollayer/widget_simpleline.ui @@ -24,7 +24,7 @@
- + 0 @@ -32,7 +32,7 @@ - change + Change @@ -181,6 +181,11 @@ QComboBox
qgspenstylecombobox.h
+ + QgsColorButtonV2 + QPushButton +
qgscolorbutton.h
+
diff --git a/src/ui/symbollayer/widget_simplemarker.ui b/src/ui/symbollayer/widget_simplemarker.ui index 4783ec57b21c..94495cdfbc7d 100644 --- a/src/ui/symbollayer/widget_simplemarker.ui +++ b/src/ui/symbollayer/widget_simplemarker.ui @@ -24,9 +24,9 @@
- + - change + Change @@ -54,9 +54,9 @@
- + - change + Change @@ -191,6 +191,13 @@
+ + + QgsColorButtonV2 + QPushButton +
qgscolorbutton.h
+
+