[PATCH 5/5] [HiDPI] TableView: fix button sizing

Giuseppe Bilotta giuseppe.bilotta at gmail.com
Sun Oct 19 07:15:22 PDT 2014


Ensure that there is no (clipped) overflowfrom the header.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta at gmail.com>
---
 qt-ui/tableview.cpp | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/qt-ui/tableview.cpp b/qt-ui/tableview.cpp
index 8232fb6..1dbfd89 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()));
 }
 
-- 
2.1.0.255.gcd10c46



More information about the subsurface mailing list