aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/e-text
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-02-08 11:15:56 +0800
committerChris Lahey <clahey@src.gnome.org>2000-02-08 11:15:56 +0800
commit1a44ff0e97b73be2728f3ecef9fe58027560c798 (patch)
treef6e53657899ec9d772104ca90c1571f864dc6874 /widgets/e-text
parent358b21acbb66bbb700f6d3ff3080229e33887d78 (diff)
downloadgsoc2013-evolution-1a44ff0e97b73be2728f3ecef9fe58027560c798.tar.gz
gsoc2013-evolution-1a44ff0e97b73be2728f3ecef9fe58027560c798.tar.zst
gsoc2013-evolution-1a44ff0e97b73be2728f3ecef9fe58027560c798.zip
Added line wrap and a max number of lines (max number of lines is only
2000-02-07 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text.h, widgets/e-text.c: Added line wrap and a max number of lines (max number of lines is only obeyed if text is not being edited). svn path=/trunk/; revision=1691
Diffstat (limited to 'widgets/e-text')
-rw-r--r--widgets/e-text/e-text.c387
-rw-r--r--widgets/e-text/e-text.h16
2 files changed, 271 insertions, 132 deletions
diff --git a/widgets/e-text/e-text.c b/widgets/e-text/e-text.c
index bfff8e251a..b33e99194d 100644
--- a/widgets/e-text/e-text.c
+++ b/widgets/e-text/e-text.c
@@ -72,7 +72,9 @@ enum {
ARG_TEXT_HEIGHT,
ARG_EDITABLE,
ARG_USE_ELLIPSIS,
- ARG_ELLIPSIS
+ ARG_ELLIPSIS,
+ ARG_LINE_WRAP,
+ ARG_MAX_LINES
};
@@ -243,6 +245,10 @@ e_text_class_init (ETextClass *klass)
GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_USE_ELLIPSIS);
gtk_object_add_arg_type ("EText::ellipsis",
GTK_TYPE_STRING, GTK_ARG_READWRITE, ARG_ELLIPSIS);
+ gtk_object_add_arg_type ("EText::line_wrap",
+ GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_LINE_WRAP);
+ gtk_object_add_arg_type ("EText::max_lines",
+ GTK_TYPE_INT, GTK_ARG_READWRITE, ARG_MAX_LINES);
if (!clipboard_atom)
clipboard_atom = gdk_atom_intern ("CLIPBOARD", FALSE);
@@ -314,6 +320,9 @@ e_text_init (EText *text)
text->pointer_in = FALSE;
text->default_cursor_shown = TRUE;
+
+ text->line_wrap = FALSE;
+ text->max_lines = -1;
}
/* Destroy handler for the text item */
@@ -619,6 +628,10 @@ split_into_lines (EText *text)
char *p;
struct line *lines;
int len;
+ int line_num;
+ char *laststart;
+ char *lastend;
+ char *linestart;
/* Free old array of lines */
@@ -633,31 +646,116 @@ split_into_lines (EText *text)
/* First, count the number of lines */
- for (p = text->text; *p; p++)
- if (*p == '\n')
- text->num_lines++;
+ lastend = text->text;
+ laststart = text->text;
+ linestart = text->text;
+
+ for (p = text->text; *p; p++) {
+ if (text->line_wrap && (*p == ' ' || *p == '\n')) {
+ if ( laststart != lastend
+ && gdk_text_width(text->font,
+ linestart,
+ p - linestart)
+ > text->clip_width ) {
+ text->num_lines ++;
+ linestart = laststart;
+ laststart = p + 1;
+ lastend = p;
+ } else if (*p == ' ') {
+ laststart = p + 1;
+ lastend = p;
+ }
+ }
+ if (*p == '\n') {
+ text->num_lines ++;
+ lastend = p + 1;
+ laststart = p + 1;
+ linestart = p + 1;
+ }
+ }
+
+ if (text->line_wrap) {
+ if ( laststart != lastend
+ && gdk_text_width(text->font,
+ linestart,
+ p - linestart)
+ > text->clip_width ) {
+ text->num_lines ++;
+ }
+ }
text->num_lines++;
+ if ( (!text->editing) && text->max_lines != -1 && text->num_lines > text->max_lines ) {
+ text->num_lines = text->max_lines;
+ }
+
/* Allocate array of lines and calculate split positions */
text->lines = lines = g_new0 (struct line, text->num_lines);
len = 0;
+ line_num = 1;
+ lastend = text->text;
+ laststart = text->text;
- for (p = text->text; *p; p++) {
+ for (p = text->text; line_num < text->num_lines && *p; p++) {
+ gboolean handled = FALSE;
if (len == 0)
lines->text = p;
+ if (text->line_wrap && (*p == ' ' || *p == '\n')) {
+ if ( gdk_text_width(text->font,
+ lines->text,
+ p - lines->text)
+ > text->clip_width
+ && laststart != lastend ) {
+ lines->length = lastend - lines->text;
+ lines++;
+ line_num ++;
+ len = p - laststart;
+ lines->text = laststart;
+ laststart = p + 1;
+ lastend = p;
+ } else if (*p == ' ') {
+ laststart = p + 1;
+ lastend = p;
+ len ++;
+ }
+ handled = TRUE;
+ }
+ if ( line_num >= text->num_lines )
+ break;
if (*p == '\n') {
- lines->length = len;
+ lines->length = p - lines->text;
lines++;
+ line_num ++;
len = 0;
- } else
+ lastend = p + 1;
+ laststart = p + 1;
+ handled = TRUE;
+ }
+ if (!handled)
len++;
}
+ if ( line_num < text->num_lines && text->line_wrap ) {
+ if ( gdk_text_width(text->font,
+ lines->text,
+ p - lines->text)
+ > text->clip_width
+ && laststart != lastend ) {
+ lines->length = lastend - lines->text;
+ lines++;
+ line_num ++;
+ len = p - laststart;
+ lines->text = laststart;
+ laststart = p + 1;
+ lastend = p;
+ }
+ }
+
if (len == 0)
lines->text = p;
- lines->length = len;
+ lines->length = strlen(lines->text);
calc_line_widths (text);
}
@@ -746,7 +844,10 @@ e_text_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
}
calc_ellipsis (text);
- calc_line_widths (text);
+ if ( text->line_wrap )
+ split_into_lines (text);
+ else
+ calc_line_widths (text);
recalc_bounds (text);
break;
@@ -764,7 +865,10 @@ e_text_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
}
calc_ellipsis (text);
- calc_line_widths (text);
+ if ( text->line_wrap )
+ split_into_lines (text);
+ else
+ calc_line_widths (text);
recalc_bounds (text);
break;
@@ -782,7 +886,10 @@ e_text_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
text->suckfont = e_suck_font (text->font);
}
calc_ellipsis (text);
- calc_line_widths (text);
+ if ( text->line_wrap )
+ split_into_lines (text);
+ else
+ calc_line_widths (text);
recalc_bounds (text);
break;
@@ -798,7 +905,10 @@ e_text_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
case ARG_CLIP_WIDTH:
text->clip_width = fabs (GTK_VALUE_DOUBLE (*arg));
calc_ellipsis (text);
- calc_line_widths (text);
+ if ( text->line_wrap )
+ split_into_lines (text);
+ else
+ calc_line_widths (text);
recalc_bounds (text);
break;
@@ -810,7 +920,10 @@ e_text_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
case ARG_CLIP:
text->clip = GTK_VALUE_BOOL (*arg);
calc_ellipsis (text);
- calc_line_widths (text);
+ if ( text->line_wrap )
+ split_into_lines (text);
+ else
+ calc_line_widths (text);
recalc_bounds (text);
break;
@@ -879,6 +992,18 @@ e_text_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
recalc_bounds (text);
break;
+ case ARG_LINE_WRAP:
+ text->line_wrap = GTK_VALUE_BOOL (*arg);
+ split_into_lines (text);
+ recalc_bounds (text);
+ break;
+
+ case ARG_MAX_LINES:
+ text->max_lines = GTK_VALUE_INT (*arg);
+ split_into_lines (text);
+ recalc_bounds (text);
+ break;
+
default:
break;
}
@@ -985,6 +1110,14 @@ e_text_get_arg (GtkObject *object, GtkArg *arg, guint arg_id)
GTK_VALUE_STRING (*arg) = g_strdup (text->ellipsis);
break;
+ case ARG_LINE_WRAP:
+ GTK_VALUE_BOOL (*arg) = text->line_wrap;
+ break;
+
+ case ARG_MAX_LINES:
+ GTK_VALUE_INT (*arg) = text->max_lines;
+ break;
+
default:
arg->type = GTK_TYPE_INVALID;
break;
@@ -1216,120 +1349,118 @@ e_text_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
gnome_canvas_set_stipple_origin (item->canvas, text->gc);
for (i = 0; i < text->num_lines; i++) {
- if (lines->length != 0) {
- xpos = get_line_xpos (text, lines);
- if (text->editing) {
- xpos -= text->xofs_edit;
- start_char = lines->text - text->text;
- end_char = start_char + lines->length;
- sel_start = text->selection_start;
- sel_end = text->selection_end;
- if (sel_start > sel_end ) {
- sel_start ^= sel_end;
- sel_end ^= sel_start;
- sel_start ^= sel_end;
- }
- if ( sel_start < start_char )
- sel_start = start_char;
- if ( sel_end > end_char )
- sel_end = end_char;
- if ( sel_start < sel_end ) {
- sel_rect.x = xpos - x + gdk_text_width (text->font,
- lines->text,
- sel_start - start_char);
- sel_rect.y = ypos - y - text->font->ascent;
- sel_rect.width = gdk_text_width (text->font,
- lines->text + sel_start - start_char,
- sel_end - sel_start);
- sel_rect.height = text->font->ascent + text->font->descent;
- gtk_paint_flat_box(GTK_WIDGET(item->canvas)->style,
- drawable,
- text->has_selection ?
- GTK_STATE_SELECTED :
- GTK_STATE_ACTIVE,
- GTK_SHADOW_NONE,
- clip_rect,
- GTK_WIDGET(item->canvas),
- "text",
- sel_rect.x,
- sel_rect.y,
- sel_rect.width,
- sel_rect.height);
- gdk_draw_text (drawable,
- text->font,
- text->gc,
- xpos - x,
- ypos - y,
- lines->text,
- sel_start - start_char);
- gdk_draw_text (drawable,
- text->font,
- fg_gc,
- xpos - x + gdk_text_width (text->font,
- lines->text,
- sel_start - start_char),
- ypos - y,
- lines->text + sel_start - start_char,
- sel_end - sel_start);
- gdk_draw_text (drawable,
- text->font,
- text->gc,
- xpos - x + gdk_text_width (text->font,
- lines->text,
- sel_end - start_char),
- ypos - y,
- lines->text + sel_end - start_char,
- end_char - sel_end);
- } else {
- gdk_draw_text (drawable,
- text->font,
- text->gc,
- xpos - x,
- ypos - y,
- lines->text,
- lines->length);
- }
- if (text->selection_start == text->selection_end &&
- text->selection_start >= start_char &&
- text->selection_start <= end_char &&
- text->show_cursor) {
- gdk_draw_rectangle (drawable,
- text->gc,
- TRUE,
- xpos - x + gdk_text_width (text->font,
- lines->text,
- sel_start - start_char),
- ypos - y - text->font->ascent,
- 1,
- text->font->ascent + text->font->descent);
- }
+ xpos = get_line_xpos (text, lines);
+ if (text->editing) {
+ xpos -= text->xofs_edit;
+ start_char = lines->text - text->text;
+ end_char = start_char + lines->length;
+ sel_start = text->selection_start;
+ sel_end = text->selection_end;
+ if (sel_start > sel_end ) {
+ sel_start ^= sel_end;
+ sel_end ^= sel_start;
+ sel_start ^= sel_end;
+ }
+ if ( sel_start < start_char )
+ sel_start = start_char;
+ if ( sel_end > end_char )
+ sel_end = end_char;
+ if ( sel_start < sel_end ) {
+ sel_rect.x = xpos - x + gdk_text_width (text->font,
+ lines->text,
+ sel_start - start_char);
+ sel_rect.y = ypos - y - text->font->ascent;
+ sel_rect.width = gdk_text_width (text->font,
+ lines->text + sel_start - start_char,
+ sel_end - sel_start);
+ sel_rect.height = text->font->ascent + text->font->descent;
+ gtk_paint_flat_box(GTK_WIDGET(item->canvas)->style,
+ drawable,
+ text->has_selection ?
+ GTK_STATE_SELECTED :
+ GTK_STATE_ACTIVE,
+ GTK_SHADOW_NONE,
+ clip_rect,
+ GTK_WIDGET(item->canvas),
+ "text",
+ sel_rect.x,
+ sel_rect.y,
+ sel_rect.width,
+ sel_rect.height);
+ gdk_draw_text (drawable,
+ text->font,
+ text->gc,
+ xpos - x,
+ ypos - y,
+ lines->text,
+ sel_start - start_char);
+ gdk_draw_text (drawable,
+ text->font,
+ fg_gc,
+ xpos - x + gdk_text_width (text->font,
+ lines->text,
+ sel_start - start_char),
+ ypos - y,
+ lines->text + sel_start - start_char,
+ sel_end - sel_start);
+ gdk_draw_text (drawable,
+ text->font,
+ text->gc,
+ xpos - x + gdk_text_width (text->font,
+ lines->text,
+ sel_end - start_char),
+ ypos - y,
+ lines->text + sel_end - start_char,
+ end_char - sel_end);
} else {
- if ( text->clip && text->use_ellipsis && lines->ellipsis_length < lines->length) {
- gdk_draw_text (drawable,
- text->font,
- text->gc,
- xpos - x,
- ypos - y,
- lines->text,
- lines->ellipsis_length);
- gdk_draw_text (drawable,
- text->font,
- text->gc,
- xpos - x +
- lines->width - text->ellipsis_width,
- ypos - y,
- text->ellipsis ? text->ellipsis : "...",
- text->ellipsis ? strlen (text->ellipsis) : 3);
- } else
-
- gdk_draw_text (drawable,
- text->font,
- text->gc,
- xpos - x,
- ypos - y,
- lines->text,
- lines->length);
+ gdk_draw_text (drawable,
+ text->font,
+ text->gc,
+ xpos - x,
+ ypos - y,
+ lines->text,
+ lines->length);
+ }
+ if (text->selection_start == text->selection_end &&
+ text->selection_start >= start_char &&
+ text->selection_start <= end_char &&
+ text->show_cursor) {
+ gdk_draw_rectangle (drawable,
+ text->gc,
+ TRUE,
+ xpos - x + gdk_text_width (text->font,
+ lines->text,
+ sel_start - start_char),
+ ypos - y - text->font->ascent,
+ 1,
+ text->font->ascent + text->font->descent);
}
+ } else {
+ if ( text->clip && text->use_ellipsis && lines->ellipsis_length < lines->length) {
+ gdk_draw_text (drawable,
+ text->font,
+ text->gc,
+ xpos - x,
+ ypos - y,
+ lines->text,
+ lines->ellipsis_length);
+ gdk_draw_text (drawable,
+ text->font,
+ text->gc,
+ xpos - x +
+ lines->width - text->ellipsis_width,
+ ypos - y,
+ text->ellipsis ? text->ellipsis : "...",
+ text->ellipsis ? strlen (text->ellipsis) : 3);
+ } else
+
+ gdk_draw_text (drawable,
+ text->font,
+ text->gc,
+ xpos - x,
+ ypos - y,
+ lines->text,
+ lines->length);
}
ypos += text->font->ascent + text->font->descent;
@@ -1741,7 +1872,11 @@ e_text_event (GnomeCanvasItem *item, GdkEvent *event)
text->timer = NULL;
}
}
- calc_line_widths (text);
+ if ( text->line_wrap )
+ split_into_lines (text);
+ else
+ calc_line_widths (text);
+ recalc_bounds (text);
}
return_val = 0;
break;
diff --git a/widgets/e-text/e-text.h b/widgets/e-text/e-text.h
index f4f43a156b..ef8da442d6 100644
--- a/widgets/e-text/e-text.h
+++ b/widgets/e-text/e-text.h
@@ -63,10 +63,10 @@ BEGIN_GNOME_DECLS
* editable boolean RW Can this item be edited
* use_ellipsis boolean RW Whether to use ellipsises if text gets cut off. Meaningless if clip == false.
* ellipsis string RW The characters to use as ellipsis. NULL = "...".
+ * line_wrap boolean RW Line wrap when not editing.
+ * max_line_wrap int RW Number of lines possible when doing line wrap.
*
* These are not implemented yet:
- * line_wrap boolean RW Line wrap when not editing.
- * line_wrap_on_edit boolean RW Switch to line wrap when editing.
* background boolean RW Draw a background rectangle.
* background_on_edit boolean RW Draw a background when editing.
*/
@@ -168,11 +168,15 @@ struct _EText {
gchar *clipboard_selection; /* Clipboard selection text */
gint clipboard_length; /* Clipboard selection text length*/
- guint pointer_in : 1;
- guint default_cursor_shown : 1;
+ guint pointer_in : 1; /* Is the pointer currently over us? */
+ guint default_cursor_shown : 1; /* Is the default cursor currently shown? */
+
+ guint line_wrap : 1; /* Do line wrap */
+
+ gint max_lines; /* Max number of lines (-1 = infinite) */
- GdkCursor *default_cursor;
- GdkCursor *i_cursor;
+ GdkCursor *default_cursor; /* Default cursor (arrow) */
+ GdkCursor *i_cursor; /* I beam cursor */
};
struct _ETextClass {
ss='insertions'>+2 * - Update Firefox to 36.0jbeich2015-02-275-212/+56 * Fix invalid conversions of nullptr to bool to unbreak clang 3.6 buildjbeich2015-02-211-0/+193 * Fix crashes with ALSA e.g., when disabling BUFSZ_P2 in alsa-pluginsjbeich2015-02-062-1/+173 * Add ARM build fixes for JavaScript enginejbeich2015-01-272-0/+25 * Bump PORTREVISION after r377564.jbeich2015-01-211-0/+1 * Backport Wikipedia crashfix for clang 3.5jbeich2015-01-211-0/+156 * - Update openh264 to 1.3.1beat2015-01-147-59/+165 * Bump portrevision after png updatebapt2014-12-261-0/+1 * - Update Thunderbird to 31.3.0beat2014-12-036-74/+468 * - Update Firefox to 33.0beat2014-10-156-20/+1162 * Replace USE_AUTOTOOLS=autoconf213:env with a regular build dependency.tijl2014-10-011-4/+4 * - Update ca_root_nss to 3.17.1beat2014-09-252-8/+8 * Remove compiler:features from USES=, toomandree2014-09-131-1/+1 * Remove BROKEN mark on GCC, fault is in thunderbird-i18n or GECKO framework.mandree2014-09-131-4/+0 * Mark broken on GCC-based systems.mandree2014-09-121-1/+5 * Update the default version of GCC in the Ports Collection from GCC 4.7.4gerald2014-09-111-0/+1 * Mozilla upgrades:bapt2014-09-094-21/+35 * Update mozilla ports:bapt2014-08-0440-2422/+731 * Only use libevent2bapt2014-07-241-1/+1 * - Chase database/sqlite3 slib bumpmiwi2014-06-281-0/+1 * Convert GMAKE to MAKE_CMDbapt2014-06-251-1/+1 * - Update Firefox to 30.0beat2014-06-116-58/+227 * Switch Opus to USES=libtool.naddy2014-05-261-0/+1 * Convert all :U to :tu and :L to :tlbapt2014-05-051-2/+2 * - Update Firefox to 29.0beat2014-04-3010-76/+290 * - Remove obsolete patchbeat2014-03-201-31/+0 * - Update Firefox to 28.0beat2014-03-2013-85/+1048 * Update the default version of GCC used in the Ports Collection fromgerald2014-03-111-1/+1 * Update BUILD_DEPENDS, nss 3.15.4 is required to build firefox-esr andflo2014-02-081-1/+1 * Chase icu bumpmadpilot2014-02-071-0/+1 * - Update Firefox to 27.0beat2014-02-052-4/+9 * Python cleanup:rene2014-01-141-1/+1 * Update to nspr 4.10.2flo2013-12-149-41/+216 * - update firefox to 25.0flo2013-10-314-52/+58 * Update to libmpc version 1.0.1 which brings the following fixes:gerald2013-10-261-0/+1 * - Remove manual creation and removal of share/applications, as it's now in th...amdmi32013-10-221-2/+0 * - update thunderbird to 24.0.1flo2013-10-125-82/+8 * Mark SSP_UNSAFE for now, until we figure out what's wrong exactly.flo2013-10-011-0/+2 * Add NO_STAGE all over the place in preparation for the staging support (cat: ...bapt2013-09-211-0/+1 * - update firefox, thunderbird and libxul to 24.0flo2013-09-1956-2744/+2387 * Add an explicit dependency on pkgconfbapt2013-09-031-1/+1 * - Remove MAKE_JOBS_SAFE variableak2013-08-151-1/+0 * mail/thunderbird: Replace hardcoded "freebsd" with OPSYS:Lmarino2013-08-111-1/+1 * - update firefox to 23.0flo2013-08-092-3/+3 * - update firefox to 22.0flo2013-06-263-25/+3 * - update firefox to 21.0flo2013-05-162-7/+8 * Fix build with clang 3.3flo2013-04-232-0/+47 * - update thunderbird, firefox-esr, linux-thunderbird and linux-firefox toflo2013-04-046-46/+100 * - update thunderbird, firefox-esr, linux-thunderbird and linux-firefox toflo2013-03-092-3/+3 * Chase databases/py-sqlite3 after 313167.flo2013-03-031-1/+1 * - update firefox to 19.0flo2013-02-206-34/+140 * - update firefox, thunderbird, linux-firefox and linux-thunderbird to 17.0.2flo2013-01-102-3/+3 * Fix build on headflo2012-12-071-0/+52 * - Update firefox and thunderbird to 17.0flo2012-11-2125-586/+142 * Update enigmail to 1.4.6 release.ale2012-11-142-3/+4 * - update to 16.0.2flo2012-10-294-8/+189 * - update {thunderbird,firefox}-esr* and libxul to 10.0.9flo2012-10-122-25/+1 * - update to 16.0.1flo2012-10-122-3/+3 * - Update firefox-esr, thunderbird-esr, linux-firefox and linux-thunderbird to...flo2012-10-1129-526/+841 * Update to 15.0.1flo2012-09-112-3/+3 * - Update firefox to 15.0.1flo2012-09-0810-28/+153 * - fix build of www/firefox, www/seamonkey and mail/thunderbird on stable/7 afterflo2012-09-041-0/+36 * - update firefox and thunderbird to 15.0flo2012-08-3051-787/+981 * - update firefox/thunderbird ESR versions to 10.0.6flo2012-07-2751-875/+1885 * - Update to 13.0.1beat2012-06-202-7/+4 * - Update Thunderbird to 13.0beat2012-06-095-39/+380 * - update png to 1.5.10dinoex2012-06-011-0/+1 * update to 12.0.1flo2012-05-022-3/+3 * - Update to 12.0beat2012-04-254-16/+50 * - Update to 11.0.1beat2012-04-192-3/+3 * - Update Thunderbird to 11.0beat2012-04-183-38/+12 * - Update to 10.0.3beat2012-03-142-6/+6 * update to 10.0.2flo2012-02-182-3/+3 * update to 10.0.1flo2012-02-142-4/+4 * Fix fetch by catching up to last minute directory changesflo2012-02-021-1/+1 * update to 10.0flo2012-02-014-13/+35 * fix build on sparc64flo2012-01-311-6/+22 * - Update Thunderbird to 9.0beat2011-12-225-37/+60 * - Update Thunderbird to 8.0beat2011-11-094-53/+19 * - Register lightning as a global extension and doesn't create the XPI tobeat2011-10-192-20/+22 * - Update to 7.0.1beat2011-10-012-3/+3 * - Check for affected FreeBSD versions inbeat2011-09-291-2/+3 * - Update to 7.0beat2011-09-288-53/+28 * update to 6.0.2, remove trust exceptions for certificates issued by Staat derflo2011-09-072-3/+3 * register build conflict with spidermonkeyflo2011-09-011-0/+2 * update to 6.0.1, which disables the DigiNotar certificate authorityflo2011-09-012-4/+3 * Add a patch to fix enigmail and bump PORTREVISION.ale2011-08-252-1/+26 * Chase libnotify, libproxy and webkit-gtk2 shlib changes, and fix build where ...kwm2011-08-241-1/+2 * Remove empty patch.ale2011-08-181-0/+0 * Allow lightning xpi to be installed on current tb version.ale2011-08-181-0/+11 * Port generalization.ale2011-08-182-8/+6 * update to 6.0flo2011-08-178-50/+196 * - require cairo>=1.10.2_1,1 to catch build failuers earlyflo2011-07-161-1/+2 * add an option to build the lightning (calendar) extensionflo2011-07-052-1/+30 * update thunderbird to 5.0flo2011-07-0137-239/+526 * - update to 3.1.11flo2011-06-222-3/+3 * - update to 3.1.10flo2011-04-292-3/+3 * - Fix Thunderbird startscript when LOCALBASE is setdecke2011-03-151-3/+0 * - Update to 3.1.9beat2011-03-052-3/+3 * - Update to 3.1.8beat2011-03-027-18/+93 * - Update to 3.1.7beat2010-12-103-28/+4 * Sync to new bsd.autotools.mkade2010-12-041-1/+1 * - Update to 3.1.6beat2010-10-282-4/+4 * - Update to 3.1.5beat2010-10-213-4/+14 * - Update to 3.1.4beat2010-09-172-4/+4 * - Update to 3.1.3beat2010-09-083-8/+8 * - Update to 3.1.2beat2010-08-062-4/+4 * - Update to 3.1.1beat2010-08-0449-2065/+596 * - Mark DEPRECATED: Upstream support dropped. Please consider usingbeat2010-06-231-0/+1 * - fix build for png-1.4.1dinoex2010-03-281-0/+15 * - update to 1.4.1dinoex2010-03-281-0/+1 * - Update to 2.0.0.24beat2010-03-192-5/+4 * - update to jpeg-8dinoex2010-02-051-1/+1 * - Add CONFLICT with Thunderbird 3beat2009-12-141-1/+1 * - Add ftp to MOZ_PROTOCOLS. This allows to define a calendar file locatedbeat2009-11-261-1/+2 * - Add powerpc supportbeat2009-09-293-15/+615 * - Update to 2.0.0.23beat2009-08-224-22/+32 * Add amd64 as recognized platform.ale2009-07-232-3/+13 * - Update to 2.0.0.22beat2009-06-242-5/+4 * - Give Maintainership up to the Gecko Gang (gecko@)miwi2009-05-051-1/+1 * Take maintainership. The first of two steps is to take allmiwi2009-04-131-1/+1 * Resurrect www/mozilla/Makefile.common rev. 1.30 and associated changes,marius2009-04-041-0/+1 * - Update to 2.0.0.21miwi2009-03-212-5/+4 * Add a new framework for browser plugins, USE_WEBPLUGINS. It is for which foomezz2009-01-102-2/+3 * Update to 2.0.0.19.mezz2009-01-032-4/+4 * - Update to 2.0.0.18miwi2008-11-242-4/+4 * - Update to 2.0.0.17miwi2008-09-272-4/+4 * Update to 2.0.0.16.mezz2008-07-263-38/+44 * - Remove USE_GCC where it can be satisfied with base compiler on followingpav2008-07-251-1/+0 * Bump portrevision due to upgrade of devel/gettext.edwin2008-06-06