From 2d0e877bb281733c94ac7f6d614914d7820c3af1 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Fri, 30 Aug 2013 13:27:15 -0300 Subject: 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 --- qt-ui/diveplanner.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'qt-ui/diveplanner.cpp') 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); } -- cgit v1.2.3-70-g09d2