From c249c6c794544c44ffd8ae1ceda1c394c29dbb98 Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Thu, 26 Apr 2018 00:08:11 +0200 Subject: [PATCH] ui: Allow tooltips to be as wide as the window (issue #570) --- src/lib_gui/qt/element/QtTooltip.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/lib_gui/qt/element/QtTooltip.cpp b/src/lib_gui/qt/element/QtTooltip.cpp index 8b83193b..7a6bcfea 100644 --- a/src/lib_gui/qt/element/QtTooltip.cpp +++ b/src/lib_gui/qt/element/QtTooltip.cpp @@ -34,6 +34,13 @@ QtTooltip::~QtTooltip() void QtTooltip::setTooltipInfo(TooltipInfo info) { + int maxWidth = 600; + QWidget* parent = m_parentView ? m_parentView : parentWidget(); + if (parent) + { + maxWidth = std::max(maxWidth, parent->width() - 50); + } + if (!info.title.empty()) { addTitle(QString::fromStdWString(info.title), info.count, info.countText.c_str()); @@ -46,9 +53,9 @@ void QtTooltip::setTooltipInfo(TooltipInfo info) QtCodeField* field = new QtCodeField(1, codec.encode(snippet.code), snippet.locationFile, false); QSize size = field->sizeHint() + QSize(15, 5); - if (size.width() > 600) + if (size.width() > maxWidth) { - field->setMinimumSize(QSize(600, size.height() + QApplication::style()->pixelMetric(QStyle::PM_ScrollBarExtent))); + field->setMinimumSize(QSize(maxWidth, size.height() + QApplication::style()->pixelMetric(QStyle::PM_ScrollBarExtent))); } else {