mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Fix crash on adding / removing a dives from add menu
This patch removes some inconsistencies that were happening on the add dive / cancel actions. a bit of legacy code from the old system was still in, which made things quite... EXPLOSIVE. This fixes restoring the selection only if we have a selection and not deleting the temporary dive twice. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
86d7f6ace0
commit
c3306c39f1
3 changed files with 22 additions and 21 deletions
|
@ -29,7 +29,7 @@
|
|||
#include "../qthelper.h"
|
||||
|
||||
DiveListView::DiveListView(QWidget *parent) : QTreeView(parent), mouseClickSelection(false), sortColumn(0),
|
||||
currentOrder(Qt::DescendingOrder), searchBox(this), dontEmitDiveChangedSignal(false)
|
||||
currentOrder(Qt::DescendingOrder), searchBox(this), dontEmitDiveChangedSignal(false), selectionSaved(false)
|
||||
{
|
||||
setItemDelegate(new DiveListDelegate(this));
|
||||
setUniformRowHeights(true);
|
||||
|
@ -147,10 +147,15 @@ void DiveListView::rememberSelection()
|
|||
if (d)
|
||||
selectedDives.insert(d->divetrip, get_divenr(d));
|
||||
}
|
||||
selectionSaved = true;
|
||||
}
|
||||
|
||||
void DiveListView::restoreSelection()
|
||||
{
|
||||
if (!selectionSaved)
|
||||
return;
|
||||
|
||||
selectionSaved = false;
|
||||
unselectDives();
|
||||
Q_FOREACH (dive_trip_t *trip, selectedDives.keys()) {
|
||||
QList<int> divesOnTrip = getDivesInTrip(trip);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue