[cheese/gsettings-vala] Added selected-effect persistance
- From: Yuvaraj Pandian <yuvipanda src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cheese/gsettings-vala] Added selected-effect persistance
- Date: Fri, 6 Aug 2010 20:26:40 +0000 (UTC)
commit 9a513c7f2f7965f46105909a9cff5d381536e095
Author: Yuvaraj Pandian T <yuvipanda gmail com>
Date: Sat Aug 7 01:54:39 2010 +0530
Added selected-effect persistance
data/org.gnome.Cheese.gschema.xml | 8 ++++++++
libcheese/cheese-gconf.c | 20 ++++++++++----------
src/cheese-window.vala | 16 ++++++++++++----
src/vapi/cheese-common.vapi | 4 +---
4 files changed, 31 insertions(+), 17 deletions(-)
---
diff --git a/data/org.gnome.Cheese.gschema.xml b/data/org.gnome.Cheese.gschema.xml
index f8c5de4..9c9fbdc 100644
--- a/data/org.gnome.Cheese.gschema.xml
+++ b/data/org.gnome.Cheese.gschema.xml
@@ -16,6 +16,14 @@
<default>''</default>
</key>
+ <key name='selected-effect' type='s'>
+ <summary>Name of last selected effect</summary>
+ <description>
+ Name of installed effect that was selected last
+ </description>
+ <default>'identity'</default>
+ </key>
+
<key name='x-resolution' type='i'>
<summary>Width resolution</summary>
<description>
diff --git a/libcheese/cheese-gconf.c b/libcheese/cheese-gconf.c
index 76cb9c8..ae340db 100644
--- a/libcheese/cheese-gconf.c
+++ b/libcheese/cheese-gconf.c
@@ -64,6 +64,10 @@ cheese_gconf_get_property (GObject *object, guint prop_id, GValue *value,
g_settings_get (priv->settings, "camera", "s", &temp_str);
g_value_set_string (value, temp_str);
break;
+ case GCONF_PROP_SELECTED_EFFECT:
+ g_settings_get (priv->settings, "selected-effect", "s", &temp_str);
+ g_value_set_string (value, temp_str);
+ break;
case GCONF_PROP_X_RESOLUTION:
g_settings_get (priv->settings, "x-resolution", "i", &temp_int);
g_value_set_int (value, temp_int);
@@ -135,6 +139,9 @@ cheese_gconf_set_property (GObject *object, guint prop_id, const GValue *value,
case GCONF_PROP_CAMERA:
g_settings_set (priv->settings, "camera", "s", g_value_get_string (value));
break;
+ case GCONF_PROP_SELECTED_EFFECT:
+ g_settings_set (priv->settings, "selected-effect", "s", g_value_get_string (value));
+ break;
case GCONF_PROP_X_RESOLUTION:
g_settings_set (priv->settings, "x-resolution", "i", g_value_get_int (value));
break;
@@ -208,11 +215,11 @@ cheese_gconf_class_init (CheeseGConfClass *klass)
NULL,
"",
G_PARAM_READWRITE));
- g_object_class_install_property (object_class, GCONF_PROP_SELECTED_EFFECTS,
- g_param_spec_string ("gconf_prop_selected_effects",
+ g_object_class_install_property (object_class, GCONF_PROP_SELECTED_EFFECT,
+ g_param_spec_string ("gconf_prop_selected_effect",
NULL,
NULL,
- "",
+ "identity",
G_PARAM_READWRITE));
g_object_class_install_property (object_class, GCONF_PROP_X_RESOLUTION,
@@ -283,13 +290,6 @@ cheese_gconf_class_init (CheeseGConfClass *klass)
"",
G_PARAM_READWRITE));
- g_object_class_install_property (object_class, GCONF_PROP_ENABLE_DELETE,
- g_param_spec_boolean ("gconf_prop_enable_delete",
- NULL,
- NULL,
- FALSE,
- G_PARAM_READWRITE));
-
g_object_class_install_property (object_class, GCONF_PROP_WIDE_MODE,
g_param_spec_boolean ("gconf_prop_wide_mode",
NULL,
diff --git a/src/cheese-window.vala b/src/cheese-window.vala
index e712f33..44ecadf 100644
--- a/src/cheese-window.vala
+++ b/src/cheese-window.vala
@@ -647,6 +647,7 @@ public class Cheese.MainWindow : Gtk.Window
{
selected_effect = event.source.get_data ("effect");
camera.set_effect (selected_effect);
+ conf.gconf_prop_selected_effect = selected_effect.name;
effects_toggle_action.set_active (false);
return false;
}
@@ -750,9 +751,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)
@@ -975,7 +976,14 @@ public class Cheese.MainWindow : Gtk.Window
}
}
return;
- }
+ }
+
+ Cheese.Effect selected_effect = effects_manager.get_effect (conf.gconf_prop_selected_effect);
+ if (selected_effect != null)
+ {
+ camera.set_effect (selected_effect);
+ }
+ debug("%s", conf.gconf_prop_selected_effect);
camera.play ();
}
diff --git a/src/vapi/cheese-common.vapi b/src/vapi/cheese-common.vapi
index c02621c..df235a6 100644
--- a/src/vapi/cheese-common.vapi
+++ b/src/vapi/cheese-common.vapi
@@ -133,15 +133,13 @@ namespace Cheese
[NoAccessorMethod]
public bool gconf_prop_countdown {get; set;}
[NoAccessorMethod]
- public bool gconf_prop_enable_delete {get; set;}
- [NoAccessorMethod]
public double gconf_prop_hue {get; set;}
[NoAccessorMethod]
public string gconf_prop_photo_path {owned get; set;}
[NoAccessorMethod]
public double gconf_prop_saturation {get; set;}
[NoAccessorMethod]
- public string gconf_prop_selected_effects {owned get; set;}
+ public string gconf_prop_selected_effect {owned get; set;}
[NoAccessorMethod]
public string gconf_prop_video_path {owned get; set;}
[NoAccessorMethod]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]