You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
3.6 KiB
103 lines
3.6 KiB
/* Diese Datei ist Teil von pmv-client <https://git.piratenpartei-sh.de>
|
|
*
|
|
* pmv-client ist Freie Software: Sie können es unter den Bedingungen
|
|
* der GNU General Public License, wie von der Free Software Foundation,
|
|
* Version 3 der Lizenz weiter verteilen und/oder modifizieren.
|
|
*
|
|
* Dieses Programm wird in der Hoffnung bereitgestellt, dass es nützlich sein
|
|
* wird, jedoch OHNE JEDE GEWÄHR,; sogar ohne die implizite Gewähr der
|
|
* MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.
|
|
* Siehe die GNU General Public License für weitere Einzelheiten.
|
|
*
|
|
* Sie sollten eine Kopie der GNU General Public License zusammen mit diesem
|
|
* Programm erhalten haben. Wenn nicht, siehe <https://www.gnu.org/licenses/>.
|
|
*
|
|
* SPDX-License-Identifier: GPL-3.0-only
|
|
*/
|
|
|
|
#include "amtadressdialog.h"
|
|
#include "ui_amtadressdialog.h"
|
|
|
|
#include <QSqlRecord>
|
|
#include <QDebug>
|
|
#include <QSqlError>
|
|
|
|
AmtAdressDialog::AmtAdressDialog(QWidget *parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::AmtAdressDialog)
|
|
{
|
|
ui->setupUi(this);
|
|
|
|
// Modell initialisieren
|
|
model = new QSqlTableModel(this);
|
|
model->setTable("amtadresse");
|
|
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
|
|
model->setHeaderData(0, Qt::Horizontal, "ID");
|
|
model->setHeaderData(1, Qt::Horizontal, "Bezeichnung");
|
|
model->setHeaderData(2, Qt::Horizontal, "Abteilung");
|
|
model->setHeaderData(3, Qt::Horizontal, "Zusatz");
|
|
model->setHeaderData(4, Qt::Horizontal, "Straße");
|
|
model->setHeaderData(5, Qt::Horizontal, "PLZ");
|
|
model->setHeaderData(6, Qt::Horizontal, "Ort");
|
|
model->setHeaderData(7, Qt::Horizontal, "Telefon");
|
|
model->setHeaderData(8, Qt::Horizontal, "Email");
|
|
model->setHeaderData(9, Qt::Horizontal, "Bemerkungen");
|
|
model->setSort(0, Qt::AscendingOrder);
|
|
|
|
// View initialisieren
|
|
ui->tableView->setModel(model);
|
|
ui->tableView->setColumnHidden(0, true);
|
|
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
|
|
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
|
ui->tableView->horizontalHeader()->setStretchLastSection(true);
|
|
model->select();
|
|
|
|
// Mapping der Eingabefelder
|
|
mapper = new QDataWidgetMapper(this);
|
|
mapper->setModel(model);
|
|
mapper->addMapping(ui->lineEdit_bezeichnung, model->fieldIndex("bezeichnung"));
|
|
mapper->addMapping(ui->lineEdit_abteilung, model->fieldIndex("abteilung"));
|
|
mapper->addMapping(ui->lineEdit_zusatz, model->fieldIndex("zusatz"));
|
|
mapper->addMapping(ui->lineEdit_strasse, model->fieldIndex("strasse"));
|
|
mapper->addMapping(ui->lineEdit_plz, model->fieldIndex("plz"));
|
|
mapper->addMapping(ui->lineEdit_ort, model->fieldIndex("ort"));
|
|
mapper->addMapping(ui->lineEdit_telefon, model->fieldIndex("telefon"));
|
|
mapper->addMapping(ui->lineEdit_email, model->fieldIndex("email"));
|
|
mapper->addMapping(ui->plainTextEdit, model->fieldIndex("bemerkungen"));
|
|
|
|
connect(ui->tableView->selectionModel(),&QItemSelectionModel::currentRowChanged,
|
|
mapper, &QDataWidgetMapper::setCurrentModelIndex);
|
|
|
|
}
|
|
|
|
AmtAdressDialog::~AmtAdressDialog()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void AmtAdressDialog::on_buttonBox_accepted()
|
|
{
|
|
}
|
|
|
|
void AmtAdressDialog::on_pushButton_neu_clicked()
|
|
{
|
|
QSqlRecord r = model->record();
|
|
r.setGenerated("id", true);
|
|
r.setValue("bezeichnung", "Neues Amt");
|
|
if (!model->insertRecord(-1, r)) {
|
|
qDebug() << model->lastError().text();
|
|
}
|
|
|
|
}
|
|
|
|
void AmtAdressDialog::on_pushButton_speichern_clicked()
|
|
{
|
|
mapper->submit();
|
|
if (model->submitAll()) {
|
|
qDebug() << "Submitted to database";
|
|
} else {
|
|
qDebug() << "summitAll() failed!";
|
|
qDebug() << model->lastError().text();
|
|
}
|
|
|
|
}
|
|
|