aboutsummaryrefslogtreecommitdiff
path: root/src/views/mlabelview_simple.cpp
diff options
context:
space:
mode:
authorJohn Tapsell <john.tapsell.ext@basyskom.de>2010-05-24 17:45:05 +0900
committerTomas Junnonen <tomas.junnonen@nokia.com>2010-05-24 15:00:47 +0300
commit7e8f1efc031a41672cce1ed19046af4324d7b7d4 (patch)
treec13b85004df32bf60be79609916041ba2b3bdeb9 /src/views/mlabelview_simple.cpp
parent6f8be428a63bfbc1f06eea00a64bcb25111c16c5 (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.cpp7
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());