[longomatch] Prompt to close openend project when openning the managing tools



commit 01ffd4e7b55f4f6287f5b402267fb1d012609701
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Wed Oct 8 14:40:16 2014 +0200

    Prompt to close openend project when openning the managing tools

 LongoMatch.Core/Common/EventsBroker.cs          |    5 +++--
 LongoMatch.Core/Handlers/Handlers.cs            |    2 +-
 LongoMatch.Services/Services/CoreServices.cs    |    2 +-
 LongoMatch.Services/Services/DataBaseManager.cs |    1 +
 LongoMatch.Services/Services/ProjectsManager.cs |    2 +-
 LongoMatch.Services/Services/ToolsManager.cs    |   20 ++++++++++----------
 po/fr.po                                        |    2 +-
 7 files changed, 18 insertions(+), 16 deletions(-)
---
diff --git a/LongoMatch.Core/Common/EventsBroker.cs b/LongoMatch.Core/Common/EventsBroker.cs
index ae06bee..7e98322 100644
--- a/LongoMatch.Core/Common/EventsBroker.cs
+++ b/LongoMatch.Core/Common/EventsBroker.cs
@@ -177,9 +177,10 @@ namespace LongoMatch.Core.Common
                                KeyPressed(sender, key, modifier);
                }
                
-               public void EmitCloseOpenedProject () {
+               public bool EmitCloseOpenedProject () {
                        if (CloseOpenedProjectEvent != null)
-                               CloseOpenedProjectEvent ();
+                               return CloseOpenedProjectEvent ();
+                       return false;
                }
                
                public void EmitShowProjectStats (Project project) {
diff --git a/LongoMatch.Core/Handlers/Handlers.cs b/LongoMatch.Core/Handlers/Handlers.cs
index 26ad4e0..90fa2eb 100644
--- a/LongoMatch.Core/Handlers/Handlers.cs
+++ b/LongoMatch.Core/Handlers/Handlers.cs
@@ -67,7 +67,7 @@ namespace LongoMatch.Core.Handlers
                                                         IAnalysisWindow analysisWindow);
        public delegate void OpenProjectIDHandler (Guid project_id);
        public delegate void OpenProjectHandler ();
-       public delegate void CloseOpenendProjectHandler ();
+       public delegate bool CloseOpenendProjectHandler ();
        public delegate void NewProjectHandler (Project project);
        public delegate void OpenNewProjectHandler (Project project,ProjectType projectType,CaptureSettings 
captureSettings);
        public delegate void ImportProjectHandler ();
diff --git a/LongoMatch.Services/Services/CoreServices.cs b/LongoMatch.Services/Services/CoreServices.cs
index b38edf7..0cb4f81 100644
--- a/LongoMatch.Services/Services/CoreServices.cs
+++ b/LongoMatch.Services/Services/CoreServices.cs
@@ -99,7 +99,7 @@ namespace LongoMatch.Services
                        projectsManager = new ProjectsManager (guiToolkit, multimediaToolkit, ts);
                        
                        /* State the tools manager */
-                       toolsManager = new ToolsManager (guiToolkit, multimediaToolkit, ts);
+                       toolsManager = new ToolsManager (guiToolkit);
                        ProjectsImporter = toolsManager;
                        
                        /* Start the events manager */
diff --git a/LongoMatch.Services/Services/DataBaseManager.cs b/LongoMatch.Services/Services/DataBaseManager.cs
index c2ae3c4..914d9b1 100644
--- a/LongoMatch.Services/Services/DataBaseManager.cs
+++ b/LongoMatch.Services/Services/DataBaseManager.cs
@@ -39,6 +39,7 @@ namespace LongoMatch.DB
                        this.DBDir = DBDir;
                        this.guiToolkit = guiToolkit;
                        Config.EventsBroker.ManageDatabasesEvent += HandleManageDatabase;
+                       Config.EventsBroker.OpenedProjectChanged += (p, pt, f, a) => {OpenedProject = p;};
                        FindDBS ();
                }
 
diff --git a/LongoMatch.Services/Services/ProjectsManager.cs b/LongoMatch.Services/Services/ProjectsManager.cs
index 51197d1..b17ec63 100644
--- a/LongoMatch.Services/Services/ProjectsManager.cs
+++ b/LongoMatch.Services/Services/ProjectsManager.cs
@@ -50,7 +50,7 @@ namespace LongoMatch.Services
                        Config.EventsBroker.OpenProjectEvent += OpenProject;
                        Config.EventsBroker.OpenProjectIDEvent += OpenProjectID;
                        Config.EventsBroker.OpenNewProjectEvent += OpenNewProject;
-                       Config.EventsBroker.CloseOpenedProjectEvent += () => PromptCloseProject ();
+                       Config.EventsBroker.CloseOpenedProjectEvent += PromptCloseProject;
                        Config.EventsBroker.SaveProjectEvent += SaveProject;
                        Config.EventsBroker.KeyPressed += HandleKeyPressed;
                        Config.EventsBroker.CaptureError += HandleCaptureError;
diff --git a/LongoMatch.Services/Services/ToolsManager.cs b/LongoMatch.Services/Services/ToolsManager.cs
index 0fa61d4..61375b7 100644
--- a/LongoMatch.Services/Services/ToolsManager.cs
+++ b/LongoMatch.Services/Services/ToolsManager.cs
@@ -32,18 +32,12 @@ namespace LongoMatch.Services
        public class ToolsManager: IProjectsImporter
        {
                
-               TemplatesService templatesService;
                Project openedProject;
                IGUIToolkit guiToolkit;
-               IMultimediaToolkit multimediaToolkit;
-               AddinsManager addinsManager;
 
-               public ToolsManager (IGUIToolkit guiToolkit, IMultimediaToolkit multimediaToolkit,
-                                    TemplatesService templatesService)
+               public ToolsManager (IGUIToolkit guiToolkit)
                {
                        this.guiToolkit = guiToolkit;
-                       this.multimediaToolkit = multimediaToolkit;
-                       this.templatesService = templatesService;
                        ProjectImporters = new List<ProjectImporter> ();
                        
                        RegisterImporter (Project.Import, Constants.PROJECT_NAME,
@@ -58,15 +52,21 @@ namespace LongoMatch.Services
                        };
                        
                        Config.EventsBroker.ManageCategoriesEvent += () => {
-                               guiToolkit.OpenCategoriesTemplatesManager ();
+                               if (openedProject == null || Config.EventsBroker.EmitCloseOpenedProject ()) {
+                                       guiToolkit.OpenTeamsTemplatesManager ();
+                               }
                        };
                        
                        Config.EventsBroker.ManageTeamsEvent += () => {
-                               guiToolkit.OpenTeamsTemplatesManager ();
+                               if (openedProject == null || Config.EventsBroker.EmitCloseOpenedProject ()) {
+                                       guiToolkit.OpenCategoriesTemplatesManager ();
+                               }
                        };
                        
                        Config.EventsBroker.ManageProjectsEvent += () => {
-                               guiToolkit.OpenProjectsManager (this.openedProject);
+                               if (openedProject == null || Config.EventsBroker.EmitCloseOpenedProject ()) {
+                                       guiToolkit.OpenProjectsManager (this.openedProject);
+                               }
                        };
                        
                        Config.EventsBroker.ExportProjectEvent += ExportProject;
diff --git a/po/fr.po b/po/fr.po
index 9fa221b..80952d1 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -13,7 +13,7 @@ msgstr ""
 "POT-Creation-Date: 2014-09-23 12:40+0200\n"
 "PO-Revision-Date: 2014-10-02 13:13+0000\n"
 "Last-Translator: Dorian Winckelmuller <dowinck gmail com>\n"
-"Language-Team: GNOME French Team <gnomefr traduc org>\n"
+"Language-Team: French (http://www.transifex.com/projects/p/longomatch/language/fr/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]