fix: crash of closeEvent in racewindow and settingsmenu + code cleanup

This commit is contained in:
2018-12-29 23:15:30 +01:00
parent a811514b04
commit 50ab4dffef
12 changed files with 96 additions and 73 deletions

View File

@@ -140,8 +140,10 @@ WindowsSettings::WindowsSettings(std::shared_ptr<DataBase> db, QWidget * parent)
// setup Rennliste
// setup drivers
this->ui->lVDrivers->setSelectionMode(
QAbstractItemView::ExtendedSelection);
/*
statement = "select name, id from fahrer";
driversList = this->db->getData2(statement, 2);
driversModel = std::make_shared<QStringListModel>();
@@ -151,15 +153,17 @@ WindowsSettings::WindowsSettings(std::shared_ptr<DataBase> db, QWidget * parent)
[&qDriversList](vector<QString> i) { qDriversList << i.at(0); });
driversModel->setStringList(qDriversList);
this->ui->lVDrivers->setModel(driversModel.get());
*/
// setup cars
this->ui->lVCars->setSelectionMode(
QAbstractItemView::ExtendedSelection);
/*
QStringList carNames;
std::stringstream ss;
try {
statement = "select id from autos";
cout << "hier gehts noch" << endl;
this->carIds = this->db->getData2(statement, 1);
for (vector<QString> carId : carIds) {
@@ -168,6 +172,9 @@ WindowsSettings::WindowsSettings(std::shared_ptr<DataBase> db, QWidget * parent)
<< carId.at(0).toStdString()
<< " order by seit DESC limit 1";
carNames << this->db->getData2(ss.str(), 1).at(0).at(0);
cout
<< this->db->getData2(ss.str(), 1).at(0).at(0).toStdString()
<< endl;
ss.str(std::string());
}
@@ -177,10 +184,9 @@ WindowsSettings::WindowsSettings(std::shared_ptr<DataBase> db, QWidget * parent)
}
carModel = std::make_shared<QStringListModel>();
carModel->setStringList(carNames);
this->ui->lVCars->setModel(carModel.get());
*/
} catch (std::exception & e) {
Q_UNUSED(e);
cout << "missing database :(" << endl;
@@ -324,13 +330,17 @@ void WindowsSettings::listClickEditCar(const QModelIndex & index) {
void WindowsSettings::repaintDrivers() {
string statement = "select id, name from fahrer";
this->driversLV = this->db->getData2(statement, 2);
QStringListModel * driverModel = new QStringListModel();
// this->driversLV;
this->driversList = this->db->getData2(statement, 2);
// driversList = this->driversLV;
// QStringListModel *
this->driversModel = std::make_shared<QStringListModel>();
QStringList driverList =
DataHelper::vectorListToQstringList(this->driversLV, 1);
driverModel->setStringList(driverList);
this->ui->lVDriverEditSavedDrivers->setModel(driverModel);
this->ui->lVNewDriverSavedDrivers->setModel(driverModel);
DataHelper::vectorListToQstringList(this->driversList, 1);
this->driversModel->setStringList(driverList);
this->ui->lVDriverEditSavedDrivers->setModel(this->driversModel.get());
this->ui->lVNewDriverSavedDrivers->setModel(this->driversModel.get());
this->ui->lVDrivers->setModel(this->driversModel.get());
}
void WindowsSettings::repaintCars() {
QStringList carNames;
@@ -351,7 +361,7 @@ void WindowsSettings::repaintCars() {
this->carModel->setStringList(carNames);
this->ui->lVCarSavedCars->setModel(this->carModel.get());
this->ui->lvNewCar->setModel(this->carModel.get());
this->ui->lVCars->setModel(this->carModel.get());
} catch (std::exception & e) {
Q_UNUSED(e);
cout << "Error on repainting cars" << endl;
@@ -470,7 +480,6 @@ void WindowsSettings::StreckeSpeichernSlot() {
WindowsSettings::~WindowsSettings() {
delete ui;
std::cout << "Destruktor einstellungen" << std::endl;
}
// Get current date/time, format is YYYY-MM-DD.HH:mm:ss
@@ -501,7 +510,7 @@ void WindowsSettings::createRaceListAndClose() {
this->ui->lVDrivers->selectionModel()->selectedIndexes()) {
selectedDriverIds.push_back(
this->driversList.at(static_cast<unsigned long>(index.row()))
.at(1)
.at(0)
.toInt());
}