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);
52 updateColor(newColor);
55 void ColorButton::setColorHtml(
const QString& colorHtml)
58 newColor.setNamedColor(colorHtml);
59 updateColor(newColor);
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())
76 updateColor(colorTmp);
80 void ColorButton::updateAppearance()
82 static const QString COLOR_STYLE =
"QPushButton { color : %1; }";
84 QString styleSheet = COLOR_STYLE.arg(color.name());
85 setStyleSheet(styleSheet);
90 QColor oldColor = color;
94 emit colorUpdated(oldColor, color);