From 143444ddd58a0164fac6060872081c3fccc31e1f Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Mon, 9 Feb 2015 12:48:06 -0200 Subject: [PATCH] window: show source dialog when a calendar is activated --- data/ui/window.ui | 1 + src/gcal-window.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/data/ui/window.ui b/data/ui/window.ui index cb5bf68c..c5065e03 100644 --- a/data/ui/window.ui +++ b/data/ui/window.ui @@ -348,6 +348,7 @@ True True none + diff --git a/src/gcal-window.c b/src/gcal-window.c index 6966bc28..3864884b 100644 --- a/src/gcal-window.c +++ b/src/gcal-window.c @@ -189,6 +189,7 @@ static void add_source (GcalManager *m gboolean enabled, gpointer user_data); + static GtkWidget* make_row_for_source (GcalWindow *window, ESource *source); @@ -199,6 +200,10 @@ static void remove_source (GcalManager *m static void show_source_dialog (GtkButton *button, gpointer user_data); +static void source_row_activated (GtkListBox *listbox, + GtkListBoxRow *row, + gpointer user_data); + static void on_calendar_toggled (GObject *object, GParamSpec *pspec, gpointer user_data); @@ -866,6 +871,18 @@ show_source_dialog (GtkButton *button, gtk_window_present (GTK_WINDOW (priv->source_dialog)); } +static void +source_row_activated (GtkListBox *listbox, + GtkListBoxRow *row, + gpointer user_data) +{ + GcalWindowPrivate *priv = gcal_window_get_instance_private (GCAL_WINDOW (user_data)); + + gcal_source_dialog_set_mode (GCAL_SOURCE_DIALOG (priv->source_dialog), GCAL_SOURCE_DIALOG_MODE_EDIT); + + gtk_window_present (GTK_WINDOW (priv->source_dialog)); +} + static void on_calendar_toggled (GObject *object, GParamSpec *pspec, @@ -1328,6 +1345,7 @@ gcal_window_class_init(GcalWindowClass *klass) gtk_widget_class_bind_template_child_private (widget_class, GcalWindow, notification_close_button); gtk_widget_class_bind_template_callback (widget_class, show_source_dialog); + gtk_widget_class_bind_template_callback (widget_class, source_row_activated); gtk_widget_class_bind_template_callback (widget_class, key_pressed); gtk_widget_class_bind_template_callback (widget_class, search_toggled);