diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2023-08-10 17:43:14 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2023-08-22 13:41:49 +0000 |
commit | 2f6bec1d485c075075bd11073796f5b32e2fa342 (patch) | |
tree | 4e07e49784e54b0c09765260c9859354ca45f571 | |
parent | 3024c1314e8bfea9e9b3fb603417a03cf60552c0 (diff) |
ProjectExplorer: Fix clipping problem in issues pane
Add the missing call to QTextDocument::setTextWidth() in the delegate's
paint() method, add a workaround for invalid QStyleOption::rect in
sizeHint(), take item indentation into account.
Fixes: QTCREATORBUG-29458
Change-Id: I56d9f942d6c82dfac82d357ca0f16138ed39150d
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
-rw-r--r-- | src/plugins/projectexplorer/taskwindow.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index 7bad834230..dfc72e667f 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -623,6 +623,7 @@ void TaskDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, painter->save(); m_doc.setHtml(options.text); + m_doc.setTextWidth(options.rect.width()); options.text = ""; options.widget->style()->drawControl(QStyle::CE_ItemViewItem, &options, painter); painter->translate(options.rect.left(), options.rect.top()); @@ -650,9 +651,12 @@ QSize TaskDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelInd return QStyledItemDelegate::sizeHint(option, index); QStyleOptionViewItem options = option; + options.initFrom(options.widget); initStyleOption(&options, index); m_doc.setHtml(options.text); - m_doc.setTextWidth(options.rect.width()); + const auto view = qobject_cast<const QTreeView *>(options.widget); + QTC_ASSERT(view, return {}); + m_doc.setTextWidth(view->width() * 0.85 - view->indentation()); return QSize(m_doc.idealWidth(), m_doc.size().height()); } |