Wed, 06 Apr 2022 20:26:47 +0200
Fermentables are loaded in the main recipe record in a QList. The refresh table function does the sorting, on added moment (mash first), amount and finally color of the malt. Removed the old hidden table columns. Do all manipulation on the recipe record with QList arrays. The ferment_amount_changed() slot is complete. The whole recipe editor is going in the right direction.
#ifndef _SETUP_H #define _SETUP_H #include <QDialog> #include <QFileDialog> #include <QtGui/QIcon> #include <QtWidgets/QApplication> #include <QtWidgets/QComboBox> #include <QtWidgets/QDialog> #include <QtWidgets/QDoubleSpinBox> #include <QtWidgets/QFrame> #include <QtWidgets/QGridLayout> #include <QtWidgets/QLabel> #include <QtWidgets/QLineEdit> #include <QtWidgets/QPushButton> #include <QtWidgets/QSpinBox> #include <QtWidgets/QWidget> QT_BEGIN_NAMESPACE class QLabel; QT_END_NAMESPACE namespace Ui { class Setup; } class Setup : public QDialog { Q_OBJECT public: explicit Setup(QWidget *parent = nullptr); ~Setup(); bool loadFile(const QString &); signals: void firstWindow(); void setTitle(QString); private slots: void on_openButton_clicked(); void on_quitButton_clicked(); void on_saveButton_clicked(); void is_changed(); private: QByteArray logoByteArray; QImage image; QLabel *logoLabel; QLabel *breweryLabel; QLabel *fwhLabel; QLabel *mashhopLabel; QLabel *pelletLabel; QLabel *hopplugLabel; QLabel *wethopLabel; QLabel *cryohopLabel; QLabel *grainLabel; QLabel *brixLabel; QLabel *titleLabel; QLabel *colorLabel; QLabel *ibuLabel; QLabel *waterLabel; QLabel *yeastLabel; QLineEdit *breweryEdit; QSpinBox *fwhEdit; QSpinBox *mashhopEdit; QSpinBox *pelletEdit; QSpinBox *hopplugEdit; QSpinBox *wethopEdit; QSpinBox *cryohopEdit; QComboBox *waterEdit; QDoubleSpinBox *grainEdit; QDoubleSpinBox *brixEdit; QComboBox *colorEdit; QComboBox *ibuEdit; QComboBox *yeastEdit; QPushButton *quitButton; QPushButton *saveButton; QPushButton *openButton; double scaleFactor = 1; void setImage(const QImage &newImage); bool fieldIsChanged = false; }; #endif