aboutsummaryrefslogtreecommitdiff
path: root/src/renderers/geminirenderer.cpp
diff options
context:
space:
mode:
authorMike Skec <skec@protonmail.ch>2021-02-28 10:11:01 +1100
committerFelix Queißner <felix@ib-queissner.de>2021-02-28 12:11:51 +0100
commitc14d071e1e883891e96d908a1054929a291748ff (patch)
treeacdadbe9a1d7f5ee3046c9052cd1434eb96ce049 /src/renderers/geminirenderer.cpp
parentca4c2f0a95d609db8c5c9449a8cd5ddc317bd3d3 (diff)
downloadkristall-c14d071e1e883891e96d908a1054929a291748ff.tar.gz
GeminiRenderer: add centred first H1 capability
Pref added in next commit
Diffstat (limited to 'src/renderers/geminirenderer.cpp')
-rw-r--r--src/renderers/geminirenderer.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/renderers/geminirenderer.cpp b/src/renderers/geminirenderer.cpp
index 6f3bd0c..c55e0e6 100644
--- a/src/renderers/geminirenderer.cpp
+++ b/src/renderers/geminirenderer.cpp
@@ -51,6 +51,8 @@ std::unique_ptr<GeminiDocument> GeminiRenderer::render(
QTextList *current_list = nullptr;
bool blockquote = false;
+ bool centre_first_h1 = true;
+
outline.beginBuild();
int anchor_id = 0;
@@ -193,7 +195,20 @@ std::unique_ptr<GeminiDocument> GeminiRenderer::render(
*page_title = heading;
}
- cursor.setBlockFormat(text_style.heading_format);
+ // Centre the first heading. We can't use the above code block
+ // for this because it doesn't get run on every re-render of the page
+ if (centre_first_h1)
+ {
+ auto f = text_style.heading_format;
+ f.setAlignment(Qt::AlignCenter);
+ cursor.setBlockFormat(f);
+ centre_first_h1 = false;
+ }
+ else
+ {
+ cursor.setBlockFormat(text_style.heading_format);
+ }
+
cursor.insertText(replace_quotes(heading), fmt);
cursor.insertText("\n", text_style.standard);
}