83 if (!filename.isEmpty() && filename != res->filename()) {
89 if (!name.isEmpty() && name != res->name()) {
93 foundResources.append(qMakePair(res, penalty));
104 const bool warnAboutIncorrectMd5Fetch =
105 foundResources.isEmpty() && !md5.isEmpty();
108 if (foundResources.isEmpty()) {
109 if (!filename.isEmpty()) {
110 Q_FOREACH (
KoResourceSP res, resourcesForFilename(filename)) {
113 if (!res->active()) {
117 if (!name.isEmpty() && name != res->name()) {
121 foundResources.append(qMakePair(res, penalty));
123 }
else if (!name.isEmpty()) {
127 if (!res->active()) {
131 foundResources.append(qMakePair(res, penalty));
136 auto it = std::min_element(foundResources.begin(), foundResources.end(),
137 [] (
const QPair<KoResourceSP, int> &lhs,
138 const QPair<KoResourceSP, int> &rhs) {return lhs.second < rhs.second;});
143 if (warnAboutIncorrectMd5Fetch && result) {
144 qWarning() <<
"KisResourcesInterface::ResourceSourceAdapter::bestMatch: failed to fetch a resource using md5; falling back for filename...";
145 qWarning() <<
" requested:" <<
ppVar(md5) <<
ppVar(filename) <<
ppVar(name);
146 qWarning() <<
" found:" << result;
KoResourceSP bestMatch(const QString md5, const QString filename, const QString name)
bestMatch retrieves a resource, preferably by md5, but with filename and name as fallback for older f...