src/EditEquipment.cpp

changeset 385
09af9f46518f
parent 90
2396457a8167
child 419
d49f38cc76a0
--- a/src/EditEquipment.cpp	Sun Jul 31 20:23:27 2022 +0200
+++ b/src/EditEquipment.cpp	Mon Aug 01 13:05:23 2022 +0200
@@ -72,7 +72,6 @@
 	query2.bindValue(":name", query.value(1).toString());
 	query2.exec();
 	inuse = query2.size();
-	qDebug() << "in use" << inuse;
 	ui->nameEdit->setReadOnly(inuse > 0);
     } else {
 	/* Set some defaults */
@@ -132,7 +131,6 @@
 
 EditEquipment::~EditEquipment()
 {
-    qDebug() << "EditEquipment done";
     delete ui;
     emit entry_changed();
 }
@@ -221,7 +219,7 @@
         }
 	query.exec();
 	if (query.lastError().isValid()) {
-	    qDebug() << "EditEquipment" << query.lastError();
+	    qWarning() << "EditEquipment" << query.lastError();
 	    QMessageBox::warning(this, tr("Database error"),
                         tr("MySQL error: %1\n%2\n%3")
                         .arg(query.lastError().nativeErrorCode())
@@ -238,15 +236,73 @@
 }
 
 
+void EditEquipment::on_cloneButton_clicked()
+{
+    QSqlQuery query;
+
+    query.prepare("INSERT INTO inventory_equipments SET name=:name, boil_size=:boil_size, "
+                "batch_size=:batch_size, tun_volume=:tun_volume, tun_weight=:tun_weight, "
+                "tun_specific_heat=:tun_specific_heat, tun_material=:tun_material, tun_height=:tun_height, "
+                "top_up_water=:top_up_water, trub_chiller_loss=:chiller_loss, evap_rate=:evap_rate, "
+                "boil_time=:boil_time, calc_boil_volume=:calcboil, top_up_kettle=:top_up_kettle, "
+                "hop_utilization=:hopfactor, notes=:notes, lauter_volume=:lauter_volume, "
+                "lauter_height=:lauter_height, lauter_deadspace=:lauter_deadspace, kettle_volume=:kettle_volume, "
+                "kettle_height=:kettle_height, mash_volume=:mash_volume, mash_max=:mash_max, "
+                "efficiency=:efficiency, uuid=:uuid");
+
+    query.bindValue(":name", ui->nameEdit->text() + " [copy]");
+    query.bindValue(":boil_size", QString("%1").arg(ui->boil_sizeEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":batch_size", QString("%1").arg(ui->batch_sizeEdit->value(), 3, 'f', 2, '0'));
+    query.bindValue(":tun_volume", QString("%1").arg(ui->tun_volumeEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":tun_weight", QString("%1").arg(ui->tun_weightEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":tun_specific_heat", QString("%1").arg(ui->tun_specific_heatEdit->value(), 4, 'f', 3, '0'));
+    query.bindValue(":tun_material", ui->tun_materialEdit->currentIndex());
+    query.bindValue(":tun_height", QString("%1").arg(ui->tun_heightEdit->value() / 100, 4, 'f', 3, '0'));
+    query.bindValue(":top_up_water", QString("%1").arg(ui->top_up_waterEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":chiller_loss", QString("%1").arg(ui->chiller_lossEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":evap_rate", QString("%1").arg(ui->evap_rateEdit->value(), 3, 'f', 2, '0'));
+    query.bindValue(":boil_time", QString("%1").arg(ui->boil_timeEdit->value(), 1, 'f', 0, '0'));
+    query.bindValue(":calcboil", ui->calcboilEdit->isChecked() ? 1:0);
+    query.bindValue(":top_up_kettle", QString("%1").arg(ui->top_up_kettleEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":hopfactor", QString("%1").arg(ui->hopfactorEdit->value(), 1, 'f', 0, '0'));
+    query.bindValue(":notes", ui->notesEdit->toPlainText());
+    query.bindValue(":lauter_volume", QString("%1").arg(ui->lauter_volumeEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":lauter_height", QString("%1").arg(ui->lauter_heightEdit->value() / 100, 4, 'f', 3, '0'));
+    query.bindValue(":lauter_deadspace", QString("%1").arg(ui->lauter_deadspaceEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":kettle_volume", QString("%1").arg(ui->kettle_volumeEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":kettle_height", QString("%1").arg(ui->kettle_heightEdit->value() / 100, 4, 'f', 3, '0'));
+    query.bindValue(":mash_volume", QString("%1").arg(ui->mash_volumeEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":mash_max", QString("%1").arg(ui->mash_maxEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":efficiency", QString("%1").arg(ui->efficiencyEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
+    query.exec();
+    if (query.lastError().isValid()) {
+	qWarning() << "EditEquipment" << query.lastError();
+	QMessageBox::warning(this, tr("Database error"),
+                        tr("MySQL error: %1\n%2\n%3")
+                        .arg(query.lastError().nativeErrorCode())
+                        .arg(query.lastError().driverText())
+                        .arg(query.lastError().databaseText()));
+    } else {
+	qDebug() << "EditEquipment Saved";
+    }
+}
+
+
 void EditEquipment::on_deleteButton_clicked()
 {
     QSqlQuery query;
 
+    int rc = QMessageBox::warning(this, tr("Delete equipment"), tr("Delete %1").arg(ui->nameEdit->text()),
+                    QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
+    if (rc == QMessageBox::No)
+        return;
+
     query.prepare("DELETE FROM inventory_equipments WHERE record = :recno");
     query.bindValue(":recno", this->recno);
     query.exec();
     if (query.lastError().isValid()) {
-	qDebug() << "EditEquipment" << query.lastError();
+	qWarning() << "EditEquipment" << query.lastError();
 	QMessageBox::warning(this, tr("Database error"),
                         tr("MySQL error: %1\n%2\n%3")
                         .arg(query.lastError().nativeErrorCode())

mercurial