Fri, 29 Jul 2022 17:12:02 +0200
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>