summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-ui/diveplanner.cpp11
-rw-r--r--qt-ui/diveplanner.h5
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 {