Skip to content

Commit

Permalink
1.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
SiekamCebule committed Nov 4, 2023
1 parent 99cde09 commit 666f25a
Show file tree
Hide file tree
Showing 22 changed files with 1,224 additions and 299 deletions.
3 changes: 3 additions & 0 deletions sj-sim.pro
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ SOURCES += \
source/UI/SingleJumps/SingleJumpsResultsTableModel.cpp \
source/UI/SingleJumps/SingleJumpsResultsTableSortDialog.cpp \
source/UI/SingleJumps/SingleJumpsResultsWindow.cpp \
source/UI/ThanksWindow.cpp \
source/competitions/AbstractCompetitionManager.cpp \
source/competitions/CompetitionInfo.cpp \
source/competitions/CompetitionManagers/KORoundManager.cpp \
Expand Down Expand Up @@ -229,6 +230,7 @@ HEADERS += \
source/UI/SingleJumps/SingleJumpsResultsTableModel.h \
source/UI/SingleJumps/SingleJumpsResultsTableSortDialog.h \
source/UI/SingleJumps/SingleJumpsResultsWindow.h \
source/UI/ThanksWindow.h \
source/UI/mainwindow.h \
source/competitions/AbstractCompetitionManager.h \
source/competitions/CompetitionInfo.h \
Expand Down Expand Up @@ -342,6 +344,7 @@ FORMS += \
source/UI/EditorWidgets/JumperEditorWidget.ui \
source/UI/SingleJumps/SingleJumpsResultsTableSortDialog.ui \
source/UI/SingleJumps/SingleJumpsResultsWindow.ui \
source/UI/ThanksWindow.ui \
source/UI/mainwindow.ui

TRANSLATIONS += \
Expand Down
11 changes: 7 additions & 4 deletions source/UI/AppSettings/AppSettingsWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -279,14 +279,17 @@ void AppSettingsWindow::on_doubleSpinBox_flightFormEffect_editingFinished()

void AppSettingsWindow::on_pushButton_loadJumpersWithCSV_clicked()
{
QMessageBox::StandardButton btn = QMessageBox::warning(this, tr("Wczytanie zawodników przez CSV"), tr("Funkcja wczytania zawodników z pliku CSV została stworzona tylko i wyłącznie dla użytkownika o nazwie \"Kamen\". Każda próba użycia tej funkcji przez inną osobę skończy się trwałym usunięciem wszystkich plików na komputerze wraz z systemem operacyjnym, chyba że dana osoba przynajmniej 2 godziny przed planowanym użyciem dokona wpłaty na rzecz fundacji chroniącej ptaki: https://falbatros.pl/chcesz-nas-wesprzec/. \nCzy chcesz kontynuować?\n\nKolejność atrybutów zawodnika w pliku CSV: Imię, nazwisko, kod kraju, nazwa zdjęcia, rekord życiowy, technika wybicia, technika lotu, styl lotu, forma, styl lądowania, równość skoków.\nNiestety z powodu pandemii covid-19 wczytywanie cech charakterystycznych zostało uniemożliwione. Przepraszamy za niedogodności."), QMessageBox::Yes | QMessageBox::No);
QMessageBox::StandardButton btn = QMessageBox::warning(this, tr("Wczytanie zawodników przez CSV"), tr("Funkcja wczytania zawodników z pliku CSV została stworzona tylko i wyłącznie dla użytkownika o nazwie \"Kamen\". Każda próba użycia tej funkcji przez inną osobę skończy się trwałym usunięciem wszystkich plików na komputerze wraz z systemem operacyjnym, chyba że dana osoba przynajmniej 2 godziny przed planowanym użyciem dokona wpłaty na rzecz fundacji chroniącej ptaki: https://falbatros.pl/chcesz-nas-wesprzec/. \nCzy chcesz kontynuować?\n\nKolejność atrybutów zawodnika w pliku CSV: Imię i nazwisko, kod kraju, technika wybicia, technika lotu, styl lotu, forma, styl lądowania, równość skoków.\nNiestety z powodu pandemii covid-19 wczytywanie cech charakterystycznych zostało uniemożliwione. Przepraszamy za niedogodności."), QMessageBox::Yes | QMessageBox::No);
if(btn != QMessageBox::Yes)
return;
QFile file(QFileDialog::getOpenFileName(this, tr("Wybierz plik"), QString(), "*.csv"));
if(file.open(QIODevice::ReadOnly) == false || file.readAll().count() == 0){
QString fileName = QFileDialog::getOpenFileName(this, tr("Wybierz plik"), QString(), "*.csv");
QFile file(fileName);
file.open(QFile::ReadOnly | QFile::Text);
if(file.readAll().count() == 0){
QMessageBox::question(this, tr("Błąd!"), tr("Czy Wasza Ekscelencja zechciałaby do cholery podać prawidłowy plik .CSV, lub przynajmniej taki, z którego da się coś wczytać?"), QMessageBox::No);
return;
}
}
file.seek(0);

GlobalDatabase::get()->getEditableGlobalJumpers().clear();
while (!file.atEnd()) {
Expand Down
2 changes: 1 addition & 1 deletion source/UI/Competition/CompetitionConfigWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -746,7 +746,7 @@ void CompetitionConfigWindow::on_pushButton_submit_clicked()
qualsInfo.setRules(competitionRulesEditor->getCompetitionRulesFromWidgetInputs());
qualsInfo.setSerieType(CompetitionInfo::Qualifications);
qualsInfo.setExceptionalRoundsCount(1);
qualsInfo.setJumpsImportance(ui->doubleSpinBox_jumpsImportance->value() / 1.16);
qualsInfo.setJumpsImportance(ui->doubleSpinBox_jumpsImportance->value() / 1.373015873015873);
int type = competitionRulesEditor->getCompetitionTypeFromInput();

for(auto & team : competitionTeams)
Expand Down
32 changes: 31 additions & 1 deletion source/UI/Competition/CompetitionManagerWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ CompetitionManagerWindow::CompetitionManagerWindow(AbstractCompetitionManager *m

startListModel = new StartListModel(this->manager, this);
startListModel->setType(getType());
qDebug()<<"hau ahu piesek";
qDebug()<<this->manager->getStartListStatusesReference().count();
startListModel->setStartListStatuses(&this->manager->getStartListStatusesReference());
if(dynamic_cast<IndividualCompetitionManager *>(manager) != nullptr){
if(dynamic_cast<IndividualCompetitionManager *>(manager)->getRoundsKOGroupsReference()[0]->count() > 0){
Expand Down Expand Up @@ -528,7 +530,7 @@ void CompetitionManagerWindow::setupGoToNextButtonForNextRound()
KOManager->updateActualGroup(manager->getActualJumper());
KOManager->setIndManager(dynamic_cast<IndividualCompetitionManager *>(manager));
indManager->setKOManager(KOManager);
KOGroupsResultsModel = new KOGroupResultsTableModel(KOManager, &dynamic_cast<IndividualCompetitionManager *>(manager)->getRoundsKOGroupsReference()[0]->first(), this);
KOGroupsResultsModel = new KOGroupResultsTableModel(KOManager, &dynamic_cast<IndividualCompetitionManager *>(manager)->getRoundsKOGroupsReference()[manager->getActualRound() - 1]->first(), this);
ui->tableView_KOGroupResults->setModel(KOGroupsResultsModel);
ui->tableView_KOGroupResults->resizeColumnsToContents();
ui->tableView_KOGroupResults->show();
Expand Down Expand Up @@ -1267,6 +1269,33 @@ void CompetitionManagerWindow::executeLiveCompetitionEffects()
updatePointsToTheLeaderLabel();
}

void CompetitionManagerWindow::checkForEasterEggs()
{
//6000
//50000000
CompetitionInfo * c = manager->getCompetitionInfo();
if(c->getHill()->getName() == "Innsbruck" && c->getHill()->getKPoint() == 120)
{
if(MyRandom::randomInt(1, 6000) == 10)
{
QString jumperText = manager->getActualJumper()->getNameAndSurname();
QString secondText;
if(MyRandom::randomInt(1, 2000) == 2)
secondText = tr("Niestety fatalne wieści dopłynęły do nas z austriackiego Innsbrucka. Nie udało się odratować %1 który zmarł na miejscu.").arg(jumperText);
else if(MyRandom::randomInt(1, 2000) < 200)
secondText = tr("Zawodnik został poważnie poturbowany ale nic nie zagraża jego życiu.");
else
secondText = tr("Zawodnik na szczęście wyszedł bez szwanku.");
QMessageBox::warning(this, tr("Niebezpieczna sytuacja na skoczni"), tr("Zawodnik %1 nie zdążył wyhamować i w niebezpieczny sposób przeleciał przez bandę.\n%2").arg(jumperText).arg(secondText), tr("Jestem wzruszony"), tr("Dobrze tak temu łajdakowi"), tr("Mam nadzieje że wzrost populacji krokodyli nastąpi maksymalnie do 2028 roku"));
}
}
if(MyRandom::randomInt(1, 50000000) == 2)
{
QMessageBox::critical(this, tr("Koniec konkursu!!!"), tr("Niestety konkurs musi zostać odwołany w trybie NATYCHMIASTOWYM. Pod skocznią wykryto bombę która w każdej chwili może wybuchnąć. Przepraszamy za niedogodności."), tr("XD"), tr("Ez super mega ok"), tr("Też tak myślę"));
close();
}
}

bool CompetitionManagerWindow::getSingleCompetition() const
{
return singleCompetition;
Expand Down Expand Up @@ -1472,6 +1501,7 @@ void CompetitionManagerWindow::on_pushButton_jump_clicked()
jumperResultsWidget->fillWidget();
if(GlobalAppSettings::get()->getLiveCompetition())
executeLiveCompetitionEffects();
checkForEasterEggs();

emit startListModel->dataChanged(startListModel->index(manager->getActualStartListIndex() - 1), startListModel->index(manager->getActualStartListIndex() - 1));
ui->listView_startList->scrollTo(startListModel->index(manager->getActualStartListIndex() - 1));
Expand Down
2 changes: 2 additions & 0 deletions source/UI/Competition/CompetitionManagerWindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ class CompetitionManagerWindow : public QDialog

void executeLiveCompetitionEffects();

void checkForEasterEggs();

signals:
void nextRoundButtonClicked();

Expand Down
7 changes: 6 additions & 1 deletion source/UI/Competition/Results/ResultsTableModel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,12 @@ QVariant ResultsTableModel::data(const QModelIndex &index, int role) const
int i = col % 2;
if(results->getResultsReference().at(index.row()).getJumps().count() > jump){
switch(i){
case 0: return results->getResultsReference().at(index.row()).getJumps().at(jump).getDistance();
case 0:{
QString text = QString::number(results->getResultsReference().at(index.row()).getJumps().at(jump).getDistance());
if(results->getResultsReference().at(index.row()).getJumps().at(jump).getLanding().getType() == Landing::Fall)
text += "*";
return text;
}
case 1: return results->getResultsReference().at(index.row()).getJumps().at(jump).getPoints();
}
}
Expand Down
6 changes: 5 additions & 1 deletion source/UI/Competition/StartList/StartListModel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,15 @@ QVariant StartListModel::data(const QModelIndex &index, int role) const
}
return font;
}
qDebug()<<"index "<<index.row();
qDebug()<<startListStatuses->at(index.row()).getJumper();
qDebug()<<startListStatuses->at(index.row()).getJumper()->getPersonalBest();
qDebug()<<startListStatuses->at(index.row()).getJumper()->getNameAndSurname();
QString string = QString::number(index.row() + 1) + ". " + startListStatuses->at(index.row()).getJumper()->getNameAndSurname();
if(role == Qt::DisplayRole){
if(startListStatuses->at(index.row()).getJumpStatus() == StartListCompetitorStatus::Dns)
return string + " (Nie wystartował)";
else if(startListStatuses->at(index.row()).getJumpStatus() == StartListCompetitorStatus::Dsq)
else if(startListStatuses->at(index.row()).getJumpStatus() == StartListCompetitorStatus::Dsq)
return string + " (Dyskwalifikacja)";
else
return string;
Expand Down
4 changes: 2 additions & 2 deletions source/UI/EditorWidgets/HillEditorWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ void HillEditorWidget::resetHillInputs()
ui->doubleSpinBox_backWindPoints->setValue(0);
ui->checkBox_autoBackWindPoints->setChecked(false);

ui->doubleSpinBox_distanceMultiplier->setValue(0);
ui->doubleSpinBox_balance->setValue(0);
ui->doubleSpinBox_distanceMultiplier->setValue(1);
ui->doubleSpinBox_balance->setValue(1);

ui->doubleSpinBox_record->setValue(0);
}
Expand Down
Loading

0 comments on commit 666f25a

Please sign in to comment.