summaryrefslogtreecommitdiffstats
path: root/qt-ui/diveplanner.cpp
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-08-30 13:27:15 -0300
committerGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-08-30 13:27:15 -0300
commit2d0e877bb281733c94ac7f6d614914d7820c3af1 (patch)
treed9818ad2e748d300b4962380cde9e747bf263120 /qt-ui/diveplanner.cpp
parent69903903d213e45fe16f3b5a6acb52278eee9291 (diff)
downloadsubsurface-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.cpp13
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);
}