aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/gnome-cal.c
diff options
context:
space:
mode:
authorDamon Chaplin <damon@helixcode.com>2000-05-01 23:55:27 +0800
committerDamon Chaplin <damon@src.gnome.org>2000-05-01 23:55:27 +0800
commit1e8e80293c2ede36f219f03197b6b7f959df93a4 (patch)
tree097b2abdf75f4e9c99d26216321518d050ab2dd1 /calendar/gui/gnome-cal.c
parent42f7062a9b815b50a7a3b6b40247a3acec098fc2 (diff)
downloadgsoc2013-evolution-1e8e80293c2ede36f219f03197b6b7f959df93a4.tar.gz
gsoc2013-evolution-1e8e80293c2ede36f219f03197b6b7f959df93a4.tar.zst
gsoc2013-evolution-1e8e80293c2ede36f219f03197b6b7f959df93a4.zip
new function to get the currently seleted time range form the current
2000-05-01 Damon Chaplin <damon@helixcode.com> * gui/gnome-cal.[hc] (gnome_calendar_get_current_time_range): new function to get the currently seleted time range form the current view. * gui/calendar-commands.c (display_objedit): use the above function to get the time for the new appointment. * gui/e-week-view.c: * gui/e-day-view.c: use a shallow copy of the ico when we update the times (when resizing/dragging). Otherwise we won't detect that the time has changed in the "update_event" callback. Also added functions to get the currently selected time range. svn path=/trunk/; revision=2712
Diffstat (limited to 'calendar/gui/gnome-cal.c')
-rw-r--r--calendar/gui/gnome-cal.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c
index cb37240ba4..748a805e9f 100644
--- a/calendar/gui/gnome-cal.c
+++ b/calendar/gui/gnome-cal.c
@@ -930,6 +930,39 @@ gnome_calendar_set_selected_time_range (GnomeCalendar *gcal,
}
+/* Returns the selected time range for the current view. Note that this may be
+ different from the fields in the GnomeCalendar, since the view may clip
+ this or choose a more appropriate time. */
+void
+gnome_calendar_get_current_time_range (GnomeCalendar *gcal,
+ time_t *start_time,
+ time_t *end_time)
+{
+ GtkWidget *page;
+
+ page = get_current_page (gcal);
+
+ if (page == gcal->day_view
+ || page == gcal->work_week_view)
+ e_day_view_get_selected_time_range (E_DAY_VIEW (page),
+ start_time, end_time);
+ else if (page == gcal->week_view
+ || page == gcal->month_view)
+ e_week_view_get_selected_time_range (E_WEEK_VIEW (page),
+ start_time, end_time);
+#if 0
+ else if (page == gcal->year_view_sw)
+ year_view_set (YEAR_VIEW (gcal->year_view),
+ gcal->selection_start_time);
+#endif
+ else {
+ g_warning ("My penguin is gone!");
+ g_assert_not_reached ();
+ }
+}
+
+
+
/* This updates the month shown and the day selected in the calendar, if
necessary. */
static void