From 2abf0fc078221715abbd20c8451d300eaf787848 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 10 Feb 2011 18:04:43 +0100 Subject: abrt-gtk: make Delete key actually delete the dump dir Signed-off-by: Denys Vlasenko --- src/gui-gtk/abrt-gtk.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/gui-gtk/abrt-gtk.c') diff --git a/src/gui-gtk/abrt-gtk.c b/src/gui-gtk/abrt-gtk.c index 42b18fb4..47e0277b 100644 --- a/src/gui-gtk/abrt-gtk.c +++ b/src/gui-gtk/abrt-gtk.c @@ -1,6 +1,7 @@ #include #include #include "abrtlib.h" +#include "abrt_dbus.h" #include "abrt-gtk.h" static GtkListStore *dumps_list_store; @@ -91,7 +92,27 @@ static gint on_key_press_event_cb(GtkTreeView *treeview, GdkEventKey *key, gpoin { GValue d_dir = { 0 }; gtk_tree_model_get_value(store, &iter, COLUMN_DUMP_DIR, &d_dir); - g_print("CALL: del_event(%s)\n", g_value_get_string(&d_dir)); + const char *dump_dir_name = g_value_get_string(&d_dir); + + g_print("CALL: del_event(%s)\n", dump_dir_name); + + /* Try to delete it ourselves */ + struct dump_dir *dd = dd_opendir(dump_dir_name, DD_OPEN_READONLY); + if (dd) + { + if (dd->locked) /* it is not readonly */ + { + dd_delete(dd); + return TRUE; + } + dd_close(dd); + } + + /* Ask abrtd to do it for us */ + connect_to_abrtd_and_call_DeleteDebugDump(dump_dir_name); + +//TODO: refresh the list of crashes + } } -- cgit