static void ipreferences_merge (IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e) { GError* error = NULL; GtkBuilder* bxml = gtk_builder_new (); GtkTreeView *global_vars_view = NULL; GtkButton *add_variable_b = NULL, *delete_variable_b = NULL; SnippetsManagerPlugin *snippets_manager_plugin = NULL; GlobalVariablesUpdateData *global_vars_update_data = NULL; /* Assertions */ snippets_manager_plugin = ANJUTA_PLUGIN_SNIPPETS_MANAGER (ipref); g_return_if_fail (ANJUTA_IS_PLUGIN_SNIPPETS_MANAGER (snippets_manager_plugin)); if (!gtk_builder_add_from_file (bxml, PREFERENCES_UI, &error)) { g_warning ("Couldn't load preferences ui file: %s", error->message); g_error_free (error); } anjuta_preferences_add_from_builder (prefs, bxml, SNIPPETS_MANAGER_PREFERENCES_ROOT, _("Code Snippets"), ICON_FILE); /* Get the Gtk objects */ global_vars_view = GTK_TREE_VIEW (gtk_builder_get_object (bxml, "global_vars_view")); add_variable_b = GTK_BUTTON (gtk_builder_get_object (bxml, "add_var_button")); delete_variable_b = GTK_BUTTON (gtk_builder_get_object (bxml, "delete_var_button")); g_return_if_fail (GTK_IS_TREE_VIEW (global_vars_view)); g_return_if_fail (GTK_IS_BUTTON (add_variable_b)); g_return_if_fail (GTK_IS_BUTTON (delete_variable_b)); /* Set up the Global Variables GtkTreeView */ set_up_global_variables_view (snippets_manager_plugin, global_vars_view); /* Connect the addition/deletion buttons */ global_vars_update_data = g_malloc (sizeof (GlobalVariablesUpdateData)); global_vars_update_data->snippets_db = snippets_manager_plugin->snippets_db; global_vars_update_data->global_vars_view = global_vars_view; g_signal_connect (GTK_OBJECT (add_variable_b), "clicked", GTK_SIGNAL_FUNC (on_add_variable_b_clicked), global_vars_update_data); g_signal_connect (GTK_OBJECT (delete_variable_b), "clicked", GTK_SIGNAL_FUNC (on_delete_variable_b_clicked), global_vars_update_data); g_object_unref (bxml); }
static void ipreferences_merge(IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e) { /* Add preferences */ SourceviewPlugin* plugin = ANJUTA_PLUGIN_SOURCEVIEW (ipref); GtkCellRenderer* renderer_name = gtk_cell_renderer_text_new (); GtkCellRenderer* renderer_desc = gtk_cell_renderer_text_new (); GtkTreeIter* iter = NULL; GError* error = NULL; builder = gtk_builder_new (); if (!gtk_builder_add_from_file(builder, PREFS_GLADE, &error)) { DEBUG_PRINT ("Could load sourceview preferences: %s", error->message); g_error_free (error); return; } anjuta_preferences_add_from_builder (prefs, builder, plugin->settings, "Editor", _("GtkSourceView Editor"), ICON_FILE); plugin->check_font = GTK_WIDGET (gtk_builder_get_object (builder, FONT_USE_THEME_BUTTON)); g_signal_connect(G_OBJECT(plugin->check_font), "toggled", G_CALLBACK(on_font_check_toggled), builder); on_font_check_toggled (GTK_TOGGLE_BUTTON (plugin->check_font), builder); /* Init styles combo */ plugin->combo_styles = GTK_WIDGET (gtk_builder_get_object (builder, COMBO_STYLES)); gtk_combo_box_set_model (GTK_COMBO_BOX (plugin->combo_styles), create_style_model(plugin->settings, &iter)); g_signal_connect (plugin->combo_styles, "changed", G_CALLBACK (on_style_changed), plugin); gtk_cell_layout_clear (GTK_CELL_LAYOUT(plugin->combo_styles)); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT(plugin->combo_styles), renderer_name, TRUE); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT(plugin->combo_styles), renderer_desc, FALSE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT(plugin->combo_styles), renderer_name, "text", COLUMN_NAME); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT(plugin->combo_styles), renderer_desc, "text", COLUMN_DESC); g_object_set (renderer_desc, "style", PANGO_STYLE_ITALIC, NULL); if (iter) { gtk_combo_box_set_active_iter (GTK_COMBO_BOX (plugin->combo_styles), iter); gtk_tree_iter_free (iter); } }
static void ipreferences_merge (IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e) { /* Add preferences */ PythonPlugin* plugin = ANJUTA_PLUGIN_PYTHON (ipref); plugin->bxml = gtk_builder_new (); gtk_builder_add_from_file (plugin->bxml, PROPERTIES_FILE_UI, NULL); anjuta_preferences_add_from_builder (prefs, plugin->bxml, plugin->settings, "preferences", _("Python"), ICON_FILE); }
static void ipreferences_merge (IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e) { GError* error = NULL; GtkBuilder* bxml = gtk_builder_new (); AnjutaFileManager* fm = (AnjutaFileManager*) ipref; if (!gtk_builder_add_from_file (bxml, FILE_MANAGER_BUILDER, &error)) { g_warning ("Couldn't load builder file: %s", error->message); g_error_free (error); } anjuta_preferences_add_from_builder (prefs, bxml, fm->settings, FILE_MANAGER_BUILDER_ROOT, _("File Manager"), ICON_FILE); }
static void ipreferences_merge(IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e) { GtkBuilder* bxml = gtk_builder_new (); EditorPlugin* plugin = ANJUTA_PLUGIN_EDITOR (ipref); GError* error = NULL; if (!gtk_builder_add_from_file (bxml, PREFS_GLADE, &error)) { g_warning ("Couldn't load builder file: %s", error->message); g_error_free (error); } plugin->prefs = prefs; plugin->style_button = GTK_WIDGET (gtk_builder_get_object (bxml, "style_button")); g_signal_connect(G_OBJECT(plugin->style_button), "clicked", G_CALLBACK(on_style_button_clicked), plugin); anjuta_preferences_add_from_builder (prefs, bxml, plugin->settings, "prefs_editor", _("Scintilla Editor"), ICON_FILE); g_object_unref(bxml); }
static void ipreferences_merge (IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e) { GError* error = NULL; CppJavaPlugin* plugin = ANJUTA_PLUGIN_CPP_JAVA (ipref); plugin->bxml = gtk_builder_new (); GtkWidget* toggle; GtkWidget* pkg_config; /* Add preferences */ if (!gtk_builder_add_from_file (plugin->bxml, PREFS_BUILDER, &error)) { g_warning ("Couldn't load builder file: %s", error->message); g_error_free (error); } anjuta_preferences_add_from_builder (prefs, plugin->bxml, plugin->settings, "preferences", _("API Tags (C/C++)"), ICON_FILE); toggle = GTK_WIDGET (gtk_builder_get_object (plugin->bxml, PREF_WIDGET_PACKAGES)); g_signal_connect (toggle, "toggled", G_CALLBACK (on_project_packages_toggled), plugin); on_project_packages_toggled (GTK_TOGGLE_BUTTON (toggle), plugin); pkg_config = GTK_WIDGET (gtk_builder_get_object (plugin->bxml, PREF_WIDGET_PKG_CONFIG)); anjuta_pkg_config_chooser_show_active_column (ANJUTA_PKG_CONFIG_CHOOSER (pkg_config), TRUE); g_signal_connect (G_OBJECT (pkg_config), "package-activated", G_CALLBACK (on_package_activated), plugin); g_signal_connect (G_OBJECT (pkg_config), "package-deactivated", G_CALLBACK (on_package_deactivated), plugin); if (!g_settings_get_boolean (plugin->settings, PREF_PROJECT_PACKAGES)) cpp_java_plugin_select_user_packages (plugin, ANJUTA_PKG_CONFIG_CHOOSER (pkg_config)); gtk_widget_show (pkg_config); }
static void ipreferences_merge (IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e) { GError* error = NULL; GtkBuilder* bxml = gtk_builder_new (); /* Add preferences */ if (!gtk_builder_add_from_file (bxml, PREFS_BUILDER, &error)) { g_warning ("Couldn't load builder file: %s", error->message); g_error_free (error); } GtkTreeView *tree = GTK_TREE_VIEW (gtk_builder_get_object (bxml, JSDIRS_TREEVIEW)); gtk_builder_connect_signals (bxml, tree); jsdirs_init_treeview (bxml); anjuta_preferences_add_from_builder (prefs, bxml, NULL, "vbox1", _("JavaScript"), ICON_FILE); g_object_unref (bxml); }
void gdb_merge_preferences (AnjutaPreferences* prefs, GList **list) { GtkBuilder *bxml; GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeSelection *selection; PreferenceDialog *dlg; GList *item; g_return_if_fail (list != NULL); /* Create the preferences page */ bxml = anjuta_util_builder_new (BUILDER_FILE, NULL); if (!bxml) return; dlg = g_new0 (PreferenceDialog, 1); /* Get widgets */ anjuta_util_builder_get_objects (bxml, GDB_PRINTER_TREEVIEW, &dlg->treeview, GDB_PRINTER_REMOVE_BUTTON, &dlg->remove_button, NULL); /* Create tree view */ dlg->model = gtk_list_store_new (GDB_PP_N_COLUMNS, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model (dlg->treeview, GTK_TREE_MODEL (dlg->model)); g_object_unref (dlg->model); renderer = gtk_cell_renderer_toggle_new (); g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (gdb_on_printer_activate), dlg); column = gtk_tree_view_column_new_with_attributes (_("Activate"), renderer, "active", GDB_PP_ACTIVE_COLUMN, NULL); gtk_tree_view_append_column (dlg->treeview, column); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("File"), renderer, "text", GDB_PP_FILENAME_COLUMN, NULL); gtk_tree_view_append_column (dlg->treeview, column); renderer = gtk_cell_renderer_text_new (); g_object_set(renderer, "editable", TRUE, NULL); g_signal_connect(renderer, "edited", G_CALLBACK (gdb_on_printer_function_changed), dlg); /* Translators: The "Register Function" column contains the name of a * function used to register pretty printers in gdb. */ column = gtk_tree_view_column_new_with_attributes (_("Register Function"), renderer, "text", GDB_PP_REGISTER_COLUMN, NULL); gtk_tree_view_append_column (dlg->treeview, column); /* Connect all signals */ gtk_builder_connect_signals (bxml, dlg); selection = gtk_tree_view_get_selection (dlg->treeview); g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (gdb_on_printer_selection_changed), dlg); /* Fill tree view */ dlg->list = list; for (item = g_list_first (*list); item != NULL; item = g_list_next (item)) { GdbPrettyPrinter *printer = (GdbPrettyPrinter *)item->data; GtkTreeIter iter; gtk_list_store_append (dlg->model, &iter); gtk_list_store_set (dlg->model, &iter, GDB_PP_ACTIVE_COLUMN, printer->enable ? TRUE : FALSE, GDB_PP_FILENAME_COLUMN, printer->path, GDB_PP_REGISTER_COLUMN, printer->function, -1); } anjuta_preferences_add_from_builder (prefs, bxml, NULL, GDB_PREFS_ROOT, _("Gdb Debugger"), ICON_FILE); g_object_unref (bxml); }
static void ipreferences_merge(IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e) { GError* error = NULL; GSList *profiles; /* Create the terminal preferences page */ TerminalPlugin* term_plugin = ANJUTA_PLUGIN_TERMINAL (ipref); GtkBuilder *bxml = gtk_builder_new (); if (!gtk_builder_add_from_file (bxml, PREFS_BUILDER, &error)) { g_warning ("Couldn't load builder file: %s", error->message); g_error_free (error); } anjuta_preferences_add_from_builder (anjuta_preferences_default (), bxml, term_plugin->settings, "Terminal", _("Terminal"), ICON_FILE); term_plugin->pref_profile_combo = GTK_WIDGET (gtk_builder_get_object (bxml, "profile_list_combo")); term_plugin->pref_default_button = GTK_WIDGET (gtk_builder_get_object (bxml, "preferences_toggle:bool:1:0:terminal-default-profile")); #if 0 /* FIXME: Update to GSettings */ /* Update the currently available list of terminal profiles */ client = gconf_client_get_default (); profiles = gconf_client_get_list (client, GCONF_PROFILE_LIST, GCONF_VALUE_STRING, NULL); if (profiles) { GtkListStore *store; GString *default_value = g_string_new (NULL); store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (term_plugin->pref_profile_combo))); gtk_list_store_clear (store); g_slist_foreach (profiles, on_add_string_in_store, store); g_slist_foreach (profiles, on_concat_string, default_value); g_slist_foreach (profiles, (GFunc)g_free, NULL); g_slist_free (profiles); g_signal_connect (term_plugin->pref_profile_combo, "changed", G_CALLBACK (on_pref_profile_changed), term_plugin); use_default_profile_cb (GTK_TOGGLE_BUTTON (term_plugin->pref_default_button), term_plugin); g_signal_connect (G_OBJECT(term_plugin->pref_default_button), "toggled", G_CALLBACK (use_default_profile_cb), term_plugin); g_string_free (default_value, TRUE); } else #endif { /* No profile, perhaps GNOME Terminal is not installed, * Remove selection */ gtk_widget_set_sensitive (term_plugin->pref_profile_combo, FALSE); gtk_widget_set_sensitive (term_plugin->pref_default_button, FALSE); } g_object_unref (bxml); }