[PATCH] Enable posibility to add dives to trip below

Anton Lundin glance at acc.umu.se
Wed Mar 19 23:42:20 PDT 2014


When I'm on a dive trip i usually download dives multiple times to start
logging them while i still remember them. When i have already created a
trip and downloads new dives they needs to be able to be added to the
already existing trip, without relying on autogroup.

Signed-off-by: Anton Lundin <glance at acc.umu.se>
---
 qt-ui/divelistview.cpp | 13 +++++++++++++
 qt-ui/divelistview.h   |  2 ++
 2 files changed, 15 insertions(+)

diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp
index ab4e301..d9f5eb9 100644
--- a/qt-ui/divelistview.cpp
+++ b/qt-ui/divelistview.cpp
@@ -582,14 +582,26 @@ void DiveListView::newTripAbove()
 	restoreSelection();
 }
 
+void DiveListView::addToTripBelow()
+{
+	addToTrip(true);
+}
+
 void DiveListView::addToTripAbove()
 {
+	addToTrip(false);
+}
+
+void DiveListView::addToTrip(bool below)
+{
 	int idx, delta = (currentOrder == Qt::AscendingOrder) ? -1 : +1;
 	dive_trip_t *trip = NULL;
 	struct dive *pd = NULL;
 	struct dive *d = (struct dive *)contextMenuIndex.data(DiveTripModel::DIVE_ROLE).value<void *>();
 	if (!d) // shouldn't happen as we only are setting up this action if this is a dive
 		return;
+	if (below) // Should we add to the trip below instead?
+		delta *= -1;
 	rememberSelection();
 	if (d->selected) { // we are right-clicking on one of possibly many selected dive(s)
 		// find the top selected dive, depending on the list order
@@ -714,6 +726,7 @@ void DiveListView::contextMenuEvent(QContextMenuEvent *event)
 			popup.addAction(tr("remove dive(s) from trip"), this, SLOT(removeFromTrip()));
 			popup.addAction(tr("create new trip above"), this, SLOT(newTripAbove()));
 			popup.addAction(tr("add dive(s) to trip immediately above"), this, SLOT(addToTripAbove()));
+			popup.addAction(tr("add dive(s) to trip immediately below"), this, SLOT(addToTripBelow()));
 		}
 		if (trip) {
 			popup.addAction(tr("merge trip with trip above"), this, SLOT(mergeTripAbove()));
diff --git a/qt-ui/divelistview.h b/qt-ui/divelistview.h
index f395720..3079cdd 100644
--- a/qt-ui/divelistview.h
+++ b/qt-ui/divelistview.h
@@ -46,6 +46,7 @@ slots:
 	void mergeTripBelow();
 	void newTripAbove();
 	void addToTripAbove();
+	void addToTripBelow();
 	void mergeDives();
 	void saveSelectedDivesAs();
 	void exportSelectedDivesAsUDDF();
@@ -77,6 +78,7 @@ private:
 	void updateLastUsedImageDir(const QString &s);
 	void updateLastImageTimeOffset(int offset);
 	int lastImageTimeOffset();
+	void addToTrip(bool);
 };
 
 #endif // DIVELISTVIEW_H
-- 
1.8.3.2



More information about the subsurface mailing list