diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2014-07-16 19:44:06 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-07-16 16:08:22 -0700 |
commit | bebcbfe92ac29681db0f4662b930c5f8a48448d3 (patch) | |
tree | d2a21307f9b18b6793c4a958fc2f4ce3213a81b3 | |
parent | 9d4b8c8218aa042b36a32ffd6eb63162285e7fba (diff) | |
download | subsurface-bebcbfe92ac29681db0f4662b930c5f8a48448d3.tar.gz |
Desselects the trip before dive add / plan, and reselects it on cancel
When we had a trip selected, we ignored that and simply called
the DiveAdd functions, but the mainTab code that deal with selections
to show one or more dives or trips asked how many trips were selected
to the DiveList, and since a trip was selected things go kabum.
Fixes #606
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-ui/maintab.cpp | 2 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index 439e114df..4c46d36ac 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -808,6 +808,8 @@ void MainTab::rejectChanges() resetPallete(); // no harm done to call cancelPlan even if we were not in ADD or PLAN mode... DivePlannerPointsModel::instance()->cancelPlan(); + if(lastMode == ADD) + MainWindow::instance()->dive_list()->restoreSelection(); // now make sure that the correct dive is displayed if (selected_dive >= 0) diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 6e6859e2f..c84766038 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -470,6 +470,11 @@ void MainWindow::on_actionAddDive_triggered() if(!plannerStateClean()) return; + if (dive_list()->selectedTrips().count() >= 1){ + dive_list()->rememberSelection(); + dive_list()->clearSelection(); + } + ui.ListWidget->endSearch(); DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::ADD); |