Added export product to recipe.

Tue, 07 Jun 2022 11:05:23 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Tue, 07 Jun 2022 11:05:23 +0200
changeset 265
df17db1484f6
parent 264
67b5c00dd23c
child 266
5f0782149028

Added export product to recipe.

src/EditProduct.cpp file | annotate | diff | comparison | revisions
src/EditProductExport.cpp file | annotate | diff | comparison | revisions
--- a/src/EditProduct.cpp	Tue Jun 07 09:48:35 2022 +0200
+++ b/src/EditProduct.cpp	Tue Jun 07 11:05:23 2022 +0200
@@ -21,6 +21,7 @@
 #include "Utils.h"
 #include "global.h"
 #include "database/db_product.h"
+#include "database/db_recipe.h"
 
 
 EditProduct::EditProduct(int id, QWidget *parent) : QDialog(parent), ui(new Ui::EditProduct)
--- a/src/EditProductExport.cpp	Tue Jun 07 09:48:35 2022 +0200
+++ b/src/EditProductExport.cpp	Tue Jun 07 11:05:23 2022 +0200
@@ -327,6 +327,99 @@
 
 void EditProduct::copyRecipe()
 {
+    Recipe *r = new Recipe;
+
+    r->record = -1;
+    r->name = product->name + QString(" [duplicate]");
+    r->notes = product->notes;
+    r->locked = false;
+    r->st_name = product->st_name;
+    r->st_letter = product->st_letter;
+    r->st_guide = product->st_guide;
+    r->st_category = product->st_category;
+    r->st_category_number = product->st_category_number;
+    r->st_og_min = product->st_og_min;
+    r->st_og_max = product->st_og_max;
+    r->st_fg_min = product->st_fg_min;
+    r->st_fg_max = product->st_fg_max;
+    r->st_ibu_min = product->st_ibu_min;
+    r->st_ibu_max = product->st_ibu_max;
+    r->st_color_min = product->st_color_min;
+    r->st_color_max = product->st_color_max;
+    r->st_carb_min = product->st_carb_min;
+    r->st_carb_max = product->st_carb_max;
+    r->st_abv_min = product->st_abv_min;
+    r->st_abv_max = product->st_abv_max;
+    r->type = product->type;
+    r->batch_size = product->batch_size;
+    r->boil_size = product->boil_size;
+    r->boil_time = product->boil_time;
+    r->efficiency = product->efficiency;
+    r->est_og = product->est_og;
+    r->est_fg = product->est_fg;
+    r->est_abv = product->est_abv;
+    r->est_carb = 0;
+    r->est_color = product->est_color;
+    r->color_method = product->color_method;
+    r->est_ibu = product->est_ibu;
+    r->ibu_method = product->ibu_method;
+    r->sparge_temp = product->sparge_temp;
+    r->sparge_volume = product->sparge_volume;
+    r->sparge_ph = product->sparge_ph;
+    r->sparge_acid_type = product->sparge_acid_type;
+    r->sparge_acid_perc = product->sparge_acid_perc;
+    r->sparge_acid_amount = 0;
+    r->mash_ph = product->mash_ph;
+    r->mash_name = product->mash_name;
+    r->calc_acid = product->calc_acid;
+    r->w1_name = product->w1_name;
+    r->w1_amount = product->w1_amount;
+    r->w1_calcium = product->w1_calcium;
+    r->w1_sulfate = product->w1_sulfate;
+    r->w1_chloride = product->w1_chloride;
+    r->w1_sodium = product->w1_sodium;
+    r->w1_magnesium = product->w1_magnesium;
+    r->w1_total_alkalinity = product->w1_total_alkalinity;
+    r->w1_ph = product->w1_ph;
+    r->w2_name = product->w2_name;
+    r->w2_amount = product->w2_amount;
+    r->w2_calcium = product->w2_calcium;
+    r->w2_sulfate = product->w2_sulfate;
+    r->w2_chloride = product->w2_chloride;
+    r->w2_sodium = product->w2_sodium;
+    r->w2_magnesium = product->w2_magnesium;
+    r->w2_total_alkalinity = product->w2_total_alkalinity;
+    r->w2_ph = product->w2_ph;
+    r->wg_amount = product->wg_amount;
+    r->wg_calcium = product->wg_calcium;
+    r->wg_sulfate = product->wg_sulfate;
+    r->wg_chloride = product->wg_chloride;
+    r->wg_sodium = product->wg_sodium;
+    r->wg_magnesium = product->wg_magnesium;
+    r->wg_total_alkalinity = product->wg_total_alkalinity;
+    r->wg_ph = product->wg_ph;
+    r->wb_calcium = product->wb_calcium;
+    r->wb_sulfate = product->wb_sulfate;
+    r->wb_chloride = product->wb_chloride;
+    r->wb_sodium = product->wb_sodium;
+    r->wb_magnesium = product->wb_magnesium;
+    r->wb_total_alkalinity = product->wb_total_alkalinity;
+    r->wb_ph = product->wb_ph;
+    r->wa_acid_name = product->wa_acid_name;
+    r->wa_acid_perc = product->wa_acid_perc;
+    r->wa_base_name = product->wa_base_name;
+    r->fermentables = product->fermentables;
+    r->hops = product->hops;
+    r->miscs = product->miscs;
+    r->yeasts = product->yeasts;
+    r->mashs = product->mashs;
+
+    if (DB_recipe::save(r, this)) {
+        QMessageBox::information(this, tr("Copy Product"), tr("Copy Produuct to Recipe ready."));
+    } else {
+        QMessageBox::warning(this, tr("Copy Product"), tr("Copy Product to Recipe error."));
+    }
+    delete r;
 }
 
 
@@ -363,12 +456,12 @@
 /*    QRadioButton *splitButton = new QRadioButton(dialog);
     splitButton->setObjectName(QString::fromUtf8("splitButton"));
     splitButton->setGeometry(QRect(50, 110, 171, 21));
-    splitButton->setText(tr("Split this batch"));
+    splitButton->setText(tr("Split this batch")); */
     QRadioButton *copy_recipeButton = new QRadioButton(dialog);
     copy_recipeButton->setObjectName(QString::fromUtf8("copy_recipeButton"));
     copy_recipeButton->setGeometry(QRect(50, 80, 171, 21));
     copy_recipeButton->setText(tr("Copy to recipe"));
-    QRadioButton *toforumButton = new QRadioButton(dialog);
+/*    QRadioButton *toforumButton = new QRadioButton(dialog);
     toforumButton->setObjectName(QString::fromUtf8("toforumButton"));
     toforumButton->setGeometry(QRect(50, 140, 171, 21));
     toforumButton->setText(tr("Export to forum")); */
@@ -383,6 +476,8 @@
 	    exportBeerXML();
 	if (copy_productButton->isChecked())
 	    copyProduct();
+	if (copy_recipeButton->isChecked())
+	    copyRecipe();
     }
 
     disconnect(buttonBox, nullptr, nullptr, nullptr);

mercurial