summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagercore_p.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@nokia.com>2012-06-08 18:00:55 +0200
committerTim Jenssen <tim.jenssen@nokia.com>2012-06-11 14:11:52 +0200
commitda794852fb5c482d7ee3a29f22d05baecff2e84b (patch)
tree8314e9c9ba4242618b524f9b551dbcf467334e83 /src/libs/installer/packagemanagercore_p.cpp
parent19e0ff167411376f403bfc449dcf746e0e3c1a45 (diff)
clean up exception usage
Change-Id: I6e1fd425e9b528049f1d461eb2d66c49f70e7288 Reviewed-by: Karsten Heimrich <karsten.heimrich@nokia.com>
Diffstat (limited to 'src/libs/installer/packagemanagercore_p.cpp')
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp40
1 files changed, 14 insertions, 26 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index e7a267469..ccb16d971 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -1340,7 +1340,7 @@ QString PackageManagerCorePrivate::registerPath() const
return QString();
}
-void PackageManagerCorePrivate::runInstaller()
+bool PackageManagerCorePrivate::runInstaller()
{
bool adminRightsGained = false;
try {
@@ -1399,12 +1399,7 @@ void PackageManagerCorePrivate::runInstaller()
stopProcessesForUpdates(componentsToInstall);
if (m_dependsOnLocalInstallerBinary && !KDUpdater::pathIsOnLocalDevice(qApp->applicationFilePath())) {
- setStatus(PackageManagerCore::Failure);
- ProgressCoordinator::instance()->emitLabelAndDetailTextChanged(tr("\nInstallation aborted!"));
- MessageBoxHandler::critical(MessageBoxHandler::currentBestSuitParent(),
- QLatin1String("installationError"), tr("Error"), tr("It is not possible to install from network location"));
- emit installationFinished();
- throw;
+ throw Error(tr("It is not possible to install from network location"));
}
if (!adminRightsGained) {
@@ -1509,20 +1504,18 @@ void PackageManagerCorePrivate::runInstaller()
if (adminRightsGained)
m_core->dropAdminRights();
emit installationFinished();
-
- throw;
+ return false;
}
+ return true;
}
-void PackageManagerCorePrivate::runPackageUpdater()
+bool PackageManagerCorePrivate::runPackageUpdater()
{
bool adminRightsGained = false;
+ if (m_completeUninstall) {
+ return runUninstaller();
+ }
try {
- if (m_completeUninstall) {
- runUninstaller();
- return;
- }
-
setStatus(PackageManagerCore::Running);
emit installationStarted(); //resets also the ProgressCoordninator
@@ -1541,12 +1534,7 @@ void PackageManagerCorePrivate::runPackageUpdater()
stopProcessesForUpdates(componentsToInstall);
if (m_dependsOnLocalInstallerBinary && !KDUpdater::pathIsOnLocalDevice(qApp->applicationFilePath())) {
- setStatus(PackageManagerCore::Failure);
- ProgressCoordinator::instance()->emitLabelAndDetailTextChanged(tr("\nInstallation aborted!"));
- MessageBoxHandler::critical(MessageBoxHandler::currentBestSuitParent(),
- QLatin1String("installationError"), tr("Error"), tr("It is not possible to install from network location"));
- emit installationFinished();
- throw;
+ throw Error(tr("It is not possible to run that opertion from a network location"));
}
bool updateAdminRights = false;
@@ -1681,12 +1669,12 @@ void PackageManagerCorePrivate::runPackageUpdater()
if (adminRightsGained)
m_core->dropAdminRights();
emit installationFinished();
-
- throw;
+ return false;
}
+ return true;
}
-void PackageManagerCorePrivate::runUninstaller()
+bool PackageManagerCorePrivate::runUninstaller()
{
bool adminRightsGained = false;
try {
@@ -1755,9 +1743,9 @@ void PackageManagerCorePrivate::runUninstaller()
if (adminRightsGained)
m_core->dropAdminRights();
emit uninstallationFinished();
-
- throw;
+ return false;
}
+ return true;
}
void PackageManagerCorePrivate::installComponent(Component *component, double progressOperationSize,