36 lines
1.0 KiB
C++
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;
|
|
}
|