diff options
Diffstat (limited to 'desktop-widgets/tab-widgets/maintab.cpp')
-rw-r--r-- | desktop-widgets/tab-widgets/maintab.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
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); |