aboutsummaryrefslogtreecommitdiffstats
path: root/modules/calendar/e-cal-shell-content.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2009-07-29 09:01:08 +0800
committerMatthew Barnes <mbarnes@redhat.com>2009-07-29 09:33:01 +0800
commit41569bb778e228d4f5a04cb1e15bfa5b49bb044b (patch)
tree3cd61379dbfcca4a9998800bbe9680b87fcb9692 /modules/calendar/e-cal-shell-content.c
parent7bebc31932e74db65e3720f32ab2f6664fd9e58b (diff)
downloadgsoc2013-evolution-41569bb778e228d4f5a04cb1e15bfa5b49bb044b.tar
gsoc2013-evolution-41569bb778e228d4f5a04cb1e15bfa5b49bb044b.tar.gz
gsoc2013-evolution-41569bb778e228d4f5a04cb1e15bfa5b49bb044b.tar.bz2
gsoc2013-evolution-41569bb778e228d4f5a04cb1e15bfa5b49bb044b.tar.lz
gsoc2013-evolution-41569bb778e228d4f5a04cb1e15bfa5b49bb044b.tar.xz
gsoc2013-evolution-41569bb778e228d4f5a04cb1e15bfa5b49bb044b.tar.zst
gsoc2013-evolution-41569bb778e228d4f5a04cb1e15bfa5b49bb044b.zip
Trimming redundancy.
Diffstat (limited to 'modules/calendar/e-cal-shell-content.c')
-rw-r--r--modules/calendar/e-cal-shell-content.c33
1 files changed, 29 insertions, 4 deletions
diff --git a/modules/calendar/e-cal-shell-content.c b/modules/calendar/e-cal-shell-content.c
index 0f888c13e9..1a55c74d35 100644
--- a/modules/calendar/e-cal-shell-content.c
+++ b/modules/calendar/e-cal-shell-content.c
@@ -27,13 +27,13 @@
#include "e-util/gconf-bridge.h"
#include "calendar/gui/calendar-config.h"
-#include "calendar/gui/e-cal-list-view-config.h"
+#include "calendar/gui/calendar-view.h"
+#include "calendar/gui/e-cal-list-view.h"
#include "calendar/gui/e-cal-model-calendar.h"
#include "calendar/gui/e-calendar-table.h"
#include "calendar/gui/e-calendar-table-config.h"
-#include "calendar/gui/e-day-view-config.h"
+#include "calendar/gui/e-calendar-view.h"
#include "calendar/gui/e-memo-table-config.h"
-#include "calendar/gui/e-week-view-config.h"
#include "widgets/menus/gal-view-etable.h"
@@ -77,7 +77,32 @@ static void
cal_shell_content_display_view_cb (ECalShellContent *cal_shell_content,
GalView *gal_view)
{
- /* FIXME */
+ GnomeCalendar *calendar;
+ CalendarView *gal_calendar_view;
+ GnomeCalendarViewType view_type;
+
+ /* XXX This is confusing: we have CalendarView and ECalendarView.
+ * ECalendarView is an abstract base class for calendar view
+ * widgets (day view, week view, etc). CalendarView is a
+ * simple GalView subclass that represents a calendar view. */
+
+ calendar = e_cal_shell_content_get_calendar (cal_shell_content);
+
+ if (GAL_IS_VIEW_ETABLE (gal_view)) {
+ ECalendarView *calendar_view;
+ ETable *table;
+
+ view_type = GNOME_CAL_LIST_VIEW;
+ calendar_view = gnome_calendar_get_calendar_view (
+ calendar, view_type);
+ table = e_table_scrolled_get_table (
+ E_CAL_LIST_VIEW (calendar_view)->table_scrolled);
+ gal_view_etable_attach_table (
+ GAL_VIEW_ETABLE (gal_view), table);
+ } else {
+ view_type = calendar_view_get_view_type (
+ CALENDAR_VIEW (gal_view));
+ }
}
static void