Browse Source

Change icon for invalid color in ctkColorPickerButton

Button icon has no color if setColor is called with invalid QColor.
Benjamin BENEY 9 years ago
parent
commit
7eda0432a1
1 changed files with 4 additions and 2 deletions
  1. 4 2
      Libs/Widgets/ctkColorPickerButton.cpp

+ 4 - 2
Libs/Widgets/ctkColorPickerButton.cpp

@@ -78,10 +78,12 @@ void ctkColorPickerButtonPrivate::computeIcon()
   Q_Q(ctkColorPickerButton);
   int _iconSize = q->style()->pixelMetric(QStyle::PM_SmallIconSize);
   QPixmap pix(_iconSize, _iconSize);
-  pix.fill(q->palette().button().color());
+  pix.fill(this->Color.isValid() ?
+    q->palette().button().color() : Qt::transparent);
   QPainter p(&pix);
   p.setPen(QPen(Qt::gray));
-  p.setBrush(this->Color);
+  p.setBrush(this->Color.isValid() ?
+    pixmapColor : QBrush(Qt::BrushStyle::NoBrush));
   p.drawRect(2, 2, pix.width() - 5, pix.height() - 5);
 
   this->Icon = QIcon(pix);