Implement popup for metacache
someone in the Discord ran into an issue somewhat related to the metacache button not working (folder in use err), so this warning makes it more obvious when this happens, though it would be better to find out why it ran into a process conflict Signed-off-by: Soup <43444191+Soup-64@users.noreply.github.com>
This commit is contained in:
parent
c1b460fa05
commit
b9a1fa3645
4 changed files with 10 additions and 4 deletions
|
@ -55,6 +55,7 @@
|
|||
#include "DesktopServices.h"
|
||||
#include "PSaveFile.h"
|
||||
#include "StringUtils.h"
|
||||
#include "ui/dialogs/CustomMessageBox.h"
|
||||
|
||||
#if defined Q_OS_WIN32
|
||||
#define NOMINMAX
|
||||
|
|
|
@ -166,8 +166,9 @@ auto HttpMetaCache::evictEntry(MetaEntryPtr entry) -> bool
|
|||
return true;
|
||||
}
|
||||
|
||||
void HttpMetaCache::evictAll()
|
||||
bool HttpMetaCache::evictAll()
|
||||
{
|
||||
bool ret;
|
||||
for (QString& base : m_entries.keys()) {
|
||||
EntryMap& map = m_entries[base];
|
||||
qCDebug(taskHttpMetaCacheLogC) << "Evicting base" << base;
|
||||
|
@ -176,8 +177,9 @@ void HttpMetaCache::evictAll()
|
|||
qCWarning(taskHttpMetaCacheLogC) << "Unexpected missing cache entry" << entry->m_basePath;
|
||||
}
|
||||
map.entry_list.clear();
|
||||
FS::deletePath(map.base_path);
|
||||
ret = FS::deletePath(map.base_path);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
auto HttpMetaCache::staleEntry(QString base, QString resource_path) -> MetaEntryPtr
|
||||
|
|
|
@ -113,7 +113,7 @@ class HttpMetaCache : public QObject {
|
|||
|
||||
// evict selected entry from cache
|
||||
auto evictEntry(MetaEntryPtr entry) -> bool;
|
||||
void evictAll();
|
||||
bool evictAll();
|
||||
|
||||
void addBase(QString base, QString base_root);
|
||||
|
||||
|
|
|
@ -1318,7 +1318,10 @@ void MainWindow::on_actionReportBug_triggered()
|
|||
|
||||
void MainWindow::on_actionClearMetadata_triggered()
|
||||
{
|
||||
APPLICATION->metacache()->evictAll();
|
||||
if(!APPLICATION->metacache()->evictAll()){
|
||||
CustomMessageBox::selectable(this, tr("Error"), tr("Metadata cache clear Failed!\n To clear the metadata cache manually, press Folders -> View Launcher Root Folder, and after closing the launcher delete the folder named \"meta\"\n"), QMessageBox::Warning)->show();
|
||||
}
|
||||
|
||||
APPLICATION->metacache()->SaveNow();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue