Tue, 28 Sep 2021 23:07:23 +0300
Use QSaveFile to save the file more safely
#pragma once #include "../main.h" #include "../colors.h" #include <QPushButton> #include <QAbstractTableModel> #include <QDialog> #include <QGridLayout> class ColorSelectDialog : public QDialog { Q_OBJECT public: explicit ColorSelectDialog(const ldraw::ColorTable& colorTable, QWidget* parent = nullptr); ~ColorSelectDialog(); void setCurrentColor(ldraw::Color color); ldraw::Color currentColor() const; private Q_SLOTS: void populateColors(); void updateSelectedColorTexts(); void handleButtonClick(); void spinboxEdited(); void chooseDirectColor(); private: void makeColorButtons(); bool filterColor(ldraw::Color color) const; class Ui_ColorSelectDialog& ui; const ldraw::ColorTable& colorTable; std::vector<QPushButton*> buttons; ldraw::Color selectedColor = ldraw::MAIN_COLOR; };