[cheese/gsettings-vala] Added fullscreen persisted fullscreen preference
- From: Yuvaraj Pandian <yuvipanda src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cheese/gsettings-vala] Added fullscreen persisted fullscreen preference
- Date: Sat, 7 Aug 2010 07:48:06 +0000 (UTC)
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]