aboutsummaryrefslogtreecommitdiff
path: root/src/renderers/geminirenderer.cpp
diff options
context:
space:
mode:
authorMike Skec <skec@protonmail.ch>2021-02-10 15:50:33 +1100
committerFelix Queißner <felix@ib-queissner.de>2021-02-10 10:06:15 +0100
commitb1e25a64dee20f7eb5b7fc15414fb69a7b0ace1d (patch)
tree4a3fa888b9bf10495425536409f09316f86624cd /src/renderers/geminirenderer.cpp
parent08e2184c9f77fa627d33c2de08addae934a2308f (diff)
downloadkristall-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.cpp16
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!