lolautoaccept/src/datadragonimagecache.cpp
2022-07-05 23:45:28 +02:00

36 lines
1.0 KiB
C++

#include "datadragonimagecache.h"
#include <QFile>
#include <QPixmap>
#include <Log.h>
#include "files.h"
DataDragonImageCache::DataDragonImageCache(const std::string& folderextra, const std::string& imageext) : imageext(imageext) {
// init cache dir
cacheDir = getCache() + folderextra + "/";
mkdirs(cacheDir);
}
DataDragonImageCache::~DataDragonImageCache() {}
bool DataDragonImageCache::hasImage(const std::string& name) {
QFile file(QString::fromStdString(getFilepath(name)));
return file.size() > 1024; // a image with less than 1KiB? assume it would be readable (r-Permissions)
}
QPixmap DataDragonImageCache::getImage(const std::string& name) {
return QPixmap(QString::fromStdString(getFilepath(name)));
}
void DataDragonImageCache::addImageRaw(const QByteArray& arr, const std::string& name) {
QFile file(QString::fromStdString(getFilepath(name)));
file.open(QIODevice::WriteOnly);
file.write(arr);
}
std::string DataDragonImageCache::getFilepath(const std::string& name) const {
return cacheDir + name + imageext;
}