aboutsummaryrefslogtreecommitdiff
path: root/src/renderers/geminirenderer.cpp
diff options
context:
space:
mode:
authorMike Skec <skec@protonmail.ch>2020-12-27 18:43:19 +1100
committerFelix Queißner <felix@ib-queissner.de>2020-12-27 11:01:48 +0100
commitb6ac752e32e6871fbe3226334aabc8e9af7c294b (patch)
tree59aaaeaaca4abba586dce348d51f05a74ed447a4 /src/renderers/geminirenderer.cpp
parent5bfe89f71957910975ae576cf968cf1ec32db49e (diff)
downloadkristall-b6ac752e32e6871fbe3226334aabc8e9af7c294b.tar.gz
Added page title parsing for Gemini and HTML
Diffstat (limited to 'src/renderers/geminirenderer.cpp')
-rw-r--r--src/renderers/geminirenderer.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/renderers/geminirenderer.cpp b/src/renderers/geminirenderer.cpp
index f23a048..5c26e6b 100644
--- a/src/renderers/geminirenderer.cpp
+++ b/src/renderers/geminirenderer.cpp
@@ -29,7 +29,8 @@ std::unique_ptr<GeminiDocument> GeminiRenderer::render(
const QByteArray &input,
QUrl const &root_url,
DocumentStyle const & themed_style,
- DocumentOutlineModel &outline)
+ DocumentOutlineModel &outline,
+ QString* const page_title)
{
TextStyleInstance text_style { themed_style };
@@ -154,6 +155,12 @@ std::unique_ptr<GeminiDocument> GeminiRenderer::render(
cursor.insertText(heading + "\n", fmt);
outline.appendH1(heading, id);
+
+ // Use first heading as the page's title.
+ if (page_title != nullptr && page_title->isEmpty())
+ {
+ *page_title = heading;
+ }
}
else if (line.startsWith("=>"))
{