static void quick_open_plugin_project_added(QuickOpenPlugin* self, IAnjutaProject* project) { AnjutaProjectNode* root; GFile* project_root; root = ianjuta_project_get_root(project, NULL); project_root = anjuta_project_node_get_file(root); quick_open_dialog_set_project_root(self->dialog, project_root); if (ianjuta_project_is_loaded(project, NULL)) quick_open_plugin_load_project_files(self, project); }
void cpp_packages_load (CppPackages* packages, gboolean force) { CppJavaPlugin* plugin = ANJUTA_PLUGIN_CPP_JAVA(packages->plugin); if (g_settings_get_boolean (plugin->settings, PREF_PROJECT_PACKAGES)) { IAnjutaProjectManager* pm = anjuta_shell_get_interface (packages->plugin->shell, IAnjutaProjectManager, NULL); IAnjutaProject* project; g_signal_connect_swapped (pm, "project-loaded", G_CALLBACK (cpp_packages_load_real), packages); project = ianjuta_project_manager_get_current_project (pm, NULL); /* Only load the packages if necessary */ if (project && ianjuta_project_is_loaded (project, NULL)) { gboolean loaded = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (project), PROJECT_LOADED)); if (!loaded && !packages->loading) { cpp_packages_load_real (packages, NULL, pm); g_object_set_data (G_OBJECT (project), PROJECT_LOADED, GINT_TO_POINTER (TRUE)); } } } else { if (packages->loading) { if (!packages->idle_id) { packages->idle_id = g_idle_add ((GSourceFunc)cpp_packages_idle_load_user, packages); g_object_ref (packages); } return; } else { cpp_packages_load_user (packages, force); } } g_signal_connect (plugin->settings, "changed::PREF_LIBC", G_CALLBACK (on_load_libc), packages); on_load_libc (plugin->settings, PREF_LIBC, packages); }