diff options
| author | Mike Skec <skec@protonmail.ch> | 2020-12-30 13:16:41 +1100 |
|---|---|---|
| committer | Felix Queißner <felix@ib-queissner.de> | 2020-12-30 11:10:54 +0100 |
| commit | b044dec60c0274ebf016154a26f6e1aa3eaa95d7 (patch) | |
| tree | cdb533d5591592cf4864ce593435ea2b6993c364 /src/protocols | |
| parent | c614925fd8f63cff89e2964a52994df78b710468 (diff) | |
file:// protocol now supports text/gemini
by checking file extension
Diffstat (limited to 'src/protocols')
| -rw-r--r-- | src/protocols/filehandler.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/protocols/filehandler.cpp b/src/protocols/filehandler.cpp index d26cd57..d53f13b 100644 --- a/src/protocols/filehandler.cpp +++ b/src/protocols/filehandler.cpp @@ -3,6 +3,7 @@ #include <QMimeDatabase> #include <QUrl> #include <QFile> +#include <QFileInfo> FileHandler::FileHandler() { @@ -22,9 +23,22 @@ bool FileHandler::startRequest(const QUrl &url, RequestOptions options) if (file.open(QFile::ReadOnly)) { - QMimeDatabase db; - auto mime = db.mimeTypeForUrl(url).name(); auto data = file.readAll(); + QString mime; + + // Find mime type of file. We detect text/gemini + // using the file suffix. + QString suffix = QFileInfo(file).completeSuffix(); + if (suffix == "gmi") + { + mime = "text/gemini"; + } + else + { + QMimeDatabase db; + mime = db.mimeTypeForUrl(url).name(); + } + emit this->requestComplete(data, mime); } else |
