diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2013-08-30 13:27:15 -0300 |
---|---|---|
committer | Tomaz Canabrava <tcanabrava@kde.org> | 2013-08-30 13:27:15 -0300 |
commit | 2d0e877bb281733c94ac7f6d614914d7820c3af1 (patch) | |
tree | d9818ad2e748d300b4962380cde9e747bf263120 /qt-ui/diveplanner.cpp | |
parent | 69903903d213e45fe16f3b5a6acb52278eee9291 (diff) | |
download | subsurface-2d0e877bb281733c94ac7f6d614914d7820c3af1.tar.gz |
Added support for changing Depth and Time on the Table.
Added support for changing depth and time on the table.
It now works both ways, one can edit the planner via the
table for a fine tuning. :)
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Diffstat (limited to 'qt-ui/diveplanner.cpp')
-rw-r--r-- | qt-ui/diveplanner.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index 63b8229ad..8629791bd 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -150,6 +150,7 @@ DivePlannerGraphics::DivePlannerGraphics(QWidget* parent): QGraphicsView(parent) connect(gasListView, SIGNAL(activated(QModelIndex)), this, SLOT(selectGas(QModelIndex))); connect(DivePlannerPointsModel::instance(), SIGNAL(rowsInserted(const QModelIndex&,int,int)), this, SLOT(pointInserted(const QModelIndex&, int, int))); + connect(DivePlannerPointsModel::instance(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(createDecoStops())); setRenderHint(QPainter::Antialiasing); } @@ -905,10 +906,10 @@ QVariant DivePlannerPointsModel::data(const QModelIndex& index, int role) const if(role == Qt::DisplayRole){ divedatapoint p = divepoints.at(index.row()); switch(index.column()){ - case GAS: return tr("Air"); case CCSETPOINT: return 0; case DEPTH: return p.depth / 1000; case DURATION: return p.time / 60; + case GAS: return tr("Air"); } } if (role == Qt::DecorationRole){ @@ -921,6 +922,16 @@ QVariant DivePlannerPointsModel::data(const QModelIndex& index, int role) const bool DivePlannerPointsModel::setData(const QModelIndex& index, const QVariant& value, int role) { + if(role == Qt::EditRole){ + divedatapoint& p = divepoints[index.row()]; + switch(index.column()){ + case DEPTH: p.depth = value.toInt() * 1000; break; + case DURATION: p.time = value.toInt() * 60; break; + case CCSETPOINT: /* what do I do here? */ + case GAS: break; /* what do I do here? */ + } + editStop(index.row(), p); + } return QAbstractItemModel::setData(index, value, role); } |