aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-07-27 16:06:01 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-07-28 16:00:38 +0800
commit4f8ad828afebbacef6d7d3560067976e4fc6f90a (patch)
treea04c24f8357ff034e471aa7ab7fd407f5f10c689
parent3066f837ec3c22d46382914111bd152b94f3f61e (diff)
downloadgsoc2013-empathy-4f8ad828afebbacef6d7d3560067976e4fc6f90a.tar
gsoc2013-empathy-4f8ad828afebbacef6d7d3560067976e4fc6f90a.tar.gz
gsoc2013-empathy-4f8ad828afebbacef6d7d3560067976e4fc6f90a.tar.bz2
gsoc2013-empathy-4f8ad828afebbacef6d7d3560067976e4fc6f90a.tar.lz
gsoc2013-empathy-4f8ad828afebbacef6d7d3560067976e4fc6f90a.tar.xz
gsoc2013-empathy-4f8ad828afebbacef6d7d3560067976e4fc6f90a.tar.zst
gsoc2013-empathy-4f8ad828afebbacef6d7d3560067976e4fc6f90a.zip
CallWindow: build the toolbar from the .ui
-rw-r--r--src/empathy-call-window.c72
-rw-r--r--src/empathy-call-window.ui63
2 files changed, 66 insertions, 69 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 8ba25a7d3..3bd6d746d 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -125,7 +125,6 @@ struct _EmpathyCallWindowPriv
GtkWidget *remote_user_avatar_toolbar;
GtkWidget *remote_user_name_toolbar;
GtkWidget *sidebar;
- GtkWidget *volume_item;
GtkWidget *status_label;
GtkWidget *hangup_button;
GtkWidget *audio_call_button;
@@ -313,70 +312,6 @@ empathy_call_window_video_call_cb (GtkToggleToolButton *button,
}
static void
-empathy_call_window_setup_toolbars (EmpathyCallWindow *self)
-{
- EmpathyCallWindowPriv *priv = GET_PRIV (self);
- GtkWidget *volume_button;
- GtkToolItem *tool_item;
-
- /* Add an empty expanded GtkToolItem to the top toolbar */
- tool_item = gtk_tool_item_new ();
- gtk_tool_item_set_expand (tool_item, TRUE);
- gtk_widget_show (GTK_WIDGET (tool_item));
- gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar), tool_item, 0);
-
- /* Set the remote name */
- tool_item = gtk_tool_item_new ();
- priv->remote_user_name_toolbar = gtk_label_new (NULL);
- gtk_container_add (GTK_CONTAINER (tool_item),
- priv->remote_user_name_toolbar);
- gtk_widget_show_all (GTK_WIDGET (tool_item));
- gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar), tool_item, 0);
-
- /* Add some space between the image and the name */
- tool_item = gtk_separator_tool_item_new ();
- gtk_separator_tool_item_set_draw (GTK_SEPARATOR_TOOL_ITEM (tool_item),
- FALSE);
- gtk_widget_show (GTK_WIDGET (tool_item));
- gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar), tool_item, 0);
-
- /* Set the remote avatar */
- tool_item = gtk_tool_item_new ();
- priv->remote_user_avatar_toolbar = gtk_image_new ();
- gtk_container_add (GTK_CONTAINER (tool_item),
- priv->remote_user_avatar_toolbar);
- gtk_widget_show_all (GTK_WIDGET (tool_item));
- gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar), tool_item, 0);
-
- /* Set the volume button */
- volume_button = gtk_volume_button_new ();
- /* FIXME listen to the audiosinks signals and update the button according to
- * that, for now starting out at 1.0 and assuming only the app changes the
- * volume will do */
- gtk_scale_button_set_value (GTK_SCALE_BUTTON (volume_button), 1.0);
- g_signal_connect (G_OBJECT (volume_button), "value-changed",
- G_CALLBACK (empathy_call_window_volume_changed_cb), self);
-
- gtk_container_add (GTK_CONTAINER (priv->volume_item),
- volume_button);
- gtk_widget_show (GTK_WIDGET (volume_button));
-
- /* Add an empty expanded GtkToolItem so the label is at the end */
- tool_item = gtk_tool_item_new ();
- gtk_tool_item_set_expand (tool_item, TRUE);
- gtk_widget_show (GTK_WIDGET (tool_item));
- gtk_toolbar_insert (GTK_TOOLBAR (priv->bottom_toolbar), tool_item, -1);
-
- /* Set the status label */
- tool_item = gtk_tool_item_new ();
- priv->status_label = gtk_label_new (NULL);
- gtk_container_add (GTK_CONTAINER (tool_item),
- priv->status_label);
- gtk_widget_show_all (GTK_WIDGET (tool_item));
- gtk_toolbar_insert (GTK_TOOLBAR (priv->bottom_toolbar), tool_item, -1);
-}
-
-static void
dtmf_button_pressed_cb (GtkButton *button, EmpathyCallWindow *window)
{
EmpathyCallWindowPriv *priv = GET_PRIV (window);
@@ -1041,9 +976,11 @@ empathy_call_window_init (EmpathyCallWindow *self)
"call_window_vbox", &top_vbox,
"errors_vbox", &priv->errors_vbox,
"pane", &priv->pane,
+ "remote_user_name_toolbar", &priv->remote_user_name_toolbar,
+ "remote_user_avatar_toolbar", &priv->remote_user_avatar_toolbar,
+ "status_label", &priv->status_label,
"audiocall", &priv->audio_call_button,
"videocall", &priv->video_call_button,
- "volume", &priv->volume_item,
"microphone", &priv->mic_button,
"camera", &priv->camera_button,
"hangup", &priv->hangup_button,
@@ -1075,6 +1012,7 @@ empathy_call_window_init (EmpathyCallWindow *self)
"audiocall", "clicked", empathy_call_window_audio_call_cb,
"videocall", "clicked", empathy_call_window_video_call_cb,
"menusidebar", "toggled", empathy_call_window_sidebar_cb,
+ "volume", "value-changed", empathy_call_window_volume_changed_cb,
"microphone", "toggled", empathy_call_window_mic_toggled_cb,
"camera", "toggled", empathy_call_window_camera_toggled_cb,
"dialpad", "toggled", empathy_call_window_dialpad_cb,
@@ -1152,8 +1090,6 @@ empathy_call_window_init (EmpathyCallWindow *self)
/* The call will be started as soon the pipeline is playing */
priv->start_call_when_playing = TRUE;
- empathy_call_window_setup_toolbars (self);
-
priv->sidebar = ev_sidebar_new ();
g_signal_connect (G_OBJECT (priv->sidebar),
"hide", G_CALLBACK (empathy_call_window_sidebar_hidden_cb), self);
diff --git a/src/empathy-call-window.ui b/src/empathy-call-window.ui
index 205b666ac..bbcd97226 100644
--- a/src/empathy-call-window.ui
+++ b/src/empathy-call-window.ui
@@ -96,6 +96,43 @@
<class name="primary-toolbar"/>
</style>
<child>
+ <object class="GtkToolItem" id="toolitem1">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage" id="remote_user_avatar_toolbar">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorToolItem" id="toolbutton1">
+ <property name="draw">False</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolItem" id="toolitem2">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="remote_user_name_toolbar">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolItem" id="toolbar_space1">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkToolButton" id="hangup">
<property name="visible">True</property>
<property name="label" translatable="yes">Hang up</property>
@@ -186,8 +223,14 @@
</packing>
</child>
<child>
- <object class="GtkToolItem" id="volume">
+ <object class="GtkToolItem" id="toolitem3">
<property name="visible">True</property>
+ <child>
+ <object class="GtkVolumeButton" id="volume">
+ <property name="visible">True</property>
+ <property name="value">1.0</property>
+ </object>
+ </child>
</object>
<packing>
<property name="homogeneous">True</property>
@@ -205,6 +248,24 @@
<property name="homogeneous">True</property>
</packing>
</child>
+ <child>
+ <object class="GtkToolItem" id="toolbar_space2">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolItem" id="toolitem4">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="status_label">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
<packing>
<property name="expand">False</property>