# HG changeset patch # User Matti Hamalainen # Date 1490877646 -10800 # Node ID 4e8a960e3975b7fb14292fc0f251f48bafae1f16 # Parent 0b291bd77de53beb14ee00e8a1dc520255531c42 More cleanups, better error dialogs. diff -r 0b291bd77de5 -r 4e8a960e3975 main.cpp --- 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(parent())->model_People->updatePerson(QModelIndex(), selPerson); + dynamic_cast(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(); diff -r 0b291bd77de5 -r 4e8a960e3975 main.h --- a/main.h Thu Mar 30 15:36:37 2017 +0300 +++ b/main.h Thu Mar 30 15:40:46 2017 +0300 @@ -62,7 +62,7 @@ QVariant data(const QModelIndex &item, int role) const Q_DECL_OVERRIDE; - void updatePerson(const QModelIndex &item, const PersonInfo &person); + void updatePerson(const PersonInfo &person); void addPerson(const PersonInfo &person); void updateModel(); };