Blame SOURCES/0041-cheese-window-Add-show_error-method.patch

ecdf9b
From b851a44075fea20054c4c5345da46a52e3cba91c Mon Sep 17 00:00:00 2001
ecdf9b
From: Hans de Goede <hdegoede@redhat.com>
ecdf9b
Date: Tue, 18 Jun 2013 10:04:36 +0200
ecdf9b
Subject: [PATCH 41/50] cheese-window: Add show_error () method
ecdf9b
ecdf9b
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
ecdf9b
---
ecdf9b
 src/cheese-window.vala | 54 +++++++++++++++++++++++++++++++-------------------
ecdf9b
 1 file changed, 34 insertions(+), 20 deletions(-)
ecdf9b
ecdf9b
diff --git a/src/cheese-window.vala b/src/cheese-window.vala
ecdf9b
index ab383f9..77efd32 100644
ecdf9b
--- a/src/cheese-window.vala
ecdf9b
+++ b/src/cheese-window.vala
ecdf9b
@@ -1045,6 +1045,31 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
ecdf9b
     }
ecdf9b
 
ecdf9b
     /**
ecdf9b
+     * Show an error.
ecdf9b
+     *
ecdf9b
+     * @param error the error to display, or null to hide the error layer
ecdf9b
+     */
ecdf9b
+    [CCode (instance_pos = -1)]
ecdf9b
+    public void show_error (string? error)
ecdf9b
+    {
ecdf9b
+      if (error != null)
ecdf9b
+      {
ecdf9b
+        current_effects_grid.hide ();
ecdf9b
+        video_preview.hide ();
ecdf9b
+        error_layer.text = error;
ecdf9b
+        error_layer.show ();
ecdf9b
+      }
ecdf9b
+      else
ecdf9b
+      {
ecdf9b
+        error_layer.hide ();
ecdf9b
+        if (is_effects_selector_active)
ecdf9b
+          current_effects_grid.show ();
ecdf9b
+        else
ecdf9b
+          video_preview.show ();
ecdf9b
+      }
ecdf9b
+    }
ecdf9b
+
ecdf9b
+    /**
ecdf9b
      * Toggle the display of the effect selector.
ecdf9b
      *
ecdf9b
      * @param effects whether effects should be enabled
ecdf9b
@@ -1179,31 +1204,19 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
ecdf9b
   private void toggle_effects_selector (bool active)
ecdf9b
   {
ecdf9b
     is_effects_selector_active = active;
ecdf9b
-    if (active)
ecdf9b
+    if (effects_grids.length () == 0)
ecdf9b
+    {
ecdf9b
+      show_error(active ? _("No effects found") : null);
ecdf9b
+    }
ecdf9b
+    else if (active)
ecdf9b
     {
ecdf9b
       video_preview.hide ();
ecdf9b
-
ecdf9b
-      if (effects_grids.length () == 0)
ecdf9b
-      {
ecdf9b
-        error_layer.text = _("No effects found");
ecdf9b
-        error_layer.show ();
ecdf9b
-      }
ecdf9b
-      else
ecdf9b
-      {
ecdf9b
-        current_effects_grid.show ();
ecdf9b
-        activate_effects_page ((int)current_effects_page);
ecdf9b
-      }
ecdf9b
+      current_effects_grid.show ();
ecdf9b
+      activate_effects_page ((int)current_effects_page);
ecdf9b
     }
ecdf9b
     else
ecdf9b
     {
ecdf9b
-      if (effects_grids.length () == 0)
ecdf9b
-      {
ecdf9b
-        error_layer.hide ();
ecdf9b
-      }
ecdf9b
-      else
ecdf9b
-      {
ecdf9b
-        current_effects_grid.hide ();
ecdf9b
-      }
ecdf9b
+      current_effects_grid.hide ();
ecdf9b
       video_preview.show ();
ecdf9b
     }
ecdf9b
 
ecdf9b
@@ -1315,6 +1328,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
ecdf9b
      */
ecdf9b
     public void camera_state_change_playing ()
ecdf9b
     {
ecdf9b
+        show_error (null);
ecdf9b
         toggle_camera_actions_sensitivities (true);
ecdf9b
 
ecdf9b
         Effect effect = effects_manager.get_effect (settings.get_string ("selected-effect"));
ecdf9b
-- 
ecdf9b
1.8.2.1
ecdf9b