Fri, 13 Jan 2023 12:00:58 +0100
Added a button to automatic recreate the yeast starter steps. Some code cleanup
#ifndef _EDITRECIPE_H #define _EDITRECIPE_H #include <QDialog> #include <QStringList> #include <QJsonDocument> #include <QJsonObject> #include <QDoubleSpinBox> #include <QCheckBox> #include <QComboBox> #include <QRadioButton> #include <QLineEdit> #include <QDialogButtonBox> #include <QList> #include <QLabel> #include <QClipboard> #include "global.h" namespace Ui { class EditRecipe; } class EditRecipe : public QDialog { Q_OBJECT signals: void entry_changed(); public: explicit EditRecipe(int id, QWidget *parent = 0); ~EditRecipe(); private slots: void on_saveButton_clicked(); void on_quitButton_clicked(); void on_deleteButton_clicked(); void on_exportButton_clicked(); void on_printButton_clicked(); void is_changed(); void name_changed(QString); void notes_changed(); void style_changed(int val); void colormethod_changed(int val); void ibumethod_changed(int val); void est_og_changed(double val); void efficiency_changed(double val); void boil_time_changed(int val); void batch_size_changed(double val); void brew_type_changed(int val); void locked_changed(bool val); void refreshFermentables(); void refreshHops(); void refreshMiscs(); void refreshYeasts(); void refreshMashs(); void refreshWaters(); void refreshAll(); void ferment_amount_changed(double val); void ferment_pct_changed(double val); void ferment_to100_changed(bool val); void ferment_select_changed(int val); void ferment_instock_changed(bool val); void ferment_added_changed(int val); void hop_amount_changed(double val); void hop_alpha_changed(double val); void hop_time_changed(int val); void hop_select_changed(int val); void hop_form_changed(int val); void hop_instock_changed(bool val); void hop_useat_changed(int val); void misc_amount_changed(double val); void misc_time_changed(int val); void misc_select_changed(int val); void misc_instock_changed(bool val); void misc_useat_changed(int val); void yeast_amount_changed(double val); void yeast_select_changed(int val); void yeast_instock_changed(bool val); void yeast_useat_changed(int val); void addFermentRow_clicked(); void deleteFermentRow_clicked(); void editFermentRow_clicked(); void addHopRow_clicked(); void deleteHopRow_clicked(); void editHopRow_clicked(); void addMiscRow_clicked(); void deleteMiscRow_clicked(); void editMiscRow_clicked(); void addYeastRow_clicked(); void deleteYeastRow_clicked(); void editYeastRow_clicked(); void addMashRow_clicked(); void deleteMashRow_clicked(); void editMashRow_clicked(); void upMashRow_clicked(); void downMashRow_clicked(); void w1_name_changed(int val); void w2_name_changed(int val); void w2_volume_changed(double val); void wb_cacl2_changed(double val); void wb_caso4_changed(double val); void wb_mgso4_changed(double val); void wb_nacl_changed(double val); void wb_mgcl2_changed(double val); void wb_nahco3_changed(double val); void wb_caco3_changed(double val); void sp_cacl2_changed(double val); void sp_caso4_changed(double val); void sp_mgso4_changed(double val); void sp_nacl_changed(double val); void sp_mgcl2_changed(double val); void mw_calc_acid_clicked(); void wt_target_changed(int val); void mw_ph_changed(double val); void mw_acid_changed(double val); void mw_type_changed(int val); void sp_group_changed(int val); void sp_type_changed(int val); void sp_ph_changed(double val); void sp_vol_changed(double val); void sp_acid_changed(double val); void step_name_changed(QString val); void step_type_changed(int val); void step_temp_changed(double val); void end_temp_changed(double val); void step_time_changed(double val); void ramp_time_changed(double val); void infuse_changed(double val); void mash_select_changed(int val); void mash_name_changed(QString); /* Modified progress bars */ void ferment_perc_mash_valueChanged(int value); void ferment_perc_sugars_valueChanged(int value); void ferment_perc_cara_valueChanged(int value); void ferment_lintner_valueChanged(int value); void hop_Flavour_valueChanged(int value); void hop_Aroma_valueChanged(int value); private: Ui::EditRecipe *ui; QString bar_red = "QProgressBar::chunk {background: #FF0000;}"; QString bar_green = "QProgressBar::chunk {background: #008C00;}"; QString bar_20 = "QProgressBar::chunk {background: #004D00;}"; int recno; bool textIsChanged = false; /* * Variables for popup ingredients editing. */ QComboBox *fselectEdit, *faddedEdit, *hselectEdit,*haddedEdit, *hformEdit, *useatEdit, *mselectEdit, *yselectEdit; QLineEdit *fnameEdit, *fsupplierEdit, *hnameEdit, *horiginEdit, *mnameEdit, *ynameEdit, *ylaboratoryEdit, *yproduct_idEdit, *stepnameEdit; QDoubleSpinBox *famountEdit, *pctEdit, *fmaxEdit, *hamountEdit, *halphaEdit, *ibuEdit, *mamountEdit, *yamountEdit; QDoubleSpinBox *steptempEdit, *endtempEdit, *steptimeEdit, *ramptimeEdit, *stepivolEdit, *stepitmpEdit; QSpinBox *htimeEdit, *mtimeEdit; QCheckBox *to100Edit, *finstockEdit, *hinstockEdit, *minstockEdit, *yinstockEdit; QLabel *htimeLabel, *mtimeLabel, *mamountLabel, *yamountLabel, *ivolLabel, *itmpLabel; void to100Fermentables(int row); static bool ferment_sort_test(const Fermentables &D1, const Fermentables &D2); static bool hop_sort_test(const Hops &D1, const Hops &D2); static bool misc_sort_test(const Miscs &D1, const Miscs &D2); static bool yeast_sort_test(const Yeasts &D1, const Yeasts &D2); void WindowTitle(); void setLocked(bool val); void brewing_salt_sub(QString salt, double val, int use); void set_brewing_salt(QString salt, double val, int use); void calcFermentables(); void calcFermentablesFromOG(double og); void calcIBUs(); void calcStyle(); void calcBU(); void adjustHops(double factor); void adjustMiscs(double factor); double ZAlkalinity(double pHZ); double ZRA(double pHZ); double BufferCapacity(Fermentables F); double AcidRequired(double ZpH, Fermentables F); double ProtonDeficit(double pHZ); double MashpH(); void setButtons(bool locked); void calcWater(); void calcSparge(); double GetBUGU(); double GetOptSO4Clratio(); void calcYeast(); void adjustYeasts(double factor); double infusionVol(double step_infused, double step_mashkg, double infuse_temp, double step_temp, double last_temp); double decoctionVol(double step_volume, double step_temp, double prev_temp); void calcMash(); void adjustWaters(double factor); void exportBeerXML(); void copyRecipe(); void copyProduct(); void toforumRecipe(); }; #endif