aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/gnome-cal.c
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@nuclecu.unam.mx>1998-08-25 10:19:20 +0800
committerArturo Espinosa <unammx@src.gnome.org>1998-08-25 10:19:20 +0800
commitbf844f9fa82ee8540f99df6bd1bb533e99a70562 (patch)
tree5c75b30f1a5ac3d7a9978e8efc511b8adc7162c6 /calendar/gui/gnome-cal.c
parent4d075f28b587361a5014edd4946f30d9ae113e9f (diff)
downloadgsoc2013-evolution-bf844f9fa82ee8540f99df6bd1bb533e99a70562.tar.gz
gsoc2013-evolution-bf844f9fa82ee8540f99df6bd1bb533e99a70562.tar.zst
gsoc2013-evolution-bf844f9fa82ee8540f99df6bd1bb533e99a70562.zip
Today: Beautification of the Preferences dialog. Made the menus more
Today: Beautification of the Preferences dialog. Made the menus more consistent with the rest of GNOME. Started work on the meat of the month view. Minor fixups on some of the other views. 1998-08-24 Federico Mena Quintero <federico@nuclecu.unam.mx> * prop.c (build_two_radio_group): Doh. Set the state of the radio buttons properly. * month-view.c (month_view_time_format_changed): New public function that notifies the month view of a time format change. * gnome-cal.c (gnome_calendar_time_format_changed): New public function that notifies the calendar of a time format change. * main.c (time_format_changed): Use gnome_calendar_time_format_changed(). * month-view.c (month_view_update): New public function to update the month view when an event changes. This is still unfinished. (month_view_set): New public function to set the month in the month view. * gnome-cal.c (gnome_calendar_direction): Add case for month view. (gnome_calendar_set_view): Likewise. (gnome_calendar_update_all): Likewise. * timeutil.c (time_add_week): Implemented the time_add_week() function, which was on the header file. (time_add_month): Added public month-adding routine. * gnome-cal.c (gnome_calendar_get_current_view_name): Add case for month view. (gnome_calendar_goto): Likewise, and set the time on the month view. * month-view.c (month_view_new): Now it takes the calendar plus the time_t representing the month. * gnome-month-item.h: Added documentation on the object arguments for the month item. * month-view.c (month_view_init): Added a month/year heading to the month view. * TODO: Updated the TODO list a bit. * main.c (gnome_cal_file_menu): The preferences menu option should go in the File menu. (gnome_cal_edit_menu): Added stock pixmaps to the menu items. (gnome_cal_menu): Renamed the Calendar menu to Edit. (gnome_cal_help_menu): Use "About Gnomecal", not just "About". * prop.c (hour_activated): Notify the property box that it has changed. svn path=/trunk/; revision=337
Diffstat (limited to 'calendar/gui/gnome-cal.c')
-rw-r--r--calendar/gui/gnome-cal.c29
1 files changed, 26 insertions, 3 deletions
diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c
index e3f1250687..c9c62101b9 100644
--- a/calendar/gui/gnome-cal.c
+++ b/calendar/gui/gnome-cal.c
@@ -51,7 +51,7 @@ setup_widgets (GnomeCalendar *gcal)
gcal->notebook = gtk_notebook_new ();
gcal->day_view = gncal_day_panel_new (gcal, now);
gcal->week_view = gncal_week_view_new (gcal, now);
- gcal->month_view = month_view_new (gcal);
+ gcal->month_view = month_view_new (gcal, now);
gcal->year_view = gncal_year_view_new (gcal, now);
gtk_notebook_append_page (GTK_NOTEBOOK (gcal->notebook), gcal->day_view, gtk_label_new (_("Day View")));
@@ -80,6 +80,8 @@ gnome_calendar_get_current_view_name (GnomeCalendar *gcal)
return "dayview";
else if (page == gcal->week_view)
return "weekview";
+ else if (page == gcal->month_view)
+ return "monthview";
else if (page == gcal->year_view)
return "yearview";
else
@@ -99,6 +101,8 @@ gnome_calendar_goto (GnomeCalendar *gcal, time_t new_time)
gncal_day_panel_set (GNCAL_DAY_PANEL (gcal->day_view), new_time);
else if (current == gcal->week_view)
gncal_week_view_set (GNCAL_WEEK_VIEW (gcal->week_view), new_time);
+ else if (current == gcal->month_view)
+ month_view_set (MONTH_VIEW (gcal->month_view), new_time);
else if (current == gcal->year_view)
gncal_year_view_set (GNCAL_YEAR_VIEW (gcal->year_view), new_time);
else {
@@ -118,7 +122,9 @@ gnome_calendar_direction (GnomeCalendar *gcal, int direction)
if (cp == gcal->day_view)
new_time = time_add_day (gcal->current_display, 1 * direction);
else if (cp == gcal->week_view)
- new_time = time_add_day (gcal->current_display, 7 * direction);
+ new_time = time_add_week (gcal->current_display, 1 * direction);
+ else if (cp == gcal->month_view)
+ new_time = time_add_month (gcal->current_display, 1 * direction);
else if (cp == gcal->year_view)
new_time = time_add_year (gcal->current_display, 1 * direction);
else {
@@ -164,8 +170,10 @@ gnome_calendar_set_view (GnomeCalendar *gcal, char *page_name)
page = 0;
else if (strcmp (page_name, "weekview") == 0)
page = 1;
- else if (strcmp (page_name, "yearview") == 0)
+ else if (strcmp (page_name, "monthview") == 0)
page = 2;
+ else if (strcmp (page_name, "yearview") == 0)
+ page = 3;
gtk_notebook_set_page (GTK_NOTEBOOK (gcal->notebook), page);
}
@@ -196,6 +204,7 @@ gnome_calendar_update_all (GnomeCalendar *cal, iCalObject *object, int flags)
{
gncal_day_panel_update (GNCAL_DAY_PANEL (cal->day_view), object, flags);
gncal_week_view_update (GNCAL_WEEK_VIEW (cal->week_view), object, flags);
+ month_view_update (MONTH_VIEW (cal->month_view), object, flags);
gncal_year_view_update (GNCAL_YEAR_VIEW (cal->year_view), object, flags);
}
@@ -417,3 +426,17 @@ gnome_calendar_tag_calendar (GnomeCalendar *cal, GtkCalendar *gtk_cal)
calendar_iterate (cal->cal, month_begin, month_end, mark_gtk_calendar_day, gtk_cal);
gtk_calendar_thaw (gtk_cal);
}
+
+void
+gnome_calendar_time_format_changed (GnomeCalendar *gcal)
+{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+
+ /* FIXME: the queue resizes will do until we rewrite those views... */
+
+ gtk_widget_queue_resize (gcal->day_view);
+ gtk_widget_queue_resize (gcal->week_view);
+ month_view_time_format_changed (MONTH_VIEW (gcal->month_view));
+ gtk_widget_queue_resize (gcal->year_view);
+}