SIL.FieldWorks.XWorks.FwXWindow.LaunchProjPropertiesDlg C# (CSharp) Method

LaunchProjPropertiesDlg() private method

Launches the proj properties DLG.
private LaunchProjPropertiesDlg ( bool startOnWSPage ) : void
startOnWSPage bool if set to true [start on WS page].
return void
		private void LaunchProjPropertiesDlg(bool startOnWSPage)
		{
			if (!ClientServerServicesHelper.WarnOnOpeningSingleUserDialog(Cache))
				return;
			if (!SharedBackendServicesHelper.WarnOnOpeningSingleUserDialog(Cache))
				return;

			FdoCache cache = Cache;
			bool fDbRenamed = false;
			string sProject = cache.ProjectId.Name;
			string sProjectOrig = sProject;
			string sLinkedFilesRootDir = cache.LangProject.LinkedFilesRootDir;
			using (var dlg = new FwProjPropertiesDlg(cache, m_app, m_app, FontHeightAdjuster.StyleSheetFromMediator(Mediator)))
			{
				dlg.ProjectPropertiesChanged += OnProjectPropertiesChanged;
				if (startOnWSPage)
					dlg.StartWithWSPage();
				if (dlg.ShowDialog(this) != DialogResult.Abort)
				{
					fDbRenamed = dlg.ProjectNameChanged();
					if (fDbRenamed)
					{
						sProject = dlg.ProjectName;
					}
					bool fFilesMoved = false;
					if (dlg.LinkedFilesChanged())
					{
						fFilesMoved = m_app.UpdateExternalLinks(sLinkedFilesRootDir);
					}
					// no need for any of these refreshes if entire window has been/will be
					// destroyed and recreated.
					if (!fDbRenamed && !fFilesMoved)
					{
						Mediator.PropertyTable.SetProperty("DocumentName", cache.ProjectId.UiName);
						Mediator.PropertyTable.SetPropertyPersistence("DocumentName", false);
					}
				}
			}
			if (fDbRenamed)
				m_app.FwManager.RenameProject(sProject, m_app);
		}
FwXWindow