diff --git a/mainwindow.ui b/mainwindow.ui
index adf23eb..be1d214 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -11,7 +11,7 @@
- MainWindow
+ Rennmessung
diff --git a/training.cpp b/training.cpp
index 59a0447..d608aac 100644
--- a/training.cpp
+++ b/training.cpp
@@ -20,7 +20,7 @@ Training::Training(QWidget *parent, DataBase *db) :
this->db = db;
string statement = "select mindestrundendauer from renndauer where id like 1";
- this->minTimeOneRound = this->db->getData(statement, 1)[0][0].toInt();
+ this->minimumTime = this->db->getData(statement, 1)[0][0].toInt();
this->finished = false;
firstTimeDea = true;
@@ -38,6 +38,42 @@ Training::Training(QWidget *parent, DataBase *db) :
QShortcut *shortcut = new QShortcut(QKeySequence("Ctrl+Q"), this);
QObject::connect(shortcut, SIGNAL(activated()), this, SLOT(close()));
+ QObject::connect(this->ui->pBReset, SIGNAL(clicked()), this, SLOT(Reset()));
+ QObject::connect(this->ui->pBResetDea, SIGNAL(clicked()), this, SLOT(ResetDea()));
+ QObject::connect(this->ui->pBResetShell, SIGNAL(clicked()), this, SLOT(ResetShell()));
+
+}
+void Training::ResetShell(){
+ this->VecShell.clear();
+
+ this->ui->lWShellTime->clear();
+
+ this->ui->lBestZeitShell->setText("∞");
+ this->ui->lCurRoundTimeShell->setText("∞");
+ this->firstTimeShell = true;
+}
+void Training::ResetDea(){
+ this->VecDea.clear();
+
+ this->ui->lWDeaTime->clear();
+
+ this->ui->lBestZeitDea->setText("∞");
+
+ this->ui->lCurRoundDea->setText("∞");
+ this->firstTimeDea = true;
+}
+void Training::Reset(){
+ this->VecShell.clear();
+ this->VecDea.clear();
+ this->ui->lWDeaTime->clear();
+ this->ui->lWShellTime->clear();
+
+ this->ui->lBestZeitDea->setText("∞");
+ this->ui->lBestZeitShell->setText("∞");
+ this->ui->lCurRoundTimeShell->setText("∞");
+ this->ui->lCurRoundDea->setText("∞");
+ this->firstTimeShell = true;
+ this->firstTimeDea = true;
}
void Training::prepareNextRace(){
this->firstTimeShell = true;
@@ -70,10 +106,16 @@ void Training::shellSlot(){
if(getMinimum(VecShell) == zeit && VecShell.size() > 1){
item->setBackgroundColor(Qt::green);
}
+ if(zeit < this->minimumTime){
+ item->setBackgroundColor(Qt::red);
+ }
item->setText(QString::number((double)zeit/1000));
ui->lWShellTime->addItem(item);
- ui->lBestZeitShell->setText(QString::number((double)getMinimum(VecShell)/1000));
+ ui->lWShellTime->scrollToBottom();
+ if(getMinimum(VecShell) > 0){
+ ui->lBestZeitShell->setText(QString::number((double)getMinimum(VecShell)/1000));
+ }
ui->lCurRoundTimeShell->setText(QString::number((double)zeit/1000));
}
}
@@ -89,6 +131,7 @@ void Training::deaSlot(){
counterDea.start();
}
else{
+ /*
long zeit = counterDea.getTime();
VecDea.push_back(zeit);
QListWidgetItem *item = new QListWidgetItem;
@@ -97,19 +140,47 @@ void Training::deaSlot(){
}
item->setText(QString::number((double)zeit/1000));
ui->lWDeaTime->addItem(item);
+ ui->lWDeaTime->scrollToBottom();
ui->lBestZeitDea->setText(QString::number((double)getMinimum(VecDea)/1000));
ui->lCurRoundDea->setText(QString::number((double)zeit/1000));
+ */
+ //
+ long zeit = counterDea.getTime();
+ VecDea.push_back(zeit);
+ QListWidgetItem *item = new QListWidgetItem;
+ if(getMinimum(VecDea) == zeit && VecDea.size() > 1){
+ item->setBackgroundColor(Qt::green);
+ }
+ if(zeit < this->minimumTime){
+ item->setBackgroundColor(Qt::red);
+ }
+ item->setText(QString::number((double)zeit/1000));
+ ui->lWDeaTime->addItem(item);
+
+ ui->lWDeaTime->scrollToBottom();
+ if(getMinimum(VecDea) > 0){
+ ui->lBestZeitDea->setText(QString::number((double)getMinimum(VecDea)/1000));
+ }
+ ui->lCurRoundDea->setText(QString::number((double)zeit/1000));
}
}
}
long Training::getMinimum(std::vector a){
- long minimum = a[0];
+ long minimum = -1;
for(unsigned int i = 0; i < a.size(); i++){
- if(a[i] < minimum){
- minimum = a[i];
+ if(minimum < 0){
+ if(a[i] >= this->minimumTime){
+ minimum = a[i];
+ }
}
+ else{
+ if(a[i] < minimum && a[i] >= this->minimumTime){
+ minimum = a[i];
+ }
+ }
+
}
return minimum;
}
diff --git a/training.h b/training.h
index 2b77fd2..283fff5 100644
--- a/training.h
+++ b/training.h
@@ -38,7 +38,12 @@ private:
Counter counterDea;
DataBase *db;
long minTimeOneRound;
+ int minimumTime;
+
public slots:
+ void ResetShell();
+ void ResetDea();
+ void Reset();
void deaSlot();
void shellSlot();
diff --git a/training.ui b/training.ui
index 49763c6..9f898be 100644
--- a/training.ui
+++ b/training.ui
@@ -11,7 +11,7 @@
- MainWindow
+ Training
@@ -217,6 +217,31 @@
+ -
+
+
-
+
+
+ Reset Shell
+
+
+
+ -
+
+
+ Reset
+
+
+
+ -
+
+
+ Reset Dea
+
+
+
+
+