static void select_addressbook_clicked_cb(GtkWidget *widget, gpointer data) { const gchar *folderpath = NULL; gchar *new_path = NULL; folderpath = gtk_entry_get_text(GTK_ENTRY(data)); new_path = addressbook_folder_selection(folderpath); if (new_path) { gtk_entry_set_text(GTK_ENTRY(data), new_path); g_free(new_path); } }
static void bsfilter_whitelist_ab_select_cb(GtkWidget *widget, gpointer data) { struct BsfilterPage *page = (struct BsfilterPage *) data; const gchar *folderpath = NULL; gchar *new_path = NULL; folderpath = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((page->whitelist_ab_folder_combo))))); new_path = addressbook_folder_selection(folderpath); if (new_path) { gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((page->whitelist_ab_folder_combo)))), new_path); g_free(new_path); } }
static void received_contact_add_request(gint fd) { gchar *vcard; gchar *msg; gboolean add_successful; ItemPerson *person; add_successful = FALSE; vcard = get_next_contact(); if (vcard) { AlertValue val; val = G_ALERTALTERNATE; if (opensync_config.contact_ask_add) { msg = g_strdup_printf(_("Really add contact:\n%s?"),vcard); val = alertpanel(_("OpenSync plugin"),msg, GTK_STOCK_CANCEL,GTK_STOCK_ADD,NULL); g_free(msg); } if (!opensync_config.contact_ask_add || (val != G_ALERTDEFAULT)) { gchar *path = NULL; AddressDataSource *book = NULL; ItemFolder *folder = NULL; AddressBookFile *abf = NULL; if(opensync_config.addrbook_choice == OPENSYNC_ADDRESS_BOOK_INDIVIDUAL) path = addressbook_folder_selection(NULL); if(!path) path = g_strdup(opensync_config.addrbook_folderpath); if (addressbook_peek_folder_exists(path, &book, &folder) && book) { abf = book->rawDataSource; person = addrbook_add_contact(abf, folder, "", "", ""); person->status = ADD_ENTRY; update_ItemPerson_from_vcard(abf, person, vcard); add_successful = TRUE; } else g_warning("addressbook folder not found '%s'\n", path); g_free(path); } else { g_print("Error: User refused to add contact '%s'\n", vcard); } } else { g_print("Error: Not able to get the contact to add\n"); } if(add_successful) { gchar *return_vcard; return_vcard = vcard_get_from_ItemPerson(person); sock_send(fd, ":start_contact:\n"); msg = g_strdup_printf("%s\n", return_vcard); g_free(return_vcard); sock_send(fd, msg); g_free(msg); sock_send(fd, ":end_contact:\n"); } else { sock_send(fd, ":failure:\n"); } g_free(vcard); }