165 lines
5.6 KiB
C++
165 lines
5.6 KiB
C++
#include "mainwindow.h"
|
|
#include "ui_mainwindow.h"
|
|
|
|
MainWindow::MainWindow(QWidget *parent)
|
|
: QMainWindow(parent)
|
|
, ui(new Ui::MainWindow)
|
|
{
|
|
ui->setupUi(this);
|
|
dbMngr = new DbManager("C:/Users/Markus/Desktop/DBSQL-Liste.db");
|
|
|
|
updateListWidgets();
|
|
|
|
}
|
|
|
|
MainWindow::~MainWindow()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void MainWindow::updateListWidgets()
|
|
{
|
|
|
|
ui->listWidget_Settings->clear();
|
|
ui->listWidget_Ereignisse->clear();
|
|
|
|
auto r = dbMngr->getAllRooms();
|
|
for( auto &e : r) {
|
|
QString titel =" NAME: " + e.name + " SIZE: " + QString::number( e.size ) + " Miete: " + QString::number( e.miete );
|
|
ui->listWidget_Settings->addItem( titel );
|
|
keyByListWidgetText.insert( "ROOM_" + titel, e.name );
|
|
}
|
|
|
|
auto r1 = dbMngr->getAllPersons();
|
|
for( auto &e : r1) {
|
|
QString titel = " NAME: " + e.name + " ROOM: " + e.roomName + " DATE: " + e.date.toString() ;
|
|
ui->listWidget_Settings->addItem( titel );
|
|
keyByListWidgetText.insert( "PERSON_" + titel, e.name );
|
|
}
|
|
|
|
auto r2 = dbMngr->getAllAbrechnungen();
|
|
for( auto &e : r2) {
|
|
QString titel = " NAME: " + e.name + " ART: " + QString::number( e.abrechnusart ) + " WERT: " + QString::number( e.betrag );
|
|
ui->listWidget_Settings->addItem( titel );
|
|
keyByListWidgetText.insert( "ABRECHNUNG_" + titel, e.name );
|
|
}
|
|
|
|
|
|
auto r3 = dbMngr->getAllEreignisse();
|
|
for( auto &e : r3) {
|
|
QString titel = e.date.toString("dd.MM.yyyy") + ": Titel: " + e.titel;
|
|
ui->listWidget_Ereignisse->addItem( titel );
|
|
keyByListWidgetText.insert( "EREIGNIS_" + titel, e.id );
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
void MainWindow::on_pushButton_einausklappen_clicked()
|
|
{
|
|
ui->groupBox_rechteBox->setHidden( ! ui->groupBox_rechteBox->isHidden() );
|
|
ui->pushButton_einausklappen->setText( ui->groupBox_rechteBox->isHidden() ? "<" : ">" );
|
|
}
|
|
|
|
|
|
void MainWindow::on_pushButton_AddSetting_clicked()
|
|
{
|
|
NewSettingWindow w(dbMngr, this);
|
|
if( w.exec() )
|
|
updateListWidgets();
|
|
}
|
|
|
|
|
|
void MainWindow::on_pushButton_addEreignis_clicked()
|
|
{
|
|
newEreignisWindow w(dbMngr, this);
|
|
if( w.exec() )
|
|
updateListWidgets();
|
|
}
|
|
|
|
|
|
void MainWindow::on_pushButtonAbrechnungErstellen_clicked()
|
|
{
|
|
AbrechnungsGenerator ar(dbMngr, this);
|
|
if( ar.exec() )
|
|
updateListWidgets();
|
|
}
|
|
|
|
|
|
void MainWindow::on_pushButton_entferneEreignis_clicked()
|
|
{
|
|
ui->pushButton_entferneEreignis->setDisabled( true );
|
|
|
|
QListWidgetItem * currentItem = ui->listWidget_Ereignisse->currentItem();
|
|
int index = ui->listWidget_Ereignisse->currentRow();
|
|
|
|
if (currentItem != nullptr) {
|
|
if ( ( currentItem = ui->listWidget_Ereignisse->takeItem( index ) ) != nullptr) {
|
|
|
|
if( keyByListWidgetText.contains( "EREIGNIS_" + currentItem->text() ) ) {
|
|
qDebug() << "ROMOVE ID: " << keyByListWidgetText["EREIGNIS_" + currentItem->text()];
|
|
|
|
if( dbMngr->removeEreignis( keyByListWidgetText["EREIGNIS_" + currentItem->text()] ) != 0)
|
|
ui->statusbar->showMessage("Konnte Item nicht in Tabelle löschen!", 1000);
|
|
} else
|
|
ui->statusbar->showMessage(">>Konnte Item nicht in Map finden<<", 1000);
|
|
|
|
//delete Var
|
|
delete currentItem;
|
|
|
|
} else
|
|
ui->statusbar->showMessage("Konnte Eintrag nicht aus der Liste entfernen!", 1000);
|
|
} else
|
|
ui->statusbar->showMessage("Kein Eintrag ausgewählt!", 1000);
|
|
|
|
|
|
updateListWidgets();
|
|
ui->pushButton_entferneEreignis->setDisabled( false );
|
|
}
|
|
|
|
|
|
void MainWindow::on_pushButtonEntferneSetting_clicked()
|
|
{
|
|
ui->pushButtonEntferneSetting->setDisabled( true );
|
|
|
|
QListWidgetItem * currentItem = ui->listWidget_Settings->currentItem();
|
|
int index = ui->listWidget_Settings->currentRow();
|
|
|
|
if (currentItem != nullptr) {
|
|
if ( ( currentItem = ui->listWidget_Settings->takeItem( index ) ) != nullptr) {
|
|
qDebug() << "ROMOVE ID: " <<currentItem->text();
|
|
|
|
if( keyByListWidgetText.contains( "EREIGNIS_" + currentItem->text() ) ) {
|
|
if( dbMngr->removeEreignis( keyByListWidgetText["EREIGNIS_" + currentItem->text()] ) != 0)
|
|
ui->statusbar->showMessage("Konnte Item nicht in Tabelle löschen!", 1000);
|
|
|
|
} else if( keyByListWidgetText.contains( "ROOM_" + currentItem->text() ) ) {
|
|
if( dbMngr->removeRoom( keyByListWidgetText["ROOM_" + currentItem->text()] ) != 0)
|
|
ui->statusbar->showMessage("Konnte Item nicht in Tabelle löschen!", 1000);
|
|
|
|
} else if( keyByListWidgetText.contains( "ABRECHNUNG_" + currentItem->text() ) ) {
|
|
if( dbMngr->removeAbrechnung( keyByListWidgetText["ABRECHNUNG_" + currentItem->text()] ) != 0)
|
|
ui->statusbar->showMessage("Konnte Item nicht in Tabelle löschen!", 1000);
|
|
|
|
} else if( keyByListWidgetText.contains( "PERSON_" + currentItem->text() ) ) {
|
|
if( dbMngr->removePerson( keyByListWidgetText["PERSON_" + currentItem->text()] ) != 0)
|
|
ui->statusbar->showMessage("Konnte Item nicht in Tabelle löschen!", 1000);
|
|
|
|
} else
|
|
ui->statusbar->showMessage(">>Konnte Item nicht in Map finden<<", 1000);
|
|
|
|
//delete Var
|
|
delete currentItem;
|
|
|
|
} else
|
|
ui->statusbar->showMessage("Konnte Eintrag nicht aus der Liste entfernen!", 1000);
|
|
} else
|
|
ui->statusbar->showMessage("Kein Eintrag ausgewählt!", 1000);
|
|
|
|
|
|
updateListWidgets();
|
|
ui->pushButtonEntferneSetting->setDisabled( false );
|
|
}
|
|
|