Read/write backup fixes: (#4327)
* Read/write backup fixes: * radio not found was show behind all windows (missing parent) * bad behavior on write when radio not found * Disable model backup read/write for Horus (needs implementation)
This commit is contained in:
committed by
Bertrand Songis
parent
8e73d25f1c
commit
d5e3fabf03
@@ -48,7 +48,6 @@ radioData(new RadioData())
|
||||
if (backupPath.isEmpty() || !QDir(backupPath).exists()) {
|
||||
ui->backupBeforeWrite->setEnabled(false);
|
||||
}
|
||||
updateUI();
|
||||
}
|
||||
|
||||
FlashEEpromDialog::~FlashEEpromDialog()
|
||||
@@ -56,11 +55,16 @@ FlashEEpromDialog::~FlashEEpromDialog()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void FlashEEpromDialog::showEvent(QShowEvent *)
|
||||
{
|
||||
updateUI();
|
||||
}
|
||||
|
||||
void FlashEEpromDialog::updateUI()
|
||||
{
|
||||
// ui->burnButton->setEnabled(true);
|
||||
ui->eepromFilename->setText(eepromFilename);
|
||||
if (getEEpromVersion(eepromFilename) >= 0) {
|
||||
if (!eepromFilename.isEmpty() && getEEpromVersion(eepromFilename) >= 0) {
|
||||
ui->profileLabel->show();
|
||||
ui->patchCalibration->show();
|
||||
ui->patchHardwareSettings->show();
|
||||
@@ -290,9 +294,10 @@ void FlashEEpromDialog::on_burnButton_clicked()
|
||||
}
|
||||
|
||||
// and write...
|
||||
writeEeprom(filename, progressDialog.progress());
|
||||
|
||||
progressDialog.exec();
|
||||
bool result = writeEeprom(filename, progressDialog.progress());
|
||||
if (!result && !progressDialog.isEmpty()) {
|
||||
progressDialog.exec();
|
||||
}
|
||||
}
|
||||
|
||||
void FlashEEpromDialog::on_cancelButton_clicked()
|
||||
|
||||
@@ -54,6 +54,7 @@ protected:
|
||||
int getEEpromVersion(const QString &filename);
|
||||
bool patchCalibration();
|
||||
bool patchHardwareSettings();
|
||||
virtual void showEvent(QShowEvent *);
|
||||
|
||||
private:
|
||||
Ui::FlashEEpromDialog *ui;
|
||||
|
||||
@@ -777,6 +777,11 @@ bool MainWindow::readEepromFromRadio(const QString & filename)
|
||||
|
||||
void MainWindow::writeBackup()
|
||||
{
|
||||
if (IS_HORUS(getCurrentBoard())) {
|
||||
QMessageBox::information(this, "Companion", tr("This function is not yet implemented"));
|
||||
return;
|
||||
// TODO implementation
|
||||
}
|
||||
FlashEEpromDialog *cd = new FlashEEpromDialog(this);
|
||||
cd->exec();
|
||||
}
|
||||
@@ -789,6 +794,11 @@ void MainWindow::writeFlash(QString fileToFlash)
|
||||
|
||||
void MainWindow::readBackup()
|
||||
{
|
||||
if (IS_HORUS(getCurrentBoard())) {
|
||||
QMessageBox::information(this, "Companion", tr("This function is not yet implemented"));
|
||||
return;
|
||||
// TODO implementation
|
||||
}
|
||||
QString fileName = QFileDialog::getSaveFileName(this, tr("Save Radio Backup to File"), g.eepromDir(), tr(EXTERNAL_EEPROM_FILES_FILTER));
|
||||
if (!fileName.isEmpty()) {
|
||||
if (!readEepromFromRadio(fileName))
|
||||
|
||||
@@ -351,7 +351,7 @@ bool readEeprom(const QString & filename, ProgressWidget * progress)
|
||||
path = findMassstoragePath("ERSKY9X.BIN");
|
||||
}
|
||||
if (path.isEmpty()) {
|
||||
RadioNotFoundDialog dialog;
|
||||
RadioNotFoundDialog dialog(progress);
|
||||
dialog.exec();
|
||||
return false;
|
||||
}
|
||||
@@ -398,7 +398,7 @@ bool writeEeprom(const QString & filename, ProgressWidget * progress)
|
||||
}
|
||||
|
||||
if (IS_ARM(board)) {
|
||||
RadioNotFoundDialog dialog;
|
||||
RadioNotFoundDialog dialog(progress);
|
||||
dialog.exec();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user