[cheese/gsettings-vala] Added fullscreen persisted fullscreen preference



commit f1a0f7a03f560dd4c4d80276b72a3f3d93443f0b
Author: Yuvaraj Pandian T <yuvipanda gmail com>
Date:   Sat Aug 7 13:12:52 2010 +0530

    Added fullscreen persisted fullscreen preference

 data/org.gnome.Cheese.gschema.xml |    8 +++++++
 libcheese/cheese-gconf.c          |   14 +++++++++++++
 libcheese/cheese-gconf.h          |    1 +
 src/cheese-main.vala              |    2 +-
 src/cheese-window.vala            |   40 +++++++++++++++++++-----------------
 src/vapi/cheese-common.vapi       |    2 +
 6 files changed, 47 insertions(+), 20 deletions(-)
---
diff --git a/data/org.gnome.Cheese.gschema.xml b/data/org.gnome.Cheese.gschema.xml
index 6756248..b324ce4 100644
--- a/data/org.gnome.Cheese.gschema.xml
+++ b/data/org.gnome.Cheese.gschema.xml
@@ -108,6 +108,14 @@
       <default>false</default>
     </key>
 
+    <key name='fullscreen' type='b'>
+      <summary>Whether to start in fullscreen</summary>
+      <description>
+        If set to true, Cheese will start up in a fullscreen mode. 
+      </description>
+      <default>false</default>
+    </key>
+
     <key name='burst-delay' type='i'>
       <summary>Time between photos in burst mode</summary>
       <description>
diff --git a/libcheese/cheese-gconf.c b/libcheese/cheese-gconf.c
index fb6a61b..e08ed25 100644
--- a/libcheese/cheese-gconf.c
+++ b/libcheese/cheese-gconf.c
@@ -107,6 +107,10 @@ cheese_gconf_get_property (GObject *object, guint prop_id, GValue *value,
       g_settings_get (priv->settings, "wide-mode", "b", &temp_bool);
       g_value_set_boolean (value, temp_bool);
       break;
+  case FULLSCREEN:
+      g_settings_get (priv->settings, "fullscreen", "b", &temp_bool);
+      g_value_set_boolean (value, temp_bool);
+      break;
     case BURST_DELAY:
       g_settings_get (priv->settings, "burst-delay", "i", &temp_int);
       g_value_set_int (value, temp_int);
@@ -175,6 +179,9 @@ cheese_gconf_set_property (GObject *object, guint prop_id, const GValue *value,
     case WIDE_MODE:
       g_settings_set (priv->settings, "wide-mode", "b", g_value_get_boolean (value));
       break;
+  case FULLSCREEN:
+      g_settings_set (priv->settings, "fullscreen", "b", g_value_get_boolean (value));
+      break;
     case BURST_DELAY:
       g_settings_set (priv->settings, "burst-delay", "i", g_value_get_int (value));
       break;
@@ -310,6 +317,13 @@ cheese_gconf_class_init (CheeseGConfClass *klass)
                                                          FALSE,
                                                          G_PARAM_READWRITE));
 
+  g_object_class_install_property (object_class, FULLSCREEN,
+                                   g_param_spec_boolean ("fullscreen",
+                                                         NULL,
+                                                         NULL,
+                                                         FALSE,
+                                                         G_PARAM_READWRITE));
+
   g_object_class_install_property (object_class, BURST_DELAY,
                                    g_param_spec_int ("burst_delay",
                                                      NULL,
diff --git a/libcheese/cheese-gconf.h b/libcheese/cheese-gconf.h
index d301f73..74e81ed 100644
--- a/libcheese/cheese-gconf.h
+++ b/libcheese/cheese-gconf.h
@@ -55,6 +55,7 @@ enum
   VIDEO_PATH,
   PHOTO_PATH,
   WIDE_MODE,
+  FULLSCREEN,
   BURST_DELAY,
   BURST_REPEAT
 };
diff --git a/src/cheese-main.vala b/src/cheese-main.vala
index 773b590..58d3680 100644
--- a/src/cheese-main.vala
+++ b/src/cheese-main.vala
@@ -114,7 +114,7 @@ public class Cheese.Main
 
     main_window.setup_ui ();
     main_window.destroy.connect (Gtk.main_quit);
-    main_window.show_all ();
+    main_window.show ();
     main_window.setup_camera ();
     Gtk.main ();
 
diff --git a/src/cheese-window.vala b/src/cheese-window.vala
index 34afa69..4220d87 100644
--- a/src/cheese-window.vala
+++ b/src/cheese-window.vala
@@ -429,7 +429,8 @@ public class Cheese.MainWindow : Gtk.Window
      * So that the next time leave_fullscreen_button_container.show_all() is called, the button is actually shown
      * FIXME: If this code can be made cleaner/clearer, please do */
 
-    is_fullscreen = fullscreen_mode;
+    conf.fullscreen = fullscreen_mode;
+    is_fullscreen   = fullscreen_mode;
     if (fullscreen_mode)
     {
       if (is_wide_mode)
@@ -481,7 +482,7 @@ public class Cheese.MainWindow : Gtk.Window
 
   private void set_wide_mode (bool wide_mode)
   {
-    is_wide_mode              = wide_mode;
+    is_wide_mode   = wide_mode;
     conf.wide_mode = wide_mode;
 
     /* keep the viewport to its current size while rearranging the ui,
@@ -549,10 +550,10 @@ public class Cheese.MainWindow : Gtk.Window
   {
     string file_name = fileutil.get_new_media_filename (this.current_mode);
 
-	if (conf.flash)
-	{
-		this.flash.fire ();
-	}
+    if (conf.flash)
+    {
+      this.flash.fire ();
+    }
     this.camera.take_photo (file_name);
   }
 
@@ -650,7 +651,7 @@ public class Cheese.MainWindow : Gtk.Window
   {
     selected_effect = event.source.get_data ("effect");
     camera.set_effect (selected_effect);
-	conf.selected_effect = selected_effect.name;
+    conf.selected_effect = selected_effect.name;
     effects_toggle_action.set_active (false);
     return false;
   }
@@ -754,9 +755,9 @@ public class Cheese.MainWindow : Gtk.Window
   {
     if (current_effects_grid == null)
     {
-		effects_manager = new EffectsManager ();
-		effects_manager.load_effects ();
-		
+      effects_manager = new EffectsManager ();
+      effects_manager.load_effects ();
+
       effects_grids = new ArrayList<Mx.Grid>();
 
       if (effects_manager.effects.size == 0)
@@ -923,9 +924,11 @@ public class Cheese.MainWindow : Gtk.Window
      * changed, do it manually */
     if (!conf.wide_mode) wide_mode_action.toggled ();
 
-
     set_mode (MediaMode.PHOTO);
     setup_effects_selector ();
+
+    if (conf.fullscreen)
+      set_fullscreen_mode (true);
   }
 
   public void setup_camera ()
@@ -979,14 +982,13 @@ public class Cheese.MainWindow : Gtk.Window
         }
       }
       return;
-    }	
-
-	Cheese.Effect selected_effect = effects_manager.get_effect (conf.selected_effect);
-	if (selected_effect != null)
-	{
-		camera.set_effect (selected_effect);
-	}
-	debug("%s", conf.selected_effect);
+    }
+
+    Cheese.Effect selected_effect = effects_manager.get_effect (conf.selected_effect);
+    if (selected_effect != null)
+    {
+      camera.set_effect (selected_effect);
+    }
 
     camera.play ();
   }
diff --git a/src/vapi/cheese-common.vapi b/src/vapi/cheese-common.vapi
index d5abf6f..cb942fc 100644
--- a/src/vapi/cheese-common.vapi
+++ b/src/vapi/cheese-common.vapi
@@ -146,6 +146,8 @@ namespace Cheese
     public string video_path {owned get; set;}
     [NoAccessorMethod]
     public bool wide_mode {get; set;}
+	[NoAccessorMethod]
+    public bool fullscreen {get; set;}
     [NoAccessorMethod]
     public int x_resolution {get; set;}
     [NoAccessorMethod]



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]