Blob Blame History Raw
From 1537ad2673843e033035edfe144ffc78bdab5a43 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Tue, 6 Aug 2013 14:50:00 +0200
Subject: [PATCH 03/13] cheese-window: Allow changing effects while shooting /
 recording a video

There is no technical reason to disable the effect selector while shooting
a video. Likewise there is no technical reason to disallow start / stop
recording / shooting, or changing mode when the effect selector is change.

Removing these unnecessary limitations simplifies the code, and allows users
to change effects while recording a video.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 src/cheese-application.vala | 25 +++----------------------
 src/cheese-window.vala      |  4 ----
 2 files changed, 3 insertions(+), 26 deletions(-)

diff --git a/src/cheese-application.vala b/src/cheese-application.vala
index 0f9f33d..9cb5ac5 100644
--- a/src/cheese-application.vala
+++ b/src/cheese-application.vala
@@ -368,17 +368,8 @@ public class Cheese.Application : Gtk.Application
         switch (new_state)
         {
             case Gst.State.PLAYING:
-                if (effects.state.get_boolean ())
-                {
-                    mode.set_enabled (false);
-                    shoot.set_enabled (false);
-                }
-                else
-                {
-                    mode.set_enabled (true);
-                    shoot.set_enabled (true);
-                }
-
+                mode.set_enabled (true);
+                shoot.set_enabled (true);
                 effects.set_enabled (true);
 
                 main_window.camera_state_change_playing ();
@@ -491,17 +482,7 @@ public class Cheese.Application : Gtk.Application
     {
         return_if_fail (value != null);
 
-        var state = value.get_boolean ();
-
-        var shoot = this.lookup_action ("shoot") as SimpleAction;
-        var mode = this.lookup_action ("mode") as SimpleAction;
-
-        // Effects selection and shooting/mode changes are mutually exclusive.
-        shoot.set_enabled (!state);
-        mode.set_enabled (!state);
-
-        main_window.set_effects (state);
-
+        main_window.set_effects (value.get_boolean ());
         action.set_state (value);
     }
 
diff --git a/src/cheese-window.vala b/src/cheese-window.vala
index 675a92e..07cf0f4 100644
--- a/src/cheese-window.vala
+++ b/src/cheese-window.vala
@@ -384,8 +384,6 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
     {
         var mode = this.application.lookup_action ("mode") as SimpleAction;
         mode.set_enabled (true);
-        var effects = this.application.lookup_action ("effects") as SimpleAction;
-        effects.set_enabled (true);
         mode_change_changed (true);
     }
 
@@ -396,8 +394,6 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
     {
         var mode = this.application.lookup_action ("mode") as SimpleAction;
         mode.set_enabled (false);
-        var effects = this.application.lookup_action ("effects") as SimpleAction;
-        effects.set_enabled (false);
         mode_change_changed (false);
     }
 
-- 
1.8.3.1