src/EditProfileWater.cpp

changeset 385
09af9f46518f
parent 353
324a7268796b
equal deleted inserted replaced
384:d68826df8b63 385:09af9f46518f
77 } 77 }
78 78
79 79
80 EditProfileWater::~EditProfileWater() 80 EditProfileWater::~EditProfileWater()
81 { 81 {
82 qDebug() << "EditProfileWater done";
83 delete ui; 82 delete ui;
84 emit entry_changed(); 83 emit entry_changed();
85 } 84 }
86 85
87 86
140 } else { 139 } else {
141 query.bindValue(":recno", this->recno); 140 query.bindValue(":recno", this->recno);
142 } 141 }
143 query.exec(); 142 query.exec();
144 if (query.lastError().isValid()) { 143 if (query.lastError().isValid()) {
145 qDebug() << "EditProfileWater" << query.lastError(); 144 qWarning() << "EditProfileWater" << query.lastError();
146 QMessageBox::warning(this, tr("Database error"), 145 QMessageBox::warning(this, tr("Database error"),
147 tr("MySQL error: %1\n%2\n%3") 146 tr("MySQL error: %1\n%2\n%3")
148 .arg(query.lastError().nativeErrorCode()) 147 .arg(query.lastError().nativeErrorCode())
149 .arg(query.lastError().driverText()) 148 .arg(query.lastError().driverText())
150 .arg(query.lastError().databaseText())); 149 .arg(query.lastError().databaseText()));
157 this->textIsChanged = false; 156 this->textIsChanged = false;
158 WindowTitle(); 157 WindowTitle();
159 } 158 }
160 159
161 160
161 void EditProfileWater::on_cloneButton_clicked()
162 {
163 QSqlQuery query;
164
165 query.prepare("INSERT INTO profile_water SET name=:name, calcium=:ca, "
166 "bicarbonate=:hco, sulfate=:so4, chloride=:cl, sodium=:na, magnesium=:mg, ph=:ph, notes=:notes, "
167 "total_alkalinity=:alkalinity, uuid = :uuid");
168
169 query.bindValue(":name", ui->nameEdit->text() + " [copy]");
170 query.bindValue(":ca", round(calcium * 1000) / 1000);
171 query.bindValue(":hco", round(bicarbonate * 1000) / 1000);
172 query.bindValue(":so4", round(sulfate * 1000) / 1000);
173 query.bindValue(":cl", round(chloride * 1000) / 1000);
174 query.bindValue(":na", round(sodium * 1000) / 1000);
175 query.bindValue(":mg", round(magnesium * 1000) / 1000);
176 query.bindValue(":ph", round(ph * 1000) / 1000);
177 query.bindValue(":notes", ui->notesEdit->toPlainText());
178 query.bindValue(":alkalinity", round(total_alkalinity * 1000) / 1000);
179 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
180
181 query.exec();
182 if (query.lastError().isValid()) {
183 qWarning() << "EditProfileWater" << query.lastError();
184 QMessageBox::warning(this, tr("Database error"),
185 tr("MySQL error: %1\n%2\n%3")
186 .arg(query.lastError().nativeErrorCode())
187 .arg(query.lastError().driverText())
188 .arg(query.lastError().databaseText()));
189 } else {
190 qDebug() << "EditProfileWater Saved";
191 }
192 }
193
194
162 void EditProfileWater::on_deleteButton_clicked() 195 void EditProfileWater::on_deleteButton_clicked()
163 { 196 {
164 QSqlQuery query; 197 QSqlQuery query;
198
199 int rc = QMessageBox::warning(this, tr("Delete water profile"), tr("Delete %1").arg(ui->nameEdit->text()),
200 QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
201 if (rc == QMessageBox::No)
202 return;
165 203
166 query.prepare("DELETE FROM profile_water WHERE record = :recno"); 204 query.prepare("DELETE FROM profile_water WHERE record = :recno");
167 query.bindValue(":recno", this->recno); 205 query.bindValue(":recno", this->recno);
168 query.exec(); 206 query.exec();
169 if (query.lastError().isValid()) { 207 if (query.lastError().isValid()) {
170 qDebug() << "EditProfileWater" << query.lastError(); 208 qWarning() << "EditProfileWater" << query.lastError();
171 QMessageBox::warning(this, tr("Database error"), 209 QMessageBox::warning(this, tr("Database error"),
172 tr("MySQL error: %1\n%2\n%3") 210 tr("MySQL error: %1\n%2\n%3")
173 .arg(query.lastError().nativeErrorCode()) 211 .arg(query.lastError().nativeErrorCode())
174 .arg(query.lastError().driverText()) 212 .arg(query.lastError().driverText())
175 .arg(query.lastError().databaseText())); 213 .arg(query.lastError().databaseText()));

mercurial