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