From: "Lubomir I. Ivanov" <[email protected]> The Dive::put_notes() does not handle HTML formatting or line breaks properly. Apparently Grantlee supports HTML variables, but the planned notes (which are HTML) look very bad when inserted in the Grantlee template - e.g. the text is huge and the table box is cut for some odd reason. I don't have a good solution for these issues ATM; especially for the "table cell being cut part".
An important feature in the dive notes is to support line breaks. This patch adds support for line breaks both in planned dive notes and non-planned dive notes via the <br> tag. This makes the planned dive notes look tolerable. The next step would be to support the <br> tag, which has to happen in the bundled templates them self. Signed-off-by: Lubomir I. Ivanov <[email protected]> --- Gehad did not add support for HTML text in the dive notes and i couldn't find information about it. apparently you need to do: {{ some_grantlee_var|safe }} (note the 'safe' part) to tell Grantlee that this variable is HTML escaped already. The next patch in these series will add support for that in the templates! --- subsurface-core/qthelper.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/subsurface-core/qthelper.cpp b/subsurface-core/qthelper.cpp index 091e714..5b499b0 100644 --- a/subsurface-core/qthelper.cpp +++ b/subsurface-core/qthelper.cpp @@ -214,15 +214,25 @@ void Dive::put_temp() void Dive::put_notes() { + m_notes = QString::fromUtf8(dive->notes); + if (m_notes.isEmpty()) { + m_notes = "--"; + return; + } if (same_string(dive->dc.model, "planned dive")) { QTextDocument notes; - notes.setHtml(QString::fromUtf8(dive->notes)); + QString notesFormatted = m_notes; +#define _NOTES_BR "\n" + notesFormatted = notesFormatted.replace("<thead>", "<thead>"_NOTES_BR); + notesFormatted = notesFormatted.replace("<br>", "<br>"_NOTES_BR); + notesFormatted = notesFormatted.replace("<tr>", "<tr>"_NOTES_BR); + notesFormatted = notesFormatted.replace("</tr>", "</tr>"_NOTES_BR); + notes.setHtml(notesFormatted); m_notes = notes.toPlainText(); + m_notes.replace(_NOTES_BR, "<br>"); +#undef _NOTES_BR } else { - m_notes = QString::fromUtf8(dive->notes); - } - if (m_notes.isEmpty()) { - m_notes = "--"; + m_notes.replace("\n", "<br>"); } } -- 1.7.11.msysgit.0 _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
