Bug 311541

Summary: Improved wrapping and handling of the message quote marker
Product: [Applications] kmail2 Reporter: Christian <k>
Component: composerAssignee: kdepim bugs <kdepim-bugs>
Status: REPORTED ---    
Severity: wishlist    
Priority: NOR    
Version: 4.9.3   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:

Description Christian 2012-12-11 19:49:22 UTC
This may be related to bug 271000, but it is a different suggestion (because I am not familiar with KNode).
In the Standard templates, there is only one setting for "Quote marker" (I think the default is ">" or "> "). However, this is unsatisfactory because it doesn't distinguish clearly the marker from where the text starts. E.g., if you set it to ">" and reply to a reply, the lines start like this

>>This is the original text
>>of my message...

Or if you set it to "> " and reply to a reply, the lines start like this
> > This is the original text
> > of my message...

With both options, eventually there will be line breaks that mess up the "system".

If you add the following setting: "Include space between quote marker and message?" (yes/no), then you can have the quote marker set to ">" and you can get the following:
>> This is the original
>> text of the message...

(I think it should be the default that the space is present after the markers, but not between markers.)
It would be easy to organise the wrapping (i.e., to add a marker, first strip all the markers, counting how many, then rewrap it to have space on the line for an additional marker at the start, then prepend the markers). When the text is indented the first time, two "places" have to be removed from the width allocated to the text, one for the marker and one for the space. For every subsequent indentation, only one "place" is removed.

It would greatly help implement a reasonable line wrapping, because it becomes clear where the original text starts. (That is, after the space that follows the markers.) As an advanced technique on rewrapping, it would be nice to program so that spurious spaces between the markers are also removed automatically, but this is optional.

What do you think, is this idea expressed sufficiently clearly for a clever programmer to implement that?

Reproducible: Always