From 4de44e6c9f2ef9c3ab8f5cef59e7a3fb04e08298 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Sun, 19 Oct 2014 16:15:22 +0200 Subject: TableView: fix button sizing Ensure that there is no (clipped) overflowfrom the header. Signed-off-by: Giuseppe Bilotta Signed-off-by: Dirk Hohndel --- qt-ui/tableview.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'qt-ui') diff --git a/qt-ui/tableview.cpp b/qt-ui/tableview.cpp index 8232fb604..1dbfd89eb 100644 --- a/qt-ui/tableview.cpp +++ b/qt-ui/tableview.cpp @@ -53,8 +53,19 @@ TableView::TableView(QWidget *parent) : QGroupBox(parent) plusBtn = new QPushButton(plusIcon, QString(), this); plusBtn->setFlat(true); plusBtn->setToolTip(tr("Add cylinder")); - plusBtn->setIconSize(QSize(metrics.icon->sz_small, metrics.icon->sz_small)); - plusBtn->resize(metrics.icon->sz_med, metrics.icon->sz_med); + + /* now determine the icon and button size. Since the button will be + * placed in the label, make sure that we do not overflow, as it might + * get clipped + */ + int iconSize = metrics.icon->sz_small; + int btnSize = iconSize + 2*min_gap; + if (btnSize > labelRect.height()) { + btnSize = labelRect.height(); + iconSize = btnSize - 2*min_gap; + } + plusBtn->setIconSize(QSize(iconSize, iconSize)); + plusBtn->resize(btnSize, btnSize); connect(plusBtn, SIGNAL(clicked(bool)), this, SIGNAL(addButtonClicked())); } -- cgit v1.2.3-70-g09d2