From 5a673d6df2125c5b17534e8ee9c143de9e3cd512 Mon Sep 17 00:00:00 2001 From: Cástor Muñoz Date: Sat, 9 Jan 2016 02:21:45 +0100 Subject: rbutil: enable "done" signal on bootloader uninstall This allows to implement multi-stage uninstallers. Should not affect the behaviour on current targets. Change-Id: Idf8aec5caf76cf9317798890d094a7cebdbcabec --- rbutil/rbutilqt/base/bootloaderinstallams.cpp | 1 + rbutil/rbutilqt/base/bootloaderinstallhex.cpp | 1 + rbutil/rbutilqt/base/bootloaderinstallimx.cpp | 1 + rbutil/rbutilqt/base/bootloaderinstallmi4.cpp | 2 ++ rbutil/rbutilqt/base/bootloaderinstallmpio.cpp | 1 + rbutil/rbutilqt/base/bootloaderinstalltcc.cpp | 1 + rbutil/rbutilqt/rbutilqt.cpp | 3 +-- 7 files changed, 8 insertions(+), 2 deletions(-) diff --git a/rbutil/rbutilqt/base/bootloaderinstallams.cpp b/rbutil/rbutilqt/base/bootloaderinstallams.cpp index 33ad51c200..3905ae9fd3 100644 --- a/rbutil/rbutilqt/base/bootloaderinstallams.cpp +++ b/rbutil/rbutilqt/base/bootloaderinstallams.cpp @@ -185,6 +185,7 @@ bool BootloaderInstallAms::uninstall(void) emit logItem(tr("To uninstall, perform a normal upgrade with an unmodified " "original firmware"), LOGINFO); logInstall(LogRemove); + emit done(true); return false; } diff --git a/rbutil/rbutilqt/base/bootloaderinstallhex.cpp b/rbutil/rbutilqt/base/bootloaderinstallhex.cpp index 39a2392731..0c8087eaf4 100644 --- a/rbutil/rbutilqt/base/bootloaderinstallhex.cpp +++ b/rbutil/rbutilqt/base/bootloaderinstallhex.cpp @@ -236,6 +236,7 @@ bool BootloaderInstallHex::uninstall(void) { emit logItem(tr("Uninstallation not possible, only installation info removed"), LOGINFO); logInstall(LogRemove); + emit done(true); return false; } diff --git a/rbutil/rbutilqt/base/bootloaderinstallimx.cpp b/rbutil/rbutilqt/base/bootloaderinstallimx.cpp index 74c6f94f78..547c8d8fc4 100644 --- a/rbutil/rbutilqt/base/bootloaderinstallimx.cpp +++ b/rbutil/rbutilqt/base/bootloaderinstallimx.cpp @@ -175,6 +175,7 @@ bool BootloaderInstallImx::uninstall(void) emit logItem(tr("To uninstall, perform a normal upgrade with an unmodified " "original firmware."), LOGINFO); logInstall(LogRemove); + emit done(true); return false; } diff --git a/rbutil/rbutilqt/base/bootloaderinstallmi4.cpp b/rbutil/rbutilqt/base/bootloaderinstallmi4.cpp index e18d3e2341..98146b0723 100644 --- a/rbutil/rbutilqt/base/bootloaderinstallmi4.cpp +++ b/rbutil/rbutilqt/base/bootloaderinstallmi4.cpp @@ -91,6 +91,7 @@ bool BootloaderInstallMi4::uninstall(void) emit logItem(tr("Checking for Rockbox bootloader"), LOGINFO); if(installed() != BootloaderRockbox) { emit logItem(tr("No Rockbox bootloader found"), LOGERROR); + emit done(true); return false; } @@ -101,6 +102,7 @@ bool BootloaderInstallMi4::uninstall(void) if(Utils::resolvePathCase(original).isEmpty()) { emit logItem(tr("Error finding original firmware file"), LOGERROR); + emit done(true); return false; } diff --git a/rbutil/rbutilqt/base/bootloaderinstallmpio.cpp b/rbutil/rbutilqt/base/bootloaderinstallmpio.cpp index 97b68f7f61..9984366139 100644 --- a/rbutil/rbutilqt/base/bootloaderinstallmpio.cpp +++ b/rbutil/rbutilqt/base/bootloaderinstallmpio.cpp @@ -127,6 +127,7 @@ bool BootloaderInstallMpio::uninstall(void) emit logItem(tr("To uninstall, perform a normal upgrade with an unmodified " "original firmware"), LOGINFO); logInstall(LogRemove); + emit done(true); return false; } diff --git a/rbutil/rbutilqt/base/bootloaderinstalltcc.cpp b/rbutil/rbutilqt/base/bootloaderinstalltcc.cpp index 73bfd5d98a..e0bfbe3cf2 100644 --- a/rbutil/rbutilqt/base/bootloaderinstalltcc.cpp +++ b/rbutil/rbutilqt/base/bootloaderinstalltcc.cpp @@ -150,6 +150,7 @@ bool BootloaderInstallTcc::uninstall(void) { emit logItem(tr("To uninstall, perform a normal upgrade with an unmodified original firmware"), LOGINFO); logInstall(LogRemove); + emit done(true); return false; } diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp index e14bb25d7b..b44c30c49c 100644 --- a/rbutil/rbutilqt/rbutilqt.cpp +++ b/rbutil/rbutilqt/rbutilqt.cpp @@ -569,11 +569,10 @@ void RbUtilQt::uninstallBootloader(void) connect(bl, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int))); connect(bl, SIGNAL(logProgress(int, int)), logger, SLOT(setProgress(int, int))); + connect(bl, SIGNAL(done(bool)), logger, SLOT(setFinished())); bl->uninstall(); - logger->setFinished(); - } -- cgit v1.2.3