summaryrefslogtreecommitdiffstats
path: root/subsurface-core/qthelper.cpp
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2015-11-15 23:01:17 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-15 21:06:46 -0800
commit00a085f858f64768456d25a200e2e3477c1fda7e (patch)
tree5002fbc07c3e2062fca1d1795ccea703087650fc /subsurface-core/qthelper.cpp
parent6cb30ba1b68805e0a7306cd6f54da4afe3148d4b (diff)
downloadsubsurface-00a085f858f64768456d25a200e2e3477c1fda7e.tar.gz
qthelper.cpp: support line breaks for notes when printing
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 <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-core/qthelper.cpp')
-rw-r--r--subsurface-core/qthelper.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/subsurface-core/qthelper.cpp b/subsurface-core/qthelper.cpp
index 091e714de..5b499b068 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 "&#92n"
+ 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>");
}
}