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); }
void plugin_cleanup(void) { if (geany_data->app->project) { gprj_project_close(); gprj_sidebar_update(TRUE); } gprj_menu_cleanup(); gprj_sidebar_cleanup(); }
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); }