Mercurial > hg > syntilista
diff main.cpp @ 11:4e8a960e3975
More cleanups, better error dialogs.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 30 Mar 2017 15:40:46 +0300 |
parents | 0b291bd77de5 |
children | 07db1a0bbdc7 |
line wrap: on
line diff
--- a/main.cpp Thu Mar 30 15:36:37 2017 +0300 +++ b/main.cpp Thu Mar 30 15:40:46 2017 +0300 @@ -727,11 +727,14 @@ if (person.next()) { - statusMsg(tr("Ei pysty! Samalla nimellä on jo henkilö!")); + errorMsg( + tr("Virhe!"), + tr("Ei pysty! Samalla nimellä '%1 %2' on olemassa jo henkilö!"). + arg(selPerson.firstName).arg(selPerson.lastName)); return; } - dynamic_cast<SyntilistaMainWindow *>(parent())->model_People->updatePerson(QModelIndex(), selPerson); + dynamic_cast<SyntilistaMainWindow *>(parent())->model_People->updatePerson(selPerson); statusMsg(tr("Päivitettiin henkilö '%1 %2' (#%3)."). arg(selPerson.firstName).arg(selPerson.lastName).arg(selPerson.id)); @@ -748,7 +751,11 @@ if (person.next()) { - statusMsg(tr("Ei pysty! Samalla nimellä on jo henkilö!")); + errorMsg( + tr("Virhe!"), + tr("Ei pysty! Samalla nimellä '%1 %2' on olemassa jo henkilö!"). + arg(selPerson.firstName).arg(selPerson.lastName)); + return; } @@ -865,15 +872,16 @@ } -void PersonSQLModel::updatePerson(const QModelIndex &item, const PersonInfo &person) +void PersonSQLModel::updatePerson(const PersonInfo &info) { QSqlQuery np; + np.prepare("UPDATE people SET first_name=?,last_name=?,extra_info=?,updated=? WHERE id=?"); - np.addBindValue(person.firstName); - np.addBindValue(person.lastName); - np.addBindValue(person.extraInfo); + np.addBindValue(info.firstName); + np.addBindValue(info.lastName); + np.addBindValue(info.extraInfo); np.addBindValue(QDateTime::currentDateTimeUtc()); - np.addBindValue(person.id); + np.addBindValue(info.id); np.exec(); checkAndReportSQLError("PersonSQLModel::updatePerson()", np.lastError()); @@ -883,15 +891,15 @@ } -void PersonSQLModel::addPerson(const PersonInfo &person) +void PersonSQLModel::addPerson(const PersonInfo &info) { // beginInsertRows(QModelIndex(), rowCount(), rowCount()); QSqlQuery np; np.prepare("INSERT INTO people (first_name,last_name,extra_info,added,updated) VALUES (?,?,?,?,?)"); - np.addBindValue(person.firstName); - np.addBindValue(person.lastName); - np.addBindValue(person.extraInfo); + np.addBindValue(info.firstName); + np.addBindValue(info.lastName); + np.addBindValue(info.extraInfo); np.addBindValue(QDateTime::currentDateTimeUtc()); np.addBindValue(QDateTime::currentDateTimeUtc()); np.exec();