示例#1
0
 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);
         }
     }
 }
示例#2
0
 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);
         }
     }
 }