[evolution] Bug 594534 - Can't select calendar for a new appointment
- From: Matthew Barnes <mbarnes src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [evolution] Bug 594534 - Can't select calendar for a new appointment
- Date: Mon, 28 Sep 2009 21:01:00 +0000 (UTC)
commit 5999e07ac4d7ce14c62173ea6e80efe3a08426cb
Author: Matthew Barnes <mbarnes redhat com>
Date: Mon Sep 28 16:59:35 2009 -0400
Bug 594534 - Can't select calendar for a new appointment
modules/calendar/e-cal-shell-view-private.c | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
---
diff --git a/modules/calendar/e-cal-shell-view-private.c b/modules/calendar/e-cal-shell-view-private.c
index 98aacb9..89d8ef5 100644
--- a/modules/calendar/e-cal-shell-view-private.c
+++ b/modules/calendar/e-cal-shell-view-private.c
@@ -245,6 +245,25 @@ cal_shell_view_selector_popup_event_cb (EShellView *shell_view,
}
static void
+cal_shell_view_selector_primary_changed_cb (ECalShellView *cal_shell_view,
+ ESourceSelector *selector)
+{
+ ECalShellContent *cal_shell_content;
+ GnomeCalendar *calendar;
+ ESource *source;
+
+ /* XXX ESourceSelector -really- needs a "primary-selection"
+ * ESource property. Then we could just use EBindings. */
+
+ cal_shell_content = cal_shell_view->priv->cal_shell_content;
+ calendar = e_cal_shell_content_get_calendar (cal_shell_content);
+ source = e_source_selector_peek_primary_selection (selector);
+
+ if (source != NULL)
+ gnome_calendar_set_default_source (calendar, source);
+}
+
+static void
cal_shell_view_selector_client_added_cb (ECalShellView *cal_shell_view,
ECal *client)
{
@@ -489,6 +508,11 @@ e_cal_shell_view_private_constructed (ECalShellView *cal_shell_view)
cal_shell_view);
g_signal_connect_swapped (
+ selector, "primary-selection-changed",
+ G_CALLBACK (cal_shell_view_selector_primary_changed_cb),
+ cal_shell_view);
+
+ g_signal_connect_swapped (
cal_shell_sidebar, "client-added",
G_CALLBACK (cal_shell_view_selector_client_added_cb),
cal_shell_view);
@@ -541,6 +565,9 @@ e_cal_shell_view_private_constructed (ECalShellView *cal_shell_view)
e_mutual_binding_new (
calendar, "view",
ACTION (CALENDAR_VIEW_DAY), "current-value");
+
+ /* Force the main calendar to update its default source. */
+ g_signal_emit_by_name (selector, "primary-selection-changed");
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]