From 9018f5d3553470bc4097d39a7ea36df377e05d33 Mon Sep 17 00:00:00 2001
From: Jarek Kobus <jkobus@trolltech.com>
Date: Wed, 6 Jul 2011 12:57:47 +0200
Subject: [PATCH] Make the width of details button dependent on its text

Task-number: QTCREATORBUG-5311

Change-Id: Ib50dfcb54f2cd23094ca51f2e5ce10890c92a732
Reviewed-on: http://codereview.qt.nokia.com/1166
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
---
 src/libs/utils/detailsbutton.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/libs/utils/detailsbutton.cpp b/src/libs/utils/detailsbutton.cpp
index ef38d9b409d..5aa4ef91fca 100644
--- a/src/libs/utils/detailsbutton.cpp
+++ b/src/libs/utils/detailsbutton.cpp
@@ -80,10 +80,11 @@ DetailsButton::DetailsButton(QWidget *parent) : QAbstractButton(parent), m_fader
 QSize DetailsButton::sizeHint() const
 {
     // TODO: Adjust this when icons become available!
+    const int w = fontMetrics().width(text()) + 32;
 #ifdef Q_WS_MAC
-    return QSize(80, 34);
+    return QSize(w, 34);
 #else
-    return QSize(80, 22);
+    return QSize(w, 22);
 #endif
 }
 
@@ -171,6 +172,7 @@ QPixmap DetailsButton::cacheRendering(const QSize &size, bool checked)
 
     QRect textRect = p.fontMetrics().boundingRect(text());
     textRect.setWidth(textRect.width() + 15);
+    textRect.setHeight(textRect.height() + 4);
     textRect.moveCenter(rect().center());
 
     p.drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, text());
-- 
GitLab