[longomatch] Update filter when plays are added/removed/edited
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Update filter when plays are added/removed/edited
- Date: Tue, 23 Apr 2013 21:21:32 +0000 (UTC)
commit 6edbf278f3fc843736cf5015b689cb991965bfca
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Tue Apr 23 23:20:48 2013 +0200
Update filter when plays are added/removed/edited
LongoMatch.Core/Handlers/Handlers.cs | 2 +-
LongoMatch.Services/Services/Core.cs | 6 +++---
LongoMatch.Services/Services/EventsManager.cs | 20 ++++++++++----------
LongoMatch.Services/Services/ProjectsManager.cs | 11 ++++++++---
4 files changed, 22 insertions(+), 17 deletions(-)
---
diff --git a/LongoMatch.Core/Handlers/Handlers.cs b/LongoMatch.Core/Handlers/Handlers.cs
index 0ed7bef..6c6b9bb 100644
--- a/LongoMatch.Core/Handlers/Handlers.cs
+++ b/LongoMatch.Core/Handlers/Handlers.cs
@@ -50,7 +50,7 @@ namespace LongoMatch.Handlers
/* Project Events */
public delegate void SaveProjectHandler(Project project, ProjectType projectType);
- public delegate void OpenedProjectChangedHandler(Project project, ProjectType projectType);
+ public delegate void OpenedProjectChangedHandler(Project project, ProjectType projectType,
PlaysFilter filter);
public delegate void OpenProjectHandler();
public delegate void CloseOpenendProjectHandler(bool save);
public delegate void NewProjectHandler();
diff --git a/LongoMatch.Services/Services/Core.cs b/LongoMatch.Services/Services/Core.cs
index a115cb1..132a000 100644
--- a/LongoMatch.Services/Services/Core.cs
+++ b/LongoMatch.Services/Services/Core.cs
@@ -142,15 +142,15 @@ namespace LongoMatch.Services
}
}
- private static void OnOpenedProjectChanged (Project project, ProjectType projectType) {
+ private static void OnOpenedProjectChanged (Project project, ProjectType projectType,
+ PlaysFilter filter) {
if (project != null) {
hkManager.Categories=project.Categories;
} else {
hkManager.Categories=null;
}
- eManager.OpenedProject = project;
- eManager.OpenedProjectType = projectType;
+ eManager.SetProject (project, projectType, filter);
guManager.OpenedProject = project;
plManager.OpenedProject = project;
dbManager.OpenedProject = project;
diff --git a/LongoMatch.Services/Services/EventsManager.cs b/LongoMatch.Services/Services/EventsManager.cs
index 7a8c145..0db99b8 100644
--- a/LongoMatch.Services/Services/EventsManager.cs
+++ b/LongoMatch.Services/Services/EventsManager.cs
@@ -42,6 +42,7 @@ namespace LongoMatch.Services
Project openedProject;
ProjectType projectType;
Time startTime;
+ PlaysFilter filter;
IGUIToolkit guiToolkit;
IMainWindow mainWindow;
@@ -58,16 +59,12 @@ namespace LongoMatch.Services
ConnectSignals();
}
- public Project OpenedProject {
- set {
- openedProject = value;
- }
- }
-
- public ProjectType OpenedProjectType {
- set {
- projectType = value;
- }
+ public void SetProject (Project project, ProjectType projectType,
+ PlaysFilter filter)
+ {
+ this.filter = filter;
+ this.openedProject = project;
+ this.projectType = projectType;
}
private void ConnectSignals() {
@@ -149,6 +146,7 @@ namespace LongoMatch.Services
if (!Config.FastTagging)
LaunchPlayTagger(play, false);
mainWindow.AddPlay(play);
+ filter.Update();
if (projectType == ProjectType.FileProject) {
player.Play();
}
@@ -232,6 +230,7 @@ namespace LongoMatch.Services
else if(tNode is Category) {
mainWindow.UpdateCategories(openedProject.Categories);
}
+ filter.Update();
}
protected virtual void OnPlaysDeleted(List<Play> plays)
@@ -244,6 +243,7 @@ namespace LongoMatch.Services
player.CloseActualSegment();
Core.DB.UpdateProject(openedProject);
}
+ filter.Update();
}
protected virtual void OnSegmentClosedEvent()
diff --git a/LongoMatch.Services/Services/ProjectsManager.cs b/LongoMatch.Services/Services/ProjectsManager.cs
index e9a98fb..e3f0ff8 100644
--- a/LongoMatch.Services/Services/ProjectsManager.cs
+++ b/LongoMatch.Services/Services/ProjectsManager.cs
@@ -71,6 +71,11 @@ namespace LongoMatch.Services
get;
}
+ public PlaysFilter PlaysFilter {
+ get;
+ set;
+ }
+
public ICapturer Capturer {
set;
get;
@@ -83,7 +88,7 @@ namespace LongoMatch.Services
private void EmitProjectChanged() {
if (OpenedProjectChanged != null)
- OpenedProjectChanged(OpenedProject, OpenedProjectType);
+ OpenedProjectChanged(OpenedProject, OpenedProjectType, PlaysFilter);
}
private void SaveCaptureProject(Project project) {
@@ -221,8 +226,8 @@ namespace LongoMatch.Services
OpenedProject = project;
OpenedProjectType = projectType;
- PlaysFilter filter = new PlaysFilter(project);
- mainWindow.SetProject(project, projectType, props, filter);
+ PlaysFilter = new PlaysFilter(project);
+ mainWindow.SetProject(project, projectType, props, PlaysFilter);
EmitProjectChanged();
return true;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]