-void ColorButton::paintEvent(QPaintEvent *event) {
- QPushButton::paintEvent(event);
- QPainter painter(this);
- int border = QApplication::style()->pixelMetric(QStyle::PM_ButtonMargin);
- painter.fillRect(rect().adjusted(border+1, border+1, -border-1, -border-1), QBrush(_color));
- QStyleOptionFrame option;
- option.state = QStyle::State_Sunken;
- option.rect = rect().adjusted(border, border, -border, -border);
- //TODO: setBackground instead of the fillRect()
- //painter.setBackground(_color);
- //painter.setBackgroundMode(Qt::OpaqueMode);
- //painter.fillRect(QApplication::style()->subElementRect(QStyle::SE_FrameContents, &option), QBrush(_color));
- //qDebug() << option << QApplication::style()->subElementRect(QStyle::SE_PushButtonContents, &option);
- QApplication::style()->drawPrimitive(QStyle::PE_Frame, &option, &painter);
- //painter.fillRect(QApplication::style()->subElementRect(QStyle::SE_FrameContents, &option), QBrush(_color));
- //border += QStyle::PM_DefaultFrameWidth;
- //painter.fillRect(rect().adjusted(border, border, -border, -border), QBrush(_color));
+void ColorButton::chooseColor() {
+#ifdef HAVE_KDE
+ QColor c = color();
+ KColorDialog::getColor(c, this);
+#else
+ QColor c = QColorDialog::getColor(color(), this);
+#endif
+
+ if(c.isValid()) {
+ setColor(c);
+ }