mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Planner: better handle the temporary dive used for planning
This still crashes when you abort the plan. And when you accept the plan, the profile stays stuck in PLAN mode. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
7feea7ccfa
commit
d1cd1eb933
3 changed files with 29 additions and 6 deletions
|
|
@ -58,7 +58,8 @@ MainWindow::MainWindow() : QMainWindow(),
|
|||
yearlyStats(0),
|
||||
yearlyStatsModel(0),
|
||||
state(VIEWALL),
|
||||
updateManager(0)
|
||||
updateManager(0),
|
||||
fakeDiveId(0)
|
||||
{
|
||||
Q_ASSERT_X(m_Instance == NULL, "MainWindow", "MainWindow recreated!");
|
||||
m_Instance = this;
|
||||
|
|
@ -372,6 +373,7 @@ void MainWindow::createFakeDiveForAddAndPlan()
|
|||
// now cheat - create one dive that we use to store the info tab data in
|
||||
//TODO: C-function create_temporary_dive ?
|
||||
struct dive *dive = alloc_dive();
|
||||
fakeDiveId = dive->id;
|
||||
dive->when = QDateTime::currentMSecsSinceEpoch() / 1000L + gettimezoneoffset();
|
||||
dive->dc.model = "manually added dive"; // don't translate! this is stored in the XML file
|
||||
|
||||
|
|
@ -386,6 +388,16 @@ void MainWindow::createFakeDiveForAddAndPlan()
|
|||
ui.InfoWidget->updateDiveInfo(selected_dive);
|
||||
}
|
||||
|
||||
void MainWindow::removeFakeDiveForAddAndPlan()
|
||||
{
|
||||
int idx;
|
||||
|
||||
if (!fakeDiveId ||
|
||||
(idx = get_idx_by_uniq_id(fakeDiveId)) == dive_table.nr)
|
||||
return;
|
||||
delete_single_dive(idx);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionDivePlanner_triggered()
|
||||
{
|
||||
if(!plannerStateClean())
|
||||
|
|
@ -409,7 +421,8 @@ void MainWindow::on_actionDivePlanner_triggered()
|
|||
createFakeDiveForAddAndPlan();
|
||||
DivePlannerPointsModel::instance()->createSimpleDive(true);
|
||||
|
||||
// disable the dive list
|
||||
// reload and then disable the dive list
|
||||
ui.ListWidget->reload(DiveTripModel::CURRENT);
|
||||
ui.ListWidget->setEnabled(false);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue