/* Year view display for gncal * * Copyright (C) 1998 The Free Software Foundation * * Authors: Arturo Espinosa * Federico Mena */ #include #include #include #include "eventedit.h" #include "year-view.h" #include "main.h" #include "mark.h" #include "quick-view.h" #include "timeutil.h" #define HEAD_SPACING 4 /* Spacing between year heading and months */ #define TITLE_SPACING 1 /* Spacing between title and calendar */ #define SPACING 4 /* Spacing between months */ static void year_view_class_init (YearViewClass *class); static void year_view_init (YearView *yv); static void year_view_destroy (GtkObject *object); static void year_view_size_request (GtkWidget *widget, GtkRequisition *requisition); static void year_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static GnomeCanvas *parent_class; GtkType year_view_get_type (void) { static GtkType year_view_type = 0; if (!year_view_type) { GtkTypeInfo year_view_info = { "YearView", sizeof (YearView), sizeof (YearViewClass), (GtkClassInitFunc) year_view_class_init, (GtkObjectInitFunc) year_view_init, NULL, /* reserved_1 */ NULL, /* reserved_2 */ (GtkClassInitFunc) NULL }; year_view_type = gtk_type_unique (gnome_canvas_get_type (), &year_view_info); } return year_view_type; } static void year_view_class_init (YearViewClass *class) { GtkObjectClass *object_class; GtkWidgetClass *widget_class; object_class = (GtkObjectClass *) class; widget_class = (GtkWidgetClass *) class; parent_class = gtk_type_class (gnome_canvas_get_type ()); object_class->destroy = year_view_destroy; widget_class->size_request = year_view_size_request; widget_class->size_allocate = year_view_size_allocate; } /* Resizes the year view's child items. This is done in the idle loop for * performance (we avoid resizing on every size allocation). */ static gint idle_handler (gpointer data) { YearView *yv; GtkArg arg; double head_height; double title_height; double width, height; double month_width; double month_height; double month_yofs; double xofs, yofs; double x, y; int i; yv = data; /* Compute the size we can use */ width = MAX (GTK_WIDGET (yv)->allocation.width, yv->min_width); height = MAX (GTK_WIDGET (yv)->allocation.height, yv->min_height); gnome_canvas_set_scroll_region (GNOME_CANVAS (yv), 0, 0, width, height); width--; height--; /* Get the heights of the heading and the titles */ arg.name = "text_height"; gtk_object_getv (GTK_OBJECT (yv->heading), 1, &arg); head_height = GTK_VALUE_DOUBLE (arg) + 2 * HEAD_SPACING; arg.name = "text_height"; gtk_object_getv (GTK_OBJECT (yv->titles[0]), 1, &arg); title_height = GTK_VALUE_DOUBLE (arg); /* Offsets */ xofs = (width + SPACING) / 3.0; yofs = (height - head_height + SPACING) / 4.0; /* Month item vertical offset */ month_yofs = title_height + TITLE_SPACING; /* Month item dimensions */ month_width = (width - 2 * SPACING) / 3.0; month_height = (yofs - SPACING) - month_yofs; /* Adjust the year heading */ gnome_canvas_item_set (yv->heading, "x", width / 2.0, "y", (double) HEAD_SPACING, NULL); /* Adjust titles and months */ for (i = 0; i < 12; i++) { x = (i % 3) * xofs; y = head_height + (i / 3) * yofs; gnome_canvas_item_set (yv->titles[i], "x", x + month_width / 2.0, "y", y, NULL); gnome_canvas_item_set (yv->mitems[i], "x", x, "y", y + month_yofs, "width", month_width, "height", month_height, NULL); } /* Done */ yv->need_resize = FALSE; return FALSE; } /* Marks the year view as needing a resize, which will be performed during the idle loop */ static void need_resize (YearView *yv) { if (yv->need_resize) return; yv->need_resize = TRUE; yv->idle_id = gtk_idle_add (idle_handler, yv); } /* Callback used to destroy the year view's popup menu when the year view itself is destroyed */ static void destroy_menu (GtkWidget *widget, gpointer data) { gtk_widget_destroy (GTK_WIDGET (data)); } /* Create a new appointment in the highlighted day from the year view's popup menu */ static void new_appointment (GtkWidget *widget, gpointer data) { YearView *yv; time_t *t; yv = YEAR_VIEW (data); t = gtk_object_get_data (GTK_OBJECT (widget), "time_data"); event_editor_new_whole_day (yv->calendar, *t); } /* Convenience functions to jump to a view and set the time */ static void do_jump (GtkWidget *widget, gpointer data, char *view_name) { YearView *yv; time_t *t; yv = YEAR_VIEW (data); /* Get the time data from the menu item */ t = gtk_object_get_data (GTK_OBJECT (widget), "time_data"); /* Set the view and time */ gnome_calendar_set_view (yv->calendar, view_name); gnome_calendar_goto (yv->calendar, *t); } /* The following three callbacks set the view in the calendar and change the time */ static void jump_to_day (GtkWidget *widget, gpointer data) { do_jump (widget, data, "dayview"); } static void jump_to_week (GtkWidget *widget, gpointer data) { do_jump (widget, data, "weekview"); } static void jump_to_month (GtkWidget *widget, gpointer data) { do_jump (widget, data, "monthview"); } /* Information for the year view's popup menu */ static GnomeUIInfo yv_popup_menu[] = { GNOMEUIINFO_ITEM_STOCK (N_("_New appointment in this day..."), NULL, new_appointment, GNOME_STOCK_MENU_NEW), GNOMEUIINFO_SEPARATOR, GNOMEUIINFO_ITEM_STOCK (N_("Jump to this _day"), NULL, jump_to_day, GNOME_STOCK_MENU_JUMP_TO), GNOMEUIINFO_ITEM_STOCK (N_("Jump to this _week"), NULL, jump_to_week, GNOME_STOCK_MENU_JUMP_TO), GNOMEUIINFO_ITEM_STOCK (N_("Jump to this _month"), NULL, jump_to_month, GNOME_STOCK_MENU_JUMP_TO), GNOMEUIINFO_END }; /* Returns the popup menu cooresponding to the specified year view. If the menu has not been * created yet, it creates it and attaches it to the year view. */ static GtkWidget * get_popup_menu (YearView *yv) { GtkWidget *menu; menu = gtk_object_get_data (GTK_OBJECT (yv), "popup_menu"); if (!menu) { menu = gnome_popup_menu_new (yv_popup_menu); gtk_object_set_data (GTK_OBJECT (yv), "popup_menu", menu); gtk_signal_connect (GTK_OBJECT (yv), "destroy", (GtkSignalFunc) destroy_menu, menu); } return menu; } /* Executes the year view's popup menu. It may disable/enable some menu items based on the * specified flags. A pointer to a time_t value containing the specified time data is set in the * "time_data" object data key of the menu items. */ static void do_popup_menu (YearView *yv, GdkEventButton *event, int allow_new, int allow_day, int allow_week, int allow_month, int year, int month, int day) { GtkWidget *menu; static time_t t; menu = get_popup_menu (yv); /* Enable/disable items as appropriate */ gtk_widget_set_sensitive (yv_popup_menu[0].widget, allow_new); gtk_widget_set_sensitive (yv_popup_menu[2].widget, allow_day); gtk_widget_set_sensitive (yv_popup_menu[3].widget, allow_week); gtk_widget_set_sensitive (yv_popup_menu[4].widget, allow_month); /* Set the day item relevant to the context */ t = time_from_day (year, month, day); gtk_object_set_data (GTK_OBJECT (yv_popup_menu[0].widget), "time_data", &t); gtk_object_set_data (GTK_OBJECT (yv_popup_menu[2].widget), "time_data", &t); gtk_object_set_data (GTK_OBJECT (yv_popup_menu[3].widget), "time_data", &t); gtk_object_set_data (GTK_OBJECT (yv_popup_menu[4].widget), "time_data", &t); gnome_popup_menu_do_popup (menu, NULL, NULL, event, yv); } /* Creates the quick view when the user clicks on a day */ static void do_quick_view_popup (YearView *yv, GdkEventButton *event, int year, int month, int day) { time_t day_start, day_end; GList *list; GtkWidget *qv; char date_str[256]; day_start = time_from_day (year, month, day); day_end = time_day_end (day_start); list = calendar_get_events_in_range (yv->calendar->cal, day_start, day_end); strftime (date_str, sizeof (date_str), _("%a %b %d %Y"), localtime (&day_start)); qv = quick_view_new (yv->calendar, date_str, list); quick_view_do_popup (QUICK_VIEW (qv), event); gtk_widget_destroy (qv); calendar_destroy_event_list (list); } /* Event handler for days in the year's month items */ static gint day_event (GnomeCanvasItem *item, GdkEvent *event, gpointer data) { YearView *yv; GnomeMonthItem *mitem; int child_num, day; mitem = GNOME_MONTH_ITEM (data); child_num = gnome_month_item_child2num (mitem, item); day = gnome_month_item_num2day (mitem, child_num); yv = YEAR_VIEW (item->canvas); switch (event->type) { case GDK_BUTTON_PRESS: if (day == 0) break; if (event->button.button == 1) { do_quick_view_popup (yv, (GdkEventButton *) event, mitem->year, mitem->month, day); return TRUE; } else if (event->button.button == 3) { do_popup_menu (yv, (GdkEventButton *) event, TRUE, TRUE, TRUE, TRUE, mitem->year, mitem->month, day); /* We have to stop the signal emission because mark.c will grab it too and * set the return value to FALSE. Blargh. */ gtk_signal_emit_stop_by_name (GTK_OBJECT (item), "event"); return TRUE; } break; default: break; } return FALSE; } /* Event handler for whole month items */ static gint month_event (GnomeCanvasItem *item, GdkEvent *event, gpointer data) { YearView *yv; GnomeMonthItem *mitem; mitem = GNOME_MONTH_ITEM (item); yv = YEAR_VIEW (item->canvas); switch (event->type) { case GDK_BUTTON_PRESS: if (event->button.button != 3) break; do_popup_menu (yv, (GdkEventButton *) event, FALSE, FALSE, FALSE, TRUE, mitem->year, mitem->month, 1); /* We have to stop the signal emission because mark.c will grab it too and * set the return value to FALSE. Blargh. */ gtk_signal_emit_stop_by_name (GTK_OBJECT (item), "event"); return TRUE; default: break; } return FALSE; } /* Sets up the month item with the specified index -- connects signals for handling events, etc. */ static void setup_month_item (YearView *yv, int n) { GnomeCanvasItem *mitem; GnomeCanvasItem *item; int i; mitem = yv->mitems[n]; /* Connect the day signals */ for (i = 0; i < 42; i++) { item = gnome_month_item_num2child (GNOME_MONTH_ITEM (mitem), GNOME_MONTH_ITEM_DAY_GROUP + i); gtk_signal_connect (GTK_OBJECT (item), "event", (GtkSignalFunc) day_event, mitem); } /* Connect the month signals */ gtk_signal_connect (GTK_OBJECT (mitem), "event", (GtkSignalFunc) month_event, NULL); /* Prepare for prelighting */ month_item_prepare_prelight (GNOME_MONTH_ITEM (mitem), default_color_func, NULL); } /* Computes the minimum size for the year view and stores it in its internal fields */ static void compute_min_size (YearView *yv) { GtkArg args[2]; double m_width; double m_height; double max_width; double w; int i; /* Compute the minimum size of the year heading */ args[0].name = "text_width"; args[1].name = "text_height"; gtk_object_getv (GTK_OBJECT (yv->heading), 2, args); m_width = GTK_VALUE_DOUBLE (args[0]); m_height = 2 * HEAD_SPACING + GTK_VALUE_DOUBLE (args[1]); /* Add height of month titles and their spacings */ args[0].name = "text_height"; gtk_object_getv (GTK_OBJECT (yv->titles[0]), 1, &args[0]); m_height += 4 * (GTK_VALUE_DOUBLE (args[0]) + TITLE_SPACING); /* Add width of month titles */ max_width = 0.0; for (i = 0; i < 12; i++) { args[0].name = "text_width"; gtk_object_getv (GTK_OBJECT (yv->titles[i]), 1, &args[0]); w = GTK_VALUE_DOUBLE (args[0]); if (max_width < w) max_width = w; } max_width = 3 * max_width + 2 * SPACING; if (m_width < max_width) m_width = max_width; /* Add width of month items */ args[0].name = "width"; args[1].name = "height"; gtk_object_getv (GTK_OBJECT (yv->mitems[0]), 2, args); max_width = 3 * GTK_VALUE_DOUBLE (args[0]) + 2 * SPACING; if (m_width < max_width) m_width = max_width; /* Add height of month items */ m_height += 4 * GTK_VALUE_DOUBLE (args[1]) + 3 * SPACING; /* Finally, set the minimum width and height in the year view */ yv->min_width = (int) (m_width + 0.5); yv->min_height = (int) (m_height + 0.5); } static void year_view_init (YearView *yv) { int i; char buf[100]; struct tm tm; memset (&tm, 0, sizeof (tm)); /* Heading */ yv->heading = gnome_canvas_item_new (gnome_canvas_root (GNOME_CANVAS (yv)), gnome_canvas_text_get_type (), "anchor", GTK_ANCHOR_N, "fontset", HEADING_FONTSET, "fill_color", "black", NULL); /* Months */ for (i = 0; i < 12; i++) { /* Title */ strftime (buf, 100, "%B", &tm); tm.tm_mon++; yv->titles[i] = gnome_canvas_item_new (gnome_canvas_root (GNOME_CANVAS (yv)), gnome_canvas_text_get_type (), "text", buf, "anchor", GTK_ANCHOR_N, "fontset", TITLE_FONTSET, "fill_color", "black", NULL); /* Month item */ yv->mitems[i] = gnome_month_item_new (gnome_canvas_root (GNOME_CANVAS (yv))); gnome_canvas_item_set (yv->mitems[i], "anchor", GTK_ANCHOR_NW, "start_on_monday", week_starts_on_monday, "heading_fontset", DAY_HEADING_FONTSET, "day_fontset", NORMAL_DAY_FONTSET, NULL); setup_month_item (yv, i); } /* We will need to resize the items when we paint for the first time */ yv->old_marked_day = -1; yv->idle_id = -1; need_resize (yv); } static void year_view_destroy (GtkObject *object) { YearView *yv; g_return_if_fail (object != NULL); g_return_if_fail (IS_YEAR_VIEW (object)); yv = YEAR_VIEW (object); if (yv->need_resize) { yv->need_resize = FALSE; gtk_idle_remove (yv->idle_id); } if (GTK_OBJECT_CLASS (parent_class)->destroy) (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); } GtkWidget * year_view_new (GnomeCalendar *calendar, time_t year) { YearView *yv; g_return_val_if_fail (calendar != NULL, NULL); g_return_val_if_fail (GNOME_IS_CALENDAR (calendar), NULL); yv = gtk_type_new (year_view_get_type ()); yv->calendar = calendar; year_view_colors_changed (yv); year_view_set (yv, year); compute_min_size (yv); return GTK_WIDGET (yv); } static void year_view_size_request (GtkWidget *widget, GtkRequisition *requisition) { YearView *yv; g_return_if_fail (widget != NULL); g_return_if_fail (IS_YEAR_VIEW (widget)); g_return_if_fail (requisition != NULL); yv = YEAR_VIEW (widget); requisition->width = yv->min_width; requisition->height = yv->min_height; } static void year_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { YearView *yv; g_return_if_fail (widget != NULL); g_return_if_fail (IS_YEAR_VIEW (widget)); g_return_if_fail (allocation != NULL); yv = YEAR_VIEW (widget); if (GTK_WIDGET_CLASS (parent_class)->size_allocate) (* GTK_WIDGET_CLASS (parent_class)->size_allocate) (widget, allocation); need_resize (yv); } void year_view_update (YearView *yv, iCalObject *object, int flags) { g_return_if_fail (yv != NULL); g_return_if_fail (IS_YEAR_VIEW (yv)); /* If only the summary changed, we don't care */ if (object && ((flags & CHANGE_SUMMARY) == flags)) return; year_view_set (yv, time_year_begin (time_from_day (yv->year, 0, 1))); } /* Unmarks the old day that was marked as current and marks the current day if appropriate */ static void mark_current_day (YearView *yv) { time_t t; struct tm tm; int month_index, day_index; GnomeCanvasItem *item; /* Unmark the old day */ if (yv->old_marked_day != -1) { month_index = yv->old_marked_day / 42; day_index = yv->old_marked_day % 42; item = gnome_month_item_num2child (GNOME_MONTH_ITEM (yv->mitems[month_index]), GNOME_MONTH_ITEM_DAY_LABEL + day_index); gnome_canvas_item_set (item, "fill_color", color_spec_from_prop (COLOR_PROP_DAY_FG), "fontset", NORMAL_DAY_FONTSET, NULL); yv->old_marked_day = -1; } /* Mark the new day */ t = time (NULL); tm = *localtime (&t); if ((tm.tm_year + 1900) == yv->year) { month_index = tm.tm_mon; day_index = gnome_month_item_day2index (GNOME_MONTH_ITEM (yv->mitems[month_index]), tm.tm_mday); g_assert (day_index != -1); item = gnome_month_item_num2child (GNOME_MONTH_ITEM (yv->mitems[month_index]), GNOME_MONTH_ITEM_DAY_LABEL + day_index); gnome_canvas_item_set (item, "fill_color", color_spec_from_prop (COLOR_PROP_CURRENT_DAY_FG), "fontset", CURRENT_DAY_FONTSET, NULL); yv->old_marked_day = month_index * 42 + day_index; } } void year_view_set (YearView *yv, time_t year) { struct tm tm; char buf[100]; int i; g_return_if_fail (yv != NULL); g_return_if_fail (IS_YEAR_VIEW (yv)); tm = *localtime (&year); yv->year = tm.tm_year + 1900; /* Heading */ sprintf (buf, "%d", yv->year); gnome_canvas_item_set (yv->heading, "text", buf, NULL); /* Months */ for (i = 0; i < 12; i++) gnome_canvas_item_set (yv->mitems[i], "year", yv->year, "month", i, NULL); /* Unmark and re-mark all the months */ for (i = 0; i < 12; i++) { unmark_month_item (GNOME_MONTH_ITEM (yv->mitems[i])); mark_month_item (GNOME_MONTH_ITEM (yv->mitems[i]), yv->calendar->cal); } mark_current_day (yv); } void year_view_time_format_changed (YearView *yv) { int i; g_return_if_fail (yv != NULL); g_return_if_fail (IS_YEAR_VIEW (yv)); for (i = 0; i < 12; i++) gnome_canvas_item_set (yv->mitems[i], "start_on_monday", week_starts_on_monday, NULL); year_view_set (yv, time_year_begin (time_from_day (yv->year, 0, 1))); } void year_view_colors_changed (YearView *yv) { int i; g_return_if_fail (yv != NULL); g_return_if_fail (IS_YEAR_VIEW (yv)); for (i = 0; i < 12; i++) { colorify_month_item (GNOME_MONTH_ITEM (yv->mitems[i]), default_color_func, NULL); mark_month_item (GNOME_MONTH_ITEM (yv->mitems[i]), yv->calendar->cal); } mark_current_day (yv); } s='commitgraph'>* Conversion to a single libtool environment.ade2006-02-232-4/+3 * - Use a distfile in tarball instead of one in rpm.hrs2006-02-223-18/+7 * - Update to 4.16 [1]barner2006-02-023-12/+26 * Update to KDE 3.5.1.lofi2006-02-014-22/+100 * [1]:jylefort2006-01-263-7/+15 * SHA256ifyedwin2006-01-2215-0/+16 * eplace ugly "@unexec rmdir %D... 2>/dev/null || true" with @dirrmtryedwin2006-01-221-1/+1 * Replace ugly "@unexec rmdir %D... 2>/dev/null || true" with @dirrmtryedwin2006-01-221-19/+19 * Update to KDE 3.5.0lofi2006-01-094-282/+310 * Hash with SHA-256.trevor2006-01-081-0/+1 * new homepagewosch2005-12-241-2/+2 * Update of german/BBBike portedwin2005-12-203-16/+56 * Add SHA256 hashes to my portsehaupt2005-11-301-0/+1 * Remove a dead mastersite per distfile survey.linimon2005-11-281-1/+0 * [Maintainer Update] update german/tvbrowser 1.0 -> 2.1edwin2005-11-265-89/+50 * - Style: don't quote COMMENT, it looks nasty in `make describe` outputpav2005-11-261-1/+1 * new port: german/tvbrowseredwin2005-11-247-0/+187 * Mass-conversion to the USE_AUTOTOOLS New World Order. The code presentade2005-11-151-1/+1 * - add SHA checksumdinoex2005-11-131-0/+1 * Remove the usage of 'misc' as a secondary category.linimon2005-11-101-1/+1 * Update to KDE 3.4.3 / KOffice 1.4.2lofi2005-11-0513-16/+35 * Bump PORTREVISION to chase the glib20 shared library update.marcus2005-11-052-2/+2 * Remove all the secondary port of editors/ooodict-allmaho2005-11-014-65/+0 * BROKEN: Incorrect pkg-plistkris2005-10-291-0/+2 * Port german/steak does not honor X11BASEedwin2005-10-231-0/+1 * With permission, reset inactive maintainer.linimon2005-10-131-1/+1 * Remove WWW: None.fenner2005-10-091-2/+0 * o) Update to respect new Patch from SUN (Product Update 5)lkoeller2005-10-082-11/+11 * localized versions of Adobe Reader (formerly Acrobat Reader)trevor2005-10-084-0/+30 * Change MAINTAINER address for my ports.ehaupt2005-10-062-2/+2 * Reset maintainer who had turned in his commit bit some time back as he nolinimon2005-10-012-2/+2 * Update to 4.15 (follows update of master port, ports/86241).barner2005-09-262-4/+25 * This is now a slave-port to math/geonextvs2005-09-074-71/+3 * Update to 81vs2005-08-292-17/+15 * Fix index build by moving openoffice.org-1.1 ports.maho2005-08-293-3/+3 * Add schwobifyer 20050730, a utility for translating german into thelawrance2005-08-014-0/+34 * Update to KDE 3.4.2 / KOffice 1.4.1lofi2005-08-0110-117/+151 * This is a swiss-"high german" language pack for german/ding.garga2005-07-193-0/+56 * Upgraded to version 1.4. The 1.3 version was unfetchable which caused the portniels2005-07-144-7/+11 * Update to KOffice 1.4.0a.lofi2005-07-069-96/+45 * Remove openoffice.org localized ports as I announced:maho2005-06-295-237/+0 * Update to KDE 3.4.1lofi2005-06-264-78/+272 * Mega-patch to cleanup the ports infrastructure regarding our linux bits:netchild2005-06-185-16/+23 * - Unbreak and general updatepav2005-06-064-3/+24 * - Remove linux-mozillafirebird and it's language spinoffs. This port ispav2005-05-284-34/+0 * - Add german specific files to plistpav2005-05-271-0/+6 * - Update to 3.14pav2005-05-273-12/+80 * Unbreak: Fix plistvs2005-04-142-2/+3 * At Kris's request, back out the MACHINE_ARCH spelling correction untilobrien2005-04-121-1/+1 * Assist getting more ports working on AMD64 by obeying theobrien2005-04-111-1/+1 * Add two advisory variables that mark this port as a slave port. Due tolinimon2005-04-061-0/+3 * Update to KDE 3.4lofi2005-03-214-78/+534 * Bump PORTREVISION to chase the glib20 shared lib version change.marcus2005-03-122-0/+2 * Respect the user's USE_LINUX setting.trevor2005-03-025-5/+0 * BROKEN: Incomplete pkg-plistkris2005-02-281-0/+2 * Don't install man sub-directory 'debian'. It has less valuewosch2005-02-171-0/+1 * Fix the german/selfhtml port so that it installs thelofi2005-01-251-0/+2 * New port selfhtml version 80: Extensive german HTML referencelioux2005-01-214-0/+86 * Add SIZE in distinfohq2005-01-121-0/+1 * jDictionary plugin: English-German dictionaryhq2005-01-124-0/+24 * JDictionary plugin: German-Hungarian dictionaryhq2005-01-114-0/+23 * Fix build after one of the recent pthread-changesarved2005-01-101-2/+3 * Upgrade 1.2 -> 1.3.nectar2005-01-093-5/+8 * Add missing dependency (linux X11).netchild2005-01-042-2/+6 * Say hello to the linux mega patch, it consolidates our linux bits anetchild2005-01-015-8/+14 * Add i18nized doc subdirs to kdehier and adjust i18n port plists accordingly.lofi2004-12-235-5/+0 * Update to 1.0.0.p2 (pre2)vs2004-12-213-23/+14 * As previously announced, remove localized versions of Netscape whichlinimon2004-12-196-134/+0 * Fix kde3-i18n ports.lofi2004-12-162-4/+4 * Remove bogus spam I had in my cvs checkout and committed along with KDE.lofi2004-12-161-2/+0 * Update to KDE 3.3.2lofi2004-12-1413-18/+62 * Update to 4.13vs2004-12-133-7/+12 * Really build german versionvs2004-11-221-2/+2 * Fix missed path, remove USE_ZIP directive.mbr2004-11-221-2/+1 * Upgrade to staroffice 7 product update IV.mbr2004-11-222-9/+10 * Update to version 0.8markus2004-11-123-9/+15 * Update the English-language Netscape to 7.2. Add a security warningtrevor2004-11-091-0/+2 * Update to KDE 3.3.1lofi2004-11-0813-13/+130 * de-php_doc-de -> php_doc-deedwin2004-10-211-0/+1 * Update to KDE 3.3lofi2004-08-319-169/+301 * Factor out all but one of the build switches of the KDE main module portslofi2004-08-116-9/+9 * Apply a big libtool patch to allow porters to use the libtool installed bymarcus2004-07-101-1/+1 * Upgrade to Product Update 3.mbr2004-07-052-8/+9 * Establish a correct master-slave relationship betweenlinimon2004-06-241-1/+2 * - Remove empty files [1]pav2004-06-212-2/+1 * Update to version 3.2.3lofi2004-06-104-4/+84 * BROKEN: Unfetchablekris2004-06-091-0/+2 * - Fix MASTER_SITESkrion2004-06-081-2/+1 * Don't use Makefile.kde anymoremarkus2004-06-061-6/+3 * Upgrade to so-7-pp2 (product update 2)mbr2004-05-182-7/+8 * NO_LATEST_LINK=yesmbr2004-05-152-0/+2 * Oops. Forgot the language categories.lofi2004-05-076-9/+9 * Update to KDE 3.2.2lofi2004-04-204-40/+50 * Fix LATEST_LINK conflictsmaho2004-04-121-0/+1 * Chase the glib20 update, and bump all affected ports' PORTREVISIONs.marcus2004-04-052-2/+2 * Remove category pkg/COMMENT files in favour of a COMMENT variable in thekris2004-04-022-1/+2 * Update to 1.11: adds the possibility to change the font size in somelinimon2004-04-024-12/+13 * SIZEify (maintainer timeout)trevor2004-03-319-0/+22 * - Fix packagingpav2004-03-304-866/+60 * - SIZEifymarkus2004-03-291-0/+1 * Add SIZE.nectar2004-03-181-0/+1 * Add staroffice70kris2004-03-171-0/+1 * Whoa there, boy, that's a mighty big commit y'all have there...ade2004-03-141-1/+1 * Update to KDE 3.2.1 / QT 3.3.1lofi2004-03-109-4/+37 * - add SIZEdinoex2004-02-261-0/+1 * Change my email address.markus2004-02-241-1/+1 * BROKEN on 5.x: broken pkg-plistkris2004-02-091-1/+7 * Use PLIST_FILES (bento-tested, marcus-reviewed).trevor2004-02-062-1/+1 * Update to KDE 3.2.0lofi2004-02-0515-202/+1063 * Bump PORTREVISION on all ports that depend on gettext to aid with upgrading.marcus2004-02-043-0/+3 * Add USE_GETTEXT and bump PORTREVISION.marcus2004-02-045-10/+10 * Now gettext 0.12.1 is gettext-old.trevor2004-01-245-5/+5 * - fix PKGORIGINeik2004-01-231-1/+1 * - Update to 3.13pav2004-01-215-102/+334 * Fix Makefile comment in port.mbr2004-01-091-2/+2 * Add german port of staroffice7.0mbr2004-01-098-3680/+5317 * uncomment test lines. apologies.edwin2004-01-031-2/+2 * [NEW PORT] german/de-geonext: Interactive (dynamic) elementary Geometry Softwareedwin2004-01-035-0/+83 * - update to 0.95dinoex2003-12-292-2/+2 * Define USE_PERL5_BUILD, not erroneous USE_PERL.trevor2003-11-202-2/+2 * Define USE_PERL to make Perl available for (mostly deprecated)trevor2003-11-202-0/+2 * new German-language, i386 Linux binary port of Firebird Web browsertrevor2003-11-194-0/+26 * Fix COMMENT spellingeik2003-11-152-2/+2 * Fix COMMENT with an a-umlaut.nork2003-11-142-2/+2 * Add kheisereg, utility to search offline within the article databasearved2003-11-145-0/+85 * Use the FIND and XARGS macros introduced in bsd.port.mk 1.391.trevor2003-11-131-1/+1 * OpenOffice -> OpenOffice.orgmaho2003-11-094-4/+4 * Language setting was wrong for german.maho2003-11-091-1/+1 * Add OpenOffice.org 1.1 for german.maho2003-11-093-0/+117 * Forgot to change Makefile s..maho2003-11-081-1/+1 * rename openoffice* to openoffice-1.0* accodingly (repo copy).maho2003-11-082-2/+2 * rename openoffice to openoffice-1.0 after repocopymaho2003-11-083-117/+1 * Per maintainer request, remove german/cheapcall. The mastersite haslinimon2003-11-035-56/+0 * Update German Linux manual pages to version 0.4wosch2003-10-292-8/+8 * Per distfile survey, chase new mastersite. Informed maintainer.linimon2003-10-293-4/+3 * utilize SITE_PERLijliao2003-10-241-1/+1 * Switch to tk84, bump PORTREVISION and tidy some whitespace.kris2003-10-191-8/+9 * update german/linux-eagle: 4.09r2 -> 4.11daichi2003-10-143-11/+42 * - use DOCSDIRdinoex2003-10-121-22/+22 * Translation update: fix checksum.will2003-09-222-2/+2 * Upgrade to Qt 3.2.1 / KDE 3.1.4. See x11/kde3/Makefile rev 1.64 for details.will2003-09-182-2/+2 * Update KDE to the latest official release, KDE 3.1.3lofi2003-07-294-10/+28 * Upgrade to use new patchset 112887-04.tarmbr2003-07-242-6/+6 * Fix distinfo for generated files: I mistakenly left "linux-" intrevor2003-07-061-1/+1 * Generate plist either statically or before do-install phase formarcus2003-07-061-3/+4 * Security fix: update to the latest versions: 7.1 for Americantrevor2003-07-038-599/+31 * Update to 0.9.4arved2003-06-133-3/+2 * Update to KDE 3.1.2lioux2003-05-206-10/+18 * Bring back from Attic: localized messages and documentation for kofficelioux2003-05-2013-0/+277 * Remove USE_GNOMENG.marcus2003-04-211-1/+0 * Add hyphenation dictionaries to the slave ports.mbr2003-04-092-0/+2 * Rejoice, for the long awaited upgrade to kde 3.1.1 is here!alane2003-04-064-10/+4 * - fix PLISTdinoex2003-04-052-1/+27