示例#1
0
//------------------------------------------------------------------------------ 
// 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;
}
示例#5
0
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;
}