- If user wrote a comment or added a file, the selected event was updated to the post-create event - closes rhbz#861973
Signed-off-by: Jakub Filak jfilak@redhat.com --- src/gui-wizard-gtk/main.c | 2 +- src/gui-wizard-gtk/wizard.c | 10 +++++----- src/gui-wizard-gtk/wizard.h | 16 +++++++++++++++- 3 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/src/gui-wizard-gtk/main.c b/src/gui-wizard-gtk/main.c index c09f6d8..4748eb8 100644 --- a/src/gui-wizard-gtk/main.c +++ b/src/gui-wizard-gtk/main.c @@ -146,7 +146,7 @@ int main(int argc, char **argv)
g_custom_logger = &show_error_as_msgbox;
- update_gui_state_from_problem_data(); + update_gui_state_from_problem_data(UPDATE_SELECTED_EVENT);
/* Enter main loop */ gtk_main(); diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c index 2bd8a63..7aef587 100644 --- a/src/gui-wizard-gtk/wizard.c +++ b/src/gui-wizard-gtk/wizard.c @@ -473,7 +473,7 @@ static void save_text_if_changed(const char *name, const char *new_value) //FIXME: else: what to do with still-unsaved data in the widget?? dd_close(dd); problem_data_reload_from_dump_dir(); - update_gui_state_from_problem_data(); + update_gui_state_from_problem_data(/* don't update selected event */ 0); } }
@@ -1292,7 +1292,7 @@ static void update_ls_details_checkboxes(void) } }
-void update_gui_state_from_problem_data(void) +void update_gui_state_from_problem_data(int flags) { update_window_title(); remove_tabs_from_notebook(g_notebook); @@ -1326,7 +1326,7 @@ void update_gui_state_from_problem_data(void) G_CALLBACK(event_rb_was_toggled) );
- if (g_expert_mode) + if (flags & UPDATE_SELECTED_EVENT && g_expert_mode) { /* Update the value of currently selected event */ free(g_event_selected); @@ -1746,7 +1746,7 @@ static gboolean consume_cmd_output(GIOChannel *source, GIOCondition condition, g gtk_widget_set_sensitive(g_btn_next, true);
problem_data_reload_from_dump_dir(); - update_gui_state_from_problem_data(); + update_gui_state_from_problem_data(UPDATE_SELECTED_EVENT);
if (retval) { @@ -2635,7 +2635,7 @@ static void on_btn_add_file(GtkButton *button) if (!message) { problem_data_reload_from_dump_dir(); - update_gui_state_from_problem_data(); + update_gui_state_from_problem_data(/* don't update selected event */ 0); /* Set flags for the new item */ update_ls_details_checkboxes(); } diff --git a/src/gui-wizard-gtk/wizard.h b/src/gui-wizard-gtk/wizard.h index a6bccf7..d2caaa6 100644 --- a/src/gui-wizard-gtk/wizard.h +++ b/src/gui-wizard-gtk/wizard.h @@ -22,7 +22,21 @@ #include "internal_libreport_gtk.h"
void create_assistant(void); -void update_gui_state_from_problem_data(void); + +enum +{ + /* + * the selected event is updated to a first event wich can be applied on + * the current problem directory + */ + UPDATE_SELECTED_EVENT = 1 << 0, +}; + +/* Loads problem's data and update GUI elements according to the data. + * + * @param flags Flags to alternate the update process + */ +void update_gui_state_from_problem_data(int flags); void show_error_as_msgbox(const char *msg);
Works for me & looks alright.
On Tue, Oct 09, 2012 at 16:13:53 +0200, Jakub Filak wrote:
- If user wrote a comment or added a file, the selected event was updated to the post-create event
- closes rhbz#861973
Signed-off-by: Jakub Filak jfilak@redhat.com
src/gui-wizard-gtk/main.c | 2 +- src/gui-wizard-gtk/wizard.c | 10 +++++----- src/gui-wizard-gtk/wizard.h | 16 +++++++++++++++- 3 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/src/gui-wizard-gtk/main.c b/src/gui-wizard-gtk/main.c index c09f6d8..4748eb8 100644 --- a/src/gui-wizard-gtk/main.c +++ b/src/gui-wizard-gtk/main.c @@ -146,7 +146,7 @@ int main(int argc, char **argv)
g_custom_logger = &show_error_as_msgbox;
- update_gui_state_from_problem_data();
update_gui_state_from_problem_data(UPDATE_SELECTED_EVENT);
/* Enter main loop */ gtk_main();
diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c index 2bd8a63..7aef587 100644 --- a/src/gui-wizard-gtk/wizard.c +++ b/src/gui-wizard-gtk/wizard.c @@ -473,7 +473,7 @@ static void save_text_if_changed(const char *name, const char *new_value) //FIXME: else: what to do with still-unsaved data in the widget?? dd_close(dd); problem_data_reload_from_dump_dir();
update_gui_state_from_problem_data();
}update_gui_state_from_problem_data(/* don't update selected event */ 0);
}
@@ -1292,7 +1292,7 @@ static void update_ls_details_checkboxes(void) } }
-void update_gui_state_from_problem_data(void) +void update_gui_state_from_problem_data(int flags) { update_window_title(); remove_tabs_from_notebook(g_notebook); @@ -1326,7 +1326,7 @@ void update_gui_state_from_problem_data(void) G_CALLBACK(event_rb_was_toggled) );
- if (g_expert_mode)
- if (flags & UPDATE_SELECTED_EVENT && g_expert_mode) { /* Update the value of currently selected event */ free(g_event_selected);
@@ -1746,7 +1746,7 @@ static gboolean consume_cmd_output(GIOChannel *source, GIOCondition condition, g gtk_widget_set_sensitive(g_btn_next, true);
problem_data_reload_from_dump_dir();
update_gui_state_from_problem_data();
update_gui_state_from_problem_data(UPDATE_SELECTED_EVENT); if (retval) {
@@ -2635,7 +2635,7 @@ static void on_btn_add_file(GtkButton *button) if (!message) { problem_data_reload_from_dump_dir();
update_gui_state_from_problem_data();
update_gui_state_from_problem_data(/* don't update selected event */ 0); /* Set flags for the new item */ update_ls_details_checkboxes(); }
diff --git a/src/gui-wizard-gtk/wizard.h b/src/gui-wizard-gtk/wizard.h index a6bccf7..d2caaa6 100644 --- a/src/gui-wizard-gtk/wizard.h +++ b/src/gui-wizard-gtk/wizard.h @@ -22,7 +22,21 @@ #include "internal_libreport_gtk.h"
void create_assistant(void); -void update_gui_state_from_problem_data(void);
+enum +{
- /*
* the selected event is updated to a first event wich can be applied on
* the current problem directory
*/
- UPDATE_SELECTED_EVENT = 1 << 0,
+};
+/* Loads problem's data and update GUI elements according to the data.
- @param flags Flags to alternate the update process
- */
+void update_gui_state_from_problem_data(int flags); void show_error_as_msgbox(const char *msg);
-- 1.7.11.4
crash-catcher@lists.fedorahosted.org