---
src/gui-wizard-gtk/main.c | 6 ++++++
src/gui-wizard-gtk/wizard.c | 12 +++++++++++-
2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/src/gui-wizard-gtk/main.c b/src/gui-wizard-gtk/main.c
index 6c37139..66402f2 100644
--- a/src/gui-wizard-gtk/main.c
+++ b/src/gui-wizard-gtk/main.c
@@ -63,10 +63,16 @@ void reload_problem_data_from_dump_dir(void)
if (old_item)
{
new_item->selected_by_user = old_item->selected_by_user;
+ new_item->allowed_by_reporter = old_item->allowed_by_reporter;
+ new_item->default_by_reporter = old_item->default_by_reporter;
+ new_item->required_by_reporter = old_item->required_by_reporter;
}
else
{
new_item->selected_by_user = 0;
+ new_item->allowed_by_reporter = 0;
+ new_item->default_by_reporter = 0;
+ new_item->required_by_reporter = 0;
}
//log("%s: was ->selected_by_user=%d", __func__,
new_item->selected_by_user);
}
diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c
index 0279f83..3494125 100644
--- a/src/gui-wizard-gtk/wizard.c
+++ b/src/gui-wizard-gtk/wizard.c
@@ -971,6 +971,17 @@ static void append_item_to_ls_details(gpointer name, gpointer value,
gpointer da
-1);
free(msg);
}
+
+ int cur_value;
+ if (item->selected_by_user == 0)
+ cur_value = item->default_by_reporter;
+ else
+ cur_value = !!(item->selected_by_user + 1); /* map -1,1 to 0,1 */
+
+ gtk_list_store_set(g_ls_details, &iter,
+ DETAIL_COLUMN_CHECKBOX, cur_value,
+ -1);
+}
}
/* Update collector/reporter checkboxes according to events parameter.
@@ -2173,7 +2184,6 @@ static void on_btn_add_file(GtkButton *button)
}
if (!message)
{
-// FIXME: this destroys checkbox settings for each item!
reload_problem_data_from_dump_dir();
update_gui_state_from_problem_data();
}
--
1.7.6.2