Added hop clone

Fri, 29 Jul 2022 17:12:02 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 29 Jul 2022 17:12:02 +0200
changeset 377
5c1f81c75bc4
parent 376
81ae1b4e25db
child 378
2727db4ab7c5

Added hop clone

src/EditHop.cpp file | annotate | diff | comparison | revisions
src/EditHop.h file | annotate | diff | comparison | revisions
ui/EditHop.ui file | annotate | diff | comparison | revisions
--- a/src/EditHop.cpp	Fri Jul 29 16:45:11 2022 +0200
+++ b/src/EditHop.cpp	Fri Jul 29 17:12:02 2022 +0200
@@ -224,6 +224,55 @@
 }
 
 
+void EditHop::on_cloneButton_clicked()
+{
+    QSqlQuery query;
+
+    QString sql = "INSERT INTO inventory_hops SET name=:name, alpha=:alpha, beta=:beta, "
+                "humulene=:humulene, caryophyllene=:cary, cohumulone=:cohumulone, myrcene=:myrcene, "
+                "hsi=:hsi, type=:type, form=:form, notes=:notes, origin=:origin, substitutes=:substitutes, "
+                "always_on_stock=:always, inventory=:inventory, cost=:cost, production_date=:prod, "
+                "tht_date=:tht, total_oil=:oil, utilisation=:utilisation, bu_factor=:bu_factor, uuid=:uuid";
+
+    query.prepare(sql);
+    query.bindValue(":name", ui->nameEdit->text() + " [copy]");
+    query.bindValue(":alpha", QString("%1").arg(ui->alphaEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":beta", QString("%1").arg(ui->betaEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":humulene", QString("%1").arg(ui->humuleneEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":cary", QString("%1").arg(ui->caryEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":cohumulone", QString("%1").arg(ui->cohumuloneEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":myrcene", QString("%1").arg(ui->myrceneEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":hsi", QString("%1").arg(ui->hsiEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":type", ui->typeEdit->currentIndex());
+    query.bindValue(":form", ui->formEdit->currentIndex());
+    query.bindValue(":notes", ui->notesEdit->toPlainText());
+    query.bindValue(":origin", ui->originEdit->text());
+    query.bindValue(":substitutes", ui->substitutesEdit->text());
+    query.bindValue(":always", ui->alwaysEdit->isChecked() ? 1:0);
+    query.bindValue(":inventory", QString("%1").arg(0, 5, 'f', 4, '0'));
+    query.bindValue(":cost", QString("%1").arg(ui->costEdit->value(), 3, 'f', 2, '0'));
+    /* Uses https://www.qtcentre.org/threads/17295-How-to-put-empty-value-in-QDateEdit */
+    query.bindValue(":prod", QDate());
+    query.bindValue(":tht", QDate());
+    query.bindValue(":oil", QString("%1").arg(ui->oilEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":utilisation", QString("%1").arg(ui->utilisationEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":bu_factor", QString("%1").arg(ui->bufactorEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
+    query.exec();
+    if (query.lastError().isValid()) {
+        qDebug() << "EditHop" << 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() << "EditHop Saved";
+    }
+
+}
+
+
 void EditHop::on_deleteButton_clicked()
 {
     QSqlQuery query;
--- a/src/EditHop.h	Fri Jul 29 16:45:11 2022 +0200
+++ b/src/EditHop.h	Fri Jul 29 17:12:02 2022 +0200
@@ -21,6 +21,7 @@
 
 private slots:
     void on_saveButton_clicked();
+    void on_cloneButton_clicked();
     void on_quitButton_clicked();
     void on_deleteButton_clicked();
     void is_changed();
--- a/ui/EditHop.ui	Fri Jul 29 16:45:11 2022 +0200
+++ b/ui/EditHop.ui	Fri Jul 29 17:12:02 2022 +0200
@@ -337,7 +337,7 @@
       </property>
       <property name="geometry">
        <rect>
-        <x>463</x>
+        <x>596</x>
         <y>510</y>
         <width>80</width>
         <height>23</height>
@@ -997,6 +997,23 @@
        <double>0.100000000000000</double>
       </property>
      </widget>
+     <widget class="QPushButton" name="cloneButton">
+      <property name="geometry">
+       <rect>
+        <x>343</x>
+        <y>510</y>
+        <width>80</width>
+        <height>23</height>
+       </rect>
+      </property>
+      <property name="text">
+       <string>Clone</string>
+      </property>
+      <property name="icon">
+       <iconset resource="../../../../../../home/mbroek/MyProjects/bmsapp/resources/icons.qrc">
+        <normaloff>:/icons/silk/disk_multiple.png</normaloff>:/icons/silk/disk_multiple.png</iconset>
+      </property>
+     </widget>
     </widget>
    </item>
   </layout>

mercurial