implemented color picker in dialog

Fixes #1757
This commit is contained in:
itsmattkc
2021-10-01 15:41:24 -07:00
parent ee81a47f2e
commit 7b65ecace5
13 changed files with 328 additions and 28 deletions
+14 -3
View File
@@ -53,15 +53,26 @@ void ColorButton::SetColor(const ManagedColor &c)
void ColorButton::ShowColorDialog()
{
ColorDialog cd(color_manager_, color_, this);
ColorDialog *cd = new ColorDialog(color_manager_, color_, this);
if (cd.exec() == QDialog::Accepted) {
color_ = cd.GetSelectedColor();
connect(cd, &ColorDialog::finished, this, &ColorButton::ColorDialogFinished);
cd->show();
}
void ColorButton::ColorDialogFinished(int e)
{
ColorDialog *cd = static_cast<ColorDialog*>(sender());
if (e == QDialog::Accepted) {
color_ = cd->GetSelectedColor();
UpdateColor();
emit ColorChanged(color_);
}
cd->deleteLater();
}
void ColorButton::UpdateColor()
+2
View File
@@ -45,6 +45,8 @@ signals:
private slots:
void ShowColorDialog();
void ColorDialogFinished(int e);
private:
void UpdateColor();