summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagergui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer/packagemanagergui.cpp')
-rw-r--r--src/libs/installer/packagemanagergui.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp
index 6e0909517..ede8cb12d 100644
--- a/src/libs/installer/packagemanagergui.cpp
+++ b/src/libs/installer/packagemanagergui.cpp
@@ -1722,9 +1722,11 @@ PerformInstallationPage::PerformInstallationPage(PackageManagerCore *core)
connect(m_performInstallationForm, SIGNAL(showDetailsChanged()), this, SLOT(toggleDetailsWereChanged()));
connect(core, SIGNAL(installationStarted()), this, SLOT(installationStarted()));
- connect(core, SIGNAL(uninstallationStarted()), this, SLOT(installationStarted()));
connect(core, SIGNAL(installationFinished()), this, SLOT(installationFinished()));
- connect(core, SIGNAL(uninstallationFinished()), this, SLOT(installationFinished()));
+
+ connect(core, SIGNAL(uninstallationStarted()), this, SLOT(uninstallationStarted()));
+ connect(core, SIGNAL(uninstallationFinished()), this, SLOT(uninstallationFinished()));
+
connect(core, SIGNAL(titleMessageChanged(QString)), this, SLOT(setTitleMessage(QString)));
connect(this, SIGNAL(setAutomatedPageSwitchEnabled(bool)), core,
SIGNAL(setAutomatedPageSwitchEnabled(bool)));
@@ -1802,6 +1804,20 @@ void PerformInstallationPage::installationFinished()
}
}
+void PerformInstallationPage::uninstallationStarted()
+{
+ m_performInstallationForm->startUpdateProgress();
+ if (QAbstractButton *cancel = gui()->button(QWizard::CancelButton))
+ cancel->setEnabled(false);
+}
+
+void PerformInstallationPage::uninstallationFinished()
+{
+ installationFinished();
+ if (QAbstractButton *cancel = gui()->button(QWizard::CancelButton))
+ cancel->setEnabled(false);
+}
+
void PerformInstallationPage::toggleDetailsWereChanged()
{
emit setAutomatedPageSwitchEnabled(isAutoSwitching());