diff options
Diffstat (limited to 'qt-ui/diveplanner.cpp')
-rw-r--r-- | qt-ui/diveplanner.cpp | 58 |
1 files changed, 14 insertions, 44 deletions
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index e7c1b1962..092683a4b 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -4,6 +4,7 @@ #include "modeldelegates.h" #include "ui_diveplanner.h" #include "mainwindow.h" +#include "tableview.h" #include "../dive.h" #include "../divelist.h" @@ -17,6 +18,7 @@ #include <QListView> #include <QModelIndex> #include <QSettings> +#include <QTableView> #define TIME_INITIAL_MAX 30 @@ -827,10 +829,10 @@ void Button::mousePressEvent(QGraphicsSceneMouseEvent* event) DivePlannerWidget::DivePlannerWidget(QWidget* parent, Qt::WindowFlags f): QWidget(parent, f), ui(new Ui::DivePlanner()) { ui->setupUi(this); - ui->tablePoints->setModel(DivePlannerPointsModel::instance()); - ui->tablePoints->setItemDelegateForColumn(DivePlannerPointsModel::GAS, new AirTypesDelegate(this)); - - connect(ui->tablePoints, SIGNAL(clicked(QModelIndex)), plannerModel, SLOT(removePoint(const QModelIndex))); + ui->tableWidget->setTitle(tr("Dive Planner Points")); + ui->tableWidget->setModel(DivePlannerPointsModel::instance()); + ui->tableWidget->view()->setItemDelegateForColumn(DivePlannerPointsModel::GAS, new AirTypesDelegate(this)); + connect(ui->tableWidget->view(), SIGNAL(clicked(QModelIndex)), plannerModel, SLOT(removePoint(const QModelIndex))); connect(ui->startTime, SIGNAL(timeChanged(QTime)), this, SLOT(startTimeChanged(QTime))); connect(ui->ATMPressure, SIGNAL(textChanged(QString)), this, SLOT(atmPressureChanged(QString))); connect(ui->bottomSAC, SIGNAL(textChanged(QString)), this, SLOT(bottomSacChanged(QString))); @@ -839,46 +841,8 @@ DivePlannerWidget::DivePlannerWidget(QWidget* parent, Qt::WindowFlags f): QWidge connect(ui->lowGF, SIGNAL(textChanged(QString)), this, SLOT(gflowChanged(QString))); connect(ui->highGF, SIGNAL(textChanged(QString)), this, SLOT(gfhighChanged(QString))); connect(ui->lastStop, SIGNAL(toggled(bool)), this, SLOT(lastStopChanged(bool))); - - QFile cssFile(":table-css"); - cssFile.open(QIODevice::ReadOnly); - QTextStream reader(&cssFile); - QString css = reader.readAll(); - - ui->tablePoints->setStyleSheet(css); - QFontMetrics metrics(defaultModelFont()); - - ui->tablePoints->horizontalHeader()->setResizeMode(DivePlannerPointsModel::REMOVE, QHeaderView::Fixed); - ui->tablePoints->verticalHeader()->setDefaultSectionSize( metrics.height() +8 ); - initialUiSetup(); } -void DivePlannerWidget::hideEvent(QHideEvent* event) -{ - QSettings s; - s.beginGroup("DivePlanner"); - s.beginGroup("PointTables"); - for (int i = 0; i < CylindersModel::COLUMNS; i++) { - s.setValue(QString("colwidth%1").arg(i), ui->tablePoints->columnWidth(i)); - } - s.endGroup(); - s.sync(); -} - -void DivePlannerWidget::initialUiSetup() -{ - QSettings s; - s.beginGroup("DivePlanner"); - s.beginGroup("PointTables"); - for (int i = 0; i < CylindersModel::COLUMNS; i++) { - QVariant width = s.value(QString("colwidth%1").arg(i)); - if (width.isValid()) - ui->tablePoints->setColumnWidth(i, width.toInt()); - else - ui->tablePoints->resizeColumnToContents(i); - } - s.endGroup(); -} void DivePlannerWidget::startTimeChanged(const QTime& time) { plannerModel->setStartTime(time); @@ -930,11 +894,14 @@ QVariant DivePlannerPointsModel::data(const QModelIndex& index, int role) const case GAS: return strForAir(p); } } - if (role == Qt::DecorationRole){ + else if (role == Qt::DecorationRole){ switch(index.column()){ case REMOVE : return QIcon(":trash"); } } + else if (role == Qt::FontRole){ + return defaultModelFont(); + } return QVariant(); } @@ -971,6 +938,9 @@ QVariant DivePlannerPointsModel::headerData(int section, Qt::Orientation orienta case CCSETPOINT: return tr("CC Set Point"); } } + else if (role == Qt::FontRole){ + return defaultModelFont(); + } return QVariant(); } @@ -1074,7 +1044,7 @@ divedatapoint DivePlannerPointsModel::at(int row) return divepoints.at(row); } -void DivePlannerPointsModel::removePoint(const QModelIndex& index) +void DivePlannerPointsModel::remove(const QModelIndex& index) { if (index.column() != REMOVE) return; |