]> git.0d.be Git - empathy.git/commitdiff
Factor out the block/set/unblock code
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Tue, 7 Jun 2011 10:19:24 +0000 (11:19 +0100)
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Thu, 9 Jun 2011 09:20:08 +0000 (10:20 +0100)
src/empathy-call-window.c

index eac2bca265544fbbbeff0f1e4d615fea698c90b1..d9bab64ead5b3505c38f680d54366f1a5980d8de 100644 (file)
@@ -2903,6 +2903,20 @@ empathy_call_window_state_event_cb (GtkWidget *widget,
   return FALSE;
 }
 
+static void
+empathy_call_window_update_dialpad_menu (EmpathyCallWindow *window,
+    gboolean toggled)
+{
+  EmpathyCallWindowPriv *priv = GET_PRIV (window);
+
+  g_signal_handlers_block_by_func (priv->menu_dialpad,
+      empathy_call_window_dialpad_cb, window);
+  gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (priv->menu_dialpad),
+      toggled);
+  g_signal_handlers_unblock_by_func (priv->menu_dialpad,
+      empathy_call_window_dialpad_cb, window);
+}
+
 static void
 empathy_call_window_sidebar_toggled_cb (GtkToggleButton *toggle,
   EmpathyCallWindow *window)
@@ -2946,12 +2960,7 @@ empathy_call_window_sidebar_toggled_cb (GtkToggleButton *toggle,
   dialpad_shown = active && page == priv->dtmf_panel;
   g_object_unref (page);
 
-  g_signal_handlers_block_by_func (priv->menu_dialpad,
-      empathy_call_window_dialpad_cb, window);
-  gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (priv->menu_dialpad),
-      (dialpad_shown));
-  g_signal_handlers_unblock_by_func (priv->menu_dialpad,
-      empathy_call_window_dialpad_cb, window);
+  empathy_call_window_update_dialpad_menu (window, dialpad_shown);
 }
 
 static void
@@ -3041,14 +3050,7 @@ empathy_call_window_sidebar_changed_cb (EmpathySidebar *sidebar,
   GtkWidget *page;
 
   g_object_get (sidebar, "current-page", &page, NULL);
-
-  g_signal_handlers_block_by_func (priv->menu_dialpad,
-      empathy_call_window_dialpad_cb, window);
-  gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (priv->menu_dialpad),
-      (page == priv->dtmf_panel));
-  g_signal_handlers_unblock_by_func (priv->menu_dialpad,
-      empathy_call_window_dialpad_cb, window);
-
+  empathy_call_window_update_dialpad_menu (window, page == priv->dtmf_panel);
   g_object_unref (page);
 }