summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-ui/tableview.cpp25
-rw-r--r--qt-ui/tableview.h3
-rw-r--r--qt-ui/tableview.ui46
3 files changed, 23 insertions, 51 deletions
diff --git a/qt-ui/tableview.cpp b/qt-ui/tableview.cpp
index a05b1744c..242141c26 100644
--- a/qt-ui/tableview.cpp
+++ b/qt-ui/tableview.cpp
@@ -7,8 +7,9 @@
#include <QFile>
#include <QTextStream>
#include <QSettings>
+#include <QStyle>
-TableView::TableView(QWidget *parent) : QWidget(parent)
+TableView::TableView(QWidget *parent) : QGroupBox(parent)
{
ui.setupUi(this);
ui.tableView->setItemDelegate(new DiveListDelegate(this));
@@ -25,15 +26,15 @@ TableView::TableView(QWidget *parent) : QWidget(parent)
/* There`s mostly a need for a Mac fix here too. */
if (qApp->style()->objectName() == "gtk+")
- ui.groupBox->layout()->setContentsMargins(0, 9, 0, 0);
+ layout()->setContentsMargins(0, 9, 0, 0);
else
- ui.groupBox->layout()->setContentsMargins(0, 0, 0, 0);
-
+ layout()->setContentsMargins(0, 0, 0, 0);
QIcon plusIcon(":plus");
- plusBtn = new QPushButton(plusIcon, QString(), ui.groupBox);
+ 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);
connect(plusBtn, SIGNAL(clicked(bool)), this, SIGNAL(addButtonClicked()));
}
@@ -65,11 +66,6 @@ void TableView::setBtnToolTip(const QString &tooltip)
plusBtn->setToolTip(tooltip);
}
-void TableView::setTitle(const QString &title)
-{
- ui.groupBox->setTitle(title);
-}
-
void TableView::setModel(QAbstractItemModel *model)
{
ui.tableView->setModel(model);
@@ -89,10 +85,11 @@ void TableView::setModel(QAbstractItemModel *model)
void TableView::fixPlusPosition()
{
- int x = ui.groupBox->contentsRect().width() - 2*metrics.icon->sz_small + metrics.icon->spacing;
- int y = metrics.icon->spacing;
- int sz = metrics.icon->sz_med;
- plusBtn->setGeometry(x, y, sz, sz);
+ QStyleOptionGroupBox option;
+ initStyleOption(&option);
+ QRect labelRect = style()->subControlRect(QStyle::CC_GroupBox, &option, QStyle::SC_GroupBoxLabel, this);
+ QRect contentsRect = style()->subControlRect(QStyle::CC_GroupBox, &option, QStyle::QStyle::SC_GroupBoxFrame, this);
+ plusBtn->setGeometry( contentsRect.width() - plusBtn->width(), labelRect.y(), plusBtn->width(), labelRect.height());
}
// We need to manually position the 'plus' on cylinder and weight.
diff --git a/qt-ui/tableview.h b/qt-ui/tableview.h
index 93134b206..36eef907a 100644
--- a/qt-ui/tableview.h
+++ b/qt-ui/tableview.h
@@ -16,7 +16,7 @@ class QAbstractItemModel;
class QModelIndex;
class QTableView;
-class TableView : public QWidget {
+class TableView : public QGroupBox {
Q_OBJECT
struct TableMetrics {
@@ -28,7 +28,6 @@ class TableView : public QWidget {
public:
TableView(QWidget *parent = 0);
virtual ~TableView();
- void setTitle(const QString &title);
/* The model is expected to have a 'remove' slot, that takes a QModelIndex as parameter.
* It's also expected to have the column '1' as a trash icon. I most probably should create a
* proxy model and add that column, will mark that as TODO. see? marked.
diff --git a/qt-ui/tableview.ui b/qt-ui/tableview.ui
index baa86fdd7..73867231e 100644
--- a/qt-ui/tableview.ui
+++ b/qt-ui/tableview.ui
@@ -1,48 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>TableView</class>
- <widget class="QWidget" name="TableView">
+ <widget class="QGroupBox" name="TableView">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>410</width>
- <height>309</height>
+ <width>400</width>
+ <height>300</height>
</rect>
</property>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
+ <property name="windowTitle">
+ <string>GroupBox</string>
+ </property>
+ <property name="title">
+ <string>GroupBox</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
<item>
- <widget class="QGroupBox" name="groupBox">
- <property name="title">
- <string/>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>10</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QTableView" name="tableView"/>
- </item>
- </layout>
- </widget>
+ <widget class="QTableView" name="tableView"/>
</item>
</layout>
</widget>