I'm dubious if this is the right behaviour, but there was no obvious
consensus. So I propose we find out with actual users. It can always be
changed.
From: Davyd Madeley <davyd@madeley.id.au>
svn path=/trunk/; revision=2788
return (type == ENTRY_TYPE_SEPARATOR);
}
return (type == ENTRY_TYPE_SEPARATOR);
}
+static gboolean
+focus_out_cb (EmpathyPresenceChooser *chooser, GdkEventFocus *event,
+ GtkEntry *entry)
+{
+ EmpathyPresenceChooserPriv *priv = GET_PRIV (chooser);
+
+ if (priv->editing_status)
+ {
+ entry_activate_cb (chooser, entry);
+ }
+
+ return FALSE;
+}
+
static void
empathy_presence_chooser_init (EmpathyPresenceChooser *chooser)
{
static void
empathy_presence_chooser_init (EmpathyPresenceChooser *chooser)
{
G_CALLBACK (changed_cb), NULL);
g_signal_connect_swapped (entry, "changed",
G_CALLBACK (changed_cb), chooser);
G_CALLBACK (changed_cb), NULL);
g_signal_connect_swapped (entry, "changed",
G_CALLBACK (changed_cb), chooser);
+ g_signal_connect_swapped (entry, "focus-out-event",
+ G_CALLBACK (focus_out_cb), chooser);
priv->idle = empathy_idle_dup_singleton ();
presence_chooser_presence_changed_cb (chooser);
priv->idle = empathy_idle_dup_singleton ();
presence_chooser_presence_changed_cb (chooser);