aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-08-30 16:00:06 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-08-30 17:46:10 +0800
commit44f6461a975b9b2e309fae4ff052eb12df99704a (patch)
tree9c9b52b64157e592121bb1cde0a0f98f6d4fa45e
parentcd4cb2693bf0d46201971720cc9c6e4d70fbb8dc (diff)
downloadgsoc2013-empathy-44f6461a975b9b2e309fae4ff052eb12df99704a.tar
gsoc2013-empathy-44f6461a975b9b2e309fae4ff052eb12df99704a.tar.gz
gsoc2013-empathy-44f6461a975b9b2e309fae4ff052eb12df99704a.tar.bz2
gsoc2013-empathy-44f6461a975b9b2e309fae4ff052eb12df99704a.tar.lz
gsoc2013-empathy-44f6461a975b9b2e309fae4ff052eb12df99704a.tar.xz
gsoc2013-empathy-44f6461a975b9b2e309fae4ff052eb12df99704a.tar.zst
gsoc2013-empathy-44f6461a975b9b2e309fae4ff052eb12df99704a.zip
Save the video preview position in gsettings
And place it in the last used position when starting a new call. https://bugzilla.gnome.org/show_bug.cgi?id=656889
-rw-r--r--data/org.gnome.Empathy.gschema.xml.in13
-rw-r--r--src/empathy-call-window.c7
2 files changed, 20 insertions, 0 deletions
diff --git a/data/org.gnome.Empathy.gschema.xml.in b/data/org.gnome.Empathy.gschema.xml.in
index f51b51b00..6f8f14638 100644
--- a/data/org.gnome.Empathy.gschema.xml.in
+++ b/data/org.gnome.Empathy.gschema.xml.in
@@ -1,4 +1,12 @@
<schemalist>
+
+ <enum id="position">
+ <value nick="top-left" value="1"/>
+ <value nick="top-right" value="2"/>
+ <value nick="bottom-left" value="3"/>
+ <value nick="bottom-right" value="4"/>
+ </enum>
+
<schema id="org.gnome.Empathy" path="/org/gnome/empathy/">
<key name="use-conn" type="b">
<default>true</default>
@@ -236,6 +244,11 @@ present them to the user immediately.</_description>
<_summary>Camera device</_summary>
<_description>Default camera device to use in video calls, e.g. /dev/video0.</_description>
</key>
+ <key name="camera-position" enum="position">
+ <default>'bottom-left'</default>
+ <_summary>Camera position</_summary>
+ <_description>Position the camera preview should be during a call.</_description>
+ </key>
<key name="echo-cancellation" type="b">
<default>true</default>
<_summary>Echo cancellation support</_summary>
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index c1cf56141..0fd81ee04 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -810,6 +810,8 @@ empathy_call_window_move_video_preview (EmpathyCallWindow *self,
default:
g_warn_if_reached ();
}
+
+ g_settings_set_enum (self->priv->settings, "camera-position", pos);
}
static void
@@ -985,9 +987,12 @@ create_video_preview (EmpathyCallWindow *self)
ClutterActor *b;
ClutterAction *action;
GtkWidget *button;
+ PreviewPosition pos;
g_assert (priv->video_preview == NULL);
+ pos = g_settings_get_enum (priv->settings, "camera-position");
+
preview = empathy_rounded_texture_new ();
clutter_actor_set_size (preview,
SELF_VIDEO_SECTION_WIDTH, SELF_VIDEO_SECTION_HEIGHT);
@@ -1072,6 +1077,8 @@ create_video_preview (EmpathyCallWindow *self)
CLUTTER_BIN_ALIGNMENT_START,
CLUTTER_BIN_ALIGNMENT_END);
+ empathy_call_window_move_video_preview (self, pos);
+
action = clutter_drag_action_new ();
g_signal_connect (action, "drag-begin",
G_CALLBACK (empathy_call_window_preview_on_drag_begin_cb), self);