diff options
author | Denys Vlasenko <dvlasenk@redhat.com> | 2011-02-10 18:04:43 +0100 |
---|---|---|
committer | Denys Vlasenko <dvlasenk@redhat.com> | 2011-02-10 18:04:43 +0100 |
commit | 2abf0fc078221715abbd20c8451d300eaf787848 (patch) | |
tree | 1dc278a78fda61ad68bcb889fd3f8c94b532900b /src/gui-gtk/abrt-gtk.c | |
parent | 394508ab25eb2a78a40cde19714e9afa2537c393 (diff) | |
download | abrt-2abf0fc078221715abbd20c8451d300eaf787848.tar.gz abrt-2abf0fc078221715abbd20c8451d300eaf787848.tar.xz abrt-2abf0fc078221715abbd20c8451d300eaf787848.zip |
abrt-gtk: make Delete key actually delete the dump dir
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'src/gui-gtk/abrt-gtk.c')
-rw-r--r-- | src/gui-gtk/abrt-gtk.c | 23 |
1 files changed, 22 insertions, 1 deletions
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 <gtk/gtk.h> #include <gdk/gdkkeysyms.h> #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 + } } |