From b6a97318ec7513729aba14bbea9c2a25451516ce Mon Sep 17 00:00:00 2001 From: Max Paperno Date: Mon, 16 Jul 2018 18:38:36 -0400 Subject: [PATCH] [Companion][FirmwarePreferencesDialog] Update the displayed latest firmware version number after a download completes. --- companion/src/fwpreferencesdialog.cpp | 20 ++++++++++++-------- companion/src/mainwindow.cpp | 1 + companion/src/mainwindow.h | 1 + 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/companion/src/fwpreferencesdialog.cpp b/companion/src/fwpreferencesdialog.cpp index dd0a2f20d..eaee4a7dd 100644 --- a/companion/src/fwpreferencesdialog.cpp +++ b/companion/src/fwpreferencesdialog.cpp @@ -31,6 +31,9 @@ FirmwarePreferencesDialog::FirmwarePreferencesDialog(QWidget * parent) : ui->setupUi(this); setWindowIcon(CompanionIcon("fwpreferences.png")); initSettings(); + MainWindow * mw = qobject_cast(this->parent()); + if (mw) + connect(mw, &MainWindow::firmwareDownloadCompleted, this, &FirmwarePreferencesDialog::initSettings); } FirmwarePreferencesDialog::~FirmwarePreferencesDialog() @@ -40,25 +43,26 @@ FirmwarePreferencesDialog::~FirmwarePreferencesDialog() void FirmwarePreferencesDialog::initSettings() { - ui->fwTypeLbl->setText(g.profile[g.id()].fwType()); - int version = g.fwRev.get(g.profile[g.id()].fwType()); - if (version > 0) { + ui->fwTypeLbl->setText(g.currentProfile().fwType()); + int version = g.fwRev.get(g.currentProfile().fwType()); + if (version > 0) ui->lastRevisionLbl->setText(index2version(version)); - } + else + ui->lastRevisionLbl->setText(tr("Unknown")); } void FirmwarePreferencesDialog::on_checkFWUpdates_clicked() { MainWindow * mw = qobject_cast(this->parent()); - mw->checkForFirmwareUpdate(); - initSettings(); + if (mw) + mw->checkForFirmwareUpdate(); } void FirmwarePreferencesDialog::on_fw_dnld_clicked() { MainWindow * mw = qobject_cast(this->parent()); - mw->dowloadLastFirmwareUpdate(); - initSettings(); + if (mw) + mw->dowloadLastFirmwareUpdate(); } void FirmwarePreferencesDialog::on_sd_dnld_clicked() diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index 855d1c5cf..03a13caa8 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -456,6 +456,7 @@ void MainWindow::firmwareDownloadAccepted() writeFlash(g.profile[g.id()].fwName()); } } + emit firmwareDownloadCompleted(); } void MainWindow::checkForFirmwareUpdateFinished(QNetworkReply * reply) diff --git a/companion/src/mainwindow.h b/companion/src/mainwindow.h index cda66e163..5a65022dd 100644 --- a/companion/src/mainwindow.h +++ b/companion/src/mainwindow.h @@ -48,6 +48,7 @@ class MainWindow : public QMainWindow ~MainWindow(); signals: + void firmwareDownloadCompleted(); void firmwareChanged(); void startSync();