diff -r bb60dda3093f -r caac957e9834 src/widgets/colorbutton.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/widgets/colorbutton.cpp Sat Feb 01 17:10:11 2020 +0200 @@ -0,0 +1,34 @@ +#include +#include "colorbutton.h" + +ColorButton::ColorButton(const QColor& color, QWidget* parent) : + ColorButton{parent} +{ + this->setSelectedColor(color); +} + +ColorButton::ColorButton(QWidget* parent) : + QPushButton{parent} +{ + connect(this, &QPushButton::clicked, [&]() + { + const QColor color = QColorDialog::getColor(this->storedSelectedColor, this->parentWidget()); + if (color.isValid()) + { + this->setSelectedColor(color); + } + }); +} + +QColor ColorButton::selectedColor() const +{ + return this->storedSelectedColor; +} + +void ColorButton::setSelectedColor(const QColor& newSelectedColor) +{ + this->storedSelectedColor = newSelectedColor; + this->setStyleSheet(QString{"background-color: %1"}.arg(newSelectedColor.name())); + this->setText(newSelectedColor.name()); +} +