diff options
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | desktop-widgets/tab-widgets/maintab.cpp | 12 |
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); |