From f4e78b03800068498ab72b24f54d9d2c2ab71201 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Sat, 2 Jan 2010 19:14:29 +0100 Subject: Implemented removal of tags. --- window_tag.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'window_tag.c') diff --git a/window_tag.c b/window_tag.c index 2209572..ad3dfba 100644 --- a/window_tag.c +++ b/window_tag.c @@ -150,6 +150,40 @@ void on_tags_addbtn_clicked(GtkButton *button, gpointer user_data) { } void on_tags_rembtn_clicked(GtkButton *button, gpointer user_data) { + GtkWidget *dialog; + struct tagdialog_data_t *data; + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreeIter iter; + gchar *tagname; + guint64 tagid; + GValue value = {0}; + + data = user_data; + + selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data->tagview)); + if(!gtk_tree_selection_get_selected(selection, &model, &iter)) + return; + + gtk_tree_model_get_value(model, &iter, 3, &value); + tagid = g_value_get_uint64(&value); + g_value_unset(&value); + + gtk_tree_model_get_value(model, &iter, 2, &value); + tagname = g_value_dup_string(&value); + g_value_unset(&value); + + dialog = gtk_message_dialog_new(GTK_WINDOW(data->dialog), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "Are you sure you want to delete the tag \"%s\"?", tagname); + + g_free(tagname); + + if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_YES) { + db_remove_tag(tagid); + tagview_create_model(GTK_TREE_VIEW(data->tagview), user_data); + } + + gtk_widget_destroy(dialog); } void on_tags_selallbtn_clicked(GtkButton *button, gpointer user_data) { -- cgit v1.2.3