// MainWindow::instance()->showCriticalMessage(tr("FlightGear Failed to Start"), tr("FlightGear was not found at %1").arg(processFgfs));
// sane = false;
// }
// QFileInfo root(fgRoot);
// if (!root.isDir())
// {
// MainWindow::instance()->showCriticalMessage(tr("FlightGear Failed to Start"), tr("FlightGear data directory was not found at %1").arg(fgRoot));
// sane = false;
// }
// QFileInfo scenery(fgScenery);
// if (!scenery.isDir())
// {
// MainWindow::instance()->showCriticalMessage(tr("FlightGear Failed to Start"), tr("FlightGear scenery directory was not found at %1").arg(fgScenery));
flightGearArguments<<QString("--fg-scenery=%1:%2").arg(fgScenery).arg(terraSyncScenery);//according to http://wiki.flightgear.org/TerraSync a separate directory is used
// Windows won't start without an --fg-scenery set. We don't validate the directory in the path since
// it can be multiple paths.
if(fgSceneryPath.isEmpty()){
QStringerrMsg;
if(fgSceneryDirOverride){
errMsg=tr("--fg-scenery directory specified from ui option not found: %1").arg(fgSceneryPath);
}else{
errMsg=tr("Unable to automatically determine --fg-scenery directory location. You will need to specify --fg-scenery=directory as an additional command line parameter from ui.");
}
MainWindow::instance()->showCriticalMessage(tr("FlightGear Failed to Start"),errMsg);
returnfalse;
}
#endif
// Check that we have a good fgRootDir set before we use it to check communication protocol files.
errMsg=tr("--fg-root directory specified from ui option not found: %1").arg(fgRootPath);
}elseif(fgRootPath.isEmpty()){
errMsg=tr("Unable to automatically determine --fg-root directory location. You will need to specify --fg-root=<directory> as an additional command line parameter from ui.");
}else{
errMsg=tr("Unable to automatically determine --fg-root directory location. Attempted directory '%1', which does not exist. You will need to specify --fg-root=<directory> as an additional command line parameter from ui.").arg(fgRootPath);
}
MainWindow::instance()->showCriticalMessage(tr("FlightGear Failed to Start"),errMsg);
returnfalse;
}
// Setup and verify directory which contains QGC provided aircraft files
// Verify directory where FlightGear stores communicaton protocols.
QDirfgProtocolDir(fgRootPath);
if(!fgProtocolDir.cd("Protocol")){
MainWindow::instance()->showCriticalMessage(tr("Incorrect FlightGear setup"),tr("Protocol directory is missing: '%1'. Command line parameter for --fg-root may be set incorrectly.").arg(fgProtocolDir.path()));
returnfalse;
}
// Verify directory which contains QGC provided FlightGear communication protocol files
tr("FlightGear Failed to Start. QGroundControl protocol (%1) not installed to FlightGear Protocol directory (%2)").arg(fgProtocolXmlFile).arg(fgProtocolDir.path()),
QMessageBox::Cancel,
MainWindow::instance());
msgBox.setWindowModality(Qt::ApplicationModal);
msgBox.addButton(tr("Fix it for me"),QMessageBox::ActionRole);
if(msgBox.exec()==QMessageBox::Cancel){
returnfalse;
}
// Make sure we can find the communication protocol file in QGC install before we attempt to copy to FlightGear
MainWindow::instance()->showCriticalMessage(tr("Copy failed"),tr("Copy from (%1) to (%2) failed, possibly due to permissions issue. You will need to perform manually.").arg(qgcProtocolFileFullyQualified).arg(fgProtocolFileFullyQualified));