Dive list: move trip selection / deselection logic to divelist.c

This is core logic, not UI code.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Dive list: work around odd problem with selections

According to the documentation clearSelection() should emit
selectionChanged() - but I can verify in the debugger that sometimes this
doesn't appear to happen - consequently our notion of what's selected gets
confused.

To work around this, after calling clearSelection() we simply manuall
deselect all dives.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Dive list: move trip merging logic into divelist.c

This also fixes a couple of issues with the existing code:
- removes a memory leak
- treats null and "" the same

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Rename the export dialog

Give the export dialog a better name than just dialog.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>