diff options
-rw-r--r-- | qt-ui/diveplanner.cpp | 11 | ||||
-rw-r--r-- | qt-ui/diveplanner.h | 5 |
2 files changed, 16 insertions, 0 deletions
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index 135c21175..5c8973224 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -75,6 +75,8 @@ QVariant DivePlannerDisplay::data(const QModelIndex &index, int role) const } } else if (role == Qt::DecorationRole) { switch (index.column()) { + case REMOVE: + return QIcon(":trash"); } } else if (role == Qt::FontRole) { return defaultModelFont(); @@ -159,6 +161,15 @@ void DivePlannerDisplay::insertPoint(const struct computedPoint &p) computedPoints.append(p); } +void DivePlannerDisplay::remove(const QModelIndex &index) +{ + if (index.column() != REMOVE) + return; + + beginRemoveRows(QModelIndex(), index.row(), index.row()); + endRemoveRows(); +} + static DivePlannerPointsModel *plannerModel = DivePlannerPointsModel::instance(); DivePlannerGraphics::DivePlannerGraphics(QWidget *parent) : QGraphicsView(parent), diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h index 84ac4a817..4d3f0cbaf 100644 --- a/qt-ui/diveplanner.h +++ b/qt-ui/diveplanner.h @@ -31,6 +31,7 @@ private: public: static DivePlannerDisplay *instance(); enum Sections { + REMOVE, COMPUTED_DEPTH, COMPUTED_DURATION, COLUMNS @@ -47,6 +48,10 @@ public: void removeStops(); void addStops(); void insertPoint(const struct computedPoint &p); + +public +slots: + void remove(const QModelIndex &index); }; class DivePlannerPointsModel : public QAbstractTableModel { |