diff options
| author | Felix (xq) Queißner <git@mq32.de> | 2020-06-22 21:10:04 +0200 |
|---|---|---|
| committer | Felix (xq) Queißner <git@mq32.de> | 2020-06-22 21:10:04 +0200 |
| commit | 75ec461eeaa851cb5c53f4cfffc434e3e529ed1d (patch) | |
| tree | 3944737340718ca3675381aa06636045d397e780 /src/protocols/filehandler.cpp | |
| parent | 8dbfb0890560fd1cd698d06fa05ac868c4db8576 (diff) | |
Restructures the project source and cleans up a bit
Diffstat (limited to 'src/protocols/filehandler.cpp')
| -rw-r--r-- | src/protocols/filehandler.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/protocols/filehandler.cpp b/src/protocols/filehandler.cpp new file mode 100644 index 0000000..d26cd57 --- /dev/null +++ b/src/protocols/filehandler.cpp @@ -0,0 +1,45 @@ +#include "filehandler.hpp" + +#include <QMimeDatabase> +#include <QUrl> +#include <QFile> + +FileHandler::FileHandler() +{ + +} + +bool FileHandler::supportsScheme(const QString &scheme) const +{ + return (scheme == "file"); +} + +bool FileHandler::startRequest(const QUrl &url, RequestOptions options) +{ + Q_UNUSED(options) + + QFile file { url.path() }; + + if (file.open(QFile::ReadOnly)) + { + QMimeDatabase db; + auto mime = db.mimeTypeForUrl(url).name(); + auto data = file.readAll(); + emit this->requestComplete(data, mime); + } + else + { + emit this->networkError(ResourceNotFound, "The requested file does not exist!"); + } + return true; +} + +bool FileHandler::isInProgress() const +{ + return false; +} + +bool FileHandler::cancelRequest() +{ + return true; +} |
