From 49691b36b4087be4e930175e1d545eab27e2c8eb Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Wed, 9 Jan 2008 21:52:38 +0000 Subject: [PATCH] Backport: Only increase the height of the statusbar for long texts if the message type is not DolphinStatusBar::Default (otherwise the layout of the icons view might get changed when hovering items). svn path=/branches/KDE/4.0/kdebase/apps/; revision=759061 --- src/statusbarmessagelabel.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/statusbarmessagelabel.cpp b/src/statusbarmessagelabel.cpp index 7bc9f8fbd..e24a59add 100644 --- a/src/statusbarmessagelabel.cpp +++ b/src/statusbarmessagelabel.cpp @@ -229,15 +229,20 @@ void StatusBarMessageLabel::assureVisibleText() return; } - // calculate the required height of the widget thats - // needed for having a fully visible text - QFontMetrics fontMetrics(font()); - const QRect bounds(fontMetrics.boundingRect(0, 0, availableTextWidth(), height(), - Qt::AlignVCenter | Qt::TextWordWrap, - m_text)); - int requiredHeight = bounds.height(); - if (requiredHeight < m_minTextHeight) { - requiredHeight = m_minTextHeight; + int requiredHeight = m_minTextHeight; + if (m_type != DolphinStatusBar::Default) { + // Calculate the required height of the widget thats + // needed for having a fully visible text. Note that for the default + // statusbar type (e. g. hover information) increasing the text height + // is not wanted, as this might rearrange the layout of items. + + QFontMetrics fontMetrics(font()); + const QRect bounds(fontMetrics.boundingRect(0, 0, availableTextWidth(), height(), + Qt::AlignVCenter | Qt::TextWordWrap, m_text)); + requiredHeight = bounds.height(); + if (requiredHeight < m_minTextHeight) { + requiredHeight = m_minTextHeight; + } } // Increase/decrease the current height of the widget to the -- 2.47.3