Obviate the need for explicit 'remember_tree_state/restore_tree_state' calls

Instead, just keep track of the expanded state of trips as we get the
gtk callbacks for the state changes (which we need to track anyway for
the selection logic), and automatically restore the state whenever we
re-create the divelist.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Linus Torvalds 2013-02-19 13:46:37 -08:00 committed by Dirk Hohndel
parent f175c1a9d7
commit 0fd6907965
4 changed files with 50 additions and 92 deletions

View file

@ -980,9 +980,7 @@ static void autogroup_cb(GtkWidget *w, gpointer data)
autogroup = !autogroup;
if (! autogroup)
remove_autogen_trips();
remember_tree_state();
dive_list_update_dives();
restore_tree_state();
}
void set_autogroup(gboolean value)
@ -1898,7 +1896,6 @@ static void import_files(GtkWidget *w, gpointer data)
struct stat sb;
GSList *filenames = NULL;
remember_tree_state();
fs_dialog = gtk_file_chooser_dialog_new(_("Choose XML Files To Import Into Current Data File"),
GTK_WINDOW(main_window),
GTK_FILE_CHOOSER_ACTION_OPEN,
@ -1936,7 +1933,6 @@ static void import_files(GtkWidget *w, gpointer data)
free(current_def_dir);
gtk_widget_destroy(fs_dialog);
restore_tree_state();
}
void set_filename(const char *filename, gboolean force)