diff options
| author | Mike Skec <skec@protonmail.ch> | 2021-02-10 15:50:33 +1100 |
|---|---|---|
| committer | Felix Queißner <felix@ib-queissner.de> | 2021-02-10 10:06:15 +0100 |
| commit | b1e25a64dee20f7eb5b7fc15414fb69a7b0ace1d (patch) | |
| tree | 4a3fa888b9bf10495425536409f09316f86624cd /src/renderers/geminirenderer.cpp | |
| parent | 08e2184c9f77fa627d33c2de08addae934a2308f (diff) | |
| download | kristall-b1e25a64dee20f7eb5b7fc15414fb69a7b0ace1d.tar.gz | |
geminirenderer: readibility improvements
Values are hard-coded at the moment. Need preferences
Diffstat (limited to 'src/renderers/geminirenderer.cpp')
| -rw-r--r-- | src/renderers/geminirenderer.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
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<GeminiDocument> 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<GeminiDocument> 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<GeminiDocument> 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<GeminiDocument> 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<GeminiDocument> 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<GeminiDocument> 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! |
