Delete selected charts

This commit is contained in:
Gergely Polonkai 2014-08-11 01:00:36 +02:00
parent 4a42ae40b6
commit 142284dada

View File

@ -5,6 +5,7 @@
#include <libxml/tree.h>
#include <webkit2/webkit2.h>
#include <libgd/gd-main-view.h>
#include <libgd/gd-main-view-generic.h>
#include <gtk/gtk.h>
#include <swe-glib.h>
@ -1146,6 +1147,46 @@ ag_window_delete_action(GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
GList *selection,
*item;
GtkTreeModel *model;
AgWindow *window = AG_WINDOW(user_data);
AgWindowPrivate *priv = ag_window_get_instance_private(window);
AgDb *db = ag_db_get();
selection = gd_main_view_get_selection(GD_MAIN_VIEW(priv->tab_list));
model = gd_main_view_get_model(GD_MAIN_VIEW(priv->tab_list));
for (item = selection; item; item = g_list_next(item)) {
GtkTreePath *path = item->data;
GtkTreeIter iter;
gchar *id_str;
gint id;
GError *err = NULL;
gtk_tree_model_get_iter(model, &iter, path);
gtk_tree_model_get(
model, &iter,
GD_MAIN_COLUMN_ID, &id_str,
-1
);
id = atoi(id_str);
g_free(id_str);
if (!ag_db_delete_chart(db, id, &err)) {
ag_app_message_dialog(
GTK_WIDGET(window),
GTK_MESSAGE_ERROR,
"Unable to delete chart: %s",
(err && err->message)
? err->message
: "No reason"
);
}
}
g_action_group_activate_action(G_ACTION_GROUP(window), "selection", NULL);
g_action_group_activate_action(G_ACTION_GROUP(window), "refresh", NULL);
}
static GActionEntry win_entries[] = {