summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Anton Lundin <glance@acc.umu.se>2014-03-20 07:42:20 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-03-20 09:40:28 -0700
commit519f45416fd3d074663e232f30ead849242b2dfd (patch)
treedfc95c381d11e8860cfc9df505bbf21defdde893 /qt-ui
parenta29c4ddba32b59bfffaf08b5b8160f80e2e7dc2b (diff)
downloadsubsurface-519f45416fd3d074663e232f30ead849242b2dfd.tar.gz
Enable posibility to add dives to trip below
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@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/divelistview.cpp13
-rw-r--r--qt-ui/divelistview.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp
index ab4e301ad..d9f5eb93b 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 f395720bd..3079cddab 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