23 #include "colorbutton.h"
24 #include <QColorDialog>
26 #define UTF8_FULL_BLOCK "\xE2\x96\x88"
28 ColorButton::ColorButton(QWidget *parent)
29 : QPushButton(QString::fromUtf8(UTF8_FULL_BLOCK UTF8_FULL_BLOCK), parent)
31 connect(
this, SIGNAL(clicked()),
this, SLOT(thisClicked()));
33 setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed);
34 color.setNamedColor(
"#ffffff");
38 QString ColorButton::colorHtml()
const
43 unsigned ColorButton::colorUnsigned()
const
48 void ColorButton::setColor(
unsigned colorValue)
51 newColor.setRgb(colorValue);
55 void ColorButton::setColorHtml(
const QString &colorHtml)
58 newColor.setNamedColor(colorHtml);
62 QSize ColorButton::sizeHint()
const
64 QSize size = QPushButton::sizeHint();
70 void ColorButton::thisClicked()
72 QColor colorTmp = QColorDialog::getColor(QColor(color), parentWidget());
74 if (colorTmp.isValid())
78 void ColorButton::updateAppearance()
80 static const QString COLOR_STYLE =
"QPushButton { color : %1; }";
82 QString styleSheet = COLOR_STYLE.arg(color.name());
83 setStyleSheet(styleSheet);
88 QColor oldColor = color;
92 emit colorUpdated(oldColor, color);