internal static ProjectId ChooseLangProject(Form dialogOwner, IHelpTopicProvider helpTopicProvider)
{
if (!FwNewLangProject.CheckProjectDirectory(dialogOwner, helpTopicProvider))
{
return null;
}
using (var dlg = new ChooseLangProjectDialog(helpTopicProvider, false))
{
dlg.ShowDialog(dialogOwner);
var app = helpTopicProvider as IApp;
if (app != null)
{
var activeWindow = app.ActiveMainWindow;
if (activeWindow != null && dlg.ObtainedProjectType != ObtainedProjectType.None)
{
((IFwMainWnd)activeWindow).Mediator.PropertyTable.SetProperty("LastBridgeUsed",
dlg.ObtainedProjectType == ObtainedProjectType.Lift ? "LiftBridge" : "FLExBridge",
PropertyTable.SettingsGroup.LocalSettings);
}
}
if (dlg.DialogResult == DialogResult.OK)
{
var projId = new ProjectId(dlg.Project, dlg.Server);
if (IsSharedXmlBackendNeeded(projId))
projId.Type = FDOBackendProviderType.kSharedXML;
return projId;
}
return null;
}
}