diff options
author | John Tapsell <john.tapsell.ext@basyskom.de> | 2010-05-24 17:45:05 +0900 |
---|---|---|
committer | Tomas Junnonen <tomas.junnonen@nokia.com> | 2010-05-24 15:00:47 +0300 |
commit | 7e8f1efc031a41672cce1ed19046af4324d7b7d4 (patch) | |
tree | c13b85004df32bf60be79609916041ba2b3bdeb9 /src/views/mlabelview_simple.cpp | |
parent | 6f8be428a63bfbc1f06eea00a64bcb25111c16c5 (diff) |
Fixes: MB#169672 - MLabel is not showing the whole text when Qt::escape() some plain text *without* any tag inside
RevBy: Symbio
Details:
MLabelViewSimple - fix size hint to take line wrapping into account
Diffstat (limited to 'src/views/mlabelview_simple.cpp')
-rw-r--r-- | src/views/mlabelview_simple.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/views/mlabelview_simple.cpp b/src/views/mlabelview_simple.cpp index 7a2c5c11..e5d44198 100644 --- a/src/views/mlabelview_simple.cpp +++ b/src/views/mlabelview_simple.cpp @@ -167,7 +167,8 @@ QSizeF MLabelViewSimple::sizeHint(Qt::SizeHint which, const QSizeF &constraint) r.setHeight(QWIDGETSIZE_MAX); } - QRectF bR(fm.boundingRect(r, viewPrivate->textOptions.alignment() | Qt::TextSingleLine, + Qt::TextFlag wrap = viewPrivate->controller->wordWrap() ? Qt::TextWordWrap : Qt::TextSingleLine; + QRectF bR(fm.boundingRect(r, viewPrivate->textOptions.alignment() | wrap, viewPrivate->model()->text())); return QSizeF(fm.width("x"), bR.height()); @@ -188,7 +189,8 @@ QSizeF MLabelViewSimple::sizeHint(Qt::SizeHint which, const QSizeF &constraint) QFontMetricsF fm(viewPrivate->controller->font()); - QRectF bR(fm.boundingRect(QRectF(0, 0, w, h), viewPrivate->textOptions.alignment() | Qt::TextSingleLine, + Qt::TextFlag wrap = viewPrivate->controller->wordWrap() ? Qt::TextWordWrap : Qt::TextSingleLine; + QRectF bR(fm.boundingRect(QRectF(0, 0, w, h), viewPrivate->textOptions.alignment() | wrap, viewPrivate->model()->text())); return bR.size().boundedTo(QSizeF(w, h)); } @@ -223,6 +225,7 @@ bool MLabelViewSimple::updateData(const QList<const char *>& modifications) } else { viewPrivate->textOptions.setWrapMode(QTextOption::ManualWrap); } + needUpdate = true; } else if (member == MLabelModel::TextDirection) { needUpdate = true; viewPrivate->textOptions.setTextDirection(viewPrivate->model()->textDirection()); |