pidgin/gtkcertmgr.c

branch
soc.2007.certmgr
changeset 19006
ffeab9433f97
parent 19005
13826b25788c
child 19360
07fb474c019a
equal deleted inserted replaced
19005:13826b25788c 19006:ffeab9433f97
351 g_free(subject); 351 g_free(subject);
352 g_free(id); 352 g_free(id);
353 } 353 }
354 354
355 static void 355 static void
356 tls_peers_mgmt_delete_confirm_cb(gchar *id, gint choice)
357 {
358 if (1 == choice) {
359 /* Yes, delete was confirmed */
360 /* Now delete the thing */
361 g_assert(purple_certificate_pool_delete(tpm_dat->tls_peers, id));
362 }
363
364 g_free(id);
365 }
366
367 static void
356 tls_peers_mgmt_delete_cb(GtkWidget *button, gpointer data) 368 tls_peers_mgmt_delete_cb(GtkWidget *button, gpointer data)
357 { 369 {
358 GtkTreeSelection *select = tpm_dat->listselect; 370 GtkTreeSelection *select = tpm_dat->listselect;
359 GtkTreeIter iter; 371 GtkTreeIter iter;
360 GtkTreeModel *model; 372 GtkTreeModel *model;
361 373
362 /* See if things are selected */ 374 /* See if things are selected */
363 if (gtk_tree_selection_get_selected(select, &model, &iter)) { 375 if (gtk_tree_selection_get_selected(select, &model, &iter)) {
364 376
365 gchar *id; 377 gchar *id;
378 gchar *primary;
366 379
367 /* Retrieve the selected hostname */ 380 /* Retrieve the selected hostname */
368 gtk_tree_model_get(model, &iter, TPM_HOSTNAME_COLUMN, &id, -1); 381 gtk_tree_model_get(model, &iter, TPM_HOSTNAME_COLUMN, &id, -1);
369 382
370 /* Now delete the thing */ 383 /* Prompt to confirm deletion */
371 g_assert(purple_certificate_pool_delete(tpm_dat->tls_peers, id)); 384 primary = g_strdup_printf(
385 _("Really delete certificate for %s?"), id );
372 386
373 g_free(id); 387 purple_request_yes_no(tpm_dat, _("Confirm certificate delete"),
388 primary, NULL, /* Can this be NULL? */
389 2, /* NO is default action */
390 NULL, NULL, NULL,
391 id, /* id ownership passed to callback */
392 tls_peers_mgmt_delete_confirm_cb,
393 tls_peers_mgmt_delete_confirm_cb );
394
395 g_free(primary);
396
374 } else { 397 } else {
375 purple_debug_warning("gtkcertmgr/tls_peers_mgmt", 398 purple_debug_warning("gtkcertmgr/tls_peers_mgmt",
376 "Delete clicked with no selection?\n"); 399 "Delete clicked with no selection?\n");
377 return; 400 return;
378 } 401 }

mercurial