From 7690b26ad7fe0966d0bf86bd1a9b3f89391b7a4b Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Sun, 14 Jun 2015 20:30:37 +0200 Subject: Initial commit of the work on the bank parser. --- mainwindow.cpp | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 mainwindow.cpp (limited to 'mainwindow.cpp') diff --git a/mainwindow.cpp b/mainwindow.cpp new file mode 100644 index 0000000..162d33b --- /dev/null +++ b/mainwindow.cpp @@ -0,0 +1,89 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" + +MainWindow::MainWindow(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindow) +{ + ui->setupUi(this); +} + +MainWindow::~MainWindow() +{ + delete ui; +} + +void MainWindow::on_actionLoad_triggered() +{ + QString fileName = QFileDialog::getOpenFileName(this, + tr("Lade die Bankendatei"), "", + tr("TXT File (*.txt *.Txt *.TXT)")); + + QFile openFile(fileName); + + if (openFile.open(QIODevice::ReadOnly)) + { + QTextStream txtStream(&openFile); + txtStream.setCodec("ISO-8859-15"); + + for (int i = 0; i < m_Banken.length(); i++) + { + delete m_Banken[i]; + m_Banken.removeAt(i); + qDebug() << "."; + } + + ui->tableWidget->clearContents(); + ui->tableWidget->setRowCount(0); + + QString line = txtStream.readLine(); + + while (!line.isNull()) + { + m_Banken.append(new Bank()); + + m_Banken.last()->attributesFromTxtFile(line); + + ui->tableWidget->setRowCount(ui->tableWidget->rowCount() + 1); + + QTableWidgetItem *name = new QTableWidgetItem(m_Banken.last()->Name()); + QTableWidgetItem *ort = new QTableWidgetItem(m_Banken.last()->Ort()); + QTableWidgetItem *plz = new QTableWidgetItem(m_Banken.last()->Plz()); + QTableWidgetItem *blz = new QTableWidgetItem(m_Banken.last()->Blz()); + QTableWidgetItem *bic = new QTableWidgetItem(m_Banken.last()->Bic()); + QTableWidgetItem *lkz = new QTableWidgetItem(m_Banken.last()->Lkz()); + + name->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); + ort->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); + plz->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); + blz->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); + bic->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); + lkz->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); + + if (lkz->text() == "D") + { + QBrush red(Qt::red); + + lkz->setText(tr("Wird gelöscht")); + + name->setForeground(red); + ort->setForeground(red); + plz->setForeground(red); + blz->setForeground(red); + bic->setForeground(red); + lkz->setForeground(red); + } + + ui->tableWidget->setItem(ui->tableWidget->rowCount() - 1, 0, name); + ui->tableWidget->setItem(ui->tableWidget->rowCount() - 1, 1, ort); + ui->tableWidget->setItem(ui->tableWidget->rowCount() - 1, 2, plz); + ui->tableWidget->setItem(ui->tableWidget->rowCount() - 1, 3, blz); + ui->tableWidget->setItem(ui->tableWidget->rowCount() - 1, 4, bic); + ui->tableWidget->setItem(ui->tableWidget->rowCount() - 1, 5, lkz); + + line = txtStream.readLine(); + } + + openFile.close(); + } +} -- cgit v1.2.3-70-g09d2