Пример #1
0
static void on_project_close(G_GNUC_UNUSED GObject * obj, G_GNUC_UNUSED gpointer user_data)
{
	gprj_project_close();
	gprj_sidebar_update(TRUE);
	gprj_sidebar_activate(FALSE);
	gprj_menu_activate_menu_items(FALSE);
}
Пример #2
0
void plugin_cleanup(void)
{
	if (geany_data->app->project)
	{
		gprj_project_close();
		gprj_sidebar_update(TRUE);
	}

	gprj_menu_cleanup();
	gprj_sidebar_cleanup();
}
Пример #3
0
void gprj_project_open(GKeyFile * key_file)
{
	gchar **source_patterns, **header_patterns, **ignored_dirs_patterns;
	gboolean generate_tags;

	if (g_prj != NULL)
		gprj_project_close();

	g_prj = (GPrj *) g_new0(GPrj, 1);

	g_prj->source_patterns = NULL;
	g_prj->header_patterns = NULL;
	g_prj->ignored_dirs_patterns = NULL;
	g_prj->generate_tags = FALSE;

	g_prj->file_tag_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);

	deferred_op_queue_clean();

	source_patterns = g_key_file_get_string_list(key_file, "gproject", "source_patterns", NULL, NULL);
	if (!source_patterns)
		source_patterns = g_strsplit("*.c *.C *.cpp *.cxx *.c++ *.cc", " ", -1);
	header_patterns = g_key_file_get_string_list(key_file, "gproject", "header_patterns", NULL, NULL);
	if (!header_patterns)
		header_patterns = g_strsplit("*.h *.H *.hpp *.hxx *.h++ *.hh *.m", " ", -1);
	ignored_dirs_patterns = g_key_file_get_string_list(key_file, "gproject", "ignored_dirs_patterns", NULL, NULL);
	if (!ignored_dirs_patterns)
		ignored_dirs_patterns = g_strsplit(".* CVS", " ", -1);
	generate_tags = utils_get_setting_boolean(key_file, "gproject", "generate_tags", FALSE);

	update_project(
		source_patterns,
		header_patterns,
		ignored_dirs_patterns,
		generate_tags);

	g_strfreev(source_patterns);
	g_strfreev(header_patterns);
	g_strfreev(ignored_dirs_patterns);
}