summaryrefslogtreecommitdiffstats
path: root/src/gui-gtk/abrt-gtk.c
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2011-02-10 18:04:43 +0100
committerDenys Vlasenko <dvlasenk@redhat.com>2011-02-10 18:04:43 +0100
commit2abf0fc078221715abbd20c8451d300eaf787848 (patch)
tree1dc278a78fda61ad68bcb889fd3f8c94b532900b /src/gui-gtk/abrt-gtk.c
parent394508ab25eb2a78a40cde19714e9afa2537c393 (diff)
downloadabrt-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.c23
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
+
}
}