summaryrefslogtreecommitdiffstats
path: root/src/sdk/tabcontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdk/tabcontroller.cpp')
-rw-r--r--src/sdk/tabcontroller.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/sdk/tabcontroller.cpp b/src/sdk/tabcontroller.cpp
index 3cb3e4089..ae8fdbc25 100644
--- a/src/sdk/tabcontroller.cpp
+++ b/src/sdk/tabcontroller.cpp
@@ -37,6 +37,7 @@
#include <productkeycheck.h>
#include <QtCore/QTimer>
+#include <QtWidgets/QMessageBox>
using namespace QInstaller;
@@ -174,7 +175,7 @@ void TabController::onSettingsButtonClicked()
connect(&dialog, &SettingsDialog::networkSettingsChanged,
this, &TabController::onNetworkSettingsChanged);
connect(&dialog, &SettingsDialog::clearLocalCacheClicked,
- this, [&] { d->m_core->clearLocalCache(); });
+ this, &TabController::onClearCacheClicked);
dialog.exec();
if (d->m_networkSettingsChanged) {
@@ -195,6 +196,28 @@ void TabController::onAboutApplicationClicked()
dialog.exec();
}
+void TabController::onClearCacheClicked()
+{
+ QDialog *settingsDialog = static_cast<QDialog *>(sender());
+
+ QString errorMessage;
+ const bool success = d->m_core->clearLocalCache(&errorMessage);
+
+ QMessageBox msgBox(settingsDialog);
+ msgBox.setWindowModality(Qt::WindowModal);
+ msgBox.setStandardButtons(QMessageBox::Close);
+
+ msgBox.setIcon(success
+ ? QMessageBox::Information
+ : QMessageBox::Critical);
+
+ msgBox.setText(success
+ ? tr("Cache cleared successfully!")
+ : errorMessage);
+
+ msgBox.exec();
+}
+
void TabController::onCurrentIdChanged(int newId)
{
if (d->m_gui) {