summaryrefslogtreecommitdiffstats
path: root/src/config.h
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-24 11:02:08 +0200
committerDanilo M. <danix@danix.xyz>2026-08-24 11:02:08 +0200
commitdd6f35b8f35f231ebf1511daef3dd707eaa9839d (patch)
tree2013df8d9541164bef2339aeee2ab507d976a615 /src/config.h
parentf814bb57c03e01c96ec97c2bfb2d314210a95f28 (diff)
downloadqtmaildir-dd6f35b8f35f231ebf1511daef3dd707eaa9839d.tar.gz
qtmaildir-dd6f35b8f35f231ebf1511daef3dd707eaa9839d.zip
fix(compose): default to quoting below, and focus the body on a reply
The previous commit fixed the cursor within each quote_position branch and the user still saw the old layout, because the branches were already right: what was wrong was the DEFAULT. quote_position shipped as `above`, and the layout asked for is exactly what `below` already produced, a blank line at the top with the quote underneath. So the default flips, along with the fallback for a malformed value and the warning naming it. Nothing needs an Upgrading note: compose has not been released, so no config in the wild sets this. Focus goes to the body whenever To: is already filled, which a Reply and a Forward always are. The form's first widget took it otherwise, so the user had to click into the editor before typing. A New message keeps the default, since an empty To: is genuinely the first thing to fill in. The focus test asserts on the window's focusWidget() rather than on QWidget::hasFocus(): an unshown window is never active, so hasFocus() reads false whatever the code does and would fail against a correct fix. Both directions are mutation-checked, since focusing unconditionally passes the reply case while breaking the new-message one.
Diffstat (limited to 'src/config.h')
-rw-r--r--src/config.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/config.h b/src/config.h
index 51fc1ee..3ddd76a 100644
--- a/src/config.h
+++ b/src/config.h
@@ -212,7 +212,10 @@ struct ComposeSettings
/// reply_no_quote does not).
enum class QuotePosition { Above, Below };
- QuotePosition quotePosition = QuotePosition::Above;
+ /// Below by default: the reply is typed at the top and the quote sits
+ /// under it, which is what the user asked for and what every mail client
+ /// they compare against does. Above is bottom-posting and stays available.
+ QuotePosition quotePosition = QuotePosition::Below;
/// Seeds the per-message toggle for New and Forward only. Reply and
/// Reply-all seed from whether the original carried a text/html part,