| 1 #include "colorindexinput.h" |
1 #include "colorindexinput.h" |
| 2 #include "ui_colorindexinput.h" |
2 #include "ui_colorindexinput.h" |
| 3 #include "colorselectdialog.h" |
3 #include "colorselectdialog.h" |
| 4 #include "uiutilities.h" |
4 #include "uiutilities.h" |
| 5 |
5 |
| 6 ColorIndexInput::ColorIndexInput(EditorTabWidget *document, ldraw::Color color, QWidget *parent) : |
6 ColorIndexInput::ColorIndexInput(EditorTabWidget *document, ColorIndex color, QWidget *parent) : |
| 7 QWidget{parent}, |
7 QWidget{parent}, |
| 8 document{document}, |
8 document{document}, |
| 9 ui{*new Ui_ColorIndexInput} |
9 ui{*new Ui_ColorIndexInput} |
| 10 { |
10 { |
| 11 this->ui.setupUi(this); |
11 this->ui.setupUi(this); |
| 18 this->ui.index->setValue(dialog.currentColor().index); |
18 this->ui.index->setValue(dialog.currentColor().index); |
| 19 } |
19 } |
| 20 }); |
20 }); |
| 21 connect(this->ui.index, qOverload<int>(&QSpinBox::valueChanged), [this](int value) |
21 connect(this->ui.index, qOverload<int>(&QSpinBox::valueChanged), [this](int value) |
| 22 { |
22 { |
| 23 this->ui.button->setText(ldraw::colorDisplayName({value}, this->document->colorTable)); |
23 this->ui.button->setText(colorDisplayName({value}, this->document->colorTable).value_or("???")); |
| 24 uiutilities::colorizeWidget(this->ui.button, ldraw::colorFace({value}, this->document->colorTable)); |
24 const opt<QColor> face = colorFace({value}, this->document->colorTable); |
| |
25 if (face.has_value()) { |
| |
26 uiutilities::colorizeWidget(this->ui.button, *face); |
| |
27 } |
| 25 Q_EMIT this->colorChanged({value}); |
28 Q_EMIT this->colorChanged({value}); |
| 26 }); |
29 }); |
| 27 this->ui.index->setValue(color.index); |
30 this->ui.index->setValue(color.index); |
| 28 } |
31 } |
| 29 |
32 |