diff options
-rw-r--r-- | qt-ui/tableview.cpp | 25 | ||||
-rw-r--r-- | qt-ui/tableview.h | 3 | ||||
-rw-r--r-- | qt-ui/tableview.ui | 46 |
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> |