+void cb_main_trcancel_activate(GtkWidget *widget, gpointer data)
+{
+ GtkTreeSelection *sel;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ int id, tag;
+ struct dc_response *resp;
+
+ if(nextsrch != -1)
+ return;
+ sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(main_downloads));
+ if(gtk_tree_selection_get_selected(sel, &model, &iter))
+ {
+ gtk_tree_model_get(model, &iter, 0, &id, -1);
+ tag = dc_queuecmd(NULL, NULL, L"cancel", L"%%i", id, NULL);
+ if((resp = dc_gettaggedrespsync(tag)) != NULL)
+ {
+ if(resp->code == 502)
+ msgbox(GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, _("You do not have permission to do that"));
+ else if(resp->code != 200)
+ msgbox(GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, _("An error occurred while trying to cancel (%i)"), resp->code);
+ dc_freeresp(resp);
+ }
+ handleresps();
+ } else {
+ return;
+ }
+}
+