From b1e25a64dee20f7eb5b7fc15414fb69a7b0ace1d Mon Sep 17 00:00:00 2001 From: Mike Skec Date: Wed, 10 Feb 2021 15:50:33 +1100 Subject: geminirenderer: readibility improvements Values are hard-coded at the moment. Need preferences --- src/renderers/geminirenderer.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/renderers/geminirenderer.cpp') diff --git a/src/renderers/geminirenderer.cpp b/src/renderers/geminirenderer.cpp index e7d18b5..1887dab 100644 --- a/src/renderers/geminirenderer.cpp +++ b/src/renderers/geminirenderer.cpp @@ -77,6 +77,7 @@ std::unique_ptr GeminiRenderer::render( { if (current_list == nullptr) { + cursor.setBlockFormat(text_style.list_format); cursor.deletePreviousChar(); current_list = cursor.insertList(QTextListFormat::ListDisc); } @@ -129,7 +130,9 @@ std::unique_ptr GeminiRenderer::render( fmt.setAnchor(true); fmt.setAnchorNames(QStringList { id }); - cursor.insertText(heading + "\n", fmt); + cursor.setBlockFormat(text_style.heading_format); + cursor.insertText(heading, fmt); + cursor.insertText("\n", text_style.standard); outline.appendH3(heading, id); } else if (line.startsWith("##")) @@ -141,7 +144,9 @@ std::unique_ptr GeminiRenderer::render( fmt.setAnchor(true); fmt.setAnchorNames(QStringList { id }); - cursor.insertText(heading + "\n", fmt); + cursor.setBlockFormat(text_style.heading_format); + cursor.insertText(heading, fmt); + cursor.insertText("\n", text_style.standard); outline.appendH2(heading, id); } else if (line.startsWith("#")) @@ -153,7 +158,9 @@ std::unique_ptr GeminiRenderer::render( fmt.setAnchor(true); fmt.setAnchorNames(QStringList { id }); - cursor.insertText(heading + "\n", fmt); + cursor.setBlockFormat(text_style.heading_format); + cursor.insertText(heading, fmt); + cursor.insertText("\n", text_style.standard); outline.appendH1(heading, id); // Use first heading as the page's title. @@ -220,6 +227,7 @@ std::unique_ptr GeminiRenderer::render( fmt.setAnchor(true); fmt.setAnchorHref(absolute_url.toString()); + cursor.setBlockFormat(text_style.link_format); cursor.insertText(prefix + title + suffix + "\n", fmt); } else if (line.startsWith("```")) @@ -228,6 +236,8 @@ std::unique_ptr GeminiRenderer::render( } else { + cursor.setBlockFormat(text_style.standard_format); + if(emit_fancy_text) { // TODO: Fix UTF-8 encoding here… Don't emit single characters but always spans! -- cgit v1.2.3