aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-meeting-list-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-meeting-list-view.c')
-rw-r--r--calendar/gui/e-meeting-list-view.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/calendar/gui/e-meeting-list-view.c b/calendar/gui/e-meeting-list-view.c
index 8d747a7be1..d1613fd6df 100644
--- a/calendar/gui/e-meeting-list-view.c
+++ b/calendar/gui/e-meeting-list-view.c
@@ -471,6 +471,21 @@ status_edited_cb (GtkCellRenderer *renderer, const gchar *path, const gchar *tex
}
static void
+ense_update (GtkWidget *w, gpointer data1, gpointer user_data)
+{
+ gtk_cell_editable_editing_done ((GtkCellEditable *)w);
+}
+
+static void
+editing_started_cb (GtkCellRenderer *renderer,
+ GtkCellEditable *editable,
+ gchar *path,
+ gpointer user_data)
+{
+ g_signal_connect (editable, "updated", G_CALLBACK(ense_update), NULL);
+}
+
+static void
build_table (EMeetingListView *lview)
{
GtkCellRenderer *renderer;
@@ -501,6 +516,8 @@ build_table (EMeetingListView *lview)
g_object_set_data (G_OBJECT (col), "mtg-store-col", GINT_TO_POINTER (E_MEETING_STORE_ATTENDEE_COL));
g_signal_connect (renderer, "cell_edited", G_CALLBACK (attendee_edited_cb), view);
g_signal_connect (renderer, "editing-canceled", G_CALLBACK (attendee_editing_canceled_cb), view);
+ g_signal_connect (renderer, "editing-started", G_CALLBACK (editing_started_cb), view);
+
g_hash_table_insert (edit_table, GINT_TO_POINTER (E_MEETING_STORE_ATTENDEE_COL), renderer);
renderer = e_cell_renderer_combo_new ();