27 if (!QFileInfo(
d->location).exists()) {
28 d->timestamp = QDateTime::currentDateTime();
38 if (!url.contains(
'/'))
return nullptr;
40 QStringList parts = url.split(
'/', Qt::SkipEmptyParts);
42 if (parts.isEmpty())
return nullptr;
44 const QString resourceType = parts[0];
46 const QString resourceFilename = parts.join(
'/');
52 qWarning() <<
"Could not create loader for" << resourceType << resourceFilename << mime;
85 if (
d->timestamp.isNull()) {
86 return QFileInfo(
d->location).lastModified();
100 if (result.size() == 1) {
101 const QString realName = result.first();
102 if (realName !=
resource->filename()) {
103 resource->setFilename(result.first());
110 qWarning() <<
"Storage plugins should implement their own checks!";
static QString mimeTypeForSuffix(const QString &suffix)
Find the mimetype for a given extension. The extension may have the form "*.xxx" or "xxx".
The KisResourceLoader class is an abstract interface class that must be implemented by actual resourc...
virtual KoResourceSP create(const QString &name)=0
static KisResourceLoaderRegistry * instance()
KisResourceLoaderBase * loader(const QString &resourceType, const QString &mimetype) const
virtual ~KisStoragePlugin()
KisStoragePlugin(const QString &location)
virtual QString resourceFilePath(const QString &url)
virtual bool supportsVersioning() const
virtual QString resourceMd5(const QString &url)
virtual bool isValid() const
virtual bool loadVersionedResource(KoResourceSP resource)=0
QScopedPointer< Private > d
virtual KoResourceSP resource(const QString &url)
void sanitizeResourceFileNameCase(KoResourceSP resource, const QDir &parentDir)