summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2014-07-16 19:44:06 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-07-16 16:08:22 -0700
commitbebcbfe92ac29681db0f4662b930c5f8a48448d3 (patch)
treed2a21307f9b18b6793c4a958fc2f4ce3213a81b3
parent9d4b8c8218aa042b36a32ffd6eb63162285e7fba (diff)
downloadsubsurface-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.cpp2
-rw-r--r--qt-ui/mainwindow.cpp5
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);