diff options
-rw-r--r-- | qt-ui/models.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp index 6a1e007b7..9950ed339 100644 --- a/qt-ui/models.cpp +++ b/qt-ui/models.cpp @@ -1536,7 +1536,23 @@ bool TablePrintModel::setData(const QModelIndex &index, const QVariant &value, i case 3: list.at(index.row())->duration = value.toString(); case 4: list.at(index.row())->divemaster = value.toString(); case 5: list.at(index.row())->buddy = value.toString(); - case 6: list.at(index.row())->location = value.toString(); + case 6: { + /* truncate if there are more than N lines of text, + * we don't want a row to be larger that a single page! */ + QString s = value.toString(); + const int maxLines = 15; + int count = 0; + for (int i = 0; i < s.length(); i++) { + if (s.at(i) != QChar('\n')) + continue; + count++; + if (count > maxLines) { + s = s.left(i - 1); + break; + } + } + list.at(index.row())->location = s; + } } return true; } |