From 4c61abbbf01b02ab5ec7c530d9c4ab2685352be5 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Thu, 20 Feb 2020 23:35:50 +1100 Subject: [PATCH] preferencesdisktab: use cache clear button to provide user feedback rather than a messagebox A slightly more subtle way to provide feedback. --- .../preferences/tabs/preferencesdisktab.cpp | 15 +++++++-------- app/dialog/preferences/tabs/preferencesdisktab.h | 3 +++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/dialog/preferences/tabs/preferencesdisktab.cpp b/app/dialog/preferences/tabs/preferencesdisktab.cpp index 77cc5ed76..81b00b5c6 100644 --- a/app/dialog/preferences/tabs/preferencesdisktab.cpp +++ b/app/dialog/preferences/tabs/preferencesdisktab.cpp @@ -6,7 +6,6 @@ #include #include #include -#include #include "render/diskmanager.h" @@ -44,9 +43,9 @@ PreferencesDiskTab::PreferencesDiskTab() row++; - QPushButton* clear_cache_btn = new QPushButton(tr("Clear Disk Cache")); - connect(clear_cache_btn, &QPushButton::clicked, this, &PreferencesDiskTab::ClearDiskCache); - disk_management_layout->addWidget(clear_cache_btn, row, 1, 1, 2); + clear_cache_btn_ = new QPushButton(tr("Clear Disk Cache")); + connect(clear_cache_btn_, &QPushButton::clicked, this, &PreferencesDiskTab::ClearDiskCache); + disk_management_layout->addWidget(clear_cache_btn_, row, 1, 1, 2); row++; @@ -112,16 +111,16 @@ void PreferencesDiskTab::ClearDiskCache() tr("Clear Disk Cache"), tr("Are you sure you want to clear the disk cache in '%1'?").arg(Config::Current()["DiskCachePath"].toString()), QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) { + clear_cache_btn_->setEnabled(false); + if (DiskManager::instance()->ClearDiskCache(false)) { - QMessageBox::information(this, - tr("Clear Disk Cache"), - tr("Disk cache cleared successfully"), - QMessageBox::Ok); + clear_cache_btn_->setText(tr("Disk Cache Cleared")); } else { QMessageBox::information(this, tr("Clear Disk Cache"), tr("Disk cache failed to fully clear. You may have to delete the cache files manually."), QMessageBox::Ok); + clear_cache_btn_->setText(tr("Disk Cache Partially Cleared")); } } } diff --git a/app/dialog/preferences/tabs/preferencesdisktab.h b/app/dialog/preferences/tabs/preferencesdisktab.h index 5da7a33f0..961e22b99 100644 --- a/app/dialog/preferences/tabs/preferencesdisktab.h +++ b/app/dialog/preferences/tabs/preferencesdisktab.h @@ -3,6 +3,7 @@ #include #include +#include #include "preferencestab.h" #include "widget/slider/floatslider.h" @@ -26,6 +27,8 @@ private: QCheckBox* clear_disk_cache_; + QPushButton* clear_cache_btn_; + private slots: void DiskCacheLineEditChanged();