--- a/src/EditProfileMash.cpp Sun Jul 31 20:23:27 2022 +0200 +++ b/src/EditProfileMash.cpp Mon Aug 01 13:05:23 2022 +0200 @@ -172,7 +172,6 @@ EditProfileMash::~EditProfileMash() { - qDebug() << "EditProfileMash done"; delete ui; emit entry_changed(); } @@ -225,7 +224,7 @@ } query.exec(); if (query.lastError().isValid()) { - qDebug() << "EditProfileMash" << query.lastError(); + qWarning() << "EditProfileMash" << query.lastError(); QMessageBox::warning(this, tr("Database error"), tr("MySQL error: %1\n%2\n%3") .arg(query.lastError().nativeErrorCode()) @@ -242,15 +241,44 @@ } +void EditProfileMash::on_cloneButton_clicked() +{ + QSqlQuery query; + + query.prepare("INSERT INTO profile_mash SET name=:name, notes=:notes, steps=:steps, uuid=:uuid"); + query.bindValue(":name", ui->nameEdit->text() + " [copy]"); + query.bindValue(":notes", ui->notesEdit->toPlainText()); + query.bindValue(":steps", this->steps.toJson(QJsonDocument::Compact)); + query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36)); + + query.exec(); + if (query.lastError().isValid()) { + qWarning() << "EditProfileMash" << 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() << "EditProfileMash Saved"; + } +} + + void EditProfileMash::on_deleteButton_clicked() { QSqlQuery query; + int rc = QMessageBox::warning(this, tr("Delete mash profile"), tr("Delete %1").arg(ui->nameEdit->text()), + QMessageBox::Yes | QMessageBox::No, QMessageBox::No); + if (rc == QMessageBox::No) + return; + query.prepare("DELETE FROM profile_mash WHERE record = :recno"); query.bindValue(":recno", this->recno); query.exec(); if (query.lastError().isValid()) { - qDebug() << "EditProfileMash" << query.lastError(); + qWarning() << "EditProfileMash" << query.lastError(); QMessageBox::warning(this, tr("Database error"), tr("MySQL error: %1\n%2\n%3") .arg(query.lastError().nativeErrorCode())