diff options
author | Anton Lundin <glance@acc.umu.se> | 2014-03-20 07:42:20 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-03-20 09:40:28 -0700 |
commit | 519f45416fd3d074663e232f30ead849242b2dfd (patch) | |
tree | dfc95c381d11e8860cfc9df505bbf21defdde893 /qt-ui | |
parent | a29c4ddba32b59bfffaf08b5b8160f80e2e7dc2b (diff) | |
download | subsurface-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.cpp | 13 | ||||
-rw-r--r-- | qt-ui/divelistview.h | 2 |
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 |