/* Diese Datei ist Teil von pmv-client * * 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 . * * SPDX-License-Identifier: GPL-3.0-only */ #include "amtadressdialog.h" #include "ui_amtadressdialog.h" #include #include #include 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(); } }