# HG changeset patch # User Michiel Broek # Date 1654592723 -7200 # Node ID df17db1484f68b8df57615c36dd5c06c1d01bf74 # Parent 67b5c00dd23c21f81baeea0d3677c45d2b0dbb85 Added export product to recipe. diff -r 67b5c00dd23c -r df17db1484f6 src/EditProduct.cpp --- 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) diff -r 67b5c00dd23c -r df17db1484f6 src/EditProductExport.cpp --- 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);