static void dialog_enabled_toggled (GtkCellRendererToggle *celltoggle, const gchar *path_string, ModuleDialog *dialog) { GtkTreePath *path; GtkTreeIter iter; GimpModule *module = NULL; path = gtk_tree_path_new_from_string (path_string); if (! gtk_tree_model_get_iter (GTK_TREE_MODEL (dialog->list), &iter, path)) { g_warning ("%s: bad tree path?", G_STRFUNC); return; } gtk_tree_path_free (path); gtk_tree_model_get (GTK_TREE_MODEL (dialog->list), &iter, COLUMN_MODULE, &module, -1); if (module) { gimp_module_set_load_inhibit (module, ! module->load_inhibit); g_object_unref (module); dialog->gimp->write_modulerc = TRUE; gtk_widget_show (dialog->hint); } }
/** * gimp_module_db_set_load_inhibit: * @db: A #GimpModuleDB. * @load_inhibit: A #G_SEARCHPATH_SEPARATOR delimited list of module * filenames to exclude from auto-loading. * * Sets the @load_inhibit flag for all #GimpModule's which are kept * by @db (using gimp_module_set_load_inhibit()). **/ void gimp_module_db_set_load_inhibit (GimpModuleDB *db, const gchar *load_inhibit) { GList *list; g_return_if_fail (GIMP_IS_MODULE_DB (db)); if (db->load_inhibit) g_free (db->load_inhibit); db->load_inhibit = g_strdup (load_inhibit); for (list = db->modules; list; list = g_list_next (list)) { GimpModule *module = list->data; gimp_module_set_load_inhibit (module, is_in_inhibit_list (module->filename, load_inhibit)); } }