void install_file_dialog_ok_callback (GtkWidget *widget, gpointer data) { const char *filename = NULL; char dest[PATH_MAX]; GtkWidget* filesel = topmost_parent(widget); const char* msg; filename = gtk_file_selection_get_filename (GTK_FILE_SELECTION (filesel)); if (!filename) { return; } mkdir((const char*)scriptdirs->data, 0777); snprintf(dest, sizeof(dest), "%s/%s", (const char*)scriptdirs->data, g_path_get_basename(filename)); if (!access(dest, F_OK)) { if (!dialog_yesno(NULL, 0, NULL, NULL, _("Script %s already exists, overwrite?"), dest)) { return; } } if ((msg = copy_file(filename, dest))) { dialog_ok(NULL, "%s", msg); return; } g_datalist_remove_data(&scriptdata, g_path_get_basename(filename)); scripts_load(); dialog_ok(NULL, _("Script saved as\n%s\nPlease close and reopen the preferences dialog"), dest); }
/* * If the given session_id corresponds to a human session tracked inside the * humanity_by_session_id set, remove it and return TRUE. Otherwise, return * FALSE. */ static gboolean remove_session_from_set (const gchar *session_id) { if (!is_human_session (session_id) || !session_in_set (session_id)) return FALSE; g_datalist_remove_data (&humanity_by_session_id, session_id); return TRUE; }
/** * camel_url_set_param: * @url: a #CamelURL * @name: name of the param to set * @value: value of the param to set * * Set a param on the #CamelURL. **/ void camel_url_set_param (CamelURL *url, const gchar *name, const gchar *value) { g_return_if_fail (url != NULL); if (value) g_datalist_set_data_full (&url->params, name, g_strdup (value), g_free); else g_datalist_remove_data (&url->params, name); }
static void gnc_ab_trans_processed_cb(GNCImportTransInfo *trans_info, gboolean imported, gpointer user_data) { GncABImExContextImport *data = user_data; gchar *jobname = gnc_AB_JOB_ID_to_string(gnc_import_TransInfo_get_ref_id(trans_info)); AB_JOB *job = g_datalist_get_data(&data->tmp_job_list, jobname); if (imported) { AB_Job_List2_PushBack(data->job_list, job); } else { AB_Job_free(job); } g_datalist_remove_data(&data->tmp_job_list, jobname); }