aboutsummaryrefslogtreecommitdiff
path: root/src/protocols
diff options
context:
space:
mode:
authorMike Skec <skec@protonmail.ch>2020-12-30 13:16:41 +1100
committerFelix Queißner <felix@ib-queissner.de>2020-12-30 11:10:54 +0100
commitb044dec60c0274ebf016154a26f6e1aa3eaa95d7 (patch)
treecdb533d5591592cf4864ce593435ea2b6993c364 /src/protocols
parentc614925fd8f63cff89e2964a52994df78b710468 (diff)
file:// protocol now supports text/gemini
by checking file extension
Diffstat (limited to 'src/protocols')
-rw-r--r--src/protocols/filehandler.cpp18
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