summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Moskovcak <jmoskovc@redhat.com>2011-03-15 16:41:21 +0100
committerJiri Moskovcak <jmoskovc@redhat.com>2011-03-15 16:41:21 +0100
commit74bc7838c0b375244bbe8696c6032162044f24ce (patch)
tree9ec4193716eae56f75b130623c1a8b5c30280651
parent749e22ca255a54e3661c73f4d8c483bf47d348bd (diff)
downloadabrt-74bc7838c0b375244bbe8696c6032162044f24ce.tar.gz
abrt-74bc7838c0b375244bbe8696c6032162044f24ce.tar.xz
abrt-74bc7838c0b375244bbe8696c6032162044f24ce.zip
gui-wizrad-gtk: load event settings from keyring if possible
-rw-r--r--src/gui-wizard-gtk/Makefile.am2
-rw-r--r--src/gui-wizard-gtk/main.c4
-rw-r--r--src/gui-wizard-gtk/wizard.c26
3 files changed, 30 insertions, 2 deletions
diff --git a/src/gui-wizard-gtk/Makefile.am b/src/gui-wizard-gtk/Makefile.am
index a44de58c..6be5a946 100644
--- a/src/gui-wizard-gtk/Makefile.am
+++ b/src/gui-wizard-gtk/Makefile.am
@@ -12,6 +12,7 @@ bug_reporting_wizard_SOURCES = \
bug_reporting_wizard_CFLAGS = \
-I$(srcdir)/../include/report -I$(srcdir)/../include \
-I$(srcdir)/../lib \
+ -I$(srcdir)/../gtk-helpers \
-DBIN_DIR=\"$(bindir)\" \
-DVAR_RUN=\"$(VAR_RUN)\" \
-DCONF_DIR=\"$(CONF_DIR)\" \
@@ -32,6 +33,7 @@ bug_reporting_wizard_CFLAGS = \
bug_reporting_wizard_LDADD = \
../lib/libreport.la \
../lib/libabrt_dbus.la \
+ ../gtk-helpers/libreportgtk.la \
$(GLIB_LIBS) \
$(GTK_LIBS) \
$(DBUS_LIBS)
diff --git a/src/gui-wizard-gtk/main.c b/src/gui-wizard-gtk/main.c
index 41ad3adc..8e00271a 100644
--- a/src/gui-wizard-gtk/main.c
+++ b/src/gui-wizard-gtk/main.c
@@ -20,6 +20,7 @@
#include "abrtlib.h"
#include "parse_options.h"
#include "wizard.h"
+#include "libreport-gtk.h"
#define PROGNAME "bug-reporting-wizard"
@@ -52,7 +53,8 @@ void reload_crash_data_from_dump_dir(void)
/* Load /etc/abrt/events/foo.{conf,xml} stuff */
load_event_config_data();
-//TODO: load overrides from keyring? Load ~/.abrt/events/foo.conf?
+ load_event_config_data_from_keyring();
+//TODO: Load ~/.abrt/events/foo.conf?
}
int main(int argc, char **argv)
diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c
index 96a939f7..9cb5a9b1 100644
--- a/src/gui-wizard-gtk/wizard.c
+++ b/src/gui-wizard-gtk/wizard.c
@@ -20,6 +20,7 @@
#include "abrtlib.h"
#include "abrt_dbus.h"
#include "wizard.h"
+#include "libreport-gtk.h"
#define DEFAULT_WIDTH 800
#define DEFAULT_HEIGHT 500
@@ -868,7 +869,8 @@ static void start_event_run(const char *event_name,
/* Load /etc/abrt/events/foo.{conf,xml} stuff */
load_event_config_data();
-//TODO: load overrides from keyring? Load ~/.abrt/events/foo.conf?
+ load_event_config_data_from_keyring();
+ //TODO: Load ~/.abrt/events/foo.conf?
GList *env_list = export_event_config(event_name);
if (spawn_next_command(state, g_dump_dir_name, event_name) < 0)
@@ -1053,6 +1055,11 @@ static void next_page(GtkAssistant *assistant, gpointer user_data)
}
}
+static void on_show_event_list_cb(GtkWidget *button, gpointer user_data)
+{
+ show_events_list_dialog(GTK_WINDOW(g_assistant));
+}
+
static void on_page_prepare(GtkAssistant *assistant, GtkWidget *page, gpointer user_data)
{
if (pages[PAGENO_BACKTRACE_APPROVAL].page_widget == page)
@@ -1218,6 +1225,23 @@ static void add_pages(void)
pages[i].page_widget = page;
+ /* add a configure button wherever it makes sense to configure events */
+ if (i == PAGENO_ANALYZE_SELECTOR
+ ||i == PAGENO_REPORTER_SELECTOR)
+ {
+ GtkWidget *configure = gtk_button_new_from_stock(GTK_STOCK_PREFERENCES);
+ g_signal_connect(G_OBJECT(configure), "clicked", G_CALLBACK(on_show_event_list_cb), NULL);
+ GtkWidget *align = gtk_alignment_new(0, 0, 0, 0);
+ GtkWidget *hbutton_box = gtk_hbox_new(false, 0);
+
+ gtk_box_pack_start(GTK_BOX(hbutton_box), configure, false, false, 0);
+ gtk_box_pack_start(GTK_BOX(hbutton_box), align, false, true, 0);
+
+ //we can do this only because we know that the page is gtk_vbox
+ gtk_box_pack_start(GTK_BOX(page), hbutton_box, false, false, 0);
+ gtk_widget_show_all(hbutton_box);
+ }
+
gtk_assistant_append_page(g_assistant, page);
/* If we set all pages to complete the wizard thinks there is nothing
* to do and shows the button "Last" which allows user to skip all pages