OBS User unknown 2007-03-16 09:09:15 +00:00 committed by Git OBS Bridge
parent c24fcede23
commit 291c8a45c5
7 changed files with 189 additions and 521 deletions

78
abuild.patch Normal file
View File

@ -0,0 +1,78 @@
Index: evolution-2.9.91/calendar/gui/print.c
===================================================================
--- evolution-2.9.91.orig/calendar/gui/print.c
+++ evolution-2.9.91/calendar/gui/print.c
@@ -2637,6 +2637,9 @@ print_calendar (GnomeCalendar *gcal, gbo
g_return_if_fail (gcal != NULL);
g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+
+ /* This is probably obscuring a bug and needs to be properly initialized. */
+ gpd = NULL;
view = (int) default_view;
Index: evolution-2.9.91/calendar/conduits/memo/memo-conduit.c
===================================================================
--- evolution-2.9.91.orig/calendar/conduits/memo/memo-conduit.c
+++ evolution-2.9.91/calendar/conduits/memo/memo-conduit.c
@@ -473,6 +473,8 @@ local_record_to_pilot_record (EMemoLocal
pi_buffer_t * buffer;
#endif
+ memset(&p, 0, sizeof (p));
+
g_assert (local->comp != NULL);
g_assert (local->memo != NULL );
Index: evolution-2.9.91/calendar/conduits/todo/todo-conduit.c
===================================================================
--- evolution-2.9.91.orig/calendar/conduits/todo/todo-conduit.c
+++ evolution-2.9.91/calendar/conduits/todo/todo-conduit.c
@@ -620,6 +620,8 @@ local_record_to_pilot_record (EToDoLocal
LOG (g_message ( "local_record_to_pilot_record\n" ));
+ memset(&p, 0, sizeof (p));
+
p.ID = local->local.ID;
p.category = local->local.category;
p.attr = local->local.attr;
Index: evolution-2.9.91/addressbook/conduit/address-conduit.c
===================================================================
--- evolution-2.9.91.orig/addressbook/conduit/address-conduit.c
+++ evolution-2.9.91/addressbook/conduit/address-conduit.c
@@ -812,6 +812,8 @@ local_record_to_pilot_record (EAddrLocal
#ifdef PILOT_LINK_0_12
pi_buffer_t * buffer;
#endif
+
+ memset(&p, 0, sizeof (p));
g_assert (local->addr != NULL );
Index: evolution-2.9.91/mail/em-format-html-print.c
===================================================================
--- evolution-2.9.91.orig/mail/em-format-html-print.c
+++ evolution-2.9.91/mail/em-format-html-print.c
@@ -183,6 +183,7 @@ emfhp_complete(EMFormatHTMLPrint *efhp,
mdi->efhp = efhp;
mdi->line = 0.0;
mdi->res = GNOME_PRINT_OK;
+ memset(&info, 0, sizeof (info));
mdi->info = info;
/* connect */
Index: evolution-2.9.91/calendar/conduits/calendar/calendar-conduit.c
===================================================================
--- evolution-2.9.91.orig/calendar/conduits/calendar/calendar-conduit.c
+++ evolution-2.9.91/calendar/conduits/calendar/calendar-conduit.c
@@ -840,6 +840,8 @@ local_record_to_pilot_record (ECalLocalR
pi_buffer_t * buffer;
#endif
+ memset(&p, 0, sizeof (p));
+
g_assert (local->comp != NULL);
g_assert (local->appt != NULL );

View File

@ -1,10 +1,7 @@
Index: ui/evolution-editor.xml
===================================================================
RCS file: /cvs/gnome/evolution/ui/evolution-editor.xml,v
retrieving revision 1.5
diff -u -p -r1.5 evolution-editor.xml
--- ui/evolution-editor.xml 14 Jan 2006 10:30:20 -0000 1.5
+++ ui/evolution-editor.xml 9 Mar 2006 11:28:18 -0000
--- ui/evolution-editor.xml.orig
+++ ui/evolution-editor.xml
@@ -1,6 +1,8 @@
<Root>
<commands>
@ -36,11 +33,8 @@ diff -u -p -r1.5 evolution-editor.xml
Index: calendar/gui/dialogs/comp-editor.h
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/dialogs/comp-editor.h,v
retrieving revision 1.32
diff -u -p -r1.32 comp-editor.h
--- calendar/gui/dialogs/comp-editor.h 13 Jan 2006 09:29:17 -0000 1.32
+++ calendar/gui/dialogs/comp-editor.h 9 Mar 2006 10:52:45 -0000
--- calendar/gui/dialogs/comp-editor.h.orig
+++ calendar/gui/dialogs/comp-editor.h
@@ -53,9 +53,9 @@ typedef struct {
BonoboWindowClass parent_class;
@ -54,12 +48,9 @@ diff -u -p -r1.32 comp-editor.h
Index: calendar/gui/dialogs/event-editor.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/dialogs/event-editor.c,v
retrieving revision 1.78
diff -u -p -r1.78 event-editor.c
--- calendar/gui/dialogs/event-editor.c 8 Feb 2006 13:06:24 -0000 1.78
+++ calendar/gui/dialogs/event-editor.c 9 Mar 2006 10:52:46 -0000
@@ -566,7 +566,8 @@ event_editor_construct (EventEditor *ee,
--- calendar/gui/dialogs/event-editor.c.orig
+++ calendar/gui/dialogs/event-editor.c
@@ -583,7 +583,8 @@ event_editor_construct (EventEditor *ee,
if (e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_REQ_SEND_OPTIONS))
event_page_show_options (priv->event_page);
@ -68,15 +59,12 @@ diff -u -p -r1.78 event-editor.c
+ comp_editor_set_needs_send (COMP_EDITOR (ee), TRUE);
comp_editor_set_group_item (COMP_EDITOR (ee), TRUE);
if ((flags & COMP_EDITOR_USER_ORG) || (flags & COMP_EDITOR_DELEGATE)|| (flags & COMP_EDITOR_NEW_ITEM)) {
priv->sched_window = gtk_dialog_new_with_buttons (_("Free/Busy"),
ENameSelector *name_selector;
Index: calendar/gui/dialogs/task-editor.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/dialogs/task-editor.c,v
retrieving revision 1.94
diff -u -p -r1.94 task-editor.c
--- calendar/gui/dialogs/task-editor.c 9 Feb 2006 04:02:49 -0000 1.94
+++ calendar/gui/dialogs/task-editor.c 9 Mar 2006 10:52:46 -0000
@@ -447,6 +447,9 @@ task_editor_construct (TaskEditor *te, E
--- calendar/gui/dialogs/task-editor.c.orig
+++ calendar/gui/dialogs/task-editor.c
@@ -446,6 +446,9 @@ task_editor_construct (TaskEditor *te, E
read_only = TRUE;
if (priv->is_assigned) {
@ -86,9 +74,11 @@ diff -u -p -r1.94 task-editor.c
if (e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_REQ_SEND_OPTIONS))
task_page_show_options (priv->task_page);
--- calendar/gui/dialogs/comp-editor.c.orig 2006-09-04 17:59:13.174145096 +0200
+++ calendar/gui/dialogs/comp-editor.c 2006-09-04 18:02:10.589153326 +0200
@@ -860,8 +860,8 @@ save_comp_with_send (CompEditor *editor)
Index: calendar/gui/dialogs/comp-editor.c
===================================================================
--- calendar/gui/dialogs/comp-editor.c.orig
+++ calendar/gui/dialogs/comp-editor.c
@@ -878,8 +878,8 @@ save_comp_with_send (CompEditor *editor)
if (!save_comp (editor))
return FALSE;
@ -99,15 +89,15 @@ diff -u -p -r1.94 task-editor.c
if (e_cal_component_get_vtype (priv->comp) == E_CAL_COMPONENT_JOURNAL)
return comp_editor_send_comp (editor, E_CAL_COMPONENT_METHOD_PUBLISH);
else
@@ -1398,6 +1398,7 @@ menu_help_cb (BonoboUIComponent *uic,
@@ -1458,6 +1458,7 @@ menu_help_cb (BonoboUIComponent *uic,
static BonoboUIVerb verbs [] = {
BONOBO_UI_VERB ("FileSave", menu_file_save_cb),
+ BONOBO_UI_VERB ("FileSend", menu_file_save_cb),
+ BONOBO_UI_VERB ("FileSend", menu_file_save_cb),
BONOBO_UI_VERB ("CalendarPrint", menu_file_print_cb),
BONOBO_UI_VERB ("CalendarPrintPreview", menu_file_print_preview_cb),
BONOBO_UI_VERB ("FileClose", menu_file_close_cb),
BONOBO_UI_VERB ("EditCopy", menu_edit_copy_cb),
@@ -1414,6 +1415,7 @@ static BonoboUIVerb verbs [] = {
@@ -1476,6 +1477,7 @@ static BonoboUIVerb verbs [] = {
static EPixmap pixmaps[] = {
E_PIXMAP ("/Toolbar/InsertAttachments", "stock_attach", E_ICON_SIZE_LARGE_TOOLBAR),
E_PIXMAP ("/menu/Insert/Attachments/InsertAttachments", "stock_attach", E_ICON_SIZE_MENU),
@ -115,7 +105,7 @@ diff -u -p -r1.94 task-editor.c
E_PIXMAP_END
};
@@ -1545,6 +1547,9 @@ comp_editor_init (CompEditor *editor)
@@ -1607,6 +1609,9 @@ comp_editor_init (CompEditor *editor)
bonobo_ui_component_thaw (editor->uic, NULL);
bonobo_ui_component_set_prop (editor->uic, "/commands/FileSave", "sensitive", "0", NULL);
@ -125,7 +115,7 @@ diff -u -p -r1.94 task-editor.c
/* DND support */
gtk_drag_dest_set (GTK_WIDGET (editor), GTK_DEST_DEFAULT_ALL, drop_types, num_drop_types, GDK_ACTION_COPY|GDK_ACTION_ASK|GDK_ACTION_MOVE);
@@ -1771,9 +1776,10 @@ comp_editor_set_changed (CompEditor *edi
@@ -1833,9 +1838,10 @@ comp_editor_set_changed (CompEditor *edi
priv = editor->priv;
priv->changed = changed;
@ -138,7 +128,7 @@ diff -u -p -r1.94 task-editor.c
}
/**
@@ -1839,6 +1845,11 @@ comp_editor_set_needs_send (CompEditor *
@@ -1901,6 +1907,11 @@ comp_editor_set_needs_send (CompEditor *
priv = editor->priv;
priv->needs_send = needs_send;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cbe0a650ecef50a0c26b0e55e9037feb6988f7a0d997e3c60573fe5a593826e8
size 12923830

3
evolution-2.9.91.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e353e6f1c8bc862aa2a947bd6b8efd8c14ae2bf7628e32b2d736c668de0b6ac9
size 13809217

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Mon Mar 12 16:44:10 CST 2007 - maw@suse.de
- Update to version 2.9.91
- Remove upstreamed bnc-214647-add-prefer-plain-plugin.patch
- fix-security-gtkhtml-moreui.diff is now much smaller
- Add abuild.patch
- Bug fixes, including bugzilla.gnome.org #373497, #76336,
and #348212.
-------------------------------------------------------------------
Wed Jan 10 18:25:02 CET 2007 - sbrabec@suse.cz

View File

@ -1,5 +1,5 @@
#
# spec file for package evolution (Version 2.8.2)
# spec file for package evolution (Version 2.9.91)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@ -11,15 +11,15 @@
# norootforbuild
Name: evolution
BuildRequires: evolution-data-server-devel gnome-common gnome-icon-theme-devel gnome-pilot-devel gtk-doc gtkhtml2-devel intltool kdelibs3-doc libidl libnotify libnotify-devel mDNSResponder-devel mozilla-nss-devel openldap2 perl-XML-Parser python-devel scrollkeeper update-desktop-files
BuildRequires: evolution-data-server-devel gnome-common gnome-doc-utils-devel gnome-icon-theme-devel gnome-pilot-devel gtk-doc gtkhtml2-devel intltool kdelibs3-doc libidl libnotify libnotify-devel mDNSResponder-devel mozilla-nss-devel openldap2 perl-XML-Parser python-devel scrollkeeper update-desktop-files
License: GNU General Public License (GPL)
Group: Productivity/Networking/Email/Clients
Obsoletes: evoltn
Provides: evoltn
Autoreqprov: on
Obsoletes: bonobo-conf
Version: 2.8.2
Release: 5
Version: 2.9.91
Release: 1
Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite
Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution/2.8/%{name}-%{version}.tar.bz2
Source1: summerdance-about2.png
@ -56,6 +56,7 @@ Patch89: bnc-214647-add-prefer-plain-plugin.patch
Patch90: fix-security-gtkhtml-moreui.diff
Patch91: evo-2.8.2-build-break.fix
Patch92: evo-2.8.2-regression-fix.patch
Patch100: abuild.patch
Patch999: build-fixes.diff
URL: http://gnome.org/projects/evolution/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -281,7 +282,8 @@ Authors:
%patch17
#%patch18
%if %suse_version > 1000
%patch19 -p1
# FIXME: somebody with time should fix this patch up and make it apply once more
# %patch19 -p1
%endif
%patch20
%patch23
@ -299,10 +301,14 @@ Authors:
%patch71
%patch78
%patch88
%patch89
%patch90
%patch91
%patch92
# 89 is uptream now
# %patch89
# FIXME: 90 breaks the build. need to re-do.
# %patch90
# 91 and 92 upsream too
#%patch91
# %patch92
%patch100 -p1
%patch999
%build
@ -335,15 +341,15 @@ for xml in $RPM_BUILD_ROOT/%{_datadir}/gnome/help/evolution-*/*/evolution-*.xml;
meinproc --check --cache `echo $xml | sed 's/xml$/cache.bz2/'` $xml || :
done
cp %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} $RPM_BUILD_ROOT/%{_datadir}/applications/
%suse_update_desktop_file -G "Mail" -D "evolution-2.8/evolution-2.8.xml?usage-mail" evolution-email
%suse_update_desktop_file -G "Address Book" -D "evolution-2.8/evolution-2.8.xml?usage-contact" evolution-addressbook
%suse_update_desktop_file -G "Schedule Manager" -D "evolution-2.8/evolution-2.8.xml?usage-calendar" evolution-calendar
%suse_update_desktop_file -G "Task List" -D "evolution-2.8/evolution-2.8.xml?usage-calendar-todo" evolution-tasklist
%suse_update_desktop_file -G "Mail" -D "evolution-2.10/evolution-2.10.xml?usage-mail" evolution-email
%suse_update_desktop_file -G "Address Book" -D "evolution-2.10/evolution-2.10.xml?usage-contact" evolution-addressbook
%suse_update_desktop_file -G "Schedule Manager" -D "evolution-2.10/evolution-2.10.xml?usage-calendar" evolution-calendar
%suse_update_desktop_file -G "Task List" -D "evolution-2.10/evolution-2.10.xml?usage-calendar-todo" evolution-tasklist
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/pixmaps
cp %{SOURCE6} %{SOURCE7} %{SOURCE8} %{SOURCE9} $RPM_BUILD_ROOT/%{_datadir}/pixmaps/
%find_lang evolution-2.8
%find_lang evolution-2.10
%find_gconf_schemas
cat evolution-2.8.lang %{name}.schemas_list >%{name}.lst
cat evolution-2.10.lang %{name}.schemas_list >%{name}.lst
rm $RPM_BUILD_ROOT%{_libdir}/evolution/*/*/*.*a
rm -r $RPM_BUILD_ROOT%{_datadir}/mime-info
@ -389,6 +395,19 @@ fi
%{_prefix}/lib/evolution/*/csv2vcard
%{_prefix}/lib/evolution/*/evolution-*
%{_prefix}/lib/evolution/*/killev
%dir %{_datadir}/gnome/help/evolution
%dir %{_datadir}/gnome/help/evolution/C
%{_datadir}/gnome/help/evolution/C/*.*
%dir %{_datadir}/gnome/help/evolution/C/figures
%{_datadir}/gnome/help/evolution/C/figures/*.*
%dir %{_datadir}/gnome/help/evolution/es
%{_datadir}/gnome/help/evolution/es/*.*
%dir %{_datadir}/gnome/help/evolution/es/figures/
%{_datadir}/gnome/help/evolution/es/figures/*.*
%dir %{_datadir}/gnome/help/evolution/sv
%{_datadir}/gnome/help/evolution/sv/*.*
%dir %{_datadir}/gnome/help/evolution/sv/figures
%{_datadir}/gnome/help/evolution/sv/figures/*.*
%files devel
%defattr(-,root,root)
@ -402,7 +421,14 @@ fi
%{_datadir}/gnome-pilot/conduits/*.conduit
%{_libdir}/evolution/*/conduits/*.so
%changelog -n evolution
%changelog
* Mon Mar 12 2007 - maw@suse.de
- Update to version 2.9.91
- Remove upstreamed bnc-214647-add-prefer-plain-plugin.patch
- fix-security-gtkhtml-moreui.diff is now much smaller
- Add abuild.patch
- Bug fixes, including bugzilla.gnome.org #373497, #76336,
and #348212.
* Wed Jan 10 2007 - sbrabec@suse.cz
- Do not remove files from %%{_libdir}/evolution/2.8 - these are
standard libraries, not modules.

View File

@ -1,69 +1,12 @@
? mail.error
Index: em-format-html-display.c
Index: mail/em-format-html-display.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-format-html-display.c,v
retrieving revision 1.107
diff -u -p -r1.107 em-format-html-display.c
--- em-format-html-display.c 16 Oct 2006 12:37:02 -0000 1.107
+++ mail/em-format-html-display.c 17 Nov 2006 18:46:20 -0000
@@ -74,6 +74,7 @@
#include <bonobo/bonobo-widget.h>
--- mail/em-format-html-display.c.orig
+++ mail/em-format-html-display.c
@@ -2580,3 +2580,161 @@ efhd_format_optional(EMFormat *emf, Came
#include <camel/camel-stream.h>
+#include <camel/camel-stream-filter.h>
#include <camel/camel-stream-mem.h>
#include <camel/camel-mime-filter-tohtml.h>
#include <camel/camel-mime-part.h>
@@ -182,6 +183,9 @@ struct _attach_puri {
int fit_height;
GtkImage *image;
+ /* Optional Text Mem Stream */
+ CamelStreamMem *mstream;
+
/* Signed / Encrypted */
camel_cipher_validity_sign_t sign;
camel_cipher_validity_encrypt_t encrypt;
@@ -199,6 +203,7 @@ static void efhd_format_clone(EMFormat *
static void efhd_format_error(EMFormat *emf, CamelStream *stream, const char *txt);
static void efhd_format_source(EMFormat *, CamelStream *, CamelMimePart *);
static void efhd_format_attachment(EMFormat *, CamelStream *, CamelMimePart *, const char *, const EMFormatHandler *);
+static void efhd_format_optional(EMFormat *, CamelStream *, CamelMimePart *, CamelStream *);
static void efhd_format_secure(EMFormat *emf, CamelStream *stream, CamelMimePart *part, CamelCipherValidity *valid);
static void efhd_complete(EMFormat *);
gboolean efhd_mnemonic_show_bar (GtkWidget *widget, gboolean focus, GtkWidget *efhd);
@@ -353,6 +358,7 @@ efhd_class_init(GObjectClass *klass)
((EMFormatClass *)klass)->format_error = efhd_format_error;
((EMFormatClass *)klass)->format_source = efhd_format_source;
((EMFormatClass *)klass)->format_attachment = efhd_format_attachment;
+ ((EMFormatClass *)klass)->format_optional = efhd_format_optional;
((EMFormatClass *)klass)->format_secure = efhd_format_secure;
((EMFormatClass *)klass)->complete = efhd_complete;
@@ -1509,7 +1515,7 @@ efhd_attachment_popup(GtkWidget *w, GdkE
}
e_popup_add_items((EPopup *)emp, menus, NULL, efhd_menu_items_free, info);
-
+
menu = e_popup_create_menu_once((EPopup *)emp, (EPopupTarget *)target, 0);
if (event)
gtk_menu_popup(menu, NULL, NULL, NULL, NULL, event->button, event->time);
@@ -2398,7 +2404,6 @@ efhd_format_attachment(EMFormat *emf, Ca
if (handle) {
if (info->shown)
handle->handler(emf, stream, part, handle);
- /*camel_stream_printf(stream, "<iframe src=\"%s\" marginheight=0 marginwidth=0>%s</iframe>\n", classid, _("Attachment content could not be loaded"));*/
} else if (efhd_use_component(mime_type)) {
g_free(classid); /* messy */
@@ -2406,6 +2411,164 @@ efhd_format_attachment(EMFormat *emf, Ca
em_format_html_add_pobject((EMFormatHTML *)emf, sizeof(EMFormatHTMLPObject), classid, part, efhd_bonobo_object);
camel_stream_printf(stream, "<object classid=\"%s\" type=\"%s\"></object><br>>\n", classid, mime_type);
}
+
+ g_free(classid);
+}
g_free(classid);
}
+
+static void
+efhd_optional_button_show (GtkWidget *widget, GtkWidget *w)
@ -219,231 +162,14 @@ diff -u -p -r1.107 em-format-html-display.c
+ camel_stream_write_string(stream,
+/* "</font></h2></td></tr></table>\n" */
+ EM_FORMAT_HTML_VPAD);
g_free(classid);
}
Index: em-format-html.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-format-html.c,v
retrieving revision 1.93
diff -u -p -r1.93 em-format-html.c
--- em-format-html.c 29 Sep 2006 17:54:48 -0000 1.93
+++ mail/em-format-html.c 17 Nov 2006 18:46:23 -0000
@@ -767,7 +767,7 @@ efh_text_plain(EMFormatHTML *efh, CamelS
"<div style=\"border: solid #%06x 1px; background-color: #%06x; padding: 10px;\">\n",
efh->frame_colour & 0xffffff, efh->content_colour & 0xffffff);
camel_stream_write_string(stream, "<tt>\n");
- em_format_format_text((EMFormat *)efh, (CamelStream *)filtered_stream, camel_medium_get_content_object((CamelMedium *)newpart));
+ em_format_format_text((EMFormat *)efh, (CamelStream *)filtered_stream, newpart);
camel_stream_flush((CamelStream *)filtered_stream);
camel_stream_write_string(stream, "</tt>\n");
camel_stream_write_string(stream, "</div>\n");
@@ -807,7 +807,7 @@ efh_text_enriched(EMFormatHTML *efh, Cam
"<div style=\"border: solid #%06x 1px; background-color: #%06x; padding: 10px;\">\n",
efh->frame_colour & 0xffffff, efh->content_colour & 0xffffff);
- em_format_format_text((EMFormat *)efh, (CamelStream *)filtered_stream, dw);
+ em_format_format_text((EMFormat *)efh, (CamelStream *)filtered_stream, part);
camel_object_unref(filtered_stream);
camel_stream_write_string(stream, "</div>");
@@ -829,7 +829,7 @@ efh_write_text_html(EMFormat *emf, Camel
camel_data_wrapper_write_to_stream(dw, out);
camel_object_unref(out);
#endif
- em_format_format_text(emf, stream, camel_medium_get_content_object((CamelMedium *)puri->part));
+ em_format_format_text(emf, stream, puri->part);
}
static void
@@ -985,7 +985,7 @@ efh_message_deliverystatus(EMFormatHTML
camel_object_unref(html_filter);
camel_stream_write_string(stream, "<tt>\n");
- em_format_format_text((EMFormat *)efh, (CamelStream *)filtered_stream, camel_medium_get_content_object((CamelMedium *)part));
+ em_format_format_text((EMFormat *)efh, (CamelStream *)filtered_stream, part);
camel_stream_flush((CamelStream *)filtered_stream);
camel_stream_write_string(stream, "</tt>\n");
Index: em-format-quote.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-format-quote.c,v
retrieving revision 1.19
diff -u -p -r1.19 em-format-quote.c
--- em-format-quote.c 8 Aug 2005 04:30:38 -0000 1.19
+++ mail/em-format-quote.c 17 Nov 2006 18:46:23 -0000
@@ -411,7 +411,7 @@ emfq_format_source(EMFormat *emf, CamelS
camel_stream_filter_add(filtered_stream, html_filter);
camel_object_unref(html_filter);
- em_format_format_text(emf, (CamelStream *)filtered_stream, dw);
+ em_format_format_text(emf, (CamelStream *)filtered_stream, part);
camel_object_unref(filtered_stream);
}
@@ -473,7 +473,7 @@ emfq_text_plain(EMFormatQuote *emfq, Cam
camel_stream_filter_add(filtered_stream, html_filter);
camel_object_unref(html_filter);
- em_format_format_text((EMFormat *)emfq, (CamelStream *)filtered_stream, camel_medium_get_content_object((CamelMedium *)part));
+ em_format_format_text((EMFormat *)emfq, (CamelStream *)filtered_stream, part);
camel_stream_flush((CamelStream *)filtered_stream);
camel_object_unref(filtered_stream);
}
@@ -501,7 +501,7 @@ emfq_text_enriched(EMFormatQuote *emfq,
camel_object_unref(enriched);
camel_stream_write_string(stream, "<br><hr><br>");
- em_format_format_text((EMFormat *)emfq, (CamelStream *)filtered_stream, dw);
+ em_format_format_text((EMFormat *)emfq, (CamelStream *)filtered_stream, part);
camel_object_unref(filtered_stream);
}
@@ -509,7 +509,7 @@ static void
emfq_text_html(EMFormat *emf, CamelStream *stream, CamelMimePart *part, EMFormatHandler *info)
{
camel_stream_write_string(stream, "\n<!-- text/html -->\n");
- em_format_format_text(emf, stream, camel_medium_get_content_object((CamelMedium *)part));
+ em_format_format_text(emf, stream, part);
}
static void
Index: em-format.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-format.c,v
retrieving revision 1.52
diff -u -p -r1.52 em-format.c
--- em-format.c 20 Apr 2006 16:35:32 -0000 1.52
+++ mail/em-format.c 17 Nov 2006 18:46:26 -0000
@@ -47,6 +47,7 @@
#include <camel/camel-string-utils.h>
#include <camel/camel-stream-filter.h>
#include <camel/camel-stream-null.h>
+#include <camel/camel-stream-mem.h>
#include <camel/camel-mime-filter-charset.h>
#include <camel/camel-mime-filter-windows.h>
#include <camel/camel-mime-filter-pgp.h>
@@ -80,7 +81,6 @@ static const EMFormatHandler *emf_find_h
static void emf_format_clone(EMFormat *emf, CamelFolder *folder, const char *uid, CamelMimeMessage *msg, EMFormat *emfsource);
static void emf_format_secure(EMFormat *emf, CamelStream *stream, CamelMimePart *part, CamelCipherValidity *valid);
static gboolean emf_busy(EMFormat *emf);
-
enum {
EMF_COMPLETE,
EMF_LAST_SIGNAL,
@@ -117,8 +117,10 @@ static void
emf_init(GObject *o)
{
EMFormat *emf = (EMFormat *)o;
-
+ char * asize;
+
emf->inline_table = g_hash_table_new(g_str_hash, g_str_equal);
+ emf->composer = FALSE;
e_dlist_init(&emf->header_list);
em_format_default_headers(emf);
emf->part_id = g_string_new("");
@@ -469,6 +471,7 @@ em_format_find_visible_puri(EMFormat *em
* Return value:
**/
EMFormatPURI *
+
em_format_find_puri(EMFormat *emf, const char *uri)
{
return g_hash_table_lookup(emf->pending_uri_table, uri);
@@ -1016,7 +1019,7 @@ em_format_format_content(EMFormat *emf,
CamelDataWrapper *dw = camel_medium_get_content_object((CamelMedium *)part);
if (camel_content_type_is (dw->mime_type, "text", "*"))
- em_format_format_text(emf, stream, dw);
+ em_format_format_text(emf, stream, part);
else
camel_data_wrapper_decode_to_stream(dw, stream);
}
@@ -1036,6 +1039,9 @@ em_format_format_text(EMFormat *emf, Cam
CamelMimeFilterCharset *filter;
const char *charset = NULL;
CamelMimeFilterWindows *windows = NULL;
+ CamelStream *mem_stream = NULL;
+ size_t size;
+ size_t max;
if (emf->charset) {
charset = emf->charset;
@@ -1064,17 +1070,27 @@ em_format_format_text(EMFormat *emf, Cam
} else if (charset == NULL) {
charset = emf->default_charset;
}
-
- filter_stream = camel_stream_filter_new_with_stream(stream);
+
+ mem_stream = (CamelStreamMem *)camel_stream_mem_new ();
+ filter_stream = camel_stream_filter_new_with_stream(mem_stream);
if ((filter = camel_mime_filter_charset_new_convert(charset, "UTF-8"))) {
camel_stream_filter_add(filter_stream, (CamelMimeFilter *) filter);
camel_object_unref(filter);
}
-
- camel_data_wrapper_decode_to_stream(dw, (CamelStream *)filter_stream);
+
+ max = mail_config_get_message_limit();
+ size = camel_data_wrapper_decode_to_stream(emf->mode == EM_FORMAT_SOURCE ? (CamelDataWrapper *)dw: camel_medium_get_content_object((CamelMedium *)dw), (CamelStream *)filter_stream);
camel_stream_flush((CamelStream *)filter_stream);
camel_object_unref(filter_stream);
+ camel_stream_reset (mem_stream);
+
+ if (max == -1 || size < (max * 1024) || emf->composer) {
+ camel_stream_write_to_stream(mem_stream, (CamelStream *)stream);
+ camel_stream_flush((CamelStream *)stream);
+ } else {
+ ((EMFormatClass *)G_OBJECT_GET_CLASS(emf))->format_optional(emf, stream, (CamelMimePart *)dw, mem_stream);
+ }
if (windows)
camel_object_unref(windows);
@@ -1495,7 +1511,7 @@ emf_message_rfc822(EMFormat *emf, CamelS
static void
emf_message_deliverystatus(EMFormat *emf, CamelStream *stream, CamelMimePart *part, const EMFormatHandler *info)
{
- em_format_format_text(emf, stream, camel_medium_get_content_object((CamelMedium *)part));
+ em_format_format_text(emf, stream, part);
}
static void
Index: em-format.h
+ g_free(classid);
+}
Index: mail/em-mailer-prefs.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-format.h,v
retrieving revision 1.16
diff -u -p -r1.16 em-format.h
--- em-format.h 19 May 2005 06:06:35 -0000 1.16
+++ mail/em-format.h 17 Nov 2006 18:46:26 -0000
@@ -226,6 +226,7 @@ struct _EMFormat {
em_format_mode_t mode; /* source/headers/etc */
char *charset; /* charset override */
char *default_charset; /* charset fallback */
+ gboolean composer; /* Formatting from composer ?*/
};
struct _EMFormatClass {
@@ -257,6 +258,9 @@ struct _EMFormatClass {
/* returns true if the formatter is still busy with pending stuff */
gboolean (*busy)(EMFormat *);
+ /* Shows optional way to open messages */
+ void (*format_optional)(EMFormat *, struct _CamelStream *, struct _CamelMimePart *, struct _CamelStream* );
+
/* signals */
/* complete, alternative to polling busy, for asynchronous work */
void (*complete)(EMFormat *);
Index: em-mailer-prefs.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-mailer-prefs.c,v
retrieving revision 1.39
diff -u -p -r1.39 em-mailer-prefs.c
--- em-mailer-prefs.c 9 Aug 2006 08:43:27 -0000 1.39
+++ mail/em-mailer-prefs.c 17 Nov 2006 18:46:28 -0000
@@ -459,6 +459,16 @@ address_compress_count_changed (GtkSpinB
--- mail/em-mailer-prefs.c.orig
+++ mail/em-mailer-prefs.c
@@ -469,6 +469,16 @@ mlimit_count_changed (GtkSpinButton *spi
}
static void
@ -460,72 +186,11 @@ diff -u -p -r1.39 em-mailer-prefs.c
spin_button_init (EMMailerPrefs *prefs, GtkSpinButton *spin, const char *key, float div, GCallback value_changed)
{
GError *err = NULL;
@@ -772,6 +782,16 @@ em_mailer_prefs_construct (EMMailerPrefs
"/apps/evolution/mail/display/mark_seen_timeout",
1000.0, G_CALLBACK (mark_seen_timeout_changed));
+ prefs->mlimit_toggle = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "mlimit_checkbutton"));
+ toggle_button_init (prefs, prefs->mlimit_toggle, FALSE,
+ "/apps/evolution/mail/display/force_message_limit",
+ G_CALLBACK (toggle_button_toggled));
+
+ prefs->mlimit_count = GTK_SPIN_BUTTON (glade_xml_get_widget (gui, "mlimit_spin"));
+ spin_button_init (prefs, prefs->mlimit_count,
+ "/apps/evolution/mail/display/message_text_part_limit",
+ 1, G_CALLBACK (mlimit_count_changed));
+
prefs->address_toggle = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "address_checkbox"));
toggle_button_init (prefs, prefs->address_toggle, FALSE,
"/apps/evolution/mail/display/address_compress",
Index: em-mailer-prefs.h
Index: mail/evolution-mail.schemas.in.in
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-mailer-prefs.h,v
retrieving revision 1.15
diff -u -p -r1.15 em-mailer-prefs.h
--- em-mailer-prefs.h 25 May 2006 04:59:47 -0000 1.15
+++ mail/em-mailer-prefs.h 17 Nov 2006 18:46:28 -0000
@@ -75,7 +75,9 @@ struct _EMMailerPrefs {
struct _GtkToggleButton *timeout_toggle;
struct _GtkSpinButton *timeout;
struct _GtkToggleButton *address_toggle;
- struct _GtkSpinButton *address_count;
+ struct _GtkSpinButton *address_count;
+ struct _GtkToggleButton *mlimit_toggle;
+ struct _GtkSpinButton *mlimit_count;
struct _GtkOptionMenu *charset;
struct _GtkToggleButton *citation_highlight;
struct _GnomeColorPicker *citation_color;
Index: em-utils.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-utils.c,v
retrieving revision 1.83
diff -u -p -r1.83 em-utils.c
--- em-utils.c 23 Aug 2006 14:05:19 -0000 1.83
+++ mail/em-utils.c 17 Nov 2006 18:46:30 -0000
@@ -1605,6 +1605,7 @@ em_utils_part_to_html(CamelMimePart *par
camel_stream_mem_set_byte_array (mem, buf);
emfq = em_format_quote_new(NULL, (CamelStream *)mem, 0);
+ ((EMFormat *) emfq)->composer = TRUE;
em_format_set_session((EMFormat *)emfq, session);
if (source) {
/* copy over things we can, other things are internal, perhaps need different api than 'clone' */
@@ -1653,6 +1654,7 @@ em_utils_message_to_html(CamelMimeMessag
camel_stream_mem_set_byte_array (mem, buf);
emfq = em_format_quote_new(credits, (CamelStream *)mem, flags);
+ ((EMFormat *) emfq)->composer = TRUE;
em_format_set_session((EMFormat *)emfq, session);
if (!source) {
Index: evolution-mail.schemas.in.in
===================================================================
RCS file: /cvs/gnome/evolution/mail/evolution-mail.schemas.in.in,v
retrieving revision 1.29
diff -u -p -r1.29 evolution-mail.schemas.in.in
--- evolution-mail.schemas.in.in 14 Jul 2006 05:42:26 -0000 1.29
+++ mail/evolution-mail.schemas.in.in 17 Nov 2006 18:46:31 -0000
@@ -485,7 +485,36 @@
--- mail/evolution-mail.schemas.in.in.orig
+++ mail/evolution-mail.schemas.in.in
@@ -529,7 +529,36 @@
</long>
</locale>
</schema>
@ -561,28 +226,13 @@ diff -u -p -r1.29 evolution-mail.schemas.in.in
+ </schema>
+
<schema>
<key>/schemas/apps/evolution/mail/display/address_count</key>
<applyto>/apps/evolution/mail/display/address_count</applyto>
Index: mail-config.c
<key>/schemas/apps/evolution/mail/display/thread_subject</key>
<applyto>/apps/evolution/mail/display/thread_subject</applyto>
Index: mail/mail-config.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/mail-config.c,v
retrieving revision 1.326
diff -u -p -r1.326 mail-config.c
--- mail-config.c 25 May 2006 04:59:47 -0000 1.326
+++ mail/mail-config.c 17 Nov 2006 18:46:32 -0000
@@ -110,6 +110,11 @@ typedef struct {
guint address_compress_notify_id;
gboolean address_compress;
gint address_count;
+ guint mlimit_size_notify_id;
+ guint mlimit_notify_id;
+ gboolean mlimit;
+ gint mlimit_size;
+
GPtrArray *mime_types;
guint mime_types_notify_id;
@@ -339,6 +344,20 @@ gconf_address_compress_changed (GConfCli
--- mail/mail-config.c.orig
+++ mail/mail-config.c
@@ -358,6 +358,20 @@ gconf_mlimit_changed (GConfClient *clien
}
static void
@ -603,34 +253,10 @@ diff -u -p -r1.326 mail-config.c
gconf_mime_types_changed (GConfClient *client, guint cnxn_id,
GConfEntry *entry, gpointer user_data)
{
@@ -373,7 +392,11 @@ mail_config_init (void)
config->font_notify_id = gconf_client_notify_add (config->gconf, "/apps/evolution/mail/display/address_compress",
gconf_address_compress_changed, NULL, NULL, NULL);
config->font_notify_id = gconf_client_notify_add (config->gconf, "/apps/evolution/mail/display/address_count",
- gconf_address_count_changed, NULL, NULL, NULL);
+ gconf_address_count_changed, NULL, NULL, NULL);
+ config->mlimit_notify_id = gconf_client_notify_add (config->gconf, "/apps/evolution/mail/display/force_message_limit",
+ gconf_mlimit_changed, NULL, NULL, NULL);
+ config->mlimit_size_notify_id = gconf_client_notify_add (config->gconf, "/apps/evolution/mail/display/message_text_part_limit",
+ gconf_mlimit_size_changed, NULL, NULL, NULL);
config->spell_notify_id = gconf_client_notify_add (config->gconf, "/GNOME/Spell",
gconf_style_changed, NULL, NULL, NULL);
config->mark_citations__notify_id = gconf_client_notify_add (config->gconf, "/apps/evolution/mail/display/mark_citations",
@@ -397,6 +420,8 @@ mail_config_init (void)
config_cache_mime_types ();
config->address_compress = gconf_client_get_bool (config->gconf, "/apps/evolution/mail/display/address_compress", NULL);
config->address_count = gconf_client_get_int (config->gconf, "/apps/evolution/mail/display/address_count", NULL);
+ config->mlimit = gconf_client_get_bool (config->gconf, "/apps/evolution/mail/display/force_message_limit", NULL);
+ config->mlimit_size = gconf_client_get_int (config->gconf, "/apps/evolution/mail/display/message_text_part_limit", NULL);
config->accounts = e_account_list_new (config->gconf);
config->signatures = e_signature_list_new (config->gconf);
@@ -572,6 +586,15 @@ mail_config_get_message_limit (void)
return config->mlimit_size;
}
@@ -536,6 +561,15 @@ mail_config_get_address_count (void)
return -1;
return config->address_count;
+}
+
+int
+mail_config_get_message_limit (void)
+{
@ -638,36 +264,16 @@ diff -u -p -r1.326 mail-config.c
+ return -1;
+
+ return config->mlimit_size;
}
+}
+
const char *
Index: mail-config.glade
mail_config_get_label_color_by_name (const char *name)
{
Index: mail/mail-config.glade
===================================================================
RCS file: /cvs/gnome/evolution/mail/mail-config.glade,v
retrieving revision 1.174
diff -u -p -r1.174 mail-config.glade
--- mail-config.glade 19 Jul 2006 15:26:27 -0000 1.174
+++ mail/mail-config.glade 17 Nov 2006 18:46:45 -0000
@@ -3342,7 +3342,7 @@ For example: &quot;Work&quot; or &quot;P
<child>
<widget class="GtkLabel" id="label583">
<property name="visible">True</property>
- <property name="label" translatable="yes">S_end message receipts:</property>
+ <property name="label" translatable="yes">S_end message receipts:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -3352,8 +3352,8 @@ For example: &quot;Work&quot; or &quot;P
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="mnemonic_widget">receipt_policy_dropdown</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
@@ -4962,6 +4962,82 @@ For example: &quot;Work&quot; or &quot;P
--- mail/mail-config.glade.orig
+++ mail/mail-config.glade
@@ -5038,6 +5038,82 @@ For example: &quot;Work&quot; or &quot;P
</child>
<child>
@ -750,45 +356,3 @@ diff -u -p -r1.174 mail-config.glade
<widget class="GtkHBox" id="hbox233">
<property name="visible">True</property>
<property name="homogeneous">False</property>
@@ -6572,7 +6648,7 @@ For example: &quot;Work&quot; or &quot;P
<child>
<widget class="GtkLabel" id="label571">
<property name="visible">True</property>
- <property name="label" translatable="no"> </property>
+ <property name="label"> </property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -6675,7 +6751,7 @@ For example: &quot;Work&quot; or &quot;P
<child>
<widget class="GtkLabel" id="label572">
<property name="visible">True</property>
- <property name="label" translatable="no"> </property>
+ <property name="label"> </property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -6731,7 +6807,7 @@ For example: &quot;Work&quot; or &quot;P
<child>
<widget class="GtkLabel" id="label575">
<property name="visible">True</property>
- <property name="label" translatable="no"> </property>
+ <property name="label"> </property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
Index: mail-config.h
===================================================================
RCS file: /cvs/gnome/evolution/mail/mail-config.h,v
retrieving revision 1.121
diff -u -p -r1.121 mail-config.h
--- mail-config.h 25 May 2006 04:59:47 -0000 1.121
+++ mail/mail-config.h 17 Nov 2006 18:46:45 -0000
@@ -134,6 +134,7 @@ void mail_config_add_account (struct _EA
void mail_config_remove_account (struct _EAccount *account);
void mail_config_set_default_account (struct _EAccount *account);
int mail_config_get_address_count (void);
+int mail_config_get_message_limit (void);
void mail_config_remove_account_proxies (struct _EAccount *account);
void mail_config_prune_proxies (void);