Customizable graph colors

This commit is contained in:
Jan Käberich 2020-10-22 21:12:33 +02:00
parent 978ac89aa9
commit 74e068d8d1
22 changed files with 266 additions and 97 deletions

View file

@ -0,0 +1,35 @@
#include "colorpickerbutton.h"
#include <QColorDialog>
ColorPickerButton::ColorPickerButton(QWidget *parent)
: QPushButton(parent)
{
color = Qt::white;
connect(this, &ColorPickerButton::clicked, this, &ColorPickerButton::changeColor);
updateBackground();
}
void ColorPickerButton::setColor(const QColor &color)
{
this->color = color;
updateBackground();
}
const QColor &ColorPickerButton::getColor()
{
return color;
}
void ColorPickerButton::changeColor()
{
auto newColor = QColorDialog::getColor(color, parentWidget(), "Select color", QColorDialog::DontUseNativeDialog);
if(newColor.isValid() && newColor != color) {
setColor(newColor);
emit colorChanged(newColor);
}
}
void ColorPickerButton::updateBackground()
{
setStyleSheet("background-color:"+color.name());
}

View file

@ -0,0 +1,23 @@
#ifndef COLORPICKERBUTTON_H
#define COLORPICKERBUTTON_H
#include <QPushButton>
class ColorPickerButton : public QPushButton
{
Q_OBJECT
public:
ColorPickerButton(QWidget *parent = nullptr);
void setColor(const QColor& color);
const QColor& getColor();
signals:
void colorChanged(const QColor& color);
private slots:
void changeColor();
private:
void updateBackground();
QColor color;
};
#endif // COLORPICKERBUTTON_H