Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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);
	}
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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);
}
Ejemplo n.º 5
0
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);
}
Ejemplo n.º 6
0
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);
}
Ejemplo n.º 7
0
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);
}
Ejemplo n.º 8
0
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);
}
Ejemplo n.º 9
0
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);
}