private void OpenProject(IFile projectFile, bool onControllerRequest) { StopAllPlaying(); if (m_Project != null) { if (onControllerRequest && m_Project.FileName.Equals(projectFile.IOName, StringComparison.InvariantCultureIgnoreCase)) { if (m_Network != null) { m_Network.InformClientOfProject(m_Project); } return; } Ares.Data.DataModule.ProjectManager.UnloadProject(m_Project); m_Project = null; m_TagLanguageId = Ares.Tags.TagsModule.GetTagsDB().TranslationsInterface.GetIdOfCurrentUILanguage(); } try { Messages.AddMessage(Ares.Players.MessageType.Debug, "Opening project " + projectFile.DisplayName); m_Project = Ares.Data.DataModule.ProjectManager.LoadProject(projectFile.IOName); m_CurrentProjectPath = projectFile.IOName; if (m_Project != null && m_Project.TagLanguageId != -1) { m_TagLanguageId = m_Project.TagLanguageId; } else { m_TagLanguageId = Ares.Tags.TagsModule.GetTagsDB().TranslationsInterface.GetIdOfCurrentUILanguage(); } Ares.Settings.Settings.Instance.RecentFiles.AddFile(new Ares.Settings.RecentFiles.ProjectEntry(m_Project.FileName, m_Project.Title)); } catch (Exception e) { LogException(e); ShowToast(String.Format(Resources.GetString(Resource.String.load_error), e.Message)); if (onControllerRequest) { m_Network.ErrorOccurred(-1, String.Format(Resources.GetString(Resource.String.load_error), e.Message)); } m_Project = null; m_CurrentProjectPath = String.Empty; } Ares.Playing.PlayingModule.ProjectPlayer.SetProject(m_Project); DoModelChecks(); UpdateNotification(false); InformActivity(); if (m_Network != null) { m_Network.InformClientOfProject(m_Project); if (m_Project != null) { m_Network.InformClientOfPossibleTags(m_TagLanguageId, m_Project); } } }
private void OpenProject(String filePath, bool onControllerRequest) { StopAllPlaying(); if (m_Project != null) { if (onControllerRequest && m_Project.FileName.Equals(filePath, StringComparison.InvariantCultureIgnoreCase)) { if (m_Network != null) { m_Network.InformClientOfProject(m_Project); } return; } Ares.Data.DataModule.ProjectManager.UnloadProject(m_Project); m_Project = null; m_TagLanguageId = Ares.Tags.TagsModule.GetTagsDB().TranslationsInterface.GetIdOfCurrentUILanguage(); } try { m_Project = Ares.Data.DataModule.ProjectManager.LoadProject(filePath); m_CurrentProjectPath = filePath; if (m_Project != null && m_Project.TagLanguageId != -1) { m_TagLanguageId = m_Project.TagLanguageId; } else { m_TagLanguageId = Ares.Tags.TagsModule.GetTagsDB().TranslationsInterface.GetIdOfCurrentUILanguage(); } Ares.Settings.Settings.Instance.RecentFiles.AddFile(new Ares.Settings.RecentFiles.ProjectEntry(m_Project.FileName, m_Project.Title)); } catch (Exception e) { if (!onControllerRequest) { Console.WriteLine(String.Format(StringResources.LoadError, e.Message)); } else { m_Network.ErrorOccurred(-1, String.Format(StringResources.LoadError, e.Message)); } m_Project = null; m_CurrentProjectPath = String.Empty; } Ares.Playing.PlayingModule.ProjectPlayer.SetProject(m_Project); DoModelChecks(); if (m_Network != null) { m_Network.InformClientOfProject(m_Project); if (m_Project != null) { m_Network.InformClientOfPossibleTags(m_TagLanguageId, m_Project); } } }