From f059aee32f4463378dff03a60da8b6411291df60 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 17 Jun 2013 22:44:20 +0200 Subject: [PATCH 37/50] cheese: Move disabling of shoot button to cheese-window We also have all the other action enable/disable code in cheese-window, so this is more consistent. Also we have more state available in cheese-window, which allows us to leave the shoot button enabled if (and only if) it is the stop recording button, which is possible since we allow changing effects while recording a video. Signed-off-by: Hans de Goede --- src/cheese-window.vala | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/cheese-window.vala b/src/cheese-window.vala index 53c033d..e7b6db3 100644 --- a/src/cheese-window.vala +++ b/src/cheese-window.vala @@ -948,6 +948,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow this.is_recording = false; this.enable_mode_change (); } + update_shoot_enabled (); } /** @@ -1147,6 +1148,19 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow } /** + * Update shoot button enabled state based on effect selector status + */ + private void update_shoot_enabled () + { + var shoot = this.application.lookup_action ("shoot") as SimpleAction; + + if (is_effects_selector_active && !is_recording) + shoot.set_enabled (false); + else + shoot.set_enabled (true); + } + + /** * Toggle the visibility of the effects selector. * * @param active whether the selector should be active @@ -1184,6 +1198,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow camera.toggle_effects_pipeline (active); setup_effects_page_switch_sensitivity (); + update_shoot_enabled (); } /** -- 1.8.2.1