diff options
author | nobody <nobody@localhost> | 1998-06-05 22:41:32 +0800 |
---|---|---|
committer | nobody <nobody@localhost> | 1998-06-05 22:41:32 +0800 |
commit | 90512bf738ebe8935956311d2a0b0d5bf204b7b0 (patch) | |
tree | 622a7bcc083a5e80ce58b0b790a052635c9ad019 /calendar/gui/year-view.c | |
parent | 1a84302b253c1d07ccaf44f25051916f8172dc89 (diff) | |
download | gsoc2013-evolution-stable_after_merge.tar.gz gsoc2013-evolution-stable_after_merge.tar.zst gsoc2013-evolution-stable_after_merge.zip |
This commit was manufactured by cvs2svn to create tagstable_after_merge
'stable_after_merge'.
svn path=/tags/stable_after_merge/; revision=249
Diffstat (limited to 'calendar/gui/year-view.c')
-rw-r--r-- | calendar/gui/year-view.c | 245 |
1 files changed, 0 insertions, 245 deletions
diff --git a/calendar/gui/year-view.c b/calendar/gui/year-view.c deleted file mode 100644 index 0a104f25a3..0000000000 --- a/calendar/gui/year-view.c +++ /dev/null @@ -1,245 +0,0 @@ -/* Week view composite widget for gncal - * - * Copyright (C) 1998 The Free Software Foundation - * - * Author: Arturo Espinosa <arturo@nuclecu.unam.mx> - * - * Heavily based on Federico Mena's week view. - * - */ - -#include "gncal-year-view.h" -#include "calendar.h" -#include "timeutil.h" - -static void gncal_year_view_init (GncalYearView *yview); - -static void -double_click(GtkCalendar *gc, GncalYearView *yview) -{ - struct tm tm; - time_t t; - - tm.tm_mday = gc->selected_day; - tm.tm_mon = gc->month; - tm.tm_year = gc->year - 1900; - tm.tm_hour = 0; - tm.tm_min = 0; - tm.tm_sec = 0; - tm.tm_isdst = -1; - t = mktime (&tm); - - gnome_calendar_dayjump (yview->gcal, t); -} - -static void -do_nothing(GtkCalendarClass *c) -{ -} - -static void -select_day(GtkWidget *widget, gpointer data) -{ - int i; - - GncalYearView *yview; - - yview = GNCAL_YEAR_VIEW(data); - - for (i = 0; i < 12; i++) - gtk_signal_handler_block(GTK_OBJECT(yview->calendar[i]), - yview->handler[i]); - - for (i = 0; i < 12; i++) - if (GTK_CALENDAR(yview->calendar[i]) != GTK_CALENDAR(widget)) - gtk_calendar_select_day(GTK_CALENDAR(yview->calendar[i]), 0); - - for (i = 0; i < 12; i++) - gtk_signal_handler_unblock(GTK_OBJECT(yview->calendar[i]), - yview->handler[i]); -} - -guint -gncal_year_view_get_type (void) -{ - static guint year_view_type = 0; - - if (!year_view_type) { - GtkTypeInfo year_view_info = { - "GncalYearView", - sizeof (GncalYearView), - sizeof (GncalYearViewClass), - (GtkClassInitFunc) NULL, - (GtkObjectInitFunc) gncal_year_view_init, - (GtkArgSetFunc) NULL, - (GtkArgGetFunc) NULL - }; - - year_view_type = gtk_type_unique (gtk_table_get_type (), - &year_view_info); - } - - return year_view_type; -} - -static void -gncal_year_view_init (GncalYearView *yview) -{ - int i; - - for (i = 0; i < 12; i++) { - yview->calendar[i] = NULL; - yview->handler [i] = 0; - } - - yview->gcal = NULL; - yview->year_label = NULL; - yview->year = 0; -} - -GtkWidget * -gncal_year_view_new (GnomeCalendar *calendar, time_t date) -{ - struct tm my_tm = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - char monthbuff[40]; - GncalYearView *yview; - GtkWidget *frame, *vbox, *label; - struct tm *tmptm; - int i, x, y; - - yview = gtk_type_new (gncal_year_view_get_type ()); - - tmptm = localtime(&date); - yview->year = tmptm->tm_year; - yview->gcal = calendar; - my_tm.tm_year = tmptm->tm_year; - yview->year_label = gtk_label_new(""); - gtk_table_attach (GTK_TABLE (yview), - GTK_WIDGET (yview->year_label), - 1, 2, - 0, 1, - 0, 0, 0, 5); - gtk_widget_show(GTK_WIDGET(yview->year_label)); - - for (x = 0; x < 3; x++) - for (y = 0; y < 4; y++) { - - i = y * 3 + x; - - yview->calendar[i] = gtk_calendar_new(); - gtk_calendar_display_options(GTK_CALENDAR(yview->calendar[i]), - GTK_CALENDAR_SHOW_DAY_NAMES | - GTK_CALENDAR_NO_MONTH_CHANGE); - frame = gtk_frame_new(NULL); - vbox = gtk_vbox_new(0,0); - - yview->handler[i] = - gtk_signal_connect(GTK_OBJECT(yview->calendar[i]), "day_selected", - GTK_SIGNAL_FUNC(select_day), (gpointer *) yview); - - gtk_signal_connect(GTK_OBJECT(yview->calendar[i]), "day_selected_double_click", - GTK_SIGNAL_FUNC(double_click), (gpointer *) yview); - - my_tm.tm_mon = i; - strftime(monthbuff, 40, "%B", &my_tm); - label = gtk_label_new(monthbuff); - - gtk_container_add(GTK_CONTAINER(frame), vbox); - gtk_box_pack_start(GTK_BOX(vbox), label, 0, 0, 0); - gtk_box_pack_start(GTK_BOX(vbox), yview->calendar[i], 0, 0, 0); - - gtk_table_attach (GTK_TABLE (yview), - GTK_WIDGET (frame), - x, x + 1, - y + 1, y + 2, - 0, 0, 0, 0); - - gtk_widget_show (frame); - gtk_widget_show (vbox); - gtk_widget_show (GTK_WIDGET (yview->calendar[i])); - } - - gncal_year_view_set (yview, date); - - return GTK_WIDGET (yview); -} - -static void -year_view_mark_day (iCalObject *ical, time_t start, time_t end, void *closure) -{ - GncalYearView *yview = (GncalYearView *) closure; - struct tm tm_s; - time_t t, day_end; - - tm_s = *localtime (&start); - day_end = time_end_of_day (end); - - for (t = start; t <= day_end; t+= 60*60*24){ - time_t new = mktime (&tm_s); - struct tm tm_day; - - tm_day = *localtime (&new); - gtk_calendar_mark_day (GTK_CALENDAR (yview->calendar [tm_day.tm_mon]), - tm_day.tm_mday); - tm_s.tm_mday++; - } -} - -static void -gncal_year_view_set_year (GncalYearView *yview, int year) -{ - time_t year_begin, year_end; - char buff[20]; - GList *l; - int i; - - if (!yview->gcal->cal) - return; - - snprintf(buff, 20, "%d", yview->year + 1900); - gtk_label_set(GTK_LABEL(yview->year_label), buff); - - for (i = 0; i < 12; i++) { - gtk_calendar_freeze (GTK_CALENDAR (yview->calendar [i])); - gtk_calendar_select_month (GTK_CALENDAR(yview->calendar[i]), i, yview->year + 1900); - gtk_calendar_clear_marks (GTK_CALENDAR (yview->calendar[i])); - } - - year_begin = time_year_begin (yview->year); - year_end = time_year_end (yview->year); - - l = calendar_get_events_in_range (yview->gcal->cal, year_begin, year_end); - for (; l; l = l->next){ - CalendarObject *co = l->data; - - year_view_mark_day (co->ico, co->ev_start, co->ev_end, yview); - } - for (i = 0; i < 12; i++) - gtk_calendar_thaw (GTK_CALENDAR (yview->calendar [i])); - - calendar_destroy_event_list (l); -} - -void -gncal_year_view_set (GncalYearView *yview, time_t date) -{ - struct tm *tmptm; - - tmptm = localtime(&date); - yview->year = tmptm->tm_year; - - gncal_year_view_set_year (yview, yview->year); -} - -void -gncal_year_view_update (GncalYearView *yview, iCalObject *ico, int flags) -{ - g_return_if_fail (yview != NULL); - g_return_if_fail (GNCAL_IS_YEAR_VIEW (yview)); - - /* If only the summary changed, we dont care */ - if (flags && (flags & CHANGE_SUMMARY) == flags) - return; - - gncal_year_view_set_year (yview, yview->year); -} |