void FreeEMS_Loader::openFile() { QSettings loaderSettings(settingsFile, QSettings::IniFormat); loadDirectory = loaderSettings.value("lastDirectory").toString(); QFileDialog fileDialog; fileDialog.setViewMode(QFileDialog::Detail); fileDialog.restoreGeometry(loaderSettings.value("lastOpenDialogGeo").toByteArray()); QString qSNum; loadFileName = fileDialog.getOpenFileName(this, tr("Load s19 file"), loadDirectory, tr("s19 (*.s19)")); loaderSettings.setValue("lastOpenDialogGeo", fileDialog.saveGeometry()); if (loadFileName.isNull()) { displayMessage(MESSAGE_ERROR, "no file selected"); return; } else{ loaderSettings.setValue("lastDirectory", loadFileName); loaderComms->setLoadFilename(loadFileName); displayMessage(MESSAGE_INFO,"Attempting to parse " + loadFileName); loaderComms->parseFile(); if(loaderComms->numLoadableRecords() == 0){ displayMessage(MESSAGE_ERROR, "no load-able records parsed"); }else if(loaderComms->numBadSums()){ displayMessage(MESSAGE_ERROR, "there are " + qSNum.setNum(loaderComms->numBadSums(), 10) + " records with bad checksums or lengths , loading will be disabled"); } else { displayMessage(MESSAGE_INFO,"found " + qSNum.setNum(loaderComms->numLoadableRecords(), 10) +" load-able records in file"); ui.pushLoad->setEnabled(true); m_fileLoaded = true; } } }