src/EditProduct.cpp

changeset 176
69a033e099a2
parent 175
f1ed3a2a94e9
child 177
62b8d701cd88
equal deleted inserted replaced
175:f1ed3a2a94e9 176:69a033e099a2
59 ui->sp_sourceEdit->addItem(tr("Source 2")); 59 ui->sp_sourceEdit->addItem(tr("Source 2"));
60 ui->sp_sourceEdit->addItem(tr("Mixed")); 60 ui->sp_sourceEdit->addItem(tr("Mixed"));
61 61
62 query.prepare("SELECT name FROM inventory_waters ORDER BY record"); 62 query.prepare("SELECT name FROM inventory_waters ORDER BY record");
63 query.exec(); 63 query.exec();
64 query.first();
65 ui->w1_nameEdit->addItem(""); 64 ui->w1_nameEdit->addItem("");
66 ui->w2_nameEdit->addItem(""); 65 ui->w2_nameEdit->addItem("");
67 for (int i = 0; i < query.size(); i++) { 66 while (query.next()) {
68 ui->w1_nameEdit->addItem(query.value(0).toString()); 67 ui->w1_nameEdit->addItem(query.value(0).toString());
69 ui->w2_nameEdit->addItem(query.value(0).toString()); 68 ui->w2_nameEdit->addItem(query.value(0).toString());
70 query.next();
71 } 69 }
72 70
73 query.prepare("SELECT name FROM profile_water ORDER BY name"); 71 query.prepare("SELECT name FROM profile_water ORDER BY name");
74 query.exec(); 72 query.exec();
75 ui->wt_sourceEdit->addItem(""); 73 ui->wt_sourceEdit->addItem("");
82 ui->mash_pickEdit->addItem(""); 80 ui->mash_pickEdit->addItem("");
83 while (query.next()) { 81 while (query.next()) {
84 ui->mash_pickEdit->addItem(query.value(0).toString()); 82 ui->mash_pickEdit->addItem(query.value(0).toString());
85 } 83 }
86 84
87 ui->beerstyleEdit->addItem(""); // First add a dummy 85 ui->beerstyleEdit->addItem(product->st_name); // First add a dummy, the current style
88 query.prepare("SELECT style_guide,style_letter,name FROM profile_styles ORDER BY style_guide,style_letter,name"); 86 query.prepare("SELECT style_guide,style_letter,name FROM profile_styles ORDER BY style_guide,style_letter,name");
89 query.exec(); 87 query.exec();
90 query.first(); 88 while (query.next()) {
91 for (int i = 0; i < query.size(); i++) {
92 ui->beerstyleEdit->addItem(query.value(0).toString()+" "+query.value(1).toString()+" "+query.value(2).toString()); 89 ui->beerstyleEdit->addItem(query.value(0).toString()+" "+query.value(1).toString()+" "+query.value(2).toString());
93 query.next();
94 } 90 }
95 91
96 if (id >= 0) { 92 if (id >= 0) {
97 query.prepare("SELECT * FROM products WHERE record = :recno"); 93 query.prepare("SELECT * FROM products WHERE record = :recno");
98 query.bindValue(":recno", id); 94 query.bindValue(":recno", id);
564 qDebug() << "empty mashs"; 560 qDebug() << "empty mashs";
565 } 561 }
566 qDebug() << "mashs" << product->mashs.size(); 562 qDebug() << "mashs" << product->mashs.size();
567 563
568 } else { 564 } else {
569 /* Set some defaults */ 565 /* New product, set some defaults */
570 product->locked = false; 566 product->locked = product->log_brew = product->log_fermentation = product->log_ispindel = product->log_co2pressure = false;
571 product->st_name = ""; 567 product->st_name = "";
572 product->st_letter = ""; 568 product->st_letter = "";
573 product->st_guide = ""; 569 product->st_guide = "";
574 product->st_category = ""; 570 product->st_category = "";
575 product->st_category_number = 0; 571 product->st_category_number = 0;
578 product->st_fg_min = 1.000; product->st_fg_max = 1.020; 574 product->st_fg_min = 1.000; product->st_fg_max = 1.020;
579 product->st_ibu_min = 5; product->st_ibu_max = 200; 575 product->st_ibu_min = 5; product->st_ibu_max = 200;
580 product->st_color_min = 3; product->st_color_max = 100; 576 product->st_color_min = 3; product->st_color_max = 100;
581 product->st_carb_min = 1.0; product->st_carb_max = 4.5; 577 product->st_carb_min = 1.0; product->st_carb_max = 4.5;
582 product->st_abv_min = 1; product->st_abv_max = 15; 578 product->st_abv_min = 1; product->st_abv_max = 15;
583 product->name = ""; 579 product->eq_name = product->eq_notes = product->name = product->code = "";
580 product->eq_tun_specific_heat = 0.11;
581 product->eq_tun_material = 0;
582 product->eq_tun_volume = product->eq_tun_height = 20;
583 product->eq_tun_weight = 2;
584 product->eq_top_up_water = 0;
585 product->eq_trub_chiller_loss = 0.5;
586 product->eq_evap_rate = 1.8;
587 product->eq_calc_boil_volume = true;
588 product->eq_top_up_kettle = 0;
589 product->eq_hop_utilization = 100;
590 product->eq_lauter_volume = product->eq_lauter_height = product->eq_kettle_volume = product->eq_kettle_height = product->eq_mash_volume = 20;
591 product->eq_lauter_deadspace = 0.5;
592 product->eq_mash_max = 6;
593 product->eq_efficiency = 75;
594 product->birth = QDate::currentDate();
595 product->stage = product->inventory_reduced = PROD_STAGE_PLAN;
584 product->notes = ""; 596 product->notes = "";
585 product->efficiency = 75; 597 product->efficiency = 75;
586 product->batch_size = 20; 598 product->eq_batch_size = product->batch_size = 20;
587 product->boil_time = 60; 599 product->eq_boil_time = product->boil_time = 60;
588 product->boil_size = product->batch_size + (round(product->batch_size * product->boil_time / 60.0) / 10.0); 600 product->eq_boil_size = product->boil_size = product->batch_size + (round(product->batch_size * product->boil_time / 60.0) / 10.0);
589 product->type = 2; 601 product->type = 2;
590 product->est_og = product->est_fg = product->est_color = product->est_ibu = product->est_abv = 0; 602 product->est_og = product->est_fg = product->est_color = product->est_ibu = product->est_abv = 0;
603 product->brew_date_start = product->brew_date_end = QDateTime();
604 product->brew_mash_ph = product->brew_mash_sg = product->brew_mash_efficiency = 0;
605 product->brew_sparge_temperature = product->brew_sparge_volume = product->brew_sparge_est = product->brew_sparge_ph = 0;
606 product->brew_preboil_volume = product->brew_preboil_sg = product->brew_preboil_ph = product->brew_preboil_efficiency = 0;
607 product->brew_aboil_volume = product->brew_aboil_sg = product->brew_aboil_ph = product->brew_aboil_efficiency = 0;
608 product->brew_cooling_method = product->brew_cooling_time = 0;
609 product->brew_cooling_to = 20;
610 product->brew_whirlpool9 = product->brew_whirlpool7 = product->brew_whirlpool6 = product->brew_whirlpool2 = 0;
611 product->brew_fermenter_volume = product->brew_fermenter_extrawater = product->brew_fermenter_tcloss = 0;
612 product->brew_aeration_time = product->brew_aeration_speed = product->brew_aeration_type = 0;
613 product->brew_fermenter_sg = product->brew_fermenter_ibu = product->brew_fermenter_color = 0;
614 product->og = product->fg = 0;
615 product->primary_start_temp = product->primary_max_temp = product->primary_end_temp = product->primary_end_sg = 0;
616 product->primary_end_date = product->secondary_end_date = QDate();
617 product->secondary_temp = product->secondary_end_sg = product->tertiary_temp = 0;
618 product->package_date = QDate();
619 product->package_volume = product->package_infuse_amount = product->package_infuse_abv = product->package_abv = product->package_ph = 0;
620 product->package_infuse_notes = "";
621 product->bottle_amount = product->bottle_carbonation = product->bottle_priming_amount = product->bottle_carbonation_temp = 0;
622 product->keg_amount = product->keg_carbonation = product->keg_priming_amount = product->keg_priming_water = 0;
623 product->keg_carbonation_temp = product->keg_pressure = 0;
624 product->bottle_priming_water = product->keg_priming_sugar = 0;
625 product->taste_rate = 0;
626 product->taste_date = QDate();
627 product->taste_notes = product->taste_color = product->taste_transparency = product->taste_head = "";
628 product->taste_aroma = product->taste_taste = product->taste_mouthfeel = product->taste_aftertaste = "";
591 product->sparge_temp = 80; 629 product->sparge_temp = 80;
592 product->sparge_ph = 5.4; 630 product->sparge_ph = 5.4;
593 product->sparge_volume = 8; 631 product->sparge_volume = 8;
594 product->sparge_source = 0; 632 product->sparge_source = 0;
595 product->sparge_acid_type = 0; 633 product->sparge_acid_type = 0;
634 product->wb_total_alkalinity = 0; 672 product->wb_total_alkalinity = 0;
635 product->wb_ph = 7; 673 product->wb_ph = 7;
636 product->wa_acid_name = 0; 674 product->wa_acid_name = 0;
637 product->wa_acid_perc = 80; 675 product->wa_acid_perc = 80;
638 product->wa_base_name = 0; 676 product->wa_base_name = 0;
677 product->starter_enable = false;
678 product->starter_type = product->prop1_type = product->prop2_type = product->prop3_type = product->prop4_type = 0;
679 product->starter_viability = 100;
680 product->starter_sg = 1.037;
681 product->yeast_prod_date = QDate();
682 product->yeast_pitchrate = product->prop1_volume = product->prop2_volume = product->prop3_volume = product->prop4_volume = 0;
683 product->divide_type = product->divide_parts = product->divide_part = 0;
684 product->divide_size = product->divide_factor = 0;
639 } 685 }
640 686
641 // Tab generic. 687 // Tab generic.
642 ui->lockedEdit->setChecked(product->locked); 688 ui->lockedEdit->setChecked(product->locked);
643 ui->st_nameEdit->setText(product->st_name); 689 ui->st_nameEdit->setText(product->st_name);
645 ui->st_guideEdit->setText(product->st_guide); 691 ui->st_guideEdit->setText(product->st_guide);
646 ui->st_catEdit->setText(product->st_category); 692 ui->st_catEdit->setText(product->st_category);
647 ui->st_catnrEdit->setText(QString("%1").arg(product->st_category_number)); 693 ui->st_catnrEdit->setText(QString("%1").arg(product->st_category_number));
648 ui->st_typeEdit->setText(style_types[product->st_type]); 694 ui->st_typeEdit->setText(style_types[product->st_type]);
649 ui->nameEdit->setText(product->name); 695 ui->nameEdit->setText(product->name);
696 ui->codeEdit->setText(product->code);
697 ui->birthEdit->setText(product->birth.toString("dd MMM yyyy"));
698 ui->stageEdit->setText(prod_stages[product->stage]);
650 ui->notesEdit->setPlainText(product->notes); 699 ui->notesEdit->setPlainText(product->notes);
651 ui->typeEdit->setCurrentIndex(product->type); 700 ui->typeEdit->setCurrentIndex(product->type);
652 ui->batch_sizeEdit->setValue(product->batch_size); 701 ui->batch_sizeEdit->setValue(product->batch_size);
653 ui->boil_sizeEdit->setValue(product->boil_size); 702 ui->boil_sizeEdit->setValue(product->boil_size);
654 ui->boil_timeEdit->setValue(product->boil_time); 703 ui->boil_timeEdit->setValue(product->boil_time);
655 ui->efficiencyEdit->setValue(product->efficiency); 704 ui->efficiencyEdit->setValue(product->efficiency);
705 if (product->divide_type > 0)
706 ui->splitatEdit->setText(QString(tr("%1, part %2 of %3").arg(prod_split[product->divide_type])
707 .arg(product->divide_part + 1)
708 .arg(product->divide_parts + 1)));
709 else
710 ui->splitatEdit->setText(prod_split[product->divide_type]);
656 ui->est_ogEdit->setValue(product->est_og); 711 ui->est_ogEdit->setValue(product->est_og);
657 ui->est_ogShow->setRange(product->st_og_min, product->st_og_max); 712 ui->est_ogShow->setRange(product->st_og_min, product->st_og_max);
658 ui->est_ogShow->setPrecision(3); 713 ui->est_ogShow->setPrecision(3);
659 ui->est_ogShow->setMarkerTextIsValue(true); 714 ui->est_ogShow->setMarkerTextIsValue(true);
660 ui->est_ogShow->setValue(product->est_og); 715 ui->est_ogShow->setValue(product->est_og);
684 ui->est_carbEdit->setValue(product->est_carb); 739 ui->est_carbEdit->setValue(product->est_carb);
685 ui->est_carbShow->setPrecision(1); 740 ui->est_carbShow->setPrecision(1);
686 ui->est_carbShow->setMarkerTextIsValue(true); 741 ui->est_carbShow->setMarkerTextIsValue(true);
687 ui->est_carbShow->setRange(product->st_carb_min, product->st_carb_max); 742 ui->est_carbShow->setRange(product->st_carb_min, product->st_carb_max);
688 ui->est_carbShow->setValue(product->est_carb); 743 ui->est_carbShow->setValue(product->est_carb);
744
745 // Tab equipment.
746 showEquipment();
689 747
690 // Tab fermentables. 748 // Tab fermentables.
691 ui->est_og2Edit->setValue(product->est_og); 749 ui->est_og2Edit->setValue(product->est_og);
692 ui->est_color2Edit->setValue(product->est_color); 750 ui->est_color2Edit->setValue(product->est_color);
693 ui->est_color2Edit->setStyleSheet(Utils::ebc_to_style(product->est_color)); 751 ui->est_color2Edit->setStyleSheet(Utils::ebc_to_style(product->est_color));
805 ui->sp_phEdit->setValue(product->sparge_ph); 863 ui->sp_phEdit->setValue(product->sparge_ph);
806 ui->sp_sourceEdit->setCurrentIndex(product->sparge_source); 864 ui->sp_sourceEdit->setCurrentIndex(product->sparge_source);
807 ui->sp_acidtypeEdit->setCurrentIndex(product->sparge_acid_type); 865 ui->sp_acidtypeEdit->setCurrentIndex(product->sparge_acid_type);
808 ui->sp_acidpercEdit->setValue(product->sparge_acid_perc); 866 ui->sp_acidpercEdit->setValue(product->sparge_acid_perc);
809 ui->sp_acidvolEdit->setValue(product->sparge_acid_amount); 867 ui->sp_acidvolEdit->setValue(product->sparge_acid_amount);
868
869 // Tab brewday.
870
871 // Tab fermentation.
872
873 // Tab packaging.
874
875 // Tab taste.
810 876
811 // All signals from tab "Generic" 877 // All signals from tab "Generic"
812 connect(ui->lockedEdit, &QCheckBox::stateChanged, this, &EditProduct::is_changed); 878 connect(ui->lockedEdit, &QCheckBox::stateChanged, this, &EditProduct::is_changed);
813 connect(ui->nameEdit, &QLineEdit::textChanged, this, &EditProduct::name_changed); 879 connect(ui->nameEdit, &QLineEdit::textChanged, this, &EditProduct::name_changed);
814 connect(ui->notesEdit, SIGNAL(textChanged()), this, SLOT(notes_changed())); 880 connect(ui->notesEdit, SIGNAL(textChanged()), this, SLOT(notes_changed()));

mercurial