//------------------------------------------------------------------------------ // doMenuChoice //------------------------------------------------------------------------------ // Uppgift: Meny som agerar på användarens val. // Indata : (const menu&) - en referens till menu objekt som håller i vilket // val användern gjort. // Utdata : (void) //------------------------------------------------------------------------------ void TestApp::doMenuChoice(const menu& p_menuChoice) { switch (p_menuChoice) { case menu::EXIT: // EXIT break; case menu::NEWGAME: std::remove(REPLAYFILENAME.c_str()); // remove log file createNewGame(); gamePlayMenu(); break; case menu::REPLAY: startReplay(); break; case menu::REDO: if (m_commandMgr->canRedo()) { m_commandMgr->redo(); } break; case menu::MOVE: startMove(); break; case menu::RESET: createNewGame(); break; case menu::UNDO: if (m_commandMgr->canUndo()) { m_commandMgr->undo(); } break; } }
void MainWindow::replayClicked(bool _toggle) { if(_toggle) startReplay(); else stopReplay(); }
void SinglePlayerMenu::CloseChildWindow() { std::string filename = ""; std::string extension = ""; LoadSaveWindow* pLoadSaveWindow = dynamic_cast<LoadSaveWindow*>(pChildWindow); if(pLoadSaveWindow != NULL) { filename = pLoadSaveWindow->GetFilename(); extension = pLoadSaveWindow->GetExtension(); } MenuClass::CloseChildWindow(); if(filename != "") { if(extension == "dls") { try { startSinglePlayerGame( GameInitSettings(filename) ); } catch (std::exception& e) { // most probably the savegame file is not valid or from a different dune legacy version OpenWindow(MessageBox::Create(e.what())); } } else if(extension == "rpl") { startReplay(filename); } } }
QIODevice* LoggingConnection::openDevice(const QString &deviceName) { if (logFile.isOpen()){ logFile.close(); } QFileDialog * fd = new QFileDialog(); fd->setAcceptMode(QFileDialog::AcceptOpen); fd->setNameFilter("OpenPilot Log (*.opl)"); connect(fd, SIGNAL(fileSelected(QString)), this, SLOT(startReplay(QString))); fd->exec(); return &logFile; }
QIODevice *LoggingConnection::openDevice(const QString &deviceName) { loggingPlugin->stopLogging(); closeDevice(deviceName); QString fileName = QFileDialog::getOpenFileName(NULL, tr("Open file"), QString(""), tr("OpenPilot Log (*.opl)")); if (!fileName.isNull()) { startReplay(fileName); return &logFile; } return NULL; }