Bug 97665 - Qt::LogText interpretation of XML elements breaks source view of large mails
Summary: Qt::LogText interpretation of XML elements breaks source view of large mails
Status: RESOLVED FIXED
Alias: None
Product: kmail
Classification: Applications
Component: GUI (show other bugs)
Version: 1.7.2
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2005-01-22 19:06 UTC by Malte S. Stretz
Modified: 2008-11-07 12:00 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Malte S. Stretz 2005-01-22 19:06:59 UTC
Version:           1.7.2 (using KDE 3.3.2, Gentoo)
Compiler:          gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)
OS:                Linux (i686) release 2.6.10-gentoo-r4

From the discussion available here <http://thread.gmane.org/gmane.comp.kde.devel.kmail/34755>:

On Tuesday 14 December 2004 23:15 CET Ingo Klöcker wrote:
> On Tuesday 14 December 2004 22:47, Till Adam wrote:
> > On Tuesday 14 December 2004 22:25, Ingo Klöcker wrote:
> > > On Tuesday 14 December 2004 21:19, Ingo Klöcker wrote:
> > > > On Tuesday 14 December 2004 18:42, Malte S. Stretz wrote:
> > > > > On Tuesday 14 December 2004 18:26 CET Malte S. Stretz wrote:
> > > > > > This happens only for this very mail which is selected in the
> > > > > > inbox.
> > > > >
> > > > > Actually, this is reproducable with any mail which exceeds a
> > > > > certain size. I just did a quick search for anything bigger 1
> > > > > MiB and for each mail this display bug occurs.
> > > > >
> > > > > I still have to check if that's true with the trunk though...
> > > >
> > > > Should be the same. We use different modes for small and large (>
> > > > 0.5 MB) messages. For small messages we use Qt::PlainText
> > > > together with a QSyntaxHighlighter which nicely highlights the
> > > > headers, but for large messages this consumed way too much
> > > > memory. Therefore we use Qt::LogText without highlighter for
> > > > large messages. Unfortunately in LogText mode setCursorPosition(
> > > > 0, 0 ); after
> > > > KTextBrowser::setText( text ); is ignored and the source view is
> > > > scrolled to the bottom.
> > > >
> > > > It seems that in LogText mode RichText is interpreted. This would
> > > > explain the vanished "tags".
> > > >
> > > > I wonder why we don't use Qt::PlainText mode without highlighter
> > > > for large messages. I guess it also wasted way too much memory.
> > > > I'll re-check.
> > >
> > > Okay, here's the result.
> > >
> > > =====
> > > Memory consumption when displaying a message with a 13.1 MB
> > > attachment:
> > >
> > > with Qt::LogText                     with Qt::PlainText
> > >
> > > Before selecting message:
> > > VmData:    43260 kB                  VmData:    41120 kB
> > >
> > > After selecting message:
> > > VmData:   112188 kB  +68928 kB       VmData:   110044 kB  +68924 kB
> > >
> > > After opening mail source window:
> > > VmData:   187068 kB  +74880 kB       VmData:   572032 kB  +461988
> > > kB
> > >
> > > After closing mail source window:
> > > VmData:   187068 kB  +0 kB           VmData:   473724 kB  -98308 kB
> > >
> > > After selecting another (small) message:
> > > VmData:    85376 kB  -101692 kB      VmData:   372032 kB  -101692
> > > kB =====
> > >
> > > As we can see using Qt::PlainText is out of question for large
> > > messages since it uses approx. 6 times (74.8 MB compared to 462.0
> > > MB) the memory which is used with Qt::LogText.
> >
> > Which is exactly why I changed it, those many moons ago. :) Can we do
> > something about the tag interpretation, though?
>
> I guess we have to QStyleSheet::escape() the message source. We could
> then even boldify the headers (manually) since "LogText [...] Supports
> a very limited set of formatting tags (color, bold, underline and
> italic settings).". And if we anyway do this manually for large
> messages we can as well stop using a QSyntaxHighlighter for small
> messages and always do it manually.
>
> Regards,
> Ingo
Comment 1 Jaime Torres 2008-08-31 01:26:16 UTC
In kmail 1.10.0 (kde 4.1.60 svn trunk 838252) After writing an HTML message greater than 0.5 MiB, I see no difference in the headers.
Comment 2 Michael Leupold 2008-11-07 12:00:36 UTC
Can't reproduce in 1.10.1 either.