aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/calendar-component.c
diff options
context:
space:
mode:
authorChenthill Palanisamy <pchen@src.gnome.org>2007-07-04 17:28:46 +0800
committerChenthill Palanisamy <pchen@src.gnome.org>2007-07-04 17:28:46 +0800
commit62d49ee0b61aa9284704d38c35a3092c646e4d69 (patch)
tree160cbafcb0544600f1f3d82ec204e5f3d5ec0fa4 /calendar/gui/calendar-component.c
parentd0d4630a002e37e92d8c0fe3afe63db6fc7effe3 (diff)
downloadgsoc2013-evolution-62d49ee0b61aa9284704d38c35a3092c646e4d69.tar
gsoc2013-evolution-62d49ee0b61aa9284704d38c35a3092c646e4d69.tar.gz
gsoc2013-evolution-62d49ee0b61aa9284704d38c35a3092c646e4d69.tar.bz2
gsoc2013-evolution-62d49ee0b61aa9284704d38c35a3092c646e4d69.tar.lz
gsoc2013-evolution-62d49ee0b61aa9284704d38c35a3092c646e4d69.tar.xz
gsoc2013-evolution-62d49ee0b61aa9284704d38c35a3092c646e4d69.tar.zst
gsoc2013-evolution-62d49ee0b61aa9284704d38c35a3092c646e4d69.zip
Fixes bug #328484.
svn path=/trunk/; revision=33755
Diffstat (limited to 'calendar/gui/calendar-component.c')
-rw-r--r--calendar/gui/calendar-component.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/calendar/gui/calendar-component.c b/calendar/gui/calendar-component.c
index 95d67c8efd..90dd8426f6 100644
--- a/calendar/gui/calendar-component.c
+++ b/calendar/gui/calendar-component.c
@@ -641,11 +641,23 @@ primary_source_selection_changed_cb (ESourceSelector *selector, CalendarComponen
}
static void
+source_changed_cb (ESource *source, GnomeCalendar *calendar)
+{
+ if (calendar) {
+ GtkWidget *widget = gnome_calendar_get_current_view_widget (calendar);
+
+ if (widget)
+ gtk_widget_queue_draw (widget);
+ }
+}
+
+static void
source_added_cb (GnomeCalendar *calendar, ECalSourceType source_type, ESource *source, CalendarComponentView *component_view)
{
switch (source_type) {
case E_CAL_SOURCE_TYPE_EVENT:
e_source_selector_select_source (E_SOURCE_SELECTOR (component_view->source_selector), source);
+ g_signal_connect (source, "changed", G_CALLBACK (source_changed_cb), calendar);
break;
default:
break;
@@ -657,6 +669,7 @@ source_removed_cb (GnomeCalendar *calendar, ECalSourceType source_type, ESource
{
switch (source_type) {
case E_CAL_SOURCE_TYPE_EVENT:
+ g_signal_handlers_disconnect_by_func (source, G_CALLBACK (source_changed_cb), calendar);
e_source_selector_unselect_source (E_SOURCE_SELECTOR (component_view->source_selector), source);
break;
default: