[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