Planner: clean up the logic for starting up the planner

The existing code had no chance of every working - on so many levels.
First unselect all dives, then extract data from a selected dive?
Set up the cylinder data (which didn't work), and then clear the data
again?
What the heck.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Planner: disable the dive list when working on a plan

And reenable it when refreshing the screen.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
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>
Planner: use the gas in the first cylinder for initial plan

As Tomaz suggested, I don't need to pass the information whether we are on
the planner into the function - it's part of the DivePlannerPointsModel
and therefore already knows.

Also, we want to make sure we actually use the gas that's in the first
cylidner of the staging dive.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Planner: return Profile widget to profile state

This still crashes when canceling the plan.
And doesn't display the correct dive profile until you switch to a
different dive and back.
And Keyboard focus is wrong.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
SetFocus only works if the widget is enabled

One could argue that this makes sense...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Planner: correctly refresh the display

We were making things way too hard (and were doing things that don't need
doing, like clearing the DivePlanPointModel).

Currently we still crash after manually adding a dive or when canceling
a plan.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
No need to separately enable and switch focus to the dive list

RefreshDisplay() does this for us.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Fix manually adding dive

I'm sure canceling the plan when saving an added dive made sense at some
point for some reason. Right now it makes things crash, so let's not do
it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
[GSoC] Start DownloadFromDiveComputerClass

Right now this class is an empty shell, but I will build up
on it as I go along.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>