void CloseProject(bool internalClosing) { Project project = Tree.Projects.Count > 0 ? Tree.Projects[0] : null; // TODO we need a main project/solution if (project == null) { return; // already closed } listenToPathChange = false; // save project prefs ProjectPreferences prefs = Settings.GetPrefs(project); prefs.ExpandedPaths = Tree.ExpandedPaths; if (!PluginBase.MainForm.ClosingEntirely) { SaveProjectSession(); } activeProject = null; if (projectResources != null) { projectResources.Close(); projectResources = null; } if (!internalClosing) { pluginUI.SetProject(null); Settings.LastProject = ""; menus.DisabledForBuild = true; PluginBase.CurrentSolution = null; PluginBase.CurrentProject = null; PluginBase.CurrentSDK = null; PluginBase.MainForm.RefreshUI(); BroadcastProjectInfo(null); } TabColors.UpdateTabColors(Settings); }