void OptionsGamestate::registerScore(int score, int level) { if( score <= 0 ) return; if( mainWindow->getHiscores().size() >= max_hiscore_entries_c ) { // check we get onto the board Hiscore lastHiscore = mainWindow->getHiscores().at(max_hiscore_entries_c-1); if( score < lastHiscore.getScore() || ( score == lastHiscore.getScore() && level <= lastHiscore.getLevel() ) ) { return; } } //QWidget *enterHiscoreWindow = new QWidget(mainWindow); QDialog *enterHiscoreWindow = new QDialog(mainWindow); QVBoxLayout *layout = new QVBoxLayout(); enterHiscoreWindow->setLayout(layout); QLineEdit *nameEdit = NULL; { QString text = "You scored " + QString::number(score) + "! Enter your name:"; QLabel *scoreLabel = new QLabel(text); layout->addWidget(scoreLabel); } /*{ QLabel *label = new QLabel("Enter your name:"); layout->addWidget(label); }*/ { nameEdit = new QLineEdit(""); layout->addWidget(nameEdit); /*QHBoxLayout *h_layout = new QHBoxLayout(); layout->addLayout(h_layout); QLabel *nameLabel = new QLabel(tr("Enter Name:")); h_layout->addWidget(nameLabel); nameEdit = new QLineEdit(""); h_layout->addWidget(nameEdit);*/ } layout->addStretch(); { QPushButton *okayButton = new QPushButton("Okay"); layout->addWidget(okayButton); connect(okayButton, SIGNAL(clicked()), enterHiscoreWindow, SLOT(accept())); } enterHiscoreWindow->showFullScreen(); enterHiscoreWindow->exec(); QString name = nameEdit->text(); qDebug("Entered name: %s", name.toStdString().c_str()); Hiscore hiscore(name, score, level); this->mainWindow->addHiscore(hiscore); delete enterHiscoreWindow; }