mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Manually add trips from dive list context menu
We had all the logic, we were just lacking the UI. Fixes #243 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
2c57568d56
commit
5961579cda
2 changed files with 25 additions and 1 deletions
|
@ -459,6 +459,28 @@ void DiveListView::removeFromTrip()
|
||||||
reload(currentLayout, false);
|
reload(currentLayout, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DiveListView::newTripAbove()
|
||||||
|
{
|
||||||
|
dive_trip_t *trip;
|
||||||
|
int idx;
|
||||||
|
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;
|
||||||
|
rememberSelection();
|
||||||
|
trip = create_and_hookup_trip_from_dive(d);
|
||||||
|
if (d->selected) {
|
||||||
|
for_each_dive(idx, d) {
|
||||||
|
if (!d->selected)
|
||||||
|
continue;
|
||||||
|
add_dive_to_trip(d, trip);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
trip->expanded = 1;
|
||||||
|
mark_divelist_changed(TRUE);
|
||||||
|
reload(currentLayout, false);
|
||||||
|
restoreSelection();
|
||||||
|
}
|
||||||
|
|
||||||
void DiveListView::deleteDive()
|
void DiveListView::deleteDive()
|
||||||
{
|
{
|
||||||
int nr;
|
int nr;
|
||||||
|
@ -506,7 +528,8 @@ void DiveListView::contextMenuEvent(QContextMenuEvent *event)
|
||||||
popup.addAction(tr("collapse all"), this, SLOT(collapseAll()));
|
popup.addAction(tr("collapse all"), this, SLOT(collapseAll()));
|
||||||
collapseAction = popup.addAction(tr("collapse"), this, SLOT(collapseAll()));
|
collapseAction = popup.addAction(tr("collapse"), this, SLOT(collapseAll()));
|
||||||
if (d) {
|
if (d) {
|
||||||
popup.addAction(tr("remove dive from trip"), this, SLOT(removeFromTrip()));
|
popup.addAction(tr("Remove dive from trip"), this, SLOT(removeFromTrip()));
|
||||||
|
popup.addAction(tr("Create new trip above"), this, SLOT(newTripAbove()));
|
||||||
}
|
}
|
||||||
if (trip) {
|
if (trip) {
|
||||||
popup.addAction(tr("Merge trip with trip above"), this, SLOT(mergeTripAbove()));
|
popup.addAction(tr("Merge trip with trip above"), this, SLOT(mergeTripAbove()));
|
||||||
|
|
|
@ -42,6 +42,7 @@ public slots:
|
||||||
void fixMessyQtModelBehaviour();
|
void fixMessyQtModelBehaviour();
|
||||||
void mergeTripAbove();
|
void mergeTripAbove();
|
||||||
void mergeTripBelow();
|
void mergeTripBelow();
|
||||||
|
void newTripAbove();
|
||||||
void mergeDives();
|
void mergeDives();
|
||||||
void saveSelectedDivesAs();
|
void saveSelectedDivesAs();
|
||||||
void exportSelectedDivesAsUDDF();
|
void exportSelectedDivesAsUDDF();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue