Mon, 01 Aug 2022 21:49:57 +0200
Added reports, total production, fermentations and efficiency.
src/MainWindow.cpp | file | annotate | diff | comparison | revisions | |
src/MainWindow.h | file | annotate | diff | comparison | revisions | |
src/PrinterDialog.cpp | file | annotate | diff | comparison | revisions | |
src/PrinterDialog.h | file | annotate | diff | comparison | revisions | |
translations/bmsapp_en.ts | file | annotate | diff | comparison | revisions | |
translations/bmsapp_nl.ts | file | annotate | diff | comparison | revisions | |
ui/MainWindow.ui | file | annotate | diff | comparison | revisions |
--- a/src/MainWindow.cpp Mon Aug 01 13:05:23 2022 +0200 +++ b/src/MainWindow.cpp Mon Aug 01 21:49:57 2022 +0200 @@ -793,6 +793,24 @@ } +void MainWindow::on_actionRep_Production_triggered() +{ + PrinterDialog(PR_REP_TOTAL, -1, this); +} + + +void MainWindow::on_actionRep_Efficiency_triggered() +{ + PrinterDialog(PR_REP_EFF, -1, this); +} + + +void MainWindow::on_actionRep_Fermentation_triggered() +{ + PrinterDialog(PR_REP_SVG, -1, this); +} + + void MainWindow::fromProfileWaters() { ui->mainStack->setCurrentIndex(-1);
--- a/src/MainWindow.h Mon Aug 01 13:05:23 2022 +0200 +++ b/src/MainWindow.h Mon Aug 01 21:49:57 2022 +0200 @@ -149,6 +149,9 @@ void on_actionMon_CO2meters_triggered(); void on_actionMon_iSpindels_triggered(); void on_actionProd_inprod_triggered(); + void on_actionRep_Production_triggered(); + void on_actionRep_Efficiency_triggered(); + void on_actionRep_Fermentation_triggered(); void on_actionOn_Name_triggered(); void on_actionOn_Code_triggered(); void on_actionOn_Date_triggered();
--- a/src/PrinterDialog.cpp Mon Aug 01 13:05:23 2022 +0200 +++ b/src/PrinterDialog.cpp Mon Aug 01 21:49:57 2022 +0200 @@ -2141,6 +2141,231 @@ } } } + } else if (p_job == PR_REP_TOTAL) { + + qInfo() << "Print total production"; + printHeader(&painter); + y = 120; + + /* Report header */ + painter.setFont(QFont("Helvetica", 9, QFont::Bold)); + painter.setPen(Qt::black); + painter.fillRect( 20, y, 540, 20, c_header); + painter.drawText( 20, y+4, 80, 20, Qt::AlignHCenter, tr("Number")); + painter.drawText(100, y+4, 80, 20, Qt::AlignHCenter, tr("Year")); + painter.drawText(180, y+4, 120, 20, Qt::AlignRight, tr("Brew sessions")); + painter.drawText(300, y+4, 120, 20, Qt::AlignRight, tr("Brew volume")); + painter.drawText(420, y+4, 120, 20, Qt::AlignRight, tr("Average volume")); + y += 20; + painter.setFont(QFont("Helvetica", 9, QFont::Normal)); + query.exec("SELECT DISTINCT YEAR(package_date) FROM products WHERE package_date ORDER BY package_date"); + query.first(); + int regel = 0, brews = 0, total = 0; + double packaged = 0, tvolume = 0, average; + QString year = ""; + for (int i = 0 ; i < query.size() ; i++ ) { + if ((y + 20) > painter.device()->height()) { + printer->newPage(); + printHeader(&painter); + y = 120; + } + + brews = 0; + packaged = 0; + regel++; + year = query.value(0).toString(); + QSqlQuery query2; + query2.exec("SELECT package_volume FROM products WHERE package_date AND YEAR(package_date) = '" + year + "'"); + while (query2.next()) { + brews++; + total++; + packaged += query2.value(0).toDouble(); + tvolume += query2.value(0).toDouble(); + } + average = packaged / brews; + painter.fillRect( 20, y, 540, 20, (i % 2) ? c_line1:c_line2); + painter.drawText( 20, y+4, 80, 20, Qt::AlignCenter, QString("%1").arg(regel)); + painter.drawText(100, y+4, 100, 20, Qt::AlignCenter, year); + painter.drawText(180, y+4, 120, 20, Qt::AlignRight, QString("%1").arg(brews)); + painter.drawText(300, y+4, 120, 20, Qt::AlignRight, QString("%1 L").arg(packaged, 2, 'f', 1, '0')); + painter.drawText(420, y+4, 120, 20, Qt::AlignRight, QString("%1 L").arg(average, 2, 'f', 1, '0')); + query.next(); + y += 20; + } + average = tvolume / total; + painter.fillRect(180, y, 360, 20, w_line); + painter.drawText(180, y+4, 120, 20, Qt::AlignRight, QString("%1").arg(total)); + painter.drawText(300, y+4, 120, 20, Qt::AlignRight, QString("%1 L").arg(tvolume, 2, 'f', 1, '0')); + painter.drawText(420, y+4, 120, 20, Qt::AlignRight, QString("%1 L").arg(average, 2, 'f', 1, '0')); + y += 20; + + } else if (p_job == PR_REP_EFF) { + + qInfo() << "Print efficiency"; + y = painter.device()->height() + 100; + + query.exec("SELECT * FROM products WHERE package_date AND type='2' ORDER BY code"); + query.first(); + for (int i = 0 ; i < query.size() ; i++ ) { + if ((y + 20) > painter.device()->height()) { + if (i > 0) + printer->newPage(); + printHeader(&painter); + y = 120; + + /* Report header */ + painter.setFont(QFont("Helvetica", 9, QFont::Bold)); + painter.setPen(Qt::black); + painter.fillRect( 20, y, 715, 20, c_header); + painter.drawText( 25, y+4, 65, 20, Qt::AlignLeft, tr("Code")); + painter.drawText( 90, y+4, 200, 20, Qt::AlignLeft, tr("Name")); + painter.drawText(290, y+4, 120, 20, Qt::AlignLeft, tr("Beer style")); + painter.drawText(410, y+4, 80, 20, Qt::AlignRight, tr("Max extract")); + painter.drawText(490, y+4, 80, 20, Qt::AlignRight, tr("Mash eff.")); + painter.drawText(570, y+4, 80, 20, Qt::AlignRight, tr("Sparge eff")); + painter.drawText(650, y+4, 80, 20, Qt::AlignRight, tr("Boil eff")); + y += 20; + painter.setFont(QFont("Helvetica", 9, QFont::Normal)); + } + + /* + * Data is not always available, calculate the missing pieces. + */ + double mvol = 0, msugars = 0, ssugars = 0; + QJsonParseError parseError; + + const auto& ma_json = query.value("json_mashs").toString().trimmed(); + if (!ma_json.trimmed().isEmpty()) { + const auto& formattedJson = QString("%1").arg(ma_json); + QJsonDocument mashs = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError); + if (parseError.error != QJsonParseError::NoError) { + qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ; + } else if (mashs.isArray()) { + for (int j = 0; j < mashs.array().size(); j++) { + QJsonObject obj = mashs.array().at(j).toObject(); + if (obj["step_type"].toInt() == 0) + mvol += obj["step_infuse_amount"].toDouble(); + } + } + } + + const auto& f_json = query.value("json_fermentables").toString(); + if (!f_json.trimmed().isEmpty()) { + const auto& formattedJson = QString("%1").arg(f_json); + QJsonDocument fermentables = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError); + if (parseError.error != QJsonParseError::NoError) { + qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ; + } else if (fermentables.isArray()) { + for (int j = 0; j < fermentables.array().size(); j++) { + QJsonObject obj = fermentables.array().at(j).toObject(); + if (obj["f_added"].toInt() == 0) { + double d = obj["f_amount"].toDouble() * (obj["f_yield"].toDouble() / 100) * (1 - obj["f_moisture"].toDouble() / 100); + ssugars += obj["f_amount"].toDouble(); + mvol += obj["f_amount"].toDouble() * obj["f_moisture"].toDouble() / 100; + msugars += d; + } + } + } + } + + double sugardensity = 1.611; + double v = msugars / sugardensity + mvol; + double plato = 1000 * msugars / (v * 10); // deg. Plato + double mash_efficiency = query.value("brew_mash_efficiency").toDouble(); + double mash_sg = query.value("brew_mash_sg").toDouble(); + if ((mash_efficiency == 0) && (mash_sg > 1)) { + mash_efficiency = 100 * Utils::sg_to_plato(mash_sg) / plato; + } + double mash_extract = 100 * msugars / ssugars; + double preboil_sg = query.value("brew_preboil_sg").toDouble(); + double preboil_volume = query.value("brew_preboil_volume").toDouble(); + double est_preboil_plato = Utils::sg_to_plato(preboil_sg) * (preboil_volume / 1.04) * preboil_sg * 10 / 1000; + double preboil_efficiency = query.value("brew_preboil_efficiency").toDouble(); + if ((msugars > 0) && (preboil_efficiency == 0)) + preboil_efficiency = est_preboil_plato / msugars * 100; + if (preboil_efficiency < 0) + preboil_efficiency = 0; + double aboil_efficiency = query.value("brew_aboil_efficiency").toDouble(); + + painter.fillRect( 20, y, 715, 20, (i % 2) ? c_line1:c_line2); + painter.drawText( 25, y+4, 65, 20, Qt::AlignLeft, query.value("code").toString()); + painter.drawText( 90, y+4, 200, 20, Qt::AlignLeft, query.value("name").toString()); + painter.drawText(290, y+4, 120, 20, Qt::AlignLeft, query.value("st_name").toString()); + painter.drawText(410, y+4, 80, 20, Qt::AlignRight, QString("%1%").arg(mash_extract, 2, 'f', 1, '0')); + painter.drawText(490, y+4, 80, 20, Qt::AlignRight, QString("%1%").arg(mash_efficiency, 2, 'f', 1, '0')); + painter.drawText(570, y+4, 80, 20, Qt::AlignRight, QString("%1%").arg(preboil_efficiency, 2, 'f', 1, '0')); + painter.drawText(650, y+4, 80, 20, Qt::AlignRight, QString("%1%").arg(aboil_efficiency, 2, 'f', 1, '0')); + query.next(); + y += 20; + } + + } else if (p_job == PR_REP_SVG) { + + qInfo() << "Print fermentations"; + y = painter.device()->height() + 100; + QString y_name, y_lab, y_product; + + /* + * Works from MariaDB 10.6.x and later, MySQL 8.x and later. + * Pick the first yeast record, that should be the one used for primary. + */ + query.exec("SELECT code,name,brew_date_end,primary_end_temp,primary_end_date,secondary_temp,secondary_end_date,tertiary_temp," + "package_date,brew_fermenter_sg,fg,json_yeasts," + "JSON_EXTRACT(json_yeasts, '$[0].y_laboratory') AS yeastLab,JSON_EXTRACT(json_yeasts, '$[0].y_product_id') AS yeastID " + "FROM products WHERE package_date AND type='2' ORDER BY yeastID"); + query.first(); + + for (int i = 0 ; i < query.size() ; i++ ) { + if ((y + 20) > painter.device()->height()) { + if (i > 0) + printer->newPage(); + printHeader(&painter); + y = 120; + + /* Report header */ + painter.setFont(QFont("Helvetica", 9, QFont::Bold)); + painter.setPen(Qt::black); + painter.fillRect( 20, y, 715, 20, c_header); + painter.drawText( 25, y+4, 65, 20, Qt::AlignLeft, tr("Code")); + painter.drawText( 90, y+4, 180, 20, Qt::AlignLeft, tr("Name")); + painter.drawText(270, y+4, 110, 20, Qt::AlignLeft, tr("Yeast")); + painter.drawText(380, y+4, 60, 20, Qt::AlignHCenter, tr("Primary")); + painter.drawText(440, y+4, 60, 20, Qt::AlignHCenter, tr("Secondary")); + painter.drawText(500, y+4, 60, 20, Qt::AlignHCenter, tr("Tertiary")); + painter.drawText(560, y+4, 40, 20, Qt::AlignRight, tr("Days")); + painter.drawText(600, y+4, 40, 20, Qt::AlignRight, tr("OG")); + painter.drawText(640, y+4, 40, 20, Qt::AlignRight, tr("FG")); + painter.drawText(680, y+4, 50, 20, Qt::AlignRight, tr("AA")); + y += 20; + painter.setFont(QFont("Helvetica", 9, QFont::Normal)); + } + + int primary = query.value("brew_date_end").toDate().daysTo(query.value("primary_end_date").toDate()); + int secondary = query.value("primary_end_date").toDate().daysTo(query.value("secondary_end_date").toDate()); + int tertiary = query.value("secondary_end_date").toDate().daysTo(query.value("package_date").toDate()); + int total = query.value("brew_date_end").toDate().daysTo(query.value("package_date").toDate()); + double og = query.value("brew_fermenter_sg").toDouble(); + double fg = query.value("fg").toDouble(); + double aa = Utils::calc_svg(og, fg); + + painter.fillRect( 20, y, 715, 20, (i % 2) ? c_line1:c_line2); + painter.drawText( 25, y+4, 65, 20, Qt::AlignLeft, query.value("code").toString()); + painter.drawText( 90, y+4, 180, 20, Qt::AlignLeft, query.value("name").toString()); + painter.drawText(270, y+4, 110, 20, Qt::AlignLeft, query.value("yeastID").toString() + " " + query.value("yeastLab").toString()); + painter.drawText(380, y+4, 40, 20, Qt::AlignRight, QString("%1°").arg(query.value("primary_end_temp").toDouble(), 2, 'f', 1)); + painter.drawText(420, y+4, 20, 20, Qt::AlignRight, QString("%1").arg(primary)); + painter.drawText(440, y+4, 40, 20, Qt::AlignRight, QString("%1°").arg(query.value("secondary_temp").toDouble(), 2, 'f', 1)); + painter.drawText(480, y+4, 20, 20, Qt::AlignRight, QString("%1").arg(secondary)); + painter.drawText(500, y+4, 40, 20, Qt::AlignRight, QString("%1°").arg(query.value("tertiary_temp").toDouble(), 2, 'f', 1)); + painter.drawText(540, y+4, 20, 20, Qt::AlignRight, QString("%1").arg(tertiary)); + painter.drawText(560, y+4, 40, 20, Qt::AlignRight, QString("%1").arg(total)); + painter.drawText(600, y+4, 40, 20, Qt::AlignRight, QString("%1").arg(og, 4, 'f', 3, '0')); + painter.drawText(640, y+4, 40, 20, Qt::AlignRight, QString("%1").arg(fg, 4, 'f', 3, '0')); + painter.drawText(680, y+4, 50, 20, Qt::AlignRight, QString("%1%").arg(aa, 2, 'f', 1, '0')); + + query.next(); + y += 20; + } } painter.end(); @@ -2232,6 +2457,12 @@ painter->drawText(140, 0, 500, 40, Qt::AlignLeft, recipe->name); } else if (p_job == PR_PRODUCT || p_job == PR_CHECKLIST) { painter->drawText(140, 0, 500, 40, Qt::AlignLeft, product->code + " " + product->name); + } else if (p_job == PR_REP_TOTAL) { + painter->drawText(140, 0, 500, 40, Qt::AlignLeft, tr("Year production") + " " + my_brewery_name); + } else if (p_job == PR_REP_EFF) { + painter->drawText(140, 0, 500, 40, Qt::AlignLeft, tr("Brew efficiency") + " " + my_brewery_name); + } else if (p_job == PR_REP_SVG) { + painter->drawText(140, 0, 500, 40, Qt::AlignLeft, tr("Fermentations") + " " + my_brewery_name); } else { painter->drawText(140, 0, 500, 40, Qt::AlignLeft, "?? " + my_brewery_name); }
--- a/src/PrinterDialog.h Mon Aug 01 13:05:23 2022 +0200 +++ b/src/PrinterDialog.h Mon Aug 01 21:49:57 2022 +0200 @@ -6,7 +6,7 @@ #include <QPainter> -enum JobType { PR_SUPPLIES, PR_YEASTBANK, PR_RECIPE, PR_PRODUCT, PR_CHECKLIST }; +enum JobType { PR_SUPPLIES, PR_YEASTBANK, PR_RECIPE, PR_PRODUCT, PR_CHECKLIST, PR_REP_TOTAL, PR_REP_EFF, PR_REP_SVG }; namespace Ui { class PrinterDialog;
--- a/translations/bmsapp_en.ts Mon Aug 01 13:05:23 2022 +0200 +++ b/translations/bmsapp_en.ts Mon Aug 01 21:49:57 2022 +0200 @@ -1109,6 +1109,11 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../ui/EditEquipment.ui" line="1220"/> + <source>Clone</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditEquipment.cpp" line="32"/> <source>Stainless Steel</source> <translation type="unfinished"></translation> @@ -1129,46 +1134,58 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="149"/> + <location filename="../src/EditEquipment.cpp" line="147"/> <source>BMSapp - Add new equipment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="151"/> + <location filename="../src/EditEquipment.cpp" line="149"/> <source>BMSapp - Edit equipment %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="167"/> + <location filename="../src/EditEquipment.cpp" line="165"/> <source>Edit Equipment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="167"/> + <location filename="../src/EditEquipment.cpp" line="165"/> <source>Name empty or too short.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="225"/> - <location filename="../src/EditEquipment.cpp" line="250"/> + <location filename="../src/EditEquipment.cpp" line="223"/> + <location filename="../src/EditEquipment.cpp" line="281"/> + <location filename="../src/EditEquipment.cpp" line="306"/> <source>Database error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="226"/> - <location filename="../src/EditEquipment.cpp" line="251"/> + <location filename="../src/EditEquipment.cpp" line="224"/> + <location filename="../src/EditEquipment.cpp" line="282"/> + <location filename="../src/EditEquipment.cpp" line="307"/> <source>MySQL error: %1 %2 %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="299"/> + <location filename="../src/EditEquipment.cpp" line="296"/> + <source>Delete equipment</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditEquipment.cpp" line="296"/> + <source>Delete %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditEquipment.cpp" line="355"/> <source>Equipment changed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="299"/> + <location filename="../src/EditEquipment.cpp" line="355"/> <source>This equipment has been modified. Save changes?</source> <translation type="unfinished"></translation> </message> @@ -1418,6 +1435,11 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../ui/EditFermentable.ui" line="1152"/> + <source>Clone</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditFermentable.cpp" line="33"/> <source>Grain</source> <translation type="unfinished"></translation> @@ -1508,58 +1530,70 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="163"/> + <location filename="../src/EditFermentable.cpp" line="157"/> <source>BMSapp - Add new fermentable</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="165"/> + <location filename="../src/EditFermentable.cpp" line="159"/> <source>BMSapp - Edit fermentable %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="181"/> - <location filename="../src/EditFermentable.cpp" line="185"/> - <location filename="../src/EditFermentable.cpp" line="189"/> + <location filename="../src/EditFermentable.cpp" line="175"/> + <location filename="../src/EditFermentable.cpp" line="179"/> + <location filename="../src/EditFermentable.cpp" line="183"/> <source>Edit Fermentable</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="181"/> + <location filename="../src/EditFermentable.cpp" line="175"/> <source>Name empty or too short.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="185"/> + <location filename="../src/EditFermentable.cpp" line="179"/> <source>Origin empty or too short.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="189"/> + <location filename="../src/EditFermentable.cpp" line="183"/> <source>Supplier empty or too short.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="242"/> - <location filename="../src/EditFermentable.cpp" line="267"/> + <location filename="../src/EditFermentable.cpp" line="236"/> + <location filename="../src/EditFermentable.cpp" line="290"/> + <location filename="../src/EditFermentable.cpp" line="315"/> <source>Database error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="243"/> - <location filename="../src/EditFermentable.cpp" line="268"/> + <location filename="../src/EditFermentable.cpp" line="237"/> + <location filename="../src/EditFermentable.cpp" line="291"/> + <location filename="../src/EditFermentable.cpp" line="316"/> <source>MySQL error: %1 %2 %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="313"/> + <location filename="../src/EditFermentable.cpp" line="305"/> + <source>Delete fermentable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditFermentable.cpp" line="305"/> + <source>Delete %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditFermentable.cpp" line="361"/> <source>Fermentable changed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="313"/> + <location filename="../src/EditFermentable.cpp" line="361"/> <source>This fermentable has been modified. Save changes?</source> <translation type="unfinished"></translation> </message> @@ -1789,54 +1823,64 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditHop.cpp" line="130"/> + <location filename="../src/EditHop.cpp" line="129"/> <source>BMSapp - Add new hop</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditHop.cpp" line="132"/> + <location filename="../src/EditHop.cpp" line="131"/> <source>BMSapp - Edit hop %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditHop.cpp" line="149"/> - <location filename="../src/EditHop.cpp" line="153"/> + <location filename="../src/EditHop.cpp" line="148"/> + <location filename="../src/EditHop.cpp" line="152"/> <source>Edit Hop</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditHop.cpp" line="149"/> + <location filename="../src/EditHop.cpp" line="148"/> <source>Name empty or too short.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditHop.cpp" line="153"/> + <location filename="../src/EditHop.cpp" line="152"/> <source>Origin empty or too short.</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/EditHop.cpp" line="204"/> + <location filename="../src/EditHop.cpp" line="256"/> + <location filename="../src/EditHop.cpp" line="282"/> + <source>Database error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditHop.cpp" line="205"/> - <location filename="../src/EditHop.cpp" line="258"/> - <location filename="../src/EditHop.cpp" line="279"/> - <source>Database error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditHop.cpp" line="206"/> - <location filename="../src/EditHop.cpp" line="259"/> - <location filename="../src/EditHop.cpp" line="280"/> + <location filename="../src/EditHop.cpp" line="257"/> + <location filename="../src/EditHop.cpp" line="283"/> <source>MySQL error: %1 %2 %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditHop.cpp" line="320"/> + <location filename="../src/EditHop.cpp" line="272"/> + <source>Delete hop</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditHop.cpp" line="272"/> + <source>Delete %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditHop.cpp" line="323"/> <source>Hop changed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditHop.cpp" line="320"/> + <location filename="../src/EditHop.cpp" line="323"/> <source>This hop has been modified. Save changes?</source> <translation type="unfinished"></translation> </message> @@ -1895,7 +1939,7 @@ </message> <message> <location filename="../ui/EditMisc.ui" line="182"/> - <location filename="../src/EditMisc.cpp" line="219"/> + <location filename="../src/EditMisc.cpp" line="260"/> <source> gr</source> <translation type="unfinished"></translation> </message> @@ -1991,6 +2035,11 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../ui/EditMisc.ui" line="674"/> + <source>Clone</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditMisc.cpp" line="32"/> <source>Spice</source> <translation type="unfinished"></translation> @@ -2056,51 +2105,63 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="122"/> + <location filename="../src/EditMisc.cpp" line="121"/> <source>BMSapp - Add new misc ingredient</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="124"/> + <location filename="../src/EditMisc.cpp" line="123"/> <source>BMSapp - Edit misc ingredient %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="140"/> + <location filename="../src/EditMisc.cpp" line="139"/> <source>Edit Misc</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="140"/> + <location filename="../src/EditMisc.cpp" line="139"/> <source>Name empty or too short.</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/EditMisc.cpp" line="176"/> + <location filename="../src/EditMisc.cpp" line="218"/> + <location filename="../src/EditMisc.cpp" line="243"/> + <source>Database error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditMisc.cpp" line="177"/> - <location filename="../src/EditMisc.cpp" line="202"/> - <source>Database error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditMisc.cpp" line="178"/> - <location filename="../src/EditMisc.cpp" line="203"/> + <location filename="../src/EditMisc.cpp" line="219"/> + <location filename="../src/EditMisc.cpp" line="244"/> <source>MySQL error: %1 %2 %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="221"/> + <location filename="../src/EditMisc.cpp" line="233"/> + <source>Delete misc</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditMisc.cpp" line="233"/> + <source>Delete %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditMisc.cpp" line="262"/> <source> ml</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="297"/> + <location filename="../src/EditMisc.cpp" line="338"/> <source>Misc changed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="297"/> + <location filename="../src/EditMisc.cpp" line="338"/> <source>The ingredient has been modified. Save changes?</source> <translation type="unfinished"></translation> </message> @@ -2133,7 +2194,7 @@ <location filename="../src/EditProductTab5.cpp" line="166"/> <location filename="../src/EditProductTab6.cpp" line="56"/> <location filename="../src/EditProductTab6.cpp" line="143"/> - <location filename="../src/EditProductExport.cpp" line="852"/> + <location filename="../src/EditProductExport.cpp" line="855"/> <source>Delete</source> <translation type="unfinished"></translation> </message> @@ -2267,8 +2328,8 @@ <location filename="../ui/EditProduct.ui" line="10407"/> <location filename="../ui/EditProduct.ui" line="10767"/> <location filename="../ui/EditProduct.ui" line="10848"/> - <location filename="../src/EditProductExport.cpp" line="816"/> - <location filename="../src/EditProductExport.cpp" line="824"/> + <location filename="../src/EditProductExport.cpp" line="819"/> + <location filename="../src/EditProductExport.cpp" line="827"/> <source> L</source> <translation type="unfinished"></translation> </message> @@ -2545,7 +2606,7 @@ <location filename="../ui/EditProduct.ui" line="2713"/> <location filename="../ui/EditProduct.ui" line="3495"/> <location filename="../ui/EditProduct.ui" line="3650"/> - <location filename="../src/EditProductExport.cpp" line="844"/> + <location filename="../src/EditProductExport.cpp" line="847"/> <source>Add</source> <translation type="unfinished"></translation> </message> @@ -3424,7 +3485,7 @@ </message> <message> <location filename="../ui/EditProduct.ui" line="8320"/> - <location filename="../src/EditProductExport.cpp" line="783"/> + <location filename="../src/EditProductExport.cpp" line="786"/> <source>After boil</source> <translation type="unfinished"></translation> </message> @@ -4482,7 +4543,7 @@ <location filename="../src/EditProductTab9.cpp" line="560"/> <location filename="../src/EditProductExport.cpp" line="37"/> <location filename="../src/EditProductExport.cpp" line="40"/> - <location filename="../src/EditProductExport.cpp" line="261"/> + <location filename="../src/EditProductExport.cpp" line="264"/> <source>Save File</source> <translation type="unfinished"></translation> </message> @@ -4497,198 +4558,198 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="261"/> + <location filename="../src/EditProductExport.cpp" line="264"/> <source>XML export ready</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="313"/> - <location filename="../src/EditProductExport.cpp" line="315"/> - <location filename="../src/EditProductExport.cpp" line="411"/> - <location filename="../src/EditProductExport.cpp" line="413"/> + <location filename="../src/EditProductExport.cpp" line="316"/> + <location filename="../src/EditProductExport.cpp" line="318"/> + <location filename="../src/EditProductExport.cpp" line="414"/> + <location filename="../src/EditProductExport.cpp" line="416"/> <source>Copy Product</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="313"/> + <location filename="../src/EditProductExport.cpp" line="316"/> <source>Copy Product export ready.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="315"/> + <location filename="../src/EditProductExport.cpp" line="318"/> <source>Copy Product error.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="411"/> + <location filename="../src/EditProductExport.cpp" line="414"/> <source>Copy Product to Recipe ready.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="413"/> + <location filename="../src/EditProductExport.cpp" line="416"/> <source>Copy Product to Recipe error.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="560"/> - <location filename="../src/EditProductExport.cpp" line="1027"/> + <location filename="../src/EditProductExport.cpp" line="563"/> + <location filename="../src/EditProductExport.cpp" line="1030"/> <source>Export to forum</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="560"/> + <location filename="../src/EditProductExport.cpp" line="563"/> <source>The recipe and all data are copied to the clipboard. You can "paste" this data in the forum screen in your web browser.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="577"/> + <location filename="../src/EditProductExport.cpp" line="580"/> <source>Add a splitted batch</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="582"/> + <location filename="../src/EditProductExport.cpp" line="585"/> <source>Choose split moment in the brew process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="589"/> + <location filename="../src/EditProductExport.cpp" line="592"/> <source>Delete the last splitted batch</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="598"/> + <location filename="../src/EditProductExport.cpp" line="601"/> <source>The read-only `product code` of the batch</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="602"/> + <location filename="../src/EditProductExport.cpp" line="605"/> <source>Batch name, click to change the name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="607"/> + <location filename="../src/EditProductExport.cpp" line="610"/> <source>Batch size, click to change the volume</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="712"/> - <location filename="../src/EditProductExport.cpp" line="726"/> + <location filename="../src/EditProductExport.cpp" line="715"/> + <location filename="../src/EditProductExport.cpp" line="729"/> <source>Split product</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="738"/> + <location filename="../src/EditProductExport.cpp" line="741"/> <source>Product name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="749"/> + <location filename="../src/EditProductExport.cpp" line="752"/> <source>Product code:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="760"/> + <location filename="../src/EditProductExport.cpp" line="763"/> <source>Available volume:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="766"/> + <location filename="../src/EditProductExport.cpp" line="769"/> <source>Current brew stage:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="777"/> + <location filename="../src/EditProductExport.cpp" line="780"/> <source>Split at moment:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="781"/> - <source>Not divided</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditProductExport.cpp" line="782"/> - <source>After mash</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../src/EditProductExport.cpp" line="784"/> - <source>After cooling</source> + <source>Not divided</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/EditProductExport.cpp" line="785"/> - <source>After primary</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditProductExport.cpp" line="786"/> - <source>After secondary</source> + <source>After mash</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/EditProductExport.cpp" line="787"/> + <source>After cooling</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditProductExport.cpp" line="788"/> + <source>After primary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditProductExport.cpp" line="789"/> + <source>After secondary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditProductExport.cpp" line="790"/> <source>After tertiary</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="808"/> + <location filename="../src/EditProductExport.cpp" line="811"/> <source>Volume remaining:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="826"/> + <location filename="../src/EditProductExport.cpp" line="829"/> <source>Split code</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="826"/> + <location filename="../src/EditProductExport.cpp" line="829"/> <source>Split name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="826"/> + <location filename="../src/EditProductExport.cpp" line="829"/> <source>Split volume</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1003"/> + <location filename="../src/EditProductExport.cpp" line="1006"/> <source>Export choices</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1015"/> + <location filename="../src/EditProductExport.cpp" line="1018"/> <source>Export to beerXML</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1019"/> + <location filename="../src/EditProductExport.cpp" line="1022"/> <source>Copy to product</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1023"/> + <location filename="../src/EditProductExport.cpp" line="1026"/> <source>Copy to recipe</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1031"/> + <location filename="../src/EditProductExport.cpp" line="1034"/> <source>Split this batch</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1060"/> + <location filename="../src/EditProductExport.cpp" line="1063"/> <source>Printer report</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1072"/> + <location filename="../src/EditProductExport.cpp" line="1075"/> <source>Print recipe</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1076"/> + <location filename="../src/EditProductExport.cpp" line="1079"/> <source>Print checklist</source> <translation type="unfinished"></translation> </message> @@ -4808,7 +4869,7 @@ <message> <location filename="../ui/EditProfileFerment.ui" line="107"/> <location filename="../src/EditProfileFerment.cpp" line="172"/> - <location filename="../src/EditProfileFerment.cpp" line="409"/> + <location filename="../src/EditProfileFerment.cpp" line="444"/> <source>Delete</source> <translation type="unfinished"></translation> </message> @@ -4849,16 +4910,21 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../ui/EditProfileFerment.ui" line="316"/> + <source>Clone</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditProfileFerment.cpp" line="31"/> <location filename="../src/EditProfileFerment.cpp" line="135"/> - <location filename="../src/EditProfileFerment.cpp" line="399"/> + <location filename="../src/EditProfileFerment.cpp" line="434"/> <source>Beer</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/EditProfileFerment.cpp" line="32"/> <location filename="../src/EditProfileFerment.cpp" line="136"/> - <location filename="../src/EditProfileFerment.cpp" line="400"/> + <location filename="../src/EditProfileFerment.cpp" line="435"/> <source>Fridge</source> <translation type="unfinished"></translation> </message> @@ -4898,46 +4964,58 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="204"/> + <location filename="../src/EditProfileFerment.cpp" line="203"/> <source>BMSapp - Add new fermentation profile</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="206"/> + <location filename="../src/EditProfileFerment.cpp" line="205"/> <source>BMSapp - Edit fermentation profile %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="222"/> + <location filename="../src/EditProfileFerment.cpp" line="221"/> <source>Edit Ferment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="222"/> + <location filename="../src/EditProfileFerment.cpp" line="221"/> <source>Name empty or too short.</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/EditProfileFerment.cpp" line="250"/> + <location filename="../src/EditProfileFerment.cpp" line="286"/> + <location filename="../src/EditProfileFerment.cpp" line="311"/> + <source>Database error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditProfileFerment.cpp" line="251"/> - <location filename="../src/EditProfileFerment.cpp" line="276"/> - <source>Database error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditProfileFerment.cpp" line="252"/> - <location filename="../src/EditProfileFerment.cpp" line="277"/> + <location filename="../src/EditProfileFerment.cpp" line="287"/> + <location filename="../src/EditProfileFerment.cpp" line="312"/> <source>MySQL error: %1 %2 %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="435"/> + <location filename="../src/EditProfileFerment.cpp" line="301"/> + <source>Delete fermentation profile</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditProfileFerment.cpp" line="301"/> + <source>Delete %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditProfileFerment.cpp" line="470"/> <source>Fermentation changed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="435"/> + <location filename="../src/EditProfileFerment.cpp" line="470"/> <source>This fermentation profile has been modified. Save changes?</source> <translation type="unfinished"></translation> </message> @@ -4982,7 +5060,7 @@ <message> <location filename="../ui/EditProfileMash.ui" line="136"/> <location filename="../src/EditProfileMash.cpp" line="157"/> - <location filename="../src/EditProfileMash.cpp" line="356"/> + <location filename="../src/EditProfileMash.cpp" line="384"/> <source>Delete</source> <translation type="unfinished"></translation> </message> @@ -5002,6 +5080,11 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../ui/EditProfileMash.ui" line="222"/> + <source>Clone</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditProfileMash.cpp" line="81"/> <source>Step name</source> <translation type="unfinished"></translation> @@ -5038,63 +5121,75 @@ </message> <message> <location filename="../src/EditProfileMash.cpp" line="102"/> - <location filename="../src/EditProfileMash.cpp" line="344"/> + <location filename="../src/EditProfileMash.cpp" line="372"/> <source>Infusion</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/EditProfileMash.cpp" line="103"/> - <location filename="../src/EditProfileMash.cpp" line="345"/> + <location filename="../src/EditProfileMash.cpp" line="373"/> <source>Temperature</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/EditProfileMash.cpp" line="104"/> - <location filename="../src/EditProfileMash.cpp" line="346"/> + <location filename="../src/EditProfileMash.cpp" line="374"/> <source>Decoction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="189"/> + <location filename="../src/EditProfileMash.cpp" line="188"/> <source>BMSapp - Add new mash profile</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="191"/> + <location filename="../src/EditProfileMash.cpp" line="190"/> <source>BMSapp - Edit mash profile %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="207"/> + <location filename="../src/EditProfileMash.cpp" line="206"/> <source>Edit Mash</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="207"/> + <location filename="../src/EditProfileMash.cpp" line="206"/> <source>Name empty or too short.</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/EditProfileMash.cpp" line="228"/> + <location filename="../src/EditProfileMash.cpp" line="257"/> + <location filename="../src/EditProfileMash.cpp" line="282"/> + <source>Database error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditProfileMash.cpp" line="229"/> - <location filename="../src/EditProfileMash.cpp" line="254"/> - <source>Database error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditProfileMash.cpp" line="230"/> - <location filename="../src/EditProfileMash.cpp" line="255"/> + <location filename="../src/EditProfileMash.cpp" line="258"/> + <location filename="../src/EditProfileMash.cpp" line="283"/> <source>MySQL error: %1 %2 %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="382"/> + <location filename="../src/EditProfileMash.cpp" line="272"/> + <source>Delete mash profile</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditProfileMash.cpp" line="272"/> + <source>Delete %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditProfileMash.cpp" line="410"/> <source>Mash changed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="382"/> + <location filename="../src/EditProfileMash.cpp" line="410"/> <source>This mash profile has been modified. Save changes?</source> <translation type="unfinished"></translation> </message> @@ -5399,6 +5494,11 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../ui/EditProfileWater.ui" line="721"/> + <source>Clone</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../ui/EditProfileWater.ui" line="478"/> <source>Sulfate (SO4) mg/L:</source> <translation type="unfinished"></translation> @@ -5419,46 +5519,58 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="96"/> + <location filename="../src/EditProfileWater.cpp" line="95"/> <source>BMSapp - Add new brewing water</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="98"/> + <location filename="../src/EditProfileWater.cpp" line="97"/> <source>BMSapp - Edit brewing water %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="114"/> + <location filename="../src/EditProfileWater.cpp" line="113"/> <source>Edit Water</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="114"/> + <location filename="../src/EditProfileWater.cpp" line="113"/> <source>Name empty or too short.</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/EditProfileWater.cpp" line="145"/> + <location filename="../src/EditProfileWater.cpp" line="184"/> + <location filename="../src/EditProfileWater.cpp" line="209"/> + <source>Database error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditProfileWater.cpp" line="146"/> - <location filename="../src/EditProfileWater.cpp" line="171"/> - <source>Database error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditProfileWater.cpp" line="147"/> - <location filename="../src/EditProfileWater.cpp" line="172"/> + <location filename="../src/EditProfileWater.cpp" line="185"/> + <location filename="../src/EditProfileWater.cpp" line="210"/> <source>MySQL error: %1 %2 %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="281"/> + <location filename="../src/EditProfileWater.cpp" line="199"/> + <source>Delete water profile</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditProfileWater.cpp" line="199"/> + <source>Delete %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditProfileWater.cpp" line="319"/> <source>Water changed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="281"/> + <location filename="../src/EditProfileWater.cpp" line="319"/> <source>This water profile has been modified. Save changes?</source> <translation type="unfinished"></translation> </message> @@ -6881,7 +6993,7 @@ <message> <location filename="../src/EditRecipeExport.cpp" line="35"/> <location filename="../src/EditRecipeExport.cpp" line="37"/> - <location filename="../src/EditRecipeExport.cpp" line="251"/> + <location filename="../src/EditRecipeExport.cpp" line="254"/> <source>Save File</source> <translation type="unfinished"></translation> </message> @@ -6896,67 +7008,67 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="251"/> + <location filename="../src/EditRecipeExport.cpp" line="254"/> <source>XML export ready</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="267"/> - <location filename="../src/EditRecipeExport.cpp" line="269"/> - <location filename="../src/EditRecipeExport.cpp" line="428"/> - <location filename="../src/EditRecipeExport.cpp" line="430"/> + <location filename="../src/EditRecipeExport.cpp" line="270"/> + <location filename="../src/EditRecipeExport.cpp" line="272"/> + <location filename="../src/EditRecipeExport.cpp" line="431"/> + <location filename="../src/EditRecipeExport.cpp" line="433"/> <source>Copy Recipe</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="267"/> + <location filename="../src/EditRecipeExport.cpp" line="270"/> <source>Copy Recipe export ready.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="269"/> + <location filename="../src/EditRecipeExport.cpp" line="272"/> <source>Copy Recipe error.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="428"/> + <location filename="../src/EditRecipeExport.cpp" line="431"/> <source>Copy Recipe to Product ready.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="430"/> + <location filename="../src/EditRecipeExport.cpp" line="433"/> <source>Copy Recipe to Product error.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="567"/> - <location filename="../src/EditRecipeExport.cpp" line="601"/> + <location filename="../src/EditRecipeExport.cpp" line="570"/> + <location filename="../src/EditRecipeExport.cpp" line="604"/> <source>Export to forum</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="567"/> + <location filename="../src/EditRecipeExport.cpp" line="570"/> <source>The recipe and all data are copied to the clipboard. You can "paste" this data in the forum screen in your web browser.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="574"/> + <location filename="../src/EditRecipeExport.cpp" line="577"/> <source>Export choices</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="586"/> + <location filename="../src/EditRecipeExport.cpp" line="589"/> <source>Export to beerXML</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="591"/> + <location filename="../src/EditRecipeExport.cpp" line="594"/> <source>Copy to recipe</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="596"/> + <location filename="../src/EditRecipeExport.cpp" line="599"/> <source>Copy to product</source> <translation type="unfinished"></translation> </message> @@ -7216,6 +7328,11 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../ui/EditWater.ui" line="885"/> + <source>Clone</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../ui/EditWater.ui" line="311"/> <source>Unlimited stock:</source> <translation type="unfinished"></translation> @@ -7251,46 +7368,58 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditWater.cpp" line="105"/> + <location filename="../src/EditWater.cpp" line="104"/> <source>BMSapp - Add new brewing water</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditWater.cpp" line="107"/> + <location filename="../src/EditWater.cpp" line="106"/> <source>BMSapp - Edit brewing water %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditWater.cpp" line="123"/> + <location filename="../src/EditWater.cpp" line="122"/> <source>Edit Water</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditWater.cpp" line="123"/> + <location filename="../src/EditWater.cpp" line="122"/> <source>Name empty or too short.</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/EditWater.cpp" line="158"/> + <location filename="../src/EditWater.cpp" line="201"/> + <location filename="../src/EditWater.cpp" line="226"/> + <source>Database error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditWater.cpp" line="159"/> - <location filename="../src/EditWater.cpp" line="184"/> - <source>Database error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditWater.cpp" line="160"/> - <location filename="../src/EditWater.cpp" line="185"/> + <location filename="../src/EditWater.cpp" line="202"/> + <location filename="../src/EditWater.cpp" line="227"/> <source>MySQL error: %1 %2 %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditWater.cpp" line="301"/> + <location filename="../src/EditWater.cpp" line="216"/> + <source>Delete water</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditWater.cpp" line="216"/> + <source>Delete %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditWater.cpp" line="343"/> <source>Water changed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditWater.cpp" line="301"/> + <location filename="../src/EditWater.cpp" line="343"/> <source>The brewing water has been modified. Save changes?</source> <translation type="unfinished"></translation> </message> @@ -7469,7 +7598,7 @@ </message> <message> <location filename="../ui/EditYeast.ui" line="738"/> - <location filename="../src/EditYeast.cpp" line="182"/> + <location filename="../src/EditYeast.cpp" line="181"/> <source>Billion cells/gram:</source> <translation type="unfinished"></translation> </message> @@ -7555,6 +7684,11 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../ui/EditYeast.ui" line="1232"/> + <source>Clone</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditYeast.cpp" line="32"/> <source>Lager</source> <translation type="unfinished"></translation> @@ -7650,92 +7784,104 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../src/EditYeast.cpp" line="169"/> + <source>Price per pack:</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditYeast.cpp" line="170"/> - <source>Price per pack:</source> + <source>Inventory Packs:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/EditYeast.cpp" line="171"/> - <source>Inventory Packs:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditYeast.cpp" line="172"/> <source>Billion cells/pack:</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/EditYeast.cpp" line="179"/> + <source>Price per Kg:</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditYeast.cpp" line="180"/> - <source>Price per Kg:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditYeast.cpp" line="181"/> <source>Inventory gram:</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/EditYeast.cpp" line="189"/> + <source>Price per litre:</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditYeast.cpp" line="190"/> - <source>Price per litre:</source> + <source>Inventory ml:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/EditYeast.cpp" line="191"/> - <source>Inventory ml:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditYeast.cpp" line="192"/> <source>Billion cells/ml:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="229"/> + <location filename="../src/EditYeast.cpp" line="228"/> <source>BMSapp - Add new yeast</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="231"/> + <location filename="../src/EditYeast.cpp" line="230"/> <source>BMSapp - Edit yeast %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="247"/> - <location filename="../src/EditYeast.cpp" line="251"/> + <location filename="../src/EditYeast.cpp" line="246"/> + <location filename="../src/EditYeast.cpp" line="250"/> <source>Edit Yeast</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="247"/> + <location filename="../src/EditYeast.cpp" line="246"/> <source>Name empty or too short.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="251"/> + <location filename="../src/EditYeast.cpp" line="250"/> <source>Laboratory empty or too short.</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/EditYeast.cpp" line="313"/> + <location filename="../src/EditYeast.cpp" line="375"/> + <location filename="../src/EditYeast.cpp" line="400"/> + <source>Database error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/EditYeast.cpp" line="314"/> - <location filename="../src/EditYeast.cpp" line="339"/> - <source>Database error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/EditYeast.cpp" line="315"/> - <location filename="../src/EditYeast.cpp" line="340"/> + <location filename="../src/EditYeast.cpp" line="376"/> + <location filename="../src/EditYeast.cpp" line="401"/> <source>MySQL error: %1 %2 %3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="414"/> + <location filename="../src/EditYeast.cpp" line="390"/> + <source>Delete yeast</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditYeast.cpp" line="390"/> + <source>Delete %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/EditYeast.cpp" line="475"/> <source>Yeast changed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="414"/> + <location filename="../src/EditYeast.cpp" line="475"/> <source>The yeast has been modified. Save changes?</source> <translation type="unfinished"></translation> </message> @@ -8225,7 +8371,7 @@ <message> <location filename="../src/InventoryHops.cpp" line="211"/> <location filename="../src/InventoryHops.cpp" line="213"/> - <location filename="../src/InventoryHops.cpp" line="255"/> + <location filename="../src/InventoryHops.cpp" line="258"/> <source>Save File</source> <translation type="unfinished"></translation> </message> @@ -8240,7 +8386,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/InventoryHops.cpp" line="255"/> + <location filename="../src/InventoryHops.cpp" line="258"/> <source>XML export ready</source> <translation type="unfinished"></translation> </message> @@ -8601,172 +8747,192 @@ </message> <message> <location filename="../ui/MainWindow.ui" line="103"/> - <location filename="../ui/MainWindow.ui" line="349"/> + <location filename="../ui/MainWindow.ui" line="362"/> <source>Archive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="119"/> - <location filename="../ui/MainWindow.ui" line="322"/> + <location filename="../ui/MainWindow.ui" line="132"/> + <location filename="../ui/MainWindow.ui" line="335"/> <source>Recipes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="142"/> + <location filename="../ui/MainWindow.ui" line="155"/> <source>Exit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="151"/> + <location filename="../ui/MainWindow.ui" line="164"/> <source>About</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="437"/> + <location filename="../ui/MainWindow.ui" line="450"/> <source>Fermenters</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="455"/> + <location filename="../ui/MainWindow.ui" line="468"/> <source>iSpindels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="160"/> + <location filename="../ui/MainWindow.ui" line="173"/> <source>Suppliers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="172"/> + <location filename="../ui/MainWindow.ui" line="116"/> + <source>Reports</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ui/MainWindow.ui" line="185"/> <source>Fermentables</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="184"/> + <location filename="../ui/MainWindow.ui" line="197"/> <source>Hops</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="196"/> + <location filename="../ui/MainWindow.ui" line="209"/> <source>Yeasts</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="208"/> + <location filename="../ui/MainWindow.ui" line="221"/> <source>Miscs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="220"/> + <location filename="../ui/MainWindow.ui" line="233"/> <source>Waters</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="232"/> + <location filename="../ui/MainWindow.ui" line="245"/> <source>Equipments</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="244"/> + <location filename="../ui/MainWindow.ui" line="257"/> <source>Supplies list</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="256"/> + <location filename="../ui/MainWindow.ui" line="269"/> <source>Yeast bank</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="268"/> + <location filename="../ui/MainWindow.ui" line="281"/> <source>Water profiles</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="280"/> + <location filename="../ui/MainWindow.ui" line="293"/> <source>Mash schedules</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="292"/> + <location filename="../ui/MainWindow.ui" line="305"/> <source>Beer styles</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="304"/> + <location filename="../ui/MainWindow.ui" line="317"/> <source>Fermentation schedules</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="313"/> + <location filename="../ui/MainWindow.ui" line="326"/> <source>Global settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="331"/> + <location filename="../ui/MainWindow.ui" line="344"/> <source>Import beerxml</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="340"/> + <location filename="../ui/MainWindow.ui" line="353"/> <source>In Production</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="358"/> + <location filename="../ui/MainWindow.ui" line="371"/> <source>On Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="367"/> + <location filename="../ui/MainWindow.ui" line="380"/> <source>On Code</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="376"/> + <location filename="../ui/MainWindow.ui" line="389"/> <source>On Date</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="385"/> + <location filename="../ui/MainWindow.ui" line="398"/> <source>On Beerstyle</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="394"/> + <location filename="../ui/MainWindow.ui" line="407"/> <source>Import beerXML</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="399"/> + <location filename="../ui/MainWindow.ui" line="412"/> <source>dummy</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="404"/> + <location filename="../ui/MainWindow.ui" line="417"/> <source>hh</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="409"/> + <location filename="../ui/MainWindow.ui" line="422"/> <source>hj</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="414"/> + <location filename="../ui/MainWindow.ui" line="427"/> <source>ll</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="419"/> - <location filename="../ui/MainWindow.ui" line="428"/> + <location filename="../ui/MainWindow.ui" line="432"/> + <location filename="../ui/MainWindow.ui" line="441"/> <source>Nodes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="446"/> + <location filename="../ui/MainWindow.ui" line="459"/> <source>Carbonation</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../ui/MainWindow.ui" line="477"/> + <source>Total Production</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ui/MainWindow.ui" line="486"/> + <source>Efficiency</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../ui/MainWindow.ui" line="495"/> + <source>Fermentation</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ManoMeter</name> @@ -9161,6 +9327,7 @@ <location filename="../src/PrinterDialog.cpp" line="285"/> <location filename="../src/PrinterDialog.cpp" line="472"/> <location filename="../src/PrinterDialog.cpp" line="884"/> + <location filename="../src/PrinterDialog.cpp" line="2331"/> <source>Yeast</source> <translation type="unfinished"></translation> </message> @@ -10328,34 +10495,142 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/PrinterDialog.cpp" line="2177"/> + <location filename="../src/PrinterDialog.cpp" line="2154"/> + <source>Number</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2155"/> + <source>Year</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2156"/> + <source>Brew sessions</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2157"/> + <source>Brew volume</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2158"/> + <source>Average volume</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2220"/> + <location filename="../src/PrinterDialog.cpp" line="2329"/> + <source>Code</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2221"/> + <location filename="../src/PrinterDialog.cpp" line="2330"/> + <source>Name</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2223"/> + <source>Max extract</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2224"/> + <source>Mash eff.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2225"/> + <source>Sparge eff</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2226"/> + <source>Boil eff</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2332"/> + <source>Primary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2333"/> + <source>Secondary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2334"/> + <source>Tertiary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2335"/> + <source>Days</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2336"/> + <source>OG</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2337"/> + <source>FG</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2338"/> + <source>AA</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2402"/> <source>Measured:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/PrinterDialog.cpp" line="2189"/> + <location filename="../src/PrinterDialog.cpp" line="2414"/> <source>%1 split the batch here!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/PrinterDialog.cpp" line="2228"/> + <location filename="../src/PrinterDialog.cpp" line="2453"/> <source>Inventory</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/PrinterDialog.cpp" line="2230"/> + <location filename="../src/PrinterDialog.cpp" line="2455"/> <source>Yeastbank</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/PrinterDialog.cpp" line="2240"/> + <location filename="../src/PrinterDialog.cpp" line="2461"/> + <source>Year production</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2463"/> + <source>Brew efficiency</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2465"/> + <source>Fermentations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2471"/> <source>Date and time</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/PrinterDialog.cpp" line="766"/> - <location filename="../src/PrinterDialog.cpp" line="2243"/> - <location filename="../src/PrinterDialog.cpp" line="2247"/> + <location filename="../src/PrinterDialog.cpp" line="2222"/> + <location filename="../src/PrinterDialog.cpp" line="2474"/> + <location filename="../src/PrinterDialog.cpp" line="2478"/> <source>Beer style</source> <translation type="unfinished"></translation> </message> @@ -11130,11 +11405,11 @@ </message> <message> <location filename="../src/database/db_recipe.cpp" line="31"/> - <location filename="../src/database/db_recipe.cpp" line="651"/> - <location filename="../src/database/db_recipe.cpp" line="684"/> + <location filename="../src/database/db_recipe.cpp" line="654"/> + <location filename="../src/database/db_recipe.cpp" line="687"/> <location filename="../src/database/db_product.cpp" line="31"/> - <location filename="../src/database/db_product.cpp" line="1005"/> - <location filename="../src/database/db_product.cpp" line="1038"/> + <location filename="../src/database/db_product.cpp" line="1008"/> + <location filename="../src/database/db_product.cpp" line="1041"/> <source>Database error</source> <translation type="unfinished"></translation> </message> @@ -11145,10 +11420,10 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/database/db_recipe.cpp" line="652"/> - <location filename="../src/database/db_recipe.cpp" line="685"/> - <location filename="../src/database/db_product.cpp" line="1006"/> - <location filename="../src/database/db_product.cpp" line="1039"/> + <location filename="../src/database/db_recipe.cpp" line="655"/> + <location filename="../src/database/db_recipe.cpp" line="688"/> + <location filename="../src/database/db_product.cpp" line="1009"/> + <location filename="../src/database/db_product.cpp" line="1042"/> <source>MySQL error: %1 %2 %3</source>
--- a/translations/bmsapp_nl.ts Mon Aug 01 13:05:23 2022 +0200 +++ b/translations/bmsapp_nl.ts Mon Aug 01 21:49:57 2022 +0200 @@ -1158,6 +1158,11 @@ <translation>Volume naar het gistvat L:</translation> </message> <message> + <location filename="../ui/EditEquipment.ui" line="1220"/> + <source>Clone</source> + <translation>Kloon</translation> + </message> + <message> <location filename="../src/EditEquipment.cpp" line="32"/> <source>Stainless Steel</source> <translation>RVS</translation> @@ -1178,34 +1183,36 @@ <translation>Koper</translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="149"/> + <location filename="../src/EditEquipment.cpp" line="147"/> <source>BMSapp - Add new equipment</source> <translation>BMSapp - Nieuwe apparatuur</translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="151"/> + <location filename="../src/EditEquipment.cpp" line="149"/> <source>BMSapp - Edit equipment %1</source> <translation>BMSapp - Wijzig apparatuur %1</translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="167"/> + <location filename="../src/EditEquipment.cpp" line="165"/> <source>Edit Equipment</source> <translation>Wijzig apparatuur</translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="167"/> + <location filename="../src/EditEquipment.cpp" line="165"/> <source>Name empty or too short.</source> <translation>De naam is leeg of te kort.</translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="225"/> - <location filename="../src/EditEquipment.cpp" line="250"/> + <location filename="../src/EditEquipment.cpp" line="223"/> + <location filename="../src/EditEquipment.cpp" line="281"/> + <location filename="../src/EditEquipment.cpp" line="306"/> <source>Database error</source> <translation>Database fout</translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="226"/> - <location filename="../src/EditEquipment.cpp" line="251"/> + <location filename="../src/EditEquipment.cpp" line="224"/> + <location filename="../src/EditEquipment.cpp" line="282"/> + <location filename="../src/EditEquipment.cpp" line="307"/> <source>MySQL error: %1 %2 %3</source> @@ -1214,12 +1221,22 @@ %3</translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="299"/> + <location filename="../src/EditEquipment.cpp" line="296"/> + <source>Delete equipment</source> + <translation>Verwijder apparatuur</translation> + </message> + <message> + <location filename="../src/EditEquipment.cpp" line="296"/> + <source>Delete %1</source> + <translation>Verwijder %1</translation> + </message> + <message> + <location filename="../src/EditEquipment.cpp" line="355"/> <source>Equipment changed</source> <translation>Apparatuur gewijzigd</translation> </message> <message> - <location filename="../src/EditEquipment.cpp" line="299"/> + <location filename="../src/EditEquipment.cpp" line="355"/> <source>This equipment has been modified. Save changes?</source> <translation>Deze installatie is gewijzigd. Wijzigingen opslaan?</translation> </message> @@ -1487,6 +1504,11 @@ <translation>Verwijder de productie datum</translation> </message> <message> + <location filename="../ui/EditFermentable.ui" line="1152"/> + <source>Clone</source> + <translation>Kloon</translation> + </message> + <message> <location filename="../src/EditFermentable.cpp" line="33"/> <source>Grain</source> <translation>Mout</translation> @@ -1577,46 +1599,48 @@ <translation>Fusten</translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="163"/> + <location filename="../src/EditFermentable.cpp" line="157"/> <source>BMSapp - Add new fermentable</source> <translation>BMSapp - Nieuw vergistbaar ingredient</translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="165"/> + <location filename="../src/EditFermentable.cpp" line="159"/> <source>BMSapp - Edit fermentable %1</source> <translation>BMSapp - Wijzig vergistbaar ingredient %1</translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="181"/> - <location filename="../src/EditFermentable.cpp" line="185"/> - <location filename="../src/EditFermentable.cpp" line="189"/> + <location filename="../src/EditFermentable.cpp" line="175"/> + <location filename="../src/EditFermentable.cpp" line="179"/> + <location filename="../src/EditFermentable.cpp" line="183"/> <source>Edit Fermentable</source> <translation>Wijzig vergistbaar ingredient</translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="181"/> + <location filename="../src/EditFermentable.cpp" line="175"/> <source>Name empty or too short.</source> <translation>De naam is leeg of te kort.</translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="185"/> + <location filename="../src/EditFermentable.cpp" line="179"/> <source>Origin empty or too short.</source> <translation>Herkomst leeg of te kort.</translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="189"/> + <location filename="../src/EditFermentable.cpp" line="183"/> <source>Supplier empty or too short.</source> <translation>Leverancier leeg of te kort.</translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="242"/> - <location filename="../src/EditFermentable.cpp" line="267"/> + <location filename="../src/EditFermentable.cpp" line="236"/> + <location filename="../src/EditFermentable.cpp" line="290"/> + <location filename="../src/EditFermentable.cpp" line="315"/> <source>Database error</source> <translation>Database fout</translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="243"/> - <location filename="../src/EditFermentable.cpp" line="268"/> + <location filename="../src/EditFermentable.cpp" line="237"/> + <location filename="../src/EditFermentable.cpp" line="291"/> + <location filename="../src/EditFermentable.cpp" line="316"/> <source>MySQL error: %1 %2 %3</source> @@ -1625,12 +1649,22 @@ %3</translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="313"/> + <location filename="../src/EditFermentable.cpp" line="305"/> + <source>Delete fermentable</source> + <translation>Verwijder vergistbaar ingredient</translation> + </message> + <message> + <location filename="../src/EditFermentable.cpp" line="305"/> + <source>Delete %1</source> + <translation>Verwijder %1</translation> + </message> + <message> + <location filename="../src/EditFermentable.cpp" line="361"/> <source>Fermentable changed</source> <translation>Vergistbaar ingredient gewijzigd</translation> </message> <message> - <location filename="../src/EditFermentable.cpp" line="313"/> + <location filename="../src/EditFermentable.cpp" line="361"/> <source>This fermentable has been modified. Save changes?</source> <translation>Dit vergistbaar ingredient is gewijzigd. Wijzigingen opslaan?</translation> </message> @@ -1907,12 +1941,12 @@ <translation type="vanished">Extract</translation> </message> <message> - <location filename="../src/EditHop.cpp" line="130"/> + <location filename="../src/EditHop.cpp" line="129"/> <source>BMSapp - Add new hop</source> <translation>BMSapp - Nieuwe hop</translation> </message> <message> - <location filename="../src/EditHop.cpp" line="132"/> + <location filename="../src/EditHop.cpp" line="131"/> <source>BMSapp - Edit hop %1</source> <translation>BMSapp - Wijzig hop %1</translation> </message> @@ -1921,32 +1955,32 @@ <translation type="vanished"> L</translation> </message> <message> - <location filename="../src/EditHop.cpp" line="149"/> - <location filename="../src/EditHop.cpp" line="153"/> + <location filename="../src/EditHop.cpp" line="148"/> + <location filename="../src/EditHop.cpp" line="152"/> <source>Edit Hop</source> <translation>Wijzig hop</translation> </message> <message> - <location filename="../src/EditHop.cpp" line="149"/> + <location filename="../src/EditHop.cpp" line="148"/> <source>Name empty or too short.</source> <translation>De naam is leeg of te kort.</translation> </message> <message> - <location filename="../src/EditHop.cpp" line="153"/> + <location filename="../src/EditHop.cpp" line="152"/> <source>Origin empty or too short.</source> <translation>Herkomst leeg of te kort.</translation> </message> <message> + <location filename="../src/EditHop.cpp" line="204"/> + <location filename="../src/EditHop.cpp" line="256"/> + <location filename="../src/EditHop.cpp" line="282"/> + <source>Database error</source> + <translation>Database fout</translation> + </message> + <message> <location filename="../src/EditHop.cpp" line="205"/> - <location filename="../src/EditHop.cpp" line="258"/> - <location filename="../src/EditHop.cpp" line="279"/> - <source>Database error</source> - <translation>Database fout</translation> - </message> - <message> - <location filename="../src/EditHop.cpp" line="206"/> - <location filename="../src/EditHop.cpp" line="259"/> - <location filename="../src/EditHop.cpp" line="280"/> + <location filename="../src/EditHop.cpp" line="257"/> + <location filename="../src/EditHop.cpp" line="283"/> <source>MySQL error: %1 %2 %3</source> @@ -1955,12 +1989,22 @@ %3</translation> </message> <message> - <location filename="../src/EditHop.cpp" line="320"/> + <location filename="../src/EditHop.cpp" line="272"/> + <source>Delete hop</source> + <translation>Verwijder hop</translation> + </message> + <message> + <location filename="../src/EditHop.cpp" line="272"/> + <source>Delete %1</source> + <translation>Verwijder %1</translation> + </message> + <message> + <location filename="../src/EditHop.cpp" line="323"/> <source>Hop changed</source> <translation>Hop gewijzigd</translation> </message> <message> - <location filename="../src/EditHop.cpp" line="320"/> + <location filename="../src/EditHop.cpp" line="323"/> <source>This hop has been modified. Save changes?</source> <translation>Deze hop is gewijzigd. Wijzigingen opslaan?</translation> </message> @@ -2025,7 +2069,7 @@ </message> <message> <location filename="../ui/EditMisc.ui" line="182"/> - <location filename="../src/EditMisc.cpp" line="219"/> + <location filename="../src/EditMisc.cpp" line="260"/> <source> gr</source> <translation> gr</translation> </message> @@ -2121,6 +2165,11 @@ <translation>Zet de tht datum op vandaag.</translation> </message> <message> + <location filename="../ui/EditMisc.ui" line="674"/> + <source>Clone</source> + <translation>Kloon</translation> + </message> + <message> <location filename="../src/EditMisc.cpp" line="32"/> <source>Spice</source> <translation>Specerij</translation> @@ -2186,34 +2235,36 @@ <translation>Bottelen</translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="122"/> + <location filename="../src/EditMisc.cpp" line="121"/> <source>BMSapp - Add new misc ingredient</source> <translation>BMSapp - Nieuw overig ingredient</translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="124"/> + <location filename="../src/EditMisc.cpp" line="123"/> <source>BMSapp - Edit misc ingredient %1</source> <translation>BMSapp - Wijzig overig ingredient %1</translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="140"/> + <location filename="../src/EditMisc.cpp" line="139"/> <source>Edit Misc</source> <translation>Wijzig ingredient</translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="140"/> + <location filename="../src/EditMisc.cpp" line="139"/> <source>Name empty or too short.</source> <translation>De naam is leeg of te kort.</translation> </message> <message> + <location filename="../src/EditMisc.cpp" line="176"/> + <location filename="../src/EditMisc.cpp" line="218"/> + <location filename="../src/EditMisc.cpp" line="243"/> + <source>Database error</source> + <translation>Database fout</translation> + </message> + <message> <location filename="../src/EditMisc.cpp" line="177"/> - <location filename="../src/EditMisc.cpp" line="202"/> - <source>Database error</source> - <translation>Database fout</translation> - </message> - <message> - <location filename="../src/EditMisc.cpp" line="178"/> - <location filename="../src/EditMisc.cpp" line="203"/> + <location filename="../src/EditMisc.cpp" line="219"/> + <location filename="../src/EditMisc.cpp" line="244"/> <source>MySQL error: %1 %2 %3</source> @@ -2222,17 +2273,27 @@ %3</translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="221"/> + <location filename="../src/EditMisc.cpp" line="233"/> + <source>Delete misc</source> + <translation>Verwijder divers ingredient</translation> + </message> + <message> + <location filename="../src/EditMisc.cpp" line="233"/> + <source>Delete %1</source> + <translation>Verwijder %1</translation> + </message> + <message> + <location filename="../src/EditMisc.cpp" line="262"/> <source> ml</source> <translation> ml</translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="297"/> + <location filename="../src/EditMisc.cpp" line="338"/> <source>Misc changed</source> <translation>Ingredient gewijzigd</translation> </message> <message> - <location filename="../src/EditMisc.cpp" line="297"/> + <location filename="../src/EditMisc.cpp" line="338"/> <source>The ingredient has been modified. Save changes?</source> <translation>Dit ingredient is gewijzigd. Wijzigingen opslaan?</translation> </message> @@ -2271,7 +2332,7 @@ <location filename="../src/EditProductTab5.cpp" line="166"/> <location filename="../src/EditProductTab6.cpp" line="56"/> <location filename="../src/EditProductTab6.cpp" line="143"/> - <location filename="../src/EditProductExport.cpp" line="852"/> + <location filename="../src/EditProductExport.cpp" line="855"/> <source>Delete</source> <translation>Verwijder</translation> </message> @@ -2405,8 +2466,8 @@ <location filename="../ui/EditProduct.ui" line="10407"/> <location filename="../ui/EditProduct.ui" line="10767"/> <location filename="../ui/EditProduct.ui" line="10848"/> - <location filename="../src/EditProductExport.cpp" line="816"/> - <location filename="../src/EditProductExport.cpp" line="824"/> + <location filename="../src/EditProductExport.cpp" line="819"/> + <location filename="../src/EditProductExport.cpp" line="827"/> <source> L</source> <translation> L</translation> </message> @@ -2683,7 +2744,7 @@ <location filename="../ui/EditProduct.ui" line="2713"/> <location filename="../ui/EditProduct.ui" line="3495"/> <location filename="../ui/EditProduct.ui" line="3650"/> - <location filename="../src/EditProductExport.cpp" line="844"/> + <location filename="../src/EditProductExport.cpp" line="847"/> <source>Add</source> <translation>Nieuw</translation> </message> @@ -3588,7 +3649,7 @@ </message> <message> <location filename="../ui/EditProduct.ui" line="8320"/> - <location filename="../src/EditProductExport.cpp" line="783"/> + <location filename="../src/EditProductExport.cpp" line="786"/> <source>After boil</source> <translation>Einde koken</translation> </message> @@ -4785,7 +4846,7 @@ <location filename="../src/EditProductTab9.cpp" line="560"/> <location filename="../src/EditProductExport.cpp" line="37"/> <location filename="../src/EditProductExport.cpp" line="40"/> - <location filename="../src/EditProductExport.cpp" line="261"/> + <location filename="../src/EditProductExport.cpp" line="264"/> <source>Save File</source> <translation>Bestand opslaan</translation> </message> @@ -4800,20 +4861,20 @@ <translation>Geen XML bestand gekozen.</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="261"/> + <location filename="../src/EditProductExport.cpp" line="264"/> <source>XML export ready</source> <translation>XML uitvoer gereed</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="313"/> - <location filename="../src/EditProductExport.cpp" line="315"/> - <location filename="../src/EditProductExport.cpp" line="411"/> - <location filename="../src/EditProductExport.cpp" line="413"/> + <location filename="../src/EditProductExport.cpp" line="316"/> + <location filename="../src/EditProductExport.cpp" line="318"/> + <location filename="../src/EditProductExport.cpp" line="414"/> + <location filename="../src/EditProductExport.cpp" line="416"/> <source>Copy Product</source> <translation>Kopieer Product</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="313"/> + <location filename="../src/EditProductExport.cpp" line="316"/> <source>Copy Product export ready.</source> <translation>Kopie Product export gereed.</translation> </message> @@ -4822,7 +4883,7 @@ <translation type="vanished">Kopieer Product</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="315"/> + <location filename="../src/EditProductExport.cpp" line="318"/> <source>Copy Product error.</source> <translation>Kopieer Product fout.</translation> </message> @@ -4831,176 +4892,176 @@ <translation type="vanished">Kopieer Product naar Recept gereed.</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="411"/> + <location filename="../src/EditProductExport.cpp" line="414"/> <source>Copy Product to Recipe ready.</source> <translation>Kopieer Product naar Recept gereed.</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="413"/> + <location filename="../src/EditProductExport.cpp" line="416"/> <source>Copy Product to Recipe error.</source> <translation>Kopieer Product naar Recept fout.</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="560"/> - <location filename="../src/EditProductExport.cpp" line="1027"/> + <location filename="../src/EditProductExport.cpp" line="563"/> + <location filename="../src/EditProductExport.cpp" line="1030"/> <source>Export to forum</source> <translation>Exporteer naar Forum</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="560"/> + <location filename="../src/EditProductExport.cpp" line="563"/> <source>The recipe and all data are copied to the clipboard. You can "paste" this data in the forum screen in your web browser.</source> <translation>Het recept en alle gegevens zijn gekopieerd naar het klemboard. Je kunt deze gegevens "plakken" in het forum scherm in je web browser.</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="577"/> + <location filename="../src/EditProductExport.cpp" line="580"/> <source>Add a splitted batch</source> <translation>Voeg een split batch toe</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="582"/> + <location filename="../src/EditProductExport.cpp" line="585"/> <source>Choose split moment in the brew process</source> <translation>Kies een splits moment in het brouw proces</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="589"/> + <location filename="../src/EditProductExport.cpp" line="592"/> <source>Delete the last splitted batch</source> <translation>Verwijder de laatste gesplitste batch</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="598"/> + <location filename="../src/EditProductExport.cpp" line="601"/> <source>The read-only `product code` of the batch</source> <translation>De alleen lezen `product code` van de batch</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="602"/> + <location filename="../src/EditProductExport.cpp" line="605"/> <source>Batch name, click to change the name</source> <translation>Batch naam, klik om de naam te wijzigen</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="607"/> + <location filename="../src/EditProductExport.cpp" line="610"/> <source>Batch size, click to change the volume</source> <translation>Batch volume, klik om het volume te wijzigen</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="712"/> - <location filename="../src/EditProductExport.cpp" line="726"/> + <location filename="../src/EditProductExport.cpp" line="715"/> + <location filename="../src/EditProductExport.cpp" line="729"/> <source>Split product</source> <translation>Splits product</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="738"/> + <location filename="../src/EditProductExport.cpp" line="741"/> <source>Product name:</source> <translation>Product naam:</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="749"/> + <location filename="../src/EditProductExport.cpp" line="752"/> <source>Product code:</source> <translation>Product code:</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="760"/> + <location filename="../src/EditProductExport.cpp" line="763"/> <source>Available volume:</source> <translation>Beschikbaar volume:</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="766"/> + <location filename="../src/EditProductExport.cpp" line="769"/> <source>Current brew stage:</source> <translation>Huidige brouw fase:</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="777"/> + <location filename="../src/EditProductExport.cpp" line="780"/> <source>Split at moment:</source> <translation>Splits op moment:</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="781"/> - <source>Not divided</source> - <translation>Niet gesplitst</translation> - </message> - <message> - <location filename="../src/EditProductExport.cpp" line="782"/> - <source>After mash</source> - <translation>Na maischen</translation> - </message> - <message> <location filename="../src/EditProductExport.cpp" line="784"/> - <source>After cooling</source> - <translation>Na koelen</translation> + <source>Not divided</source> + <translation>Niet gesplitst</translation> </message> <message> <location filename="../src/EditProductExport.cpp" line="785"/> - <source>After primary</source> - <translation>Na hoofdgisting</translation> - </message> - <message> - <location filename="../src/EditProductExport.cpp" line="786"/> - <source>After secondary</source> - <translation>Na nagisting</translation> + <source>After mash</source> + <translation>Na maischen</translation> </message> <message> <location filename="../src/EditProductExport.cpp" line="787"/> + <source>After cooling</source> + <translation>Na koelen</translation> + </message> + <message> + <location filename="../src/EditProductExport.cpp" line="788"/> + <source>After primary</source> + <translation>Na hoofdgisting</translation> + </message> + <message> + <location filename="../src/EditProductExport.cpp" line="789"/> + <source>After secondary</source> + <translation>Na nagisting</translation> + </message> + <message> + <location filename="../src/EditProductExport.cpp" line="790"/> <source>After tertiary</source> <translation>Na lageren</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="808"/> + <location filename="../src/EditProductExport.cpp" line="811"/> <source>Volume remaining:</source> <translation>Resterend volume:</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="826"/> + <location filename="../src/EditProductExport.cpp" line="829"/> <source>Split code</source> <translation>Splits code</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="826"/> + <location filename="../src/EditProductExport.cpp" line="829"/> <source>Split name</source> <translation>Splits naam</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="826"/> + <location filename="../src/EditProductExport.cpp" line="829"/> <source>Split volume</source> <translation>Splits volume</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1003"/> + <location filename="../src/EditProductExport.cpp" line="1006"/> <source>Export choices</source> <translation>Export keuzes</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1015"/> + <location filename="../src/EditProductExport.cpp" line="1018"/> <source>Export to beerXML</source> <translation>Exporteer naar beerXML</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1019"/> + <location filename="../src/EditProductExport.cpp" line="1022"/> <source>Copy to product</source> <translation>Kopieer naar Product</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1023"/> + <location filename="../src/EditProductExport.cpp" line="1026"/> <source>Copy to recipe</source> <translation>Kopieer naar Recept</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1031"/> + <location filename="../src/EditProductExport.cpp" line="1034"/> <source>Split this batch</source> <translation>Splits deze batch</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1060"/> + <location filename="../src/EditProductExport.cpp" line="1063"/> <source>Printer report</source> <translation>Print rapporten</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1072"/> + <location filename="../src/EditProductExport.cpp" line="1075"/> <source>Print recipe</source> <translation>Print recept</translation> </message> <message> - <location filename="../src/EditProductExport.cpp" line="1076"/> + <location filename="../src/EditProductExport.cpp" line="1079"/> <source>Print checklist</source> <translation>Print werklijst</translation> </message> @@ -5172,7 +5233,7 @@ <message> <location filename="../ui/EditProfileFerment.ui" line="107"/> <location filename="../src/EditProfileFerment.cpp" line="172"/> - <location filename="../src/EditProfileFerment.cpp" line="409"/> + <location filename="../src/EditProfileFerment.cpp" line="444"/> <source>Delete</source> <translation>Verwijder</translation> </message> @@ -5213,16 +5274,21 @@ <translation>Sensor:</translation> </message> <message> + <location filename="../ui/EditProfileFerment.ui" line="316"/> + <source>Clone</source> + <translation>Kloon</translation> + </message> + <message> <location filename="../src/EditProfileFerment.cpp" line="31"/> <location filename="../src/EditProfileFerment.cpp" line="135"/> - <location filename="../src/EditProfileFerment.cpp" line="399"/> + <location filename="../src/EditProfileFerment.cpp" line="434"/> <source>Beer</source> <translation>Bier</translation> </message> <message> <location filename="../src/EditProfileFerment.cpp" line="32"/> <location filename="../src/EditProfileFerment.cpp" line="136"/> - <location filename="../src/EditProfileFerment.cpp" line="400"/> + <location filename="../src/EditProfileFerment.cpp" line="435"/> <source>Fridge</source> <translation>Koelkast</translation> </message> @@ -5262,34 +5328,36 @@ <translation>Toets</translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="204"/> + <location filename="../src/EditProfileFerment.cpp" line="203"/> <source>BMSapp - Add new fermentation profile</source> <translation>BMSapp - Nieuw vergisting profiel</translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="206"/> + <location filename="../src/EditProfileFerment.cpp" line="205"/> <source>BMSapp - Edit fermentation profile %1</source> <translation>BMSadd - Wijzig vergisting profiel %1</translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="222"/> + <location filename="../src/EditProfileFerment.cpp" line="221"/> <source>Edit Ferment</source> <translation>Wijzig vergisting</translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="222"/> + <location filename="../src/EditProfileFerment.cpp" line="221"/> <source>Name empty or too short.</source> <translation>De naam is leeg of te kort.</translation> </message> <message> + <location filename="../src/EditProfileFerment.cpp" line="250"/> + <location filename="../src/EditProfileFerment.cpp" line="286"/> + <location filename="../src/EditProfileFerment.cpp" line="311"/> + <source>Database error</source> + <translation>Database fout</translation> + </message> + <message> <location filename="../src/EditProfileFerment.cpp" line="251"/> - <location filename="../src/EditProfileFerment.cpp" line="276"/> - <source>Database error</source> - <translation>Database fout</translation> - </message> - <message> - <location filename="../src/EditProfileFerment.cpp" line="252"/> - <location filename="../src/EditProfileFerment.cpp" line="277"/> + <location filename="../src/EditProfileFerment.cpp" line="287"/> + <location filename="../src/EditProfileFerment.cpp" line="312"/> <source>MySQL error: %1 %2 %3</source> @@ -5298,12 +5366,22 @@ %3</translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="435"/> + <location filename="../src/EditProfileFerment.cpp" line="301"/> + <source>Delete fermentation profile</source> + <translation>Verwijder vergisting profiel</translation> + </message> + <message> + <location filename="../src/EditProfileFerment.cpp" line="301"/> + <source>Delete %1</source> + <translation>Verwijder %1</translation> + </message> + <message> + <location filename="../src/EditProfileFerment.cpp" line="470"/> <source>Fermentation changed</source> <translation>Vergisting gewijzigd</translation> </message> <message> - <location filename="../src/EditProfileFerment.cpp" line="435"/> + <location filename="../src/EditProfileFerment.cpp" line="470"/> <source>This fermentation profile has been modified. Save changes?</source> <translation>Dit vergisting profiel is gewijzigd. Wijzigingen opslaan?</translation> </message> @@ -5348,7 +5426,7 @@ <message> <location filename="../ui/EditProfileMash.ui" line="136"/> <location filename="../src/EditProfileMash.cpp" line="157"/> - <location filename="../src/EditProfileMash.cpp" line="356"/> + <location filename="../src/EditProfileMash.cpp" line="384"/> <source>Delete</source> <translation>Verwijder</translation> </message> @@ -5368,6 +5446,11 @@ <translation>Nieuwe stap</translation> </message> <message> + <location filename="../ui/EditProfileMash.ui" line="222"/> + <source>Clone</source> + <translation>Kloon</translation> + </message> + <message> <location filename="../src/EditProfileMash.cpp" line="81"/> <source>Step name</source> <translation>Stap naam</translation> @@ -5404,51 +5487,53 @@ </message> <message> <location filename="../src/EditProfileMash.cpp" line="102"/> - <location filename="../src/EditProfileMash.cpp" line="344"/> + <location filename="../src/EditProfileMash.cpp" line="372"/> <source>Infusion</source> <translation>Infusie</translation> </message> <message> <location filename="../src/EditProfileMash.cpp" line="103"/> - <location filename="../src/EditProfileMash.cpp" line="345"/> + <location filename="../src/EditProfileMash.cpp" line="373"/> <source>Temperature</source> <translation>Verwarmen</translation> </message> <message> <location filename="../src/EditProfileMash.cpp" line="104"/> - <location filename="../src/EditProfileMash.cpp" line="346"/> + <location filename="../src/EditProfileMash.cpp" line="374"/> <source>Decoction</source> <translation>Decoctie</translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="189"/> + <location filename="../src/EditProfileMash.cpp" line="188"/> <source>BMSapp - Add new mash profile</source> <translation>BMSapp - Nieuw maisch profiel</translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="191"/> + <location filename="../src/EditProfileMash.cpp" line="190"/> <source>BMSapp - Edit mash profile %1</source> <translation>BMSapp - Wijzig maisch profiel %1</translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="207"/> + <location filename="../src/EditProfileMash.cpp" line="206"/> <source>Edit Mash</source> <translation>Wijzig maisch</translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="207"/> + <location filename="../src/EditProfileMash.cpp" line="206"/> <source>Name empty or too short.</source> <translation>De naam is leeg of te kort.</translation> </message> <message> + <location filename="../src/EditProfileMash.cpp" line="228"/> + <location filename="../src/EditProfileMash.cpp" line="257"/> + <location filename="../src/EditProfileMash.cpp" line="282"/> + <source>Database error</source> + <translation>Database fout</translation> + </message> + <message> <location filename="../src/EditProfileMash.cpp" line="229"/> - <location filename="../src/EditProfileMash.cpp" line="254"/> - <source>Database error</source> - <translation>Database fout</translation> - </message> - <message> - <location filename="../src/EditProfileMash.cpp" line="230"/> - <location filename="../src/EditProfileMash.cpp" line="255"/> + <location filename="../src/EditProfileMash.cpp" line="258"/> + <location filename="../src/EditProfileMash.cpp" line="283"/> <source>MySQL error: %1 %2 %3</source> @@ -5457,12 +5542,22 @@ %3</translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="382"/> + <location filename="../src/EditProfileMash.cpp" line="272"/> + <source>Delete mash profile</source> + <translation>Verwijder maisch profiel</translation> + </message> + <message> + <location filename="../src/EditProfileMash.cpp" line="272"/> + <source>Delete %1</source> + <translation>Verwijder %1</translation> + </message> + <message> + <location filename="../src/EditProfileMash.cpp" line="410"/> <source>Mash changed</source> <translation>Maisch gewijzigd</translation> </message> <message> - <location filename="../src/EditProfileMash.cpp" line="382"/> + <location filename="../src/EditProfileMash.cpp" line="410"/> <source>This mash profile has been modified. Save changes?</source> <translation>Dit maisch schema is gewijzigd, Wijzigingen opslaan?</translation> </message> @@ -5789,6 +5884,11 @@ <translation>Carbonaat (CO3) mg/L:</translation> </message> <message> + <location filename="../ui/EditProfileWater.ui" line="721"/> + <source>Clone</source> + <translation>Kloon</translation> + </message> + <message> <source>Acid pH:</source> <translation type="vanished">Zuurgraad pH:</translation> </message> @@ -5817,34 +5917,36 @@ <translation>Ionen balans meq/L:</translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="96"/> + <location filename="../src/EditProfileWater.cpp" line="95"/> <source>BMSapp - Add new brewing water</source> <translation>BMSapp - Nieuw brouwwater</translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="98"/> + <location filename="../src/EditProfileWater.cpp" line="97"/> <source>BMSapp - Edit brewing water %1</source> <translation>BMSapp - Wijzig brouwwater %1</translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="114"/> + <location filename="../src/EditProfileWater.cpp" line="113"/> <source>Edit Water</source> <translation>Wijzig water</translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="114"/> + <location filename="../src/EditProfileWater.cpp" line="113"/> <source>Name empty or too short.</source> <translation>De naam is leeg of te kort.</translation> </message> <message> + <location filename="../src/EditProfileWater.cpp" line="145"/> + <location filename="../src/EditProfileWater.cpp" line="184"/> + <location filename="../src/EditProfileWater.cpp" line="209"/> + <source>Database error</source> + <translation>Database fout</translation> + </message> + <message> <location filename="../src/EditProfileWater.cpp" line="146"/> - <location filename="../src/EditProfileWater.cpp" line="171"/> - <source>Database error</source> - <translation>Database fout</translation> - </message> - <message> - <location filename="../src/EditProfileWater.cpp" line="147"/> - <location filename="../src/EditProfileWater.cpp" line="172"/> + <location filename="../src/EditProfileWater.cpp" line="185"/> + <location filename="../src/EditProfileWater.cpp" line="210"/> <source>MySQL error: %1 %2 %3</source> @@ -5853,12 +5955,22 @@ %3</translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="281"/> + <location filename="../src/EditProfileWater.cpp" line="199"/> + <source>Delete water profile</source> + <translation>Verwijder water profiel</translation> + </message> + <message> + <location filename="../src/EditProfileWater.cpp" line="199"/> + <source>Delete %1</source> + <translation>Verwijder %1</translation> + </message> + <message> + <location filename="../src/EditProfileWater.cpp" line="319"/> <source>Water changed</source> <translation>Water gewijzigd</translation> </message> <message> - <location filename="../src/EditProfileWater.cpp" line="281"/> + <location filename="../src/EditProfileWater.cpp" line="319"/> <source>This water profile has been modified. Save changes?</source> <translation>Dit water profiel is gewijzigd. Wijzigingen opslaan?</translation> </message> @@ -7368,7 +7480,7 @@ <message> <location filename="../src/EditRecipeExport.cpp" line="35"/> <location filename="../src/EditRecipeExport.cpp" line="37"/> - <location filename="../src/EditRecipeExport.cpp" line="251"/> + <location filename="../src/EditRecipeExport.cpp" line="254"/> <source>Save File</source> <translation>Bestand opslaan</translation> </message> @@ -7383,68 +7495,68 @@ <translation>Geen XML bestand gekozen.</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="251"/> + <location filename="../src/EditRecipeExport.cpp" line="254"/> <source>XML export ready</source> <translation>XML uitvoer gereed</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="267"/> - <location filename="../src/EditRecipeExport.cpp" line="269"/> - <location filename="../src/EditRecipeExport.cpp" line="428"/> - <location filename="../src/EditRecipeExport.cpp" line="430"/> + <location filename="../src/EditRecipeExport.cpp" line="270"/> + <location filename="../src/EditRecipeExport.cpp" line="272"/> + <location filename="../src/EditRecipeExport.cpp" line="431"/> + <location filename="../src/EditRecipeExport.cpp" line="433"/> <source>Copy Recipe</source> <translation>Kopieer Recept</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="267"/> + <location filename="../src/EditRecipeExport.cpp" line="270"/> <source>Copy Recipe export ready.</source> <translation>Kopie Recept export gereed.</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="269"/> + <location filename="../src/EditRecipeExport.cpp" line="272"/> <source>Copy Recipe error.</source> <translation>Kopieer Recept fout.</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="428"/> + <location filename="../src/EditRecipeExport.cpp" line="431"/> <source>Copy Recipe to Product ready.</source> <translation>Kopieer Recept naar Product gereed.</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="430"/> + <location filename="../src/EditRecipeExport.cpp" line="433"/> <source>Copy Recipe to Product error.</source> <translation>Kopieer Recept naar Product fout.</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="567"/> - <location filename="../src/EditRecipeExport.cpp" line="601"/> + <location filename="../src/EditRecipeExport.cpp" line="570"/> + <location filename="../src/EditRecipeExport.cpp" line="604"/> <source>Export to forum</source> <translation>Exporteer naar Forum</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="567"/> + <location filename="../src/EditRecipeExport.cpp" line="570"/> <source>The recipe and all data are copied to the clipboard. You can "paste" this data in the forum screen in your web browser.</source> <translation>Het recept en alle gegevens zijn gekopieerd naar het klemboard. Je kunt deze gegevens "plakken" in het forum scherm in je web browser.</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="574"/> + <location filename="../src/EditRecipeExport.cpp" line="577"/> <source>Export choices</source> <translation>Export keuzes</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="586"/> + <location filename="../src/EditRecipeExport.cpp" line="589"/> <source>Export to beerXML</source> <translation>Exporteer naar beerXML</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="591"/> + <location filename="../src/EditRecipeExport.cpp" line="594"/> <source>Copy to recipe</source> <translation>Kopieer naar Recept</translation> </message> <message> - <location filename="../src/EditRecipeExport.cpp" line="596"/> + <location filename="../src/EditRecipeExport.cpp" line="599"/> <source>Copy to product</source> <translation>Kopieer naar Product</translation> </message> @@ -7712,6 +7824,11 @@ <translation>Rest alkaliteit als CaCO3:</translation> </message> <message> + <location filename="../ui/EditWater.ui" line="885"/> + <source>Clone</source> + <translation>Kloon</translation> + </message> + <message> <source>Acid pH:</source> <translation type="vanished">Zuurgraad pH:</translation> </message> @@ -7763,34 +7880,36 @@ <translation type="vanished">Ionen balans meq/L:</translation> </message> <message> - <location filename="../src/EditWater.cpp" line="105"/> + <location filename="../src/EditWater.cpp" line="104"/> <source>BMSapp - Add new brewing water</source> <translation>BMSapp - Nieuw brouwwater</translation> </message> <message> - <location filename="../src/EditWater.cpp" line="107"/> + <location filename="../src/EditWater.cpp" line="106"/> <source>BMSapp - Edit brewing water %1</source> <translation>BMSapp - Wijzig brouwwater %1</translation> </message> <message> - <location filename="../src/EditWater.cpp" line="123"/> + <location filename="../src/EditWater.cpp" line="122"/> <source>Edit Water</source> <translation>Wijzig water</translation> </message> <message> - <location filename="../src/EditWater.cpp" line="123"/> + <location filename="../src/EditWater.cpp" line="122"/> <source>Name empty or too short.</source> <translation>De naam is leeg of te kort.</translation> </message> <message> + <location filename="../src/EditWater.cpp" line="158"/> + <location filename="../src/EditWater.cpp" line="201"/> + <location filename="../src/EditWater.cpp" line="226"/> + <source>Database error</source> + <translation>Database fout</translation> + </message> + <message> <location filename="../src/EditWater.cpp" line="159"/> - <location filename="../src/EditWater.cpp" line="184"/> - <source>Database error</source> - <translation>Database fout</translation> - </message> - <message> - <location filename="../src/EditWater.cpp" line="160"/> - <location filename="../src/EditWater.cpp" line="185"/> + <location filename="../src/EditWater.cpp" line="202"/> + <location filename="../src/EditWater.cpp" line="227"/> <source>MySQL error: %1 %2 %3</source> @@ -7799,12 +7918,22 @@ %3</translation> </message> <message> - <location filename="../src/EditWater.cpp" line="301"/> + <location filename="../src/EditWater.cpp" line="216"/> + <source>Delete water</source> + <translation>Verwijder water</translation> + </message> + <message> + <location filename="../src/EditWater.cpp" line="216"/> + <source>Delete %1</source> + <translation>Verwijder %1</translation> + </message> + <message> + <location filename="../src/EditWater.cpp" line="343"/> <source>Water changed</source> <translation>Water gewijzigd</translation> </message> <message> - <location filename="../src/EditWater.cpp" line="301"/> + <location filename="../src/EditWater.cpp" line="343"/> <source>The brewing water has been modified. Save changes?</source> <translation>Dit brouwwater is gewijzigd. Wijzigingen opslaan?</translation> </message> @@ -7989,7 +8118,7 @@ </message> <message> <location filename="../ui/EditYeast.ui" line="738"/> - <location filename="../src/EditYeast.cpp" line="182"/> + <location filename="../src/EditYeast.cpp" line="181"/> <source>Billion cells/gram:</source> <translation>Miljard cellen/gram:</translation> </message> @@ -8075,6 +8204,11 @@ <translation>Zet de tht datum op vandaag.</translation> </message> <message> + <location filename="../ui/EditYeast.ui" line="1232"/> + <source>Clone</source> + <translation>Kloon</translation> + </message> + <message> <location filename="../src/EditYeast.cpp" line="32"/> <source>Lager</source> <translation>Ondergist</translation> @@ -8170,80 +8304,82 @@ <translation>Zeer hoog</translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="170"/> + <location filename="../src/EditYeast.cpp" line="169"/> <source>Price per pack:</source> <translation>Prijs per pak:</translation> </message> <message> + <location filename="../src/EditYeast.cpp" line="170"/> + <source>Inventory Packs:</source> + <translation>Voorraad pakken:</translation> + </message> + <message> <location filename="../src/EditYeast.cpp" line="171"/> - <source>Inventory Packs:</source> - <translation>Voorraad pakken:</translation> - </message> - <message> - <location filename="../src/EditYeast.cpp" line="172"/> <source>Billion cells/pack:</source> <translation>Miljard cellen/pak:</translation> </message> <message> + <location filename="../src/EditYeast.cpp" line="179"/> + <source>Price per Kg:</source> + <translation>Prijs per kg:</translation> + </message> + <message> <location filename="../src/EditYeast.cpp" line="180"/> - <source>Price per Kg:</source> - <translation>Prijs per kg:</translation> - </message> - <message> - <location filename="../src/EditYeast.cpp" line="181"/> <source>Inventory gram:</source> <translation>Voorraad gram:</translation> </message> <message> + <location filename="../src/EditYeast.cpp" line="189"/> + <source>Price per litre:</source> + <translation>Prijs per liter:</translation> + </message> + <message> <location filename="../src/EditYeast.cpp" line="190"/> - <source>Price per litre:</source> - <translation>Prijs per liter:</translation> + <source>Inventory ml:</source> + <translation>Voorraad ml:</translation> </message> <message> <location filename="../src/EditYeast.cpp" line="191"/> - <source>Inventory ml:</source> - <translation>Voorraad ml:</translation> - </message> - <message> - <location filename="../src/EditYeast.cpp" line="192"/> <source>Billion cells/ml:</source> <translation>Miljard cellen/ml:</translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="229"/> + <location filename="../src/EditYeast.cpp" line="228"/> <source>BMSapp - Add new yeast</source> <translation>BMSapp - Nieuwe gist</translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="231"/> + <location filename="../src/EditYeast.cpp" line="230"/> <source>BMSapp - Edit yeast %1</source> <translation>BMSapp - Wijzig gist %1</translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="247"/> - <location filename="../src/EditYeast.cpp" line="251"/> + <location filename="../src/EditYeast.cpp" line="246"/> + <location filename="../src/EditYeast.cpp" line="250"/> <source>Edit Yeast</source> <translation>Wijzig gist</translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="247"/> + <location filename="../src/EditYeast.cpp" line="246"/> <source>Name empty or too short.</source> <translation>De naam is leeg of te kort.</translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="251"/> + <location filename="../src/EditYeast.cpp" line="250"/> <source>Laboratory empty or too short.</source> <translation>Laboratorium leeg of te kort.</translation> </message> <message> + <location filename="../src/EditYeast.cpp" line="313"/> + <location filename="../src/EditYeast.cpp" line="375"/> + <location filename="../src/EditYeast.cpp" line="400"/> + <source>Database error</source> + <translation>Database fout</translation> + </message> + <message> <location filename="../src/EditYeast.cpp" line="314"/> - <location filename="../src/EditYeast.cpp" line="339"/> - <source>Database error</source> - <translation>Database fout</translation> - </message> - <message> - <location filename="../src/EditYeast.cpp" line="315"/> - <location filename="../src/EditYeast.cpp" line="340"/> + <location filename="../src/EditYeast.cpp" line="376"/> + <location filename="../src/EditYeast.cpp" line="401"/> <source>MySQL error: %1 %2 %3</source> @@ -8252,12 +8388,22 @@ %3</translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="414"/> + <location filename="../src/EditYeast.cpp" line="390"/> + <source>Delete yeast</source> + <translation>Verwijder gist</translation> + </message> + <message> + <location filename="../src/EditYeast.cpp" line="390"/> + <source>Delete %1</source> + <translation>Verwijder %1</translation> + </message> + <message> + <location filename="../src/EditYeast.cpp" line="475"/> <source>Yeast changed</source> <translation>Gist gewijzigd</translation> </message> <message> - <location filename="../src/EditYeast.cpp" line="414"/> + <location filename="../src/EditYeast.cpp" line="475"/> <source>The yeast has been modified. Save changes?</source> <translation>Deze gist is gewijzigd. Wijzigingen opslaan?</translation> </message> @@ -8868,7 +9014,7 @@ <message> <location filename="../src/InventoryHops.cpp" line="211"/> <location filename="../src/InventoryHops.cpp" line="213"/> - <location filename="../src/InventoryHops.cpp" line="255"/> + <location filename="../src/InventoryHops.cpp" line="258"/> <source>Save File</source> <translation>Bestand opslaan</translation> </message> @@ -8883,7 +9029,7 @@ <translation>Geen XML bestand gekozen.</translation> </message> <message> - <location filename="../src/InventoryHops.cpp" line="255"/> + <location filename="../src/InventoryHops.cpp" line="258"/> <source>XML export ready</source> <translation>XML uitvoer gereed</translation> </message> @@ -9368,23 +9514,23 @@ </message> <message> <location filename="../ui/MainWindow.ui" line="103"/> - <location filename="../ui/MainWindow.ui" line="349"/> + <location filename="../ui/MainWindow.ui" line="362"/> <source>Archive</source> <translation>Archief</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="119"/> - <location filename="../ui/MainWindow.ui" line="322"/> + <location filename="../ui/MainWindow.ui" line="132"/> + <location filename="../ui/MainWindow.ui" line="335"/> <source>Recipes</source> <translation>Recepten</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="142"/> + <location filename="../ui/MainWindow.ui" line="155"/> <source>Exit</source> <translation>Afsluiten</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="151"/> + <location filename="../ui/MainWindow.ui" line="164"/> <source>About</source> <translation>Over</translation> </message> @@ -9393,7 +9539,7 @@ <translation type="vanished">Systemen</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="437"/> + <location filename="../ui/MainWindow.ui" line="450"/> <source>Fermenters</source> <translation>Vergisting</translation> </message> @@ -9402,146 +9548,166 @@ <translation type="vanished">CO2 meters</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="455"/> + <location filename="../ui/MainWindow.ui" line="468"/> <source>iSpindels</source> <translation>iSpindels</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="160"/> + <location filename="../ui/MainWindow.ui" line="173"/> <source>Suppliers</source> <translation>Leveranciers</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="172"/> + <location filename="../ui/MainWindow.ui" line="116"/> + <source>Reports</source> + <translation>Rapporten</translation> + </message> + <message> + <location filename="../ui/MainWindow.ui" line="185"/> <source>Fermentables</source> <translation>Vergistbare ingredienten</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="184"/> + <location filename="../ui/MainWindow.ui" line="197"/> <source>Hops</source> <translation>Hoppen</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="196"/> + <location filename="../ui/MainWindow.ui" line="209"/> <source>Yeasts</source> <translation>Gisten</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="208"/> + <location filename="../ui/MainWindow.ui" line="221"/> <source>Miscs</source> <translation>Overige ingredienten</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="220"/> + <location filename="../ui/MainWindow.ui" line="233"/> <source>Waters</source> <translation>Water</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="232"/> + <location filename="../ui/MainWindow.ui" line="245"/> <source>Equipments</source> <translation>Brouw apparatuur</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="244"/> + <location filename="../ui/MainWindow.ui" line="257"/> <source>Supplies list</source> <translation>Voorraad lijst</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="256"/> + <location filename="../ui/MainWindow.ui" line="269"/> <source>Yeast bank</source> <translation>Gistbank lijst</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="268"/> + <location filename="../ui/MainWindow.ui" line="281"/> <source>Water profiles</source> <translation>Water profielen</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="280"/> + <location filename="../ui/MainWindow.ui" line="293"/> <source>Mash schedules</source> <translation>Maisch schemas</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="292"/> + <location filename="../ui/MainWindow.ui" line="305"/> <source>Beer styles</source> <translation>Bierstijlen</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="304"/> + <location filename="../ui/MainWindow.ui" line="317"/> <source>Fermentation schedules</source> <translation>Vergisting profielen</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="313"/> + <location filename="../ui/MainWindow.ui" line="326"/> <source>Global settings</source> <translation>Instellingen</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="331"/> + <location filename="../ui/MainWindow.ui" line="344"/> <source>Import beerxml</source> <translation>Importeer beerxml</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="340"/> + <location filename="../ui/MainWindow.ui" line="353"/> <source>In Production</source> <translation>In Productie</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="358"/> + <location filename="../ui/MainWindow.ui" line="371"/> <source>On Name</source> <translation>Op naam</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="367"/> + <location filename="../ui/MainWindow.ui" line="380"/> <source>On Code</source> <translation>Op code</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="376"/> + <location filename="../ui/MainWindow.ui" line="389"/> <source>On Date</source> <translation>Op datum</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="385"/> + <location filename="../ui/MainWindow.ui" line="398"/> <source>On Beerstyle</source> <translation>Op bierstijl</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="394"/> + <location filename="../ui/MainWindow.ui" line="407"/> <source>Import beerXML</source> <translation>Importeer beerXML</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="399"/> + <location filename="../ui/MainWindow.ui" line="412"/> <source>dummy</source> <translation></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="404"/> + <location filename="../ui/MainWindow.ui" line="417"/> <source>hh</source> <translation></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="409"/> + <location filename="../ui/MainWindow.ui" line="422"/> <source>hj</source> <translation></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="414"/> + <location filename="../ui/MainWindow.ui" line="427"/> <source>ll</source> <translation></translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="419"/> - <location filename="../ui/MainWindow.ui" line="428"/> + <location filename="../ui/MainWindow.ui" line="432"/> + <location filename="../ui/MainWindow.ui" line="441"/> <source>Nodes</source> <translation>Systemen</translation> </message> <message> - <location filename="../ui/MainWindow.ui" line="446"/> + <location filename="../ui/MainWindow.ui" line="459"/> <source>Carbonation</source> <translation>Carbonatie</translation> </message> + <message> + <location filename="../ui/MainWindow.ui" line="477"/> + <source>Total Production</source> + <translation>Totaal productie</translation> + </message> + <message> + <location filename="../ui/MainWindow.ui" line="486"/> + <source>Efficiency</source> + <translation>Rendement</translation> + </message> + <message> + <location filename="../ui/MainWindow.ui" line="495"/> + <source>Fermentation</source> + <translation>Vergisting</translation> + </message> </context> <context> <name>ManoMeter</name> @@ -10082,6 +10248,7 @@ <location filename="../src/PrinterDialog.cpp" line="285"/> <location filename="../src/PrinterDialog.cpp" line="472"/> <location filename="../src/PrinterDialog.cpp" line="884"/> + <location filename="../src/PrinterDialog.cpp" line="2331"/> <source>Yeast</source> <translation>Gist</translation> </message> @@ -11255,34 +11422,142 @@ <translation>Toevoegen %1 gr `%2`</translation> </message> <message> - <location filename="../src/PrinterDialog.cpp" line="2177"/> + <location filename="../src/PrinterDialog.cpp" line="2154"/> + <source>Number</source> + <translation>Nummer</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2155"/> + <source>Year</source> + <translation>Jaar</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2156"/> + <source>Brew sessions</source> + <translation>Brouw sessies</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2157"/> + <source>Brew volume</source> + <translation>Brouw volume</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2158"/> + <source>Average volume</source> + <translation>Gemiddeld volume</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2220"/> + <location filename="../src/PrinterDialog.cpp" line="2329"/> + <source>Code</source> + <translation>Code</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2221"/> + <location filename="../src/PrinterDialog.cpp" line="2330"/> + <source>Name</source> + <translation>Naam</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2223"/> + <source>Max extract</source> + <translation>Max extract</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2224"/> + <source>Mash eff.</source> + <translation>Maisch %</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2225"/> + <source>Sparge eff</source> + <translation>Spoelen %</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2226"/> + <source>Boil eff</source> + <translation>Koken %</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2332"/> + <source>Primary</source> + <translation>Hoofdgisting</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2333"/> + <source>Secondary</source> + <translation>Nagisten</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2334"/> + <source>Tertiary</source> + <translation>Lageren</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2335"/> + <source>Days</source> + <translation>Dagen</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2336"/> + <source>OG</source> + <translation>OG</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2337"/> + <source>FG</source> + <translation>FG</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2338"/> + <source>AA</source> + <translation>SVG</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2402"/> <source>Measured:</source> <translation>Gemeten:</translation> </message> <message> - <location filename="../src/PrinterDialog.cpp" line="2189"/> + <location filename="../src/PrinterDialog.cpp" line="2414"/> <source>%1 split the batch here!</source> <translation>%1 splits de batch hier!</translation> </message> <message> - <location filename="../src/PrinterDialog.cpp" line="2228"/> + <location filename="../src/PrinterDialog.cpp" line="2453"/> <source>Inventory</source> <translation>Inventaris</translation> </message> <message> - <location filename="../src/PrinterDialog.cpp" line="2230"/> + <location filename="../src/PrinterDialog.cpp" line="2455"/> <source>Yeastbank</source> <translation>Gistbank</translation> </message> <message> - <location filename="../src/PrinterDialog.cpp" line="2240"/> + <location filename="../src/PrinterDialog.cpp" line="2461"/> + <source>Year production</source> + <translation>Jaar productie</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2463"/> + <source>Brew efficiency</source> + <translation>Brouw rendement</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2465"/> + <source>Fermentations</source> + <translation>Vergistingen</translation> + </message> + <message> + <location filename="../src/PrinterDialog.cpp" line="2471"/> <source>Date and time</source> <translation>Datum en tijd</translation> </message> <message> <location filename="../src/PrinterDialog.cpp" line="766"/> - <location filename="../src/PrinterDialog.cpp" line="2243"/> - <location filename="../src/PrinterDialog.cpp" line="2247"/> + <location filename="../src/PrinterDialog.cpp" line="2222"/> + <location filename="../src/PrinterDialog.cpp" line="2474"/> + <location filename="../src/PrinterDialog.cpp" line="2478"/> <source>Beer style</source> <translation>Bierstijl</translation> </message> @@ -12403,11 +12678,11 @@ </message> <message> <location filename="../src/database/db_recipe.cpp" line="31"/> - <location filename="../src/database/db_recipe.cpp" line="651"/> - <location filename="../src/database/db_recipe.cpp" line="684"/> + <location filename="../src/database/db_recipe.cpp" line="654"/> + <location filename="../src/database/db_recipe.cpp" line="687"/> <location filename="../src/database/db_product.cpp" line="31"/> - <location filename="../src/database/db_product.cpp" line="1005"/> - <location filename="../src/database/db_product.cpp" line="1038"/> + <location filename="../src/database/db_product.cpp" line="1008"/> + <location filename="../src/database/db_product.cpp" line="1041"/> <source>Database error</source> <translation>Database fout</translation> </message> @@ -12418,10 +12693,10 @@ <translation>MySQL fout: record %1 niet gevonden</translation> </message> <message> - <location filename="../src/database/db_recipe.cpp" line="652"/> - <location filename="../src/database/db_recipe.cpp" line="685"/> - <location filename="../src/database/db_product.cpp" line="1006"/> - <location filename="../src/database/db_product.cpp" line="1039"/> + <location filename="../src/database/db_recipe.cpp" line="655"/> + <location filename="../src/database/db_recipe.cpp" line="688"/> + <location filename="../src/database/db_product.cpp" line="1009"/> + <location filename="../src/database/db_product.cpp" line="1042"/> <source>MySQL error: %1 %2 %3</source>
--- a/ui/MainWindow.ui Mon Aug 01 13:05:23 2022 +0200 +++ b/ui/MainWindow.ui Mon Aug 01 21:49:57 2022 +0200 @@ -111,8 +111,21 @@ <addaction name="actionOn_Date"/> <addaction name="actionOn_Tree"/> </widget> + <widget class="QMenu" name="menuReports"> + <property name="title"> + <string>Reports</string> + </property> + <property name="icon"> + <iconset resource="../resources/icons.qrc"> + <normaloff>:/icons/silk/printer.png</normaloff>:/icons/silk/printer.png</iconset> + </property> + <addaction name="actionRep_Production"/> + <addaction name="actionRep_Efficiency"/> + <addaction name="actionRep_Fermentation"/> + </widget> <addaction name="actionProd_inprod"/> <addaction name="menuArchive"/> + <addaction name="menuReports"/> </widget> <widget class="QMenu" name="menuRecipes"> <property name="title"> @@ -455,6 +468,33 @@ <string>iSpindels</string> </property> </action> + <action name="actionRep_Production"> + <property name="icon"> + <iconset resource="../resources/icons.qrc"> + <normaloff>:/icons/bms/beerstyles.png</normaloff>:/icons/bms/beerstyles.png</iconset> + </property> + <property name="text"> + <string>Total Production</string> + </property> + </action> + <action name="actionRep_Efficiency"> + <property name="icon"> + <iconset resource="../resources/icons.qrc"> + <normaloff>:/icons/silk/report.png</normaloff>:/icons/silk/report.png</iconset> + </property> + <property name="text"> + <string>Efficiency</string> + </property> + </action> + <action name="actionRep_Fermentation"> + <property name="icon"> + <iconset resource="../resources/icons.qrc"> + <normaloff>:/icons/bms/fermenter.png</normaloff>:/icons/bms/fermenter.png</iconset> + </property> + <property name="text"> + <string>Fermentation</string> + </property> + </action> </widget> <layoutdefault spacing="6" margin="11"/> <resources>