summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--desktop-widgets/tab-widgets/maintab.cpp12
2 files changed, 9 insertions, 4 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 810838d54..b6dd1adc5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,4 @@
+- Desktop: Don't destroy format of planner notes when editing dive notes [#2265]
- Desktop: fix crash when saving subtitles or profile picture
---
* Always add new entries at the very top of this file above other existing entries and this note.
diff --git a/desktop-widgets/tab-widgets/maintab.cpp b/desktop-widgets/tab-widgets/maintab.cpp
index 613398109..5c6e5104c 100644
--- a/desktop-widgets/tab-widgets/maintab.cpp
+++ b/desktop-widgets/tab-widgets/maintab.cpp
@@ -369,11 +369,15 @@ bool MainTab::isEditing()
return editMode != NONE;
}
+static bool isHtml(const QString &s)
+{
+ return s.contains("<div", Qt::CaseInsensitive) || s.contains("<table", Qt::CaseInsensitive);
+}
+
void MainTab::updateNotes(const struct dive *d)
{
QString tmp(d->notes);
- if (tmp.indexOf("<div") != -1) {
- tmp.replace(QString("\n"), QString("<br>"));
+ if (isHtml(tmp)) {
ui.notes->setHtml(tmp);
} else {
ui.notes->setPlainText(tmp);
@@ -881,8 +885,8 @@ void MainTab::on_notes_editingFinished()
if (!currentTrip && !current_dive)
return;
- QString notes = ui.notes->toHtml().indexOf("<div") != -1 ?
- ui.notes->toHtml() : ui.notes->toPlainText();
+ QString html = ui.notes->toHtml();
+ QString notes = isHtml(html) ? html : ui.notes->toPlainText();
if (currentTrip)
Command::editTripNotes(currentTrip, notes);