diff options
Diffstat (limited to 'src/protocols/filehandler.cpp')
| -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 |
