On 11/23/2012 01:14 PM, Denys Vlasenko wrote:
On 11/22/2012 04:51 PM, Jiri Moskovcak wrote:
configure.ac | 3 + libreport.spec.in | 16 ++ po/POTFILES.in | 27 +-- src/Makefile.am | 2 +- src/cli/cli-report.c | 8 +- src/gtk-helpers/Makefile.am | 5 +- src/gtk-helpers/config_dialog.c | 216 ++++++++++++++++++++++++ src/gtk-helpers/event_config_dialog.c | 279 +++++++++++++++---------------- src/gtk-helpers/internal_libreport_gtk.h | 20 ++- src/gtk-helpers/secrets.c | 4 +- src/gtk-helpers/workflow_config_dialog.c | 119 +++++++++++++ src/gui-wizard-gtk/Makefile.am | 1 + src/gui-wizard-gtk/main.c | 10 +- src/gui-wizard-gtk/wizard.c | 111 +++++++++--- src/gui-wizard-gtk/wizard.glade | 20 ++- src/gui-wizard-gtk/wizard.h | 2 +- src/include/Makefile.am | 2 + src/include/config_item_info.h | 45 +++++ src/include/event_config.h | 19 ++- src/include/file_obj.h | 2 + src/include/internal_libreport.h | 3 + src/include/workflow.h | 51 ++++++ src/lib/Makefile.am | 6 +- src/lib/config_item_info.c | 85 ++++++++++ src/lib/event_config.c | 51 +++++- src/lib/event_xml_parser.c | 19 ++- src/lib/workflow.c | 146 ++++++++++++++++ src/lib/workflow_xml_parser.c | 173 +++++++++++++++++++ src/report-newt/report-newt.c | 8 +- src/workflows/Makefile.am | 10 ++ src/workflows/report_Fedora.xml.in | 13 ++ src/workflows/report_fedora.conf | 3 + 32 files changed, 1269 insertions(+), 210 deletions(-) create mode 100644 src/gtk-helpers/config_dialog.c create mode 100644 src/gtk-helpers/workflow_config_dialog.c create mode 100644 src/include/config_item_info.h create mode 100644 src/include/workflow.h create mode 100644 src/lib/config_item_info.c create mode 100644 src/lib/workflow.c create mode 100644 src/lib/workflow_xml_parser.c create mode 100644 src/workflows/Makefile.am create mode 100644 src/workflows/report_Fedora.xml.in create mode 100644 src/workflows/report_fedora.conf
Let's split it in smaller patches.
Say, we can start with global s/x->screen_name/ec_get_screen_name(x)/g change.
(Having a 2-deep call chain to fetch a word: ... +const char *ec_get_screen_name(event_config_t *ec) +{
- return ci_get_screen_name(ec->info);
+} ... +const char *ci_get_screen_name(config_item_info_t *ci) +{
- return ci->screen_name;
+} ... hurts my feelings :] Let's inline them? )
- ok, no problem
Other bits which can be applied separately:
diff -x '*.po' -d -urpN libreport.6/src/gui-wizard-gtk/wizard.c libreport.7/src/gui-wizard-gtk/wizard.c --- libreport.6/src/gui-wizard-gtk/wizard.c 2012-11-14 12:05:22.000000000 +0100 +++ libreport.7/src/gui-wizard-gtk/wizard.c 2012-11-23 13:13:31.720807837 +0100 @@ -162,8 +162,8 @@ enum {
- instead of strcmp.
*/ static const gchar PAGE_SUMMARY[] = "page_0"; -static const gchar PAGE_EVENT_SELECTOR[] = "page_2"; -static const gchar PAGE_EDIT_COMMENT[] = "page_1"; +static const gchar PAGE_EVENT_SELECTOR[] = "page_1"; +static const gchar PAGE_EDIT_COMMENT[] = "page_2"; static const gchar PAGE_EDIT_ELEMENTS[] = "page_3"; static const gchar PAGE_REVIEW_DATA[] = "page_4"; static const gchar PAGE_EVENT_PROGRESS[] = "page_5"; @@ -1099,7 +1099,9 @@ static event_gui_data_t *add_event_butto event_name = event_name_end + 1;
gtk_box_pack_start(box, button, /*expand*/ false, /*fill*/ false, /*padding*/ 0);
gtk_widget_show_all(GTK_WIDGET(button)); }
gtk_widget_show_all(GTK_WIDGET(box));
return active_button; }
diff -x '*.po' -d -urpN libreport.6/src/gui-wizard-gtk/wizard.glade libreport.7/src/gui-wizard-gtk/wizard.glade --- libreport.6/src/gui-wizard-gtk/wizard.glade 2012-11-14 12:05:22.000000000 +0100 +++ libreport.7/src/gui-wizard-gtk/wizard.glade 2012-11-23 13:13:43.493771487 +0100 @@ -83,7 +83,7 @@ <object class="GtkWindow" id="window1"> <property name="can_focus">False</property> <child>
<object class="GtkVBox" id="page_1">
<object class="GtkVBox" id="page_2"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="border_width">10</property>
@@ -177,7 +177,7 @@ <object class="GtkWindow" id="window2"> <property name="can_focus">False</property> <child>
<object class="GtkVBox" id="page_2">
<object class="GtkVBox" id="page_1"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="border_width">10</property>
diff -x '*.po' -d -urpN libreport.6/src/lib/event_xml_parser.c libreport.7/src/lib/event_xml_parser.c --- libreport.6/src/lib/event_xml_parser.c 2012-11-14 12:05:15.000000000 +0100 +++ libreport.7/src/lib/event_xml_parser.c 2012-11-23 13:13:31.723807834 +0100 @@ -463,6 +463,7 @@ static void error(GMarkupParseContext *c
void load_event_description_from_file(event_config_t *event_config, const char* filename) {
- VERB1 log("loading event: '%s'", filename); struct my_parse_data parse_data = { event_config, NULL, NULL, NULL }; parse_data.cur_locale = setlocale(LC_ALL, NULL);
- ok I'll try, but I'm not sure if it makes sense to have this as a separate commit as it will break some of our use-cases which made us to switch these pages