From b6ac752e32e6871fbe3226334aabc8e9af7c294b Mon Sep 17 00:00:00 2001 From: Mike Skec Date: Sun, 27 Dec 2020 18:43:19 +1100 Subject: Added page title parsing for Gemini and HTML --- src/renderers/geminirenderer.cpp | 9 ++++++++- src/renderers/geminirenderer.hpp | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'src/renderers') 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 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 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("=>")) { diff --git a/src/renderers/geminirenderer.hpp b/src/renderers/geminirenderer.hpp index 0c07cb9..65fdcf1 100644 --- a/src/renderers/geminirenderer.hpp +++ b/src/renderers/geminirenderer.hpp @@ -32,7 +32,8 @@ struct GeminiRenderer QByteArray const & input, QUrl const & root_url, DocumentStyle const & style, - DocumentOutlineModel & outline + DocumentOutlineModel & outline, + QString* const page_title = nullptr ); }; -- cgit v1.2.3