summaryrefslogtreecommitdiffstats
path: root/profile-widget/profilewidget2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'profile-widget/profilewidget2.cpp')
-rw-r--r--profile-widget/profilewidget2.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp
index 62aa36114..3b61cee2f 100644
--- a/profile-widget/profilewidget2.cpp
+++ b/profile-widget/profilewidget2.cpp
@@ -1413,6 +1413,12 @@ void ProfileWidget2::contextMenuEvent(QContextMenuEvent *event)
setpointAction->setData(event->globalPos());
QAction *action = m.addAction(tr("Add bookmark"), this, SLOT(addBookmark()));
action->setData(event->globalPos());
+ QAction *OCAction = m.addAction(tr("Add OC switch"), this, SLOT(addOCSwitch()));
+ OCAction->setData(event->globalPos());
+ QAction *CCRAction = m.addAction(tr("Add CCR switch"), this, SLOT(addCCRSwitch()));
+ CCRAction->setData(event->globalPos());
+ QAction *PSCRAction = m.addAction(tr("Add PSCR switch"), this, SLOT(addPSCRSwitch()));
+ PSCRAction->setData(event->globalPos());
if (same_string(current_dc->model, "manually added dive"))
m.addAction(tr("Edit the profile"), this, SIGNAL(editCurrentDive()));
@@ -1574,6 +1580,36 @@ void ProfileWidget2::addBookmark()
replot();
}
+void ProfileWidget2::addOCSwitch()
+{
+ QAction *action = qobject_cast<QAction *>(sender());
+ QPointF scenePos = mapToScene(mapFromGlobal(action->data().toPoint()));
+ add_event(current_dc, lrint(timeAxis->valueAt(scenePos)), 8, 0, 0, "modechange");
+ invalidate_dive_cache(current_dive);
+ mark_divelist_changed(true);
+ replot();
+}
+
+void ProfileWidget2::addCCRSwitch()
+{
+ QAction *action = qobject_cast<QAction *>(sender());
+ QPointF scenePos = mapToScene(mapFromGlobal(action->data().toPoint()));
+ add_event(current_dc, lrint(timeAxis->valueAt(scenePos)), 8, 0, 1, "modechange");
+ invalidate_dive_cache(current_dive);
+ mark_divelist_changed(true);
+ replot();
+}
+
+void ProfileWidget2::addPSCRSwitch()
+{
+ QAction *action = qobject_cast<QAction *>(sender());
+ QPointF scenePos = mapToScene(mapFromGlobal(action->data().toPoint()));
+ add_event(current_dc, lrint(timeAxis->valueAt(scenePos)), 8, 0, 2, "modechange");
+ invalidate_dive_cache(current_dive);
+ mark_divelist_changed(true);
+ replot();
+}
+
void ProfileWidget2::addSetpointChange()
{
QAction *action = qobject_cast<QAction *>(sender());