S.P.

S.P. 

Разработка прикладного ПО для российской ОС Аврора

8subscribers

117posts

goals1
$36.25 of $145 raised
Свободное ПО денег не приносит, но приносит пользу как минимум разработчику. В РФ донаты непопулярны пока, но думаю ситуация может измениться. Гранты)

Простой код очистки содержимого кэша приложений с webView на ОС Аврора (Gecko/Chromium) в Qt/Qml приложении

Для решения такой проблемы (скриншот с developer.auroraos.ru):
#include <QStandardPaths>
#include <QDir>
#include <QFile>
#include <QFileInfo>
#include <QFileInfoList>
bool removeDirectory(const QString &path) {
if (path.isEmpty()) return false;
QDir dir(path);
// Если папки не существует, то возвращаем true
if (!dir.exists()) return true;
Q_FOREACH(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files, QDir::DirsFirst))
{
// Если директория
if (info.isDir()) {
if (!removeDirectory(info.filePath())) return false;
} else {
// Если файл
if (!dir.remove(info.fileName())) return false;
}
}
// Если все успешно удалено, то удаляем саму папку
return dir.rmdir(path);
}
Далее в нужном месте C++ кода вызываем удаление папки с кэшем:
//СЕКЦИЯ ОЧИСТКИ СОДЕРЖИМОГО ПАПКИ КЭША WEBVIEW
removeDirectory(QStandardPaths::writableLocation(QStandardPaths::CacheLocation));
//КОНЕЦ СЕКЦИИ ОЧИСТКИ СОДЕРЖИМОГО ПАПКИ КЭША WEBVIEW
Go up