#include #include #include #include #include "filehandler.h" #include "mimecache.h" QList FileHandler::schemes() { static QList list = QList() << "file" << "local"; return list; } QByteArray FileHandler::dataForUrl(const QUrl &url) const { QUrl fileUrl = url; if (fileUrl.scheme() != "file") { fileUrl.setScheme("file"); } QString requestUrl(fileUrl.toLocalFile()); QFile resource(requestUrl); QByteArray buffer; if (resource.exists() && resource.open(QIODevice::ReadOnly)) { buffer = resource.readAll(); resource.close(); } return buffer; } bool FileHandler::canHandleUrl(const QUrl &url) const { if (schemes().contains(url.scheme().toLower())) return true; return false; } QString FileHandler::mimeTypeForUrl(const QUrl &url) const { return mimeTypeForExtension(url.path().section('.', -1)); }