diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian evolution-2.22.1/addressbook/tools/evolution-addressbook-clean evolution-2.22.1.1/addressbook/tools/evolution-addressbook-clean --- evolution-2.22.1/addressbook/tools/evolution-addressbook-clean 2008-04-07 13:54:18.000000000 +0200 +++ evolution-2.22.1.1/addressbook/tools/evolution-addressbook-clean 2008-05-02 18:58:32.000000000 +0200 @@ -9,7 +9,7 @@ } } -$filename = `/home/stable/opt/gnome/libexec/evolution/2.22/evolution-addressbook-export`; +$filename = `/home/jjohnny/src/opt/gnome//libexec/evolution/2.22/evolution-addressbook-export`; if ($? != 0) { $! = $?; die $!; @@ -17,8 +17,8 @@ $HOME = $ENV{"HOME"}; -system ("/home/stable/opt/gnome/libexec/evolution/2.22/killev"); +system ("/home/jjohnny/src/opt/gnome//libexec/evolution/2.22/killev"); do_system ("/bin/mv ${HOME}/.evolution/addressbook/local/system/addressbook.db ${HOME}/.evolution/addressbook/local/system/addressbook-backup.db"); -do_system ("/home/stable/opt/gnome/libexec/evolution/2.22/evolution-addressbook-import --input-file $filename"); +do_system ("/home/jjohnny/src/opt/gnome//libexec/evolution/2.22/evolution-addressbook-import --input-file $filename"); do_system ("/bin/rm $filename"); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/calendar/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/calendar/ChangeLog --- evolution-2.22.1/calendar/ChangeLog 2008-04-04 11:18:04.000000000 +0200 +++ evolution-2.22.1.1/calendar/ChangeLog 2008-05-01 21:59:11.000000000 +0200 @@ -1,3 +1,39 @@ +2008-04-29 Srinivasa Ragavan + + ** Fix for bnc #363908 + Evolution crashed during exit + + * gui/tasks-component.c: (destroy_component_view): + +2008-04-29 Ashish Shrivastava + + ** Fix for bnc #368277 + Can't C & P Email Addresses from an Appt. to a Mail Message + + * gui/e-select-names-renderer.c: + (e_select_names_renderer_start_editing): + +2008-04-28 Milan Crha + + ** Fix for bug #524121 + + * gui/e-calendar-table.c: (copy_row_cb): + Fixing typo from patch for bug #516408. + +2008-04-25 Danny Baumann + + ** Fix for bug #529893 + + * gui/e-calendar-view.c: (e_calendar_view_get_tooltips): + Properly set type hint on tooltip window. + +2008-04-17 Milan Crha + + ** Fix for bug #523402 + + * gui/e-calendar-view.c: (e_calendar_view_add_event): + Do not free value returned by icaltimezone_get_tzid. + 2008-02-25 Chenthill Palanisamy Fixes #516498 diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/calendar/gui/e-calendar-table.c /tmp/TWpOXTYivG/evolution-2.22.1.1/calendar/gui/e-calendar-table.c --- evolution-2.22.1/calendar/gui/e-calendar-table.c 2008-04-04 11:18:00.000000000 +0200 +++ evolution-2.22.1.1/calendar/gui/e-calendar-table.c 2008-05-01 21:59:07.000000000 +0200 @@ -881,7 +881,7 @@ icalcomponent_new_clone (child)); icalcomponent_free (child); } - g_free (child); + g_free (comp_str); } /** diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/calendar/gui/e-calendar-view.c /tmp/TWpOXTYivG/evolution-2.22.1.1/calendar/gui/e-calendar-view.c --- evolution-2.22.1/calendar/gui/e-calendar-view.c 2008-04-04 11:18:00.000000000 +0200 +++ evolution-2.22.1.1/calendar/gui/e-calendar-view.c 2008-05-01 21:59:07.000000000 +0200 @@ -366,11 +366,13 @@ e_cal_component_get_dtstart (comp, &dt); dt.tzid = icaltimezone_get_tzid (default_zone); e_cal_component_set_dtstart (comp, &dt); + dt.tzid = NULL; e_cal_component_free_datetime (&dt); e_cal_component_get_dtend (comp, &dt); dt.tzid = icaltimezone_get_tzid (default_zone); e_cal_component_set_dtend (comp, &dt); + dt.tzid = NULL; e_cal_component_free_datetime (&dt); e_cal_component_commit_sequence (comp); @@ -2274,6 +2276,7 @@ frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type ((GtkFrame *)frame, GTK_SHADOW_IN); + gtk_window_set_type_hint (GTK_WINDOW (pevent->tooltip), GDK_WINDOW_TYPE_HINT_TOOLTIP); gtk_window_move ((GtkWindow *)pevent->tooltip, pevent->x +16, pevent->y+16); gtk_container_add ((GtkContainer *)frame, box); gtk_container_add ((GtkContainer *)pevent->tooltip, frame); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/calendar/gui/e-select-names-renderer.c /tmp/TWpOXTYivG/evolution-2.22.1.1/calendar/gui/e-select-names-renderer.c --- evolution-2.22.1/calendar/gui/e-select-names-renderer.c 2008-04-04 11:18:00.000000000 +0200 +++ evolution-2.22.1.1/calendar/gui/e-select-names-renderer.c 2008-05-01 21:59:07.000000000 +0200 @@ -109,7 +109,9 @@ gtk_widget_show (GTK_WIDGET (editable)); g_signal_connect (editable, "editing_done", G_CALLBACK (e_select_names_renderer_editing_done), sn_cell); - g_signal_connect (editable, "focus_out_event", G_CALLBACK (e_select_names_renderer_focus_out_event), sn_cell); + + /* Removed focus-out-event. focus out event already listen by base class. + We don't need to listen for the focus out event any more */ sn_cell->priv->editable = g_object_ref (editable); sn_cell->priv->path = g_strdup (path); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/calendar/gui/tasks-component.c /tmp/TWpOXTYivG/evolution-2.22.1.1/calendar/gui/tasks-component.c --- evolution-2.22.1/calendar/gui/tasks-component.c 2008-04-04 11:18:00.000000000 +0200 +++ evolution-2.22.1.1/calendar/gui/tasks-component.c 2008-05-01 21:59:07.000000000 +0200 @@ -1161,6 +1161,11 @@ { GList *l; + g_signal_handlers_disconnect_by_func (component_view->table, G_CALLBACK (table_selection_change_cb), component_view); + g_signal_handlers_disconnect_matched (component_view->model, G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, component_view); + g_signal_handlers_disconnect_by_func (component_view->tasks, G_CALLBACK (source_added_cb), component_view); + g_signal_handlers_disconnect_by_func (component_view->tasks, G_CALLBACK (source_removed_cb), component_view); + if (component_view->source_list) g_object_unref (component_view->source_list); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/ChangeLog --- evolution-2.22.1/ChangeLog 2008-04-07 14:54:21.000000000 +0200 +++ evolution-2.22.1.1/ChangeLog 2008-05-02 18:01:00.000000000 +0200 @@ -1,3 +1,11 @@ +2008-05-02 Johnny Jacob + + * NEWS, configure.in: Evolution 2.22.1.1 release + +2008-04-18 Srinivasa Ragavan + + * MAINTAINERS: Update the Mail Guards. + 2008-04-07 Srinivasa Ragavan * NEWS, configure.in: Evolution 2.22.1 release. diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/configure.in /tmp/TWpOXTYivG/evolution-2.22.1.1/configure.in --- evolution-2.22.1/configure.in 2008-04-07 13:24:43.000000000 +0200 +++ evolution-2.22.1.1/configure.in 2008-05-02 17:54:26.000000000 +0200 @@ -1,7 +1,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.52) -AC_INIT(evolution, 2.22.1, http://bugzilla.gnome.org/enter_bug.cgi?product=Evolution) +AC_INIT(evolution, 2.22.1.1, http://bugzilla.gnome.org/enter_bug.cgi?product=Evolution) AC_CONFIG_SRCDIR(README) # Some requirements have versioned package names diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/e-util/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/e-util/ChangeLog --- evolution-2.22.1/e-util/ChangeLog 2008-04-04 11:17:17.000000000 +0200 +++ evolution-2.22.1.1/e-util/ChangeLog 2008-05-01 21:58:47.000000000 +0200 @@ -1,3 +1,11 @@ +2008-04-18 Matthew Barnes + + ** Fixes bug #528817 + + * e-plugin.c (e_plugin_register_type): + Fix a typo in the logic. This might explain why I occasionally + find Exchange Operations disabled on startup. + 2008-03-17 Alex Rostovtsev ** Fix for bug #522631 diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/e-util/e-plugin.c /tmp/TWpOXTYivG/evolution-2.22.1.1/e-util/e-plugin.c --- evolution-2.22.1/e-util/e-plugin.c 2008-04-04 11:17:17.000000000 +0200 +++ evolution-2.22.1.1/e-util/e-plugin.c 2008-05-01 21:58:47.000000000 +0200 @@ -574,7 +574,7 @@ char *prop_type; prop_type = (char *)xmlGetProp(root, (const unsigned char *)"type"); - if (!strcmp((char *)type, klass->type)) + if (!strcmp(prop_type, klass->type)) add = g_slist_append(add, l->data); xmlFree(prop_type); } diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/ChangeLog --- evolution-2.22.1/mail/ChangeLog 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/ChangeLog 2008-05-01 21:55:56.000000000 +0200 @@ -1,3 +1,73 @@ +2008-04-30 Milan Crha + + ** Fix for bug #530245 + + * searchtypes.xml: Let searches work with labels again. + +2008-04-30 Milan Crha + + ** Fix for bug #467892 + + * em-folder-view.c: (em_folder_view_open_selected): + Do not inherit search filters when opening messages in new window. + * message-list.c: (regen_list_exec): + If we are called from folder_changed even, then keep the actually + selected message so it will not disappear when user reads it and + it doesn't belong to actual filter anymore. + +2008-04-30 Shuai Liu + + ** Fix for bug #530672 + Evolution crashes when viewing pgp-signed message + + * em-format-html-display.c: Modify the array of smime_sign_colour + from 4 to 5 to ensure the input by data-server is right + +2008-04-29 Milan Crha + + ** Fix for bug #511337 + + * em-format-html.h: (EMFormatHTMLState), (struct _EMFormatHTML): + * em-format-html.c: (efh_init), (efh_format_done), + (efh_format_timeout): Track state of the object to recognize + whether rendering new content or doing nothing. + * em-format-html-display.c: (efhd_can_process_attachment), + (efhd_attachment_show), (efhd_attachment_popup), + (efhd_attachment_image), (efhd_attachment_button): + Do nothing when EMFormatHTML object's state is RENDERING, + the puri object instance is not valid anyway. + +2008-04-29 Bharath Acharya + + ** Fixes bug #502913 + + * em-composer-utils.c: (create_new_composer), (reply_get_composer), + (post_reply_to_message): The headers would be set by + e-msg-composer.c:from_changed_cb. So let this function not mess it up. + +2008-04-23 Milan Crha + + ** Fix for bug #529375 + + * em-utils.h: (em_utils_in_addressbook): + * em-utils.c: (em_utils_in_addressbook): + * em-format-html.c: (emfh_gethttp): + * mail-session.c: (lookup_addressbook): Look up in local address book + for addresses to exclude mail sent by known contacts from junk + filtering if said so in /apps/evolution/mail/display/photo_local. + + * em-format-html-display.c: (efhd_update_bar): + * em-popup.c: (emp_standard_menu_factory): Compiler warnings fix. + +2008-04-20 Srinivasa Ragavan + + ** Fix for bug #334444 + + * em-format-html-display.c: (efhd_attachment_button), + (efhd_update_bar), (efhd_message_update_bar), + (efhd_message_add_bar): Add the attachments and draw the bar. + * em-format-html.c: (efh_format_exec): + 2008-03-27 Matthew Barnes ** Fixes bug #523271 diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/em-composer-utils.c /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/em-composer-utils.c --- evolution-2.22.1/mail/em-composer-utils.c 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/em-composer-utils.c 2008-05-01 21:55:56.000000000 +0200 @@ -621,11 +621,14 @@ { EMsgComposer *composer; EAccount *account = NULL; + EMsgComposerHdrs* hdrs; composer = e_msg_composer_new (); if (composer == NULL) return NULL; + hdrs = e_msg_composer_get_hdrs (composer); + if (fromuri) account = mail_config_get_account_by_source_url(fromuri); @@ -636,7 +639,8 @@ if (!account) account = e_msg_composer_get_preferred_account (composer); - e_msg_composer_set_headers (composer, account?account->name:NULL, NULL, NULL, NULL, subject); + e_msg_composer_hdrs_set_from_account (hdrs, account?account->name:NULL); + e_msg_composer_hdrs_set_subject (hdrs, subject); em_composer_utils_setup_default_callbacks (composer); @@ -1403,6 +1407,7 @@ const char *message_id, *references; EDestination **tov, **ccv; EMsgComposer *composer; + EMsgComposerHdrs* hdrs; char *subject; g_return_val_if_fail (CAMEL_IS_MIME_MESSAGE (message), NULL); @@ -1431,7 +1436,12 @@ subject = g_strdup (""); } - e_msg_composer_set_headers (composer, account ? account->name : NULL, tov, ccv, NULL, subject); + hdrs = e_msg_composer_get_hdrs (composer); + + e_msg_composer_hdrs_set_from_account (hdrs, account?account->name:NULL); + e_msg_composer_hdrs_set_to (hdrs, tov); + e_msg_composer_hdrs_set_cc (hdrs, ccv); + e_msg_composer_hdrs_set_subject (hdrs, subject); g_free (subject); @@ -2033,6 +2043,7 @@ EDestination **tov = NULL; CamelFolder *real_folder; EMsgComposer *composer; + EMsgComposerHdrs* hdrs; char *subject, *url; EAccount *account; char *real_uid; @@ -2073,8 +2084,12 @@ } else { subject = g_strdup (""); } + + hdrs = e_msg_composer_get_hdrs (composer); - e_msg_composer_set_headers (composer, account ? account->name : NULL, tov, NULL, NULL, subject); + e_msg_composer_hdrs_set_from_account (hdrs, account?account->name:NULL); + e_msg_composer_hdrs_set_to (hdrs, tov); + e_msg_composer_hdrs_set_subject (hdrs, subject); g_free (subject); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/em-folder-view.c /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/em-folder-view.c --- evolution-2.22.1/mail/em-folder-view.c 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/em-folder-view.c 2008-05-01 21:55:56.000000000 +0200 @@ -561,7 +561,8 @@ emmb = (EMMessageBrowser *)em_message_browser_window_new(); message_list_set_threaded(((EMFolderView *)emmb)->list, emfv->list->threaded); - message_list_set_search(((EMFolderView *)emmb)->list, emfv->list->search); + /* do not inherit search filter, because it can hide actual message for some filters */ + /*message_list_set_search(((EMFolderView *)emmb)->list, emfv->list->search);*/ em_folder_view_set_hide_deleted((EMFolderView *)emmb, emfv->hide_deleted); /* FIXME: session needs to be passed easier than this */ em_format_set_session((EMFormat *)((EMFolderView *)emmb)->preview, ((EMFormat *)emfv->preview)->session); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/em-format-html.c /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/em-format-html.c --- evolution-2.22.1/mail/em-format-html.c 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/em-format-html.c 2008-05-01 21:55:56.000000000 +0200 @@ -168,6 +168,7 @@ efh->text_html_flags = CAMEL_MIME_FILTER_TOHTML_CONVERT_NL | CAMEL_MIME_FILTER_TOHTML_CONVERT_SPACES | CAMEL_MIME_FILTER_TOHTML_MARK_CITATION; efh->show_icon = TRUE; + efh->state = EM_FORMAT_HTML_STATE_NONE; } static void @@ -480,7 +481,7 @@ if (!(job->format->load_http_now || job->format->load_http == MAIL_CONFIG_HTTP_ALWAYS || (job->format->load_http == MAIL_CONFIG_HTTP_SOMETIMES - && em_utils_in_addressbook((CamelInternetAddress *)camel_mime_message_get_from(job->format->format.message))))) { + && em_utils_in_addressbook((CamelInternetAddress *)camel_mime_message_get_from(job->format->format.message), FALSE)))) { /* TODO: Ideally we would put the http requests into another queue and only send them out if the user selects 'load images', when they do. The problem is how to maintain this state with multiple renderings, and how to adjust the thread dispatch/setup routine to handle it */ @@ -1258,6 +1259,10 @@ handle = em_format_find_handler((EMFormat *)m->format, "x-evolution/message/rfc822"); if (handle) handle->handler((EMFormat *)m->format, (CamelStream *)m->estream, (CamelMimePart *)m->message, handle); + handle = em_format_find_handler((EMFormat *)m->format, "x-evolution/message/post-header-closure"); + if (handle) + handle->handler((EMFormat *)m->format, (CamelStream *)m->estream, (CamelMimePart *)m->message, handle); + } camel_stream_flush((CamelStream *)m->estream); @@ -1321,6 +1326,7 @@ m->format->load_http_now = FALSE; m->format->priv->format_id = -1; + m->format->state = EM_FORMAT_HTML_STATE_NONE; g_signal_emit_by_name(m->format, "complete"); } @@ -1389,6 +1395,8 @@ mail_msg_unref(m); p->last_part = NULL; } else { + efh->state = EM_FORMAT_HTML_STATE_RENDERING; + if (p->last_part != m->message) { hstream = gtk_html_begin (efh->html); gtk_html_stream_printf (hstream, "
%s
", _("Formatting Message...")); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/em-format-html-display.c /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/em-format-html-display.c --- evolution-2.22.1/mail/em-format-html-display.c 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/em-format-html-display.c 2008-05-01 21:55:56.000000000 +0200 @@ -148,6 +148,7 @@ GtkWidget *attachment_area; gboolean show_bar; GHashTable *files; + gboolean updated; }; static int efhd_html_button_press_event (GtkWidget *widget, GdkEventButton *event, EMFormatHTMLDisplay *efh); @@ -157,6 +158,7 @@ static void efhd_attachment_frame(EMFormat *emf, CamelStream *stream, EMFormatPURI *puri); static gboolean efhd_attachment_image(EMFormatHTML *efh, GtkHTMLEmbedded *eb, EMFormatHTMLPObject *pobject); static void efhd_message_add_bar(EMFormat *emf, CamelStream *stream, CamelMimePart *part, const EMFormatHandler *info); +static void efhd_message_update_bar(EMFormat *emf, CamelStream *stream, CamelMimePart *part, const EMFormatHandler *info); static void efhd_attachment_bar_refresh (EMFormatHTMLDisplay *efhd); struct _attach_puri { @@ -1006,8 +1008,8 @@ { "stock_lock-ok", N_("Encrypted, strong"), N_("This message is encrypted, with a strong encryption algorithm. It would be very difficult for an outsider to view the content of this message in a practical amount of time.") }, }; -static const char *smime_sign_colour[4] = { - "", " bgcolor=\"#88bb88\"", " bgcolor=\"#bb8888\"", " bgcolor=\"#e8d122\"" +static const char *smime_sign_colour[5] = { + "", " bgcolor=\"#88bb88\"", " bgcolor=\"#bb8888\"", " bgcolor=\"#e8d122\"","" }; struct _smime_pobject { @@ -1327,6 +1329,8 @@ { "x-evolution/message/prefix", (EMFormatFunc)efhd_message_prefix }, { "x-evolution/message/post-header", (EMFormatFunc)efhd_message_add_bar }, + { "x-evolution/message/post-header-closure", (EMFormatFunc)efhd_message_update_bar }, + }; static void @@ -1471,6 +1475,21 @@ /* ********************************************************************** */ +/* Checks on the widget whether it can be processed, based on the state of EMFormatHTML. + The widget should have set "efh" data as the EMFormatHTML instance. */ +static gboolean +efhd_can_process_attachment (GtkWidget *button) +{ + EMFormatHTML *efh; + + if (!button) + return FALSE; + + efh = g_object_get_data (G_OBJECT (button), "efh"); + + return efh && efh->state != EM_FORMAT_HTML_STATE_RENDERING; +} + /* if it hasn't been processed yet, format the attachment */ static void efhd_attachment_show(EPopup *ep, EPopupItem *item, void *data) @@ -1486,6 +1505,9 @@ static void efhd_attachment_button_show(GtkWidget *w, void *data) { + if (!efhd_can_process_attachment (w)) + return; + efhd_attachment_show(NULL, NULL, data); } @@ -1546,6 +1568,9 @@ return FALSE; } + if (!efhd_can_process_attachment (w)) + return FALSE; + /** @HookPoint-EMPopup: Attachment Button Context Menu * @Id: org.gnome.evolution.mail.formathtmldisplay.popup * @Class: org.gnome.evolution.mail.popup:1.0 @@ -1812,6 +1837,8 @@ g_signal_connect(box, "popup_menu", G_CALLBACK(efhd_attachment_popup_menu), info); g_signal_connect(box, "button-press-event", G_CALLBACK(efhd_image_fit_width), info); + g_object_set_data (G_OBJECT (box), "efh", efh); + return TRUE; } @@ -1879,7 +1906,7 @@ new->encrypt = info->encrypt; /* Add the attachment to the bar.*/ - e_attachment_bar_add_attachment(E_ATTACHMENT_BAR(efhd->priv->attachment_bar), new); + e_attachment_bar_add_attachment_silent (E_ATTACHMENT_BAR(efhd->priv->attachment_bar), new); efhd_attachment_bar_refresh(efhd); } @@ -1887,9 +1914,10 @@ button = gtk_button_new(); - if (info->handle) + if (info->handle) { g_signal_connect(button, "clicked", G_CALLBACK(efhd_attachment_button_show), info); - else { + g_object_set_data (G_OBJECT (button), "efh", efh); + } else { gtk_widget_set_sensitive(button, FALSE); GTK_WIDGET_UNSET_FLAGS(button, GTK_CAN_FOCUS); } @@ -1963,6 +1991,8 @@ g_signal_connect(button, "clicked", G_CALLBACK(efhd_attachment_popup_menu), info); gtk_box_pack_start((GtkBox *)mainbox, button, TRUE, TRUE, 0); + g_object_set_data (G_OBJECT (button), "efh", efh); + gtk_widget_show_all(mainbox); if (info->shown) @@ -2352,6 +2382,17 @@ } static gboolean +efhd_update_bar(EMFormatHTML *efh, GtkHTMLEmbedded *eb, EMFormatHTMLPObject *pobject) +{ + EMFormatHTMLDisplay *efhd = (EMFormatHTMLDisplay *)efh; + struct _EMFormatHTMLDisplayPrivate *priv = efhd->priv; + + e_attachment_bar_refresh (E_ATTACHMENT_BAR (priv->attachment_bar)); + + return TRUE; +} + +static gboolean efhd_add_bar(EMFormatHTML *efh, GtkHTMLEmbedded *eb, EMFormatHTMLPObject *pobject) { EMFormatHTMLDisplay *efhd = (EMFormatHTMLDisplay *)efh; @@ -2423,6 +2464,21 @@ return TRUE; } +static void +efhd_message_update_bar(EMFormat *emf, CamelStream *stream, CamelMimePart *part, const EMFormatHandler *info) +{ + EMFormatHTMLDisplay *efhd = (EMFormatHTMLDisplay *) emf; + const char *classid = "attachment-bar-refresh"; + + if (efhd->nobar || efhd->priv->updated ) + return; + + efhd->priv->files = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); + efhd->priv->updated = TRUE; + em_format_html_add_pobject((EMFormatHTML *)emf, sizeof(EMFormatHTMLPObject), classid, part, efhd_update_bar); + camel_stream_printf(stream, "", classid); + +} static void efhd_message_add_bar(EMFormat *emf, CamelStream *stream, CamelMimePart *part, const EMFormatHandler *info) @@ -2434,6 +2490,7 @@ return; efhd->priv->files = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); + efhd->priv->updated = FALSE; em_format_html_add_pobject((EMFormatHTML *)emf, sizeof(EMFormatHTMLPObject), classid, part, efhd_add_bar); camel_stream_printf(stream, "", classid); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/em-format-html.h /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/em-format-html.h --- evolution-2.22.1/mail/em-format-html.h 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/em-format-html.h 2008-05-01 21:55:56.000000000 +0200 @@ -49,6 +49,11 @@ EM_FORMAT_HTML_HEADER_BCC = 1<<2, }; +typedef enum { + EM_FORMAT_HTML_STATE_NONE = 0, + EM_FORMAT_HTML_STATE_RENDERING +} EMFormatHTMLState; + /* A HTMLJob will be executed in another thread, in sequence, It's job is to write to its stream, close it if successful, then exit */ @@ -194,6 +199,8 @@ unsigned int hide_headers:1; /* no headers at all */ unsigned int show_icon:1; /* show an icon when the sender used Evo */ guint32 header_wrap_flags; + + EMFormatHTMLState state; /* actual state of the object */ }; struct _EMFormatHTMLClass { diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/em-popup.c /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/em-popup.c --- evolution-2.22.1/mail/em-popup.c 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/em-popup.c 2008-05-01 21:55:56.000000000 +0200 @@ -756,7 +756,7 @@ gchar *cp; /* GNOME-VFS expects lowercase MIME types. */ - for (cp = mime_type; *cp != NULL; cp++) + for (cp = mime_type; *cp != 0; cp++) *cp = g_ascii_tolower (*cp); apps = gnome_vfs_mime_get_all_applications(mime_type); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/em-utils.c /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/em-utils.c --- evolution-2.22.1/mail/em-utils.c 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/em-utils.c 2008-05-01 21:55:56.000000000 +0200 @@ -1930,7 +1930,7 @@ } gboolean -em_utils_in_addressbook(CamelInternetAddress *iaddr) +em_utils_in_addressbook (CamelInternetAddress *iaddr, gboolean local_only) { GError *err = NULL; GSList *s, *g, *addr_sources = NULL; @@ -1981,6 +1981,9 @@ /* FIXME: this aint threadsafe by any measure, but what can you do eh??? */ for (g = e_source_list_peek_groups(emu_addr_list);g;g=g_slist_next(g)) { + if (local_only && e_source_group_peek_base_uri ((ESourceGroup *)g->data) && !g_str_has_prefix (e_source_group_peek_base_uri ((ESourceGroup *)g->data), "file://")) + continue; + for (s = e_source_group_peek_sources((ESourceGroup *)g->data);s;s=g_slist_next(s)) { ESource *src = s->data; const char *completion = e_source_get_property (src, "completion"); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/em-utils.h /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/em-utils.h --- evolution-2.22.1/mail/em-utils.h 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/em-utils.h 2008-05-01 21:55:56.000000000 +0200 @@ -107,7 +107,7 @@ void em_utils_show_info_silent (struct _GtkWidget *widget); /* is this address in the addressbook? caches results */ -gboolean em_utils_in_addressbook(struct _CamelInternetAddress *addr); +gboolean em_utils_in_addressbook (struct _CamelInternetAddress *addr, gboolean local_only); struct _CamelMimePart *em_utils_contact_photo (struct _CamelInternetAddress *addr, gboolean local); const char *em_utils_snoop_type(struct _CamelMimePart *part); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/mail-session.c /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/mail-session.c --- evolution-2.22.1/mail/mail-session.c 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/mail-session.c 2008-05-01 21:55:56.000000000 +0200 @@ -390,13 +390,15 @@ { CamelInternetAddress *addr; gboolean ret; + GConfClient *gconf; if (!mail_config_get_lookup_book ()) return FALSE; + gconf = mail_config_get_gconf_client (); addr = camel_internet_address_new (); camel_address_decode ((CamelAddress *)addr, name); - ret = em_utils_in_addressbook(addr); + ret = em_utils_in_addressbook (addr, gconf_client_get_bool (gconf, "/apps/evolution/mail/display/photo_local", NULL)); camel_object_unref (addr); return ret; diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/message-list.c /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/message-list.c --- evolution-2.22.1/mail/message-list.c 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/message-list.c 2008-05-01 21:55:56.000000000 +0200 @@ -3845,6 +3845,7 @@ CamelMessageInfo *info; ETreePath cursor; int i; + char *expr = NULL; if (m->folder != m->ml->folder) return; @@ -3858,10 +3859,8 @@ /* if we have hidedeleted on, use a search to find it out, merge with existing search if set */ if (!camel_folder_has_search_capability(m->folder)) { /* if we have no search capability, dont let search or hide deleted work */ - uids = camel_folder_get_uids(m->folder); + expr = NULL; } else if (m->hidedel) { - char *expr; - if (m->hidejunk) { if (m->search) { expr = alloca(strlen(m->search) + 92); @@ -3875,23 +3874,34 @@ } else expr = "(match-all (not (system-flag \"deleted\")))"; } - searchuids = uids = camel_folder_search_by_expression (m->folder, expr, &m->base.ex); } else { - char *expr; - if (m->hidejunk) { if (m->search) { expr = alloca(strlen(m->search) + 64); sprintf(expr, "(and (match-all (not (system-flag \"junk\")))\n %s)", m->search); } else expr = "(match-all (not (system-flag \"junk\")))"; - searchuids = uids = camel_folder_search_by_expression (m->folder, expr, &m->base.ex); } else { - if (m->search) - searchuids = uids = camel_folder_search_by_expression (m->folder, m->search, &m->base.ex); - else - uids = camel_folder_get_uids (m->folder); + expr = m->search; + } + } + + if (expr == NULL) { + uids = camel_folder_get_uids (m->folder); + } else { + char *tmp_expr = NULL; + + /* If m->changes is not NULL, then it means we are called from folder_changed event, + thus we will keep the selected message to be sure it doesn't disappear because + it no longer belong to our search filter. */ + if (m->changes && m->ml->search && m->ml->cursor_uid) { + tmp_expr = g_strdup_printf ("(or %s (match-all (uid \"%s\")))", expr, m->ml->cursor_uid); + expr = tmp_expr; } + + searchuids = uids = camel_folder_search_by_expression (m->folder, expr, &m->base.ex); + + g_free (tmp_expr); } if (camel_exception_is_set (&m->base.ex)) diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/mail/searchtypes.xml /tmp/TWpOXTYivG/evolution-2.22.1.1/mail/searchtypes.xml --- evolution-2.22.1/mail/searchtypes.xml 2008-04-04 11:11:42.000000000 +0200 +++ evolution-2.22.1.1/mail/searchtypes.xml 2008-05-01 21:55:56.000000000 +0200 @@ -260,13 +260,13 @@ diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/MAINTAINERS /tmp/TWpOXTYivG/evolution-2.22.1.1/MAINTAINERS --- evolution-2.22.1/MAINTAINERS 2008-04-04 11:18:07.000000000 +0200 +++ evolution-2.22.1.1/MAINTAINERS 2008-05-01 21:59:13.000000000 +0200 @@ -7,8 +7,8 @@ Srinivasa Ragavan Mail: -Veerapuram Varadhan Matthew Barnes +Sankar P Addressbook: Srinivasa Ragavan diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/NEWS /tmp/TWpOXTYivG/evolution-2.22.1.1/NEWS --- evolution-2.22.1/NEWS 2008-04-07 14:53:05.000000000 +0200 +++ evolution-2.22.1.1/NEWS 2008-05-02 17:56:30.000000000 +0200 @@ -1,3 +1,35 @@ +Evolution 2.22.1.1 2008-05-02 +----------------------------- + +Bug Fixes: + #334444: Add the attachments and draw the bar (Srinivasa Ragavan) + #338330: (Novell Bugzilla) Internet Based Calendar Events Are Declined By Evolution/GroupWise (Chenthill Palanisamy) + #358644: (Novell Bugzilla) Retracted groupwise appointments should disappear as soon as they are retracted. (Chenthill Palanisamy) + #363908: Fix a crash at exit (Srinivasa Ragavan) + #368277: Allow copy & paste of email addresses from an appointment to a mail message (Ashish Shrivastava) + #378203: Return sanely if the path value is corrupted (Bharath Acharya) + #382687: (Novell Bugzilla) Fixed a deadlock when downloading data on a rather loaded system (Srinivasa Ragavan) + #451976: Try to find text/html part in multipart/alternative when in normal mode (Milan Crha) + #467892: Do not inherit search filters when opening messages in new window (Milan Crha) + #502913: Make Always carbon-copy (cc) option work again (Bharath Acharya) + #511337: Fixed a crash when simultaneously pressing the "show" preview/arrow button on several very large image attachments in an e-mail. (Milan Crha) + #518103: Check online status from NetworkManager at startup instead of using the last-used-state. (James Westby) + #523402: Fixed a crash on paste event in calendar (Milan Crha) + #524121: Fixed a typo (Milan Crha) + #528817: Fix a typo in the logic that caused Exchange Operations disabled on startup (Matthew Barnes) + #529375: Look up in local address book for addresses to exclude mail sent by known contacts from junk filtering if said so (Milan Crha) + #529893: Properly set type hint on tooltip window. (Danny Baumann) + #530245: Let searches work with labels again. (Milan Crha) + #530672: Fix Evolution crash when viewing pgp-signed message (Shuai Liu) + +Updated Translations: + Ilkka Tuohela (fi) + Yair Hershkovitz (he) + Stanislav Brabec (cs) + Leonardo Ferreira Fontenelle (pt_BR) + Mark Krapivner (he) + Takeshi AIHANA (ja) + Evolution 2.22.1 2008-04-07 --------------------------- diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/plugins/exchange-operations/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/plugins/exchange-operations/ChangeLog --- evolution-2.22.1/plugins/exchange-operations/ChangeLog 2008-04-04 11:11:25.000000000 +0200 +++ evolution-2.22.1.1/plugins/exchange-operations/ChangeLog 2008-05-01 21:55:38.000000000 +0200 @@ -1,3 +1,11 @@ +2008-04-21 Bharath Acharya + + * Fixes bnc #378203 + + * exchange-folder-permission.c: + (org_gnome_exchange_folder_permissions): Return sanely if the path + value is corrupted. + 2008-02-18 Srinivasa Ragavan * Fix for bug #339266 diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/plugins/exchange-operations/exchange-folder-permission.c /tmp/TWpOXTYivG/evolution-2.22.1.1/plugins/exchange-operations/exchange-folder-permission.c --- evolution-2.22.1/plugins/exchange-operations/exchange-folder-permission.c 2008-04-04 11:11:25.000000000 +0200 +++ evolution-2.22.1.1/plugins/exchange-operations/exchange-folder-permission.c 2008-05-01 21:55:38.000000000 +0200 @@ -170,6 +170,10 @@ return; path = target->uri + strlen ("exchange://") + strlen (account->account_filename); + + if (!path || !*path) + return; + fixed_path = camel_url_decode_path (path); d(g_print ("exchange-folder-permission.c: path=[%s], fixed_path=[%s]\n", path, fixed_path)); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/plugins/groupwise-account-setup/camel-gw-listener.c /tmp/TWpOXTYivG/evolution-2.22.1.1/plugins/groupwise-account-setup/camel-gw-listener.c --- evolution-2.22.1/plugins/groupwise-account-setup/camel-gw-listener.c 2008-04-04 11:11:29.000000000 +0200 +++ evolution-2.22.1.1/plugins/groupwise-account-setup/camel-gw-listener.c 2008-05-01 21:55:42.000000000 +0200 @@ -49,6 +49,8 @@ char *uid; char *name; char *source_url; + gboolean auto_check; + guint auto_check_time; }; typedef struct _GwAccountInfo GwAccountInfo; @@ -168,7 +170,7 @@ #define SELECTED_NOTES "/apps/evolution/calendar/memos/selected_memos" static void -add_esource (const char *conf_key, const char *group_name, const char *source_name, CamelURL *url, const char* parent_id_name, gboolean can_create) +add_esource (const char *conf_key, GwAccountInfo *info, const char *source_name, CamelURL *url, const char* parent_id_name, gboolean can_create) { ESourceList *source_list; ESourceGroup *group; @@ -181,11 +183,14 @@ const char * use_ssl; const char *poa_address; const char *offline_sync; + const char *group_name; poa_address = url->host; if (!poa_address || strlen (poa_address) ==0) return; + group_name = info->name; + soap_port = camel_url_get_param (url, "soap_port"); if (!soap_port || strlen (soap_port) == 0) @@ -206,6 +211,7 @@ if (!can_create) e_source_group_set_property (group, "create_source", "no"); + relative_uri = g_strdup_printf ("%s@%s/", url->user, poa_address); source = e_source_new (source_name, relative_uri); e_source_set_property (source, "auth", "1"); @@ -213,6 +219,15 @@ e_source_set_property (source, "port", camel_url_get_param (url, "soap_port")); e_source_set_property (source, "auth-domain", "Groupwise"); e_source_set_property (source, "use_ssl", use_ssl); + + if (info->auto_check) { + char *str = g_strdup_printf ("%d", info->auto_check_time); + + e_source_set_property (source, "refresh", str); + g_free (str); + } else + e_source_set_property (source, "refresh", NULL); + e_source_set_property (source, "offline_sync", offline_sync ? "1" : "0" ); e_source_set_property (source, "delete", "no"); if (parent_id_name) { @@ -324,7 +339,7 @@ /* looks up for e-source with having same info as old_account_info and changes its values passed in new values */ static void -modify_esource (const char* conf_key, GwAccountInfo *old_account_info, const char* new_group_name, CamelURL *new_url) +modify_esource (const char* conf_key, GwAccountInfo *old_account_info, EAccount *a, CamelURL *new_url) { ESourceList *list; GSList *groups; @@ -334,7 +349,8 @@ GConfClient* client; const char *poa_address; const char *new_poa_address; - + const char* new_group_name = a->name; + url = camel_url_new (old_account_info->source_url, NULL); poa_address = url->host; if (!poa_address || strlen (poa_address) ==0) @@ -372,6 +388,15 @@ e_source_set_property (source, "port", camel_url_get_param (new_url,"soap_port")); e_source_set_property (source, "use_ssl", camel_url_get_param (url, "use_ssl")); e_source_set_property (source, "offline_sync", camel_url_get_param (url, "offline_sync") ? "1" : "0"); + + if (a->source->auto_check) { + char *str = g_strdup_printf ("%d", a->source->auto_check_time); + + e_source_set_property (source, "refresh", str); + g_free (str); + } else + e_source_set_property (source, "refresh", NULL); + e_source_list_sync (list, NULL); found_group = TRUE; g_free (new_relative_uri); @@ -397,10 +422,10 @@ CamelURL *url; url = camel_url_new (info->source_url, NULL); - add_esource ("/apps/evolution/calendar/sources", info->name, _("Calendar"), url, NULL, FALSE); - add_esource ("/apps/evolution/tasks/sources", info->name, _("Tasks"), url, NULL, FALSE); - add_esource ("/apps/evolution/memos/sources", info->name, _("Notes"), url, NULL, TRUE); - + add_esource ("/apps/evolution/calendar/sources", info, _("Calendar"), url, NULL, FALSE); + add_esource ("/apps/evolution/tasks/sources", info, _("Tasks"), url, NULL, FALSE); + add_esource ("/apps/evolution/memos/sources", info, _("Notes"), url, NULL, TRUE); + camel_url_free (url); @@ -541,9 +566,9 @@ camel_url_set_param (url, "color", color); - add_esource ("/apps/evolution/calendar/sources", info->name, _("Calendar"), url, parent_name, FALSE); - add_esource ("/apps/evolution/tasks/sources", info->name, _("Tasks"), url, parent_name, FALSE); - add_esource ("/apps/evolution/memos/sources", info->name, _("Notes"), url, parent_name, TRUE); + add_esource ("/apps/evolution/calendar/sources", info, _("Calendar"), url, parent_name, FALSE); + add_esource ("/apps/evolution/tasks/sources", info, _("Tasks"), url, parent_name, FALSE); + add_esource ("/apps/evolution/memos/sources", info, _("Notes"), url, parent_name, TRUE); g_free (color); camel_url_free (url); @@ -793,6 +818,8 @@ info->uid = g_strdup (account->uid); info->name = g_strdup (account->name); info->source_url = g_strdup (account->source->url); + info->auto_check = account->source->auto_check; + info->auto_check_time = account->source->auto_check_time; if (account->parent_uid) { parent = (EAccount *)e_account_list_find (account_listener, E_ACCOUNT_FIND_UID, account->parent_uid); @@ -900,9 +927,9 @@ account_added (account_listener, account); } else if (strcmp (existing_account_info->name, account->name)) { - modify_esource ("/apps/evolution/calendar/sources", existing_account_info, account->name, new_url); - modify_esource ("/apps/evolution/tasks/sources", existing_account_info, account->name, new_url); - modify_esource ("/apps/evolution/memos/sources", existing_account_info, account->name, new_url); + modify_esource ("/apps/evolution/calendar/sources", existing_account_info, account, new_url); + modify_esource ("/apps/evolution/tasks/sources", existing_account_info, account, new_url); + modify_esource ("/apps/evolution/memos/sources", existing_account_info, account, new_url); modify_addressbook_sources (account, existing_account_info); } diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/plugins/groupwise-account-setup/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/plugins/groupwise-account-setup/ChangeLog --- evolution-2.22.1/plugins/groupwise-account-setup/ChangeLog 2008-04-04 11:11:29.000000000 +0200 +++ evolution-2.22.1.1/plugins/groupwise-account-setup/ChangeLog 2008-05-01 21:55:42.000000000 +0200 @@ -1,3 +1,16 @@ +2008-04-29 Chenthill Palanisamy + + ** Fixes #358644 (bnc) + Retracted groupwise appointments should disappear as soon as they are + retracted. + + * camel-gw-listener.c: (add_esource), (modify_esource), + (add_calendar_tasks_sources), (add_proxy_sources), (account_added), + (account_changed): + * groupwise-account-setup.c: (is_groupwise_account), + (set_esource_props), (ensure_mandatory_esource_properties): + * org-gnome-gw-account-setup.eplug.xml: + 2007-10-26 Kjartan Maraas * camel-gw-listener.c: (camel_gw_listener_new): diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/plugins/groupwise-account-setup/groupwise-account-setup.c /tmp/TWpOXTYivG/evolution-2.22.1.1/plugins/groupwise-account-setup/groupwise-account-setup.c --- evolution-2.22.1/plugins/groupwise-account-setup/groupwise-account-setup.c 2008-04-04 11:11:29.000000000 +0200 +++ evolution-2.22.1.1/plugins/groupwise-account-setup/groupwise-account-setup.c 2008-05-01 21:55:42.000000000 +0200 @@ -28,11 +28,99 @@ #include "camel-gw-listener.h" #include #include "mail/em-config.h" +#include +#include "shell/es-event.h" +#include + +#define GROUPWISE_BASE_URI "groupwise://" static CamelGwListener *config_listener = NULL; int e_plugin_lib_enable (EPluginLib *ep, int enable); GtkWidget* org_gnome_gw_account_setup(struct _EPlugin *epl, struct _EConfigHookItemFactoryData *data); +void ensure_mandatory_esource_properties (EPlugin *ep, ESEventTargetUpgrade *target); + +static gboolean +is_groupwise_account (EAccount *account) +{ + if (account->source->url != NULL) { + return g_str_has_prefix (account->source->url, GROUPWISE_BASE_URI); + } else { + return FALSE; + } +} + +static void +set_esource_props (const char *path, EAccount *a, GConfClient *client, const char *name) +{ + ESourceList *list; + GSList *groups; + char *old_relative_uri; + const char *poa_address; + CamelURL *url = camel_url_new (a->source->url, NULL); + + old_relative_uri = g_strdup_printf ("%s@%s/", url->user, poa_address); + list = e_source_list_new_for_gconf (client, path); + groups = e_source_list_peek_groups (list); + poa_address = url->host; + + if (!poa_address || !*poa_address) + return; + + for ( ; groups != NULL; groups = g_slist_next (groups)) { + ESourceGroup *group = E_SOURCE_GROUP (groups->data); + + if (strcmp (e_source_group_peek_name (group), name) == 0 && + strcmp (e_source_group_peek_base_uri (group), GROUPWISE_BASE_URI) == 0) { + GSList *sources = e_source_group_peek_sources (group); + + for ( ; sources != NULL; sources = g_slist_next (sources)) { + ESource *source = E_SOURCE (sources->data); + + if (a->source->auto_check) { + char *str = g_strdup_printf ("%d",a->source->auto_check_time); + + e_source_set_property (source, "refresh", str); + g_free (str); + } else + e_source_set_property (source, "refresh", NULL); + break; + } + } + } + e_source_list_sync (list, NULL); + + g_object_unref (list); + g_free (old_relative_uri); + camel_url_free (url); + +} + +void +ensure_mandatory_esource_properties (EPlugin *ep, ESEventTargetUpgrade *target) +{ + GConfClient* client; + EAccountList *al; + EIterator *it; + + client = gconf_client_get_default(); + al = e_account_list_new (client); + + for (it = e_list_get_iterator((EList *)al); + e_iterator_is_valid(it); + e_iterator_next(it)) { + EAccount *a; + + a = (EAccount *) e_iterator_get(it); + if (!a->enabled || !is_groupwise_account (a)) + continue; + set_esource_props ("/apps/evolution/calendar/sources", a, client, a->name); + set_esource_props ("/apps/evolution/tasks/sources", a, client, a->name); + set_esource_props ("/apps/evolution/memos/sources", a, client, a->name); + } + g_object_unref (al); + g_object_unref (client); +} static void free_groupwise_listener ( void ) diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/plugins/groupwise-account-setup/org-gnome-gw-account-setup.eplug.xml /tmp/TWpOXTYivG/evolution-2.22.1.1/plugins/groupwise-account-setup/org-gnome-gw-account-setup.eplug.xml --- evolution-2.22.1/plugins/groupwise-account-setup/org-gnome-gw-account-setup.eplug.xml 2008-04-04 11:11:29.000000000 +0200 +++ evolution-2.22.1.1/plugins/groupwise-account-setup/org-gnome-gw-account-setup.eplug.xml 2008-05-01 21:55:42.000000000 +0200 @@ -20,7 +20,15 @@ - - + + + + + + diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/plugins/itip-formatter/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/plugins/itip-formatter/ChangeLog --- evolution-2.22.1/plugins/itip-formatter/ChangeLog 2008-04-04 11:11:29.000000000 +0200 +++ evolution-2.22.1.1/plugins/itip-formatter/ChangeLog 2008-05-01 21:55:42.000000000 +0200 @@ -1,3 +1,17 @@ +2008-04-29 Chenthill Palanisamy + + ** Fixes #338330 (bnc) + Internet Based Calendar Events Are Declined By Evolution/GroupWise + + * itip-formatter.c: (view_response_cb): + +2008-04-28 Srinivasa Ragavan + + ** Fix for BNC bug #382687 + + * itip-formatter.c: (extract_itip_data), (format_itip): Don't download on main thread. It can + cause deadlocks. + 2008-02-25 Chenthill Palanisamy * itip-formatter.c: (find_server), (update_attendee_status): Free diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/plugins/itip-formatter/itip-formatter.c /tmp/TWpOXTYivG/evolution-2.22.1.1/plugins/itip-formatter/itip-formatter.c --- evolution-2.22.1/plugins/itip-formatter/itip-formatter.c 2008-04-04 11:11:29.000000000 +0200 +++ evolution-2.22.1.1/plugins/itip-formatter/itip-formatter.c 2008-05-01 21:55:42.000000000 +0200 @@ -1348,8 +1348,6 @@ static gboolean extract_itip_data (struct _itip_puri *pitip, GtkContainer *container) { - CamelDataWrapper *content; - CamelStream *mem; icalproperty *prop; icalcomponent_kind kind = ICAL_NO_COMPONENT; icalcomponent *tz_comp; @@ -1359,12 +1357,8 @@ ECalComponent *comp; char *my_address; - content = camel_medium_get_content_object ((CamelMedium *) pitip->part); - mem = camel_stream_mem_new (); - camel_data_wrapper_decode_to_stream (content, mem); - if (((CamelStreamMem *) mem)->buffer->len == 0) { - camel_object_unref (mem); + if (!pitip->vcalendar) { set_itip_error (pitip, container, _("The calendar attached is not valid"), _("The message claims to contain a calendar, but the calendar is not a valid iCalendar.")); @@ -1372,10 +1366,6 @@ return FALSE; } - pitip->vcalendar = g_strndup ((char *)((CamelStreamMem *) mem)->buffer->data, ((CamelStreamMem *) mem)->buffer->len); - - camel_object_unref (mem); - pitip->top_level = e_cal_util_new_top_level (); pitip->main_comp = icalparser_parse_string (pitip->vcalendar); @@ -1629,7 +1619,7 @@ gboolean status = FALSE, delete_invitation_from_cache = FALSE; icalproperty *prop; ECalComponentTransparency trans; - gboolean flag; + gboolean flag, save_schedules; if (pitip->method == ICAL_METHOD_PUBLISH || pitip->method == ICAL_METHOD_REQUEST) { if (itip_view_get_free_time_check_state (ITIP_VIEW (pitip->view))) @@ -1654,6 +1644,8 @@ icalcomponent_add_property (pitip->ical_comp, prop); } + save_schedules = e_cal_get_save_schedules (pitip->current_ecal); + switch (response) { case ITIP_VIEW_RESPONSE_ACCEPT: if (pitip->type != E_CAL_SOURCE_TYPE_JOURNAL) @@ -1664,7 +1656,7 @@ if (status) { e_cal_component_rescan (pitip->comp); flag = update_item (pitip, response); - if (e_cal_get_save_schedules (pitip->current_ecal) && flag) + if (save_schedules && flag) delete_invitation_from_cache = TRUE; } break; @@ -1674,7 +1666,7 @@ if (status) { e_cal_component_rescan (pitip->comp); flag = update_item (pitip, response); - if (e_cal_get_save_schedules (pitip->current_ecal) && flag) + if (save_schedules && flag) delete_invitation_from_cache = TRUE; } @@ -1693,7 +1685,7 @@ if (status) { e_cal_component_rescan (pitip->comp); flag = update_item (pitip, response); - if (e_cal_get_save_schedules (pitip->current_ecal) && flag) + if (save_schedules && flag) delete_invitation_from_cache = TRUE; } break; @@ -1753,7 +1745,7 @@ } } - if (!delete_invitation_from_cache && pitip->delete_message) { + if (!save_schedules && pitip->delete_message) { g_message ("Deleting!"); camel_folder_delete_message (pitip->folder, pitip->uid); } @@ -2238,6 +2230,8 @@ GConfClient *gconf; char *classid; struct _itip_puri *puri; + CamelDataWrapper *content; + CamelStream *mem; classid = g_strdup_printf("itip:///%s", ((EMFormat *) target->format)->part_id->str); @@ -2254,6 +2248,18 @@ puri->puri.free = puri_free; g_object_unref (gconf); + /* This is non-gui thread. Download the part for using in the main thread */ + content = camel_medium_get_content_object ((CamelMedium *) target->part); + mem = camel_stream_mem_new (); + camel_data_wrapper_decode_to_stream (content, mem); + + if (((CamelStreamMem *) mem)->buffer->len == 0) + puri->vcalendar = NULL; + else + puri->vcalendar = g_strndup ((char *)((CamelStreamMem *) mem)->buffer->data, ((CamelStreamMem *) mem)->buffer->len); + camel_object_unref (mem); + + camel_stream_printf (target->stream, ""); camel_stream_printf (target->stream, "
", classid); camel_stream_printf (target->stream, "
"); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/plugins/prefer-plain/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/plugins/prefer-plain/ChangeLog --- evolution-2.22.1/plugins/prefer-plain/ChangeLog 2008-04-04 11:11:16.000000000 +0200 +++ evolution-2.22.1.1/plugins/prefer-plain/ChangeLog 2008-05-01 21:55:35.000000000 +0200 @@ -1,3 +1,10 @@ +2008-04-17 Milan Crha + + ** Fix for bug #451976 + + * prefer-plain.c: (org_gnome_prefer_plain_multipart_alternative): Try + to find text/html part in multipart/alternative when in normal mode. + 2007-10-26 Kjartan Maraas * prefer-plain.c: (e_plugin_lib_enable): diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/plugins/prefer-plain/prefer-plain.c /tmp/TWpOXTYivG/evolution-2.22.1.1/plugins/prefer-plain/prefer-plain.c --- evolution-2.22.1/plugins/prefer-plain/prefer-plain.c 2008-04-04 11:11:16.000000000 +0200 +++ evolution-2.22.1.1/plugins/prefer-plain/prefer-plain.c 2008-05-01 21:55:35.000000000 +0200 @@ -99,7 +99,26 @@ int i, nparts, partidlen, displayid = 0; if (epp_mode == EPP_NORMAL) { - t->item->handler.old->handler(t->format, t->stream, t->part, t->item->handler.old); + /* Try to find text/html part even when not as last and force to show it. + Old handler will show the last part of multipart/alternate, but if we + can offer HTML, then offer it, regardless of position in multipart. */ + nparts = camel_multipart_get_number (mp); + for (i = 0; i < nparts; i++) { + part = camel_multipart_get_part (mp, i); + if (part && camel_content_type_is (camel_mime_part_get_content_type (part), "text", "html")) { + displayid = i; + display_part = part; + break; + } + } + + if (display_part) { + g_string_append_printf (t->format->part_id, ".alternative.%d", displayid); + em_format_part_as (t->format, t->stream, display_part, "text/html"); + g_string_truncate (t->format->part_id, partidlen); + } else { + t->item->handler.old->handler (t->format, t->stream, t->part, t->item->handler.old); + } return; } else if (!CAMEL_IS_MULTIPART(mp)) { em_format_format_source(t->format, t->stream, t->part); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/shell/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/shell/ChangeLog --- evolution-2.22.1/shell/ChangeLog 2008-04-04 11:07:45.000000000 +0200 +++ evolution-2.22.1.1/shell/ChangeLog 2008-05-01 21:53:24.000000000 +0200 @@ -1,3 +1,13 @@ +2008-04-26 James Westby + + ** Fix for bug #518103 + + * e-shell-nm-glib.c: (e_shell_glib_network_monitor): + * e-shell-nm.c: (e_shell_network_monitor): + * e-shell.c: (e_shell_construct): + Check online status from NetworkManager at startup instead of using the + last-used-state. + 2008-03-03 Tor Lillqvist * main.c (main) [Win32]: Drop the call to gtk_rc_parse_string() to diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/shell/e-shell.c /tmp/TWpOXTYivG/evolution-2.22.1.1/shell/e-shell.c --- evolution-2.22.1/shell/e-shell.c 2008-04-04 11:07:45.000000000 +0200 +++ evolution-2.22.1.1/shell/e-shell.c 2008-05-01 21:53:23.000000000 +0200 @@ -717,7 +717,7 @@ if (start_online) e_shell_go_online (shell, NULL, GNOME_Evolution_USER_ONLINE); else - e_shell_go_online (shell, NULL, GNOME_Evolution_FORCED_OFFLINE); + e_shell_go_online (shell, NULL, GNOME_Evolution_USER_OFFLINE); return E_SHELL_CONSTRUCT_RESULT_OK; } diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/shell/e-shell-nm.c /tmp/TWpOXTYivG/evolution-2.22.1.1/shell/e-shell-nm.c --- evolution-2.22.1/shell/e-shell-nm.c 2008-04-04 11:07:45.000000000 +0200 +++ evolution-2.22.1.1/shell/e-shell-nm.c 2008-05-01 21:53:24.000000000 +0200 @@ -104,7 +104,7 @@ if (line_status == E_SHELL_LINE_STATUS_ONLINE && status == E_SHELL_LINE_DOWN) { shell_state = GNOME_Evolution_FORCED_OFFLINE; e_shell_go_offline (shell, window, shell_state); - } else if (line_status == E_SHELL_LINE_STATUS_OFFLINE && status == E_SHELL_LINE_UP) { + } else if (line_status == E_SHELL_LINE_STATUS_FORCED_OFFLINE && status == E_SHELL_LINE_UP) { shell_state = GNOME_Evolution_USER_ONLINE; e_shell_go_online (shell, window, shell_state); } diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/shell/e-shell-nm-glib.c /tmp/TWpOXTYivG/evolution-2.22.1.1/shell/e-shell-nm-glib.c --- evolution-2.22.1/shell/e-shell-nm-glib.c 2008-04-04 11:07:45.000000000 +0200 +++ evolution-2.22.1.1/shell/e-shell-nm-glib.c 2008-05-01 21:53:24.000000000 +0200 @@ -49,7 +49,7 @@ if (line_status == E_SHELL_LINE_STATUS_ONLINE && state == LIBNM_NO_NETWORK_CONNECTION) { shell_state = GNOME_Evolution_FORCED_OFFLINE; e_shell_go_offline (shell, window, shell_state); - } else if (line_status == E_SHELL_LINE_STATUS_OFFLINE && state == LIBNM_ACTIVE_NETWORK_CONNECTION) { + } else if (line_status == E_SHELL_LINE_STATUS_FORCED_OFFLINE && state == LIBNM_ACTIVE_NETWORK_CONNECTION) { shell_state = GNOME_Evolution_USER_ONLINE; e_shell_go_online (shell, window, shell_state); } diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/ChangeLog --- evolution-2.22.1/widgets/ChangeLog 2008-04-04 11:17:49.000000000 +0200 +++ evolution-2.22.1.1/widgets/ChangeLog 2008-05-01 21:58:57.000000000 +0200 @@ -1,3 +1,10 @@ +2008-04-25 Danny Baumann + + ** Fix for bug #529893 + + * text/e-text.c: (_do_tooltip): + Properly set type hint on tooltip window. + 2008-02-23 Andre Klapper * e-timezone-dialog/e-timezone-dialog.glade: diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/misc/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/misc/ChangeLog --- evolution-2.22.1/widgets/misc/ChangeLog 2008-04-04 11:17:49.000000000 +0200 +++ evolution-2.22.1.1/widgets/misc/ChangeLog 2008-05-01 21:58:57.000000000 +0200 @@ -1,3 +1,20 @@ +2008-04-25 Danny Baumann + + ** Fix for bug #529893 + + * e-dateedit.c (create_children): + * e-combo-cell-editable.c (build_popup): + * e-cell-date-edit.c (e_cell_date_edit_init): + Properly set type hint on popup windows. + +2008-04-20 Srinivasa Ragavan + + ** Fix for bug #334444 + + * e-attachment-bar.c: (e_attachment_bar_add_attachment_silent), + (e_attachment_bar_refresh): + * e-attachment-bar.h: + 2008-03-13 Milan Crha ** Fix for bug #460204 diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/misc/e-attachment-bar.c /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/misc/e-attachment-bar.c --- evolution-2.22.1/widgets/misc/e-attachment-bar.c 2008-04-04 11:17:49.000000000 +0200 +++ evolution-2.22.1.1/widgets/misc/e-attachment-bar.c 2008-05-01 21:58:57.000000000 +0200 @@ -1177,6 +1177,27 @@ add_common (bar, attachment); } +void +e_attachment_bar_add_attachment_silent (EAttachmentBar *bar, EAttachment *attachment) +{ + g_return_if_fail (E_IS_ATTACHMENT_BAR (bar)); + g_return_if_fail (attachment != NULL); + + g_ptr_array_add (bar->priv->attachments, attachment); + g_object_weak_ref ((GObject *) attachment, (GWeakNotify) attachment_destroy, bar); + g_signal_connect (attachment, "changed", G_CALLBACK (attachment_changed_cb), bar); + + + g_signal_emit (bar, signals[CHANGED], 0); +} + +void +e_attachment_bar_refresh (EAttachmentBar *bar) +{ + update (bar); + +} + int e_attachment_bar_get_download_count (EAttachmentBar *bar) { diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/misc/e-attachment-bar.h /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/misc/e-attachment-bar.h --- evolution-2.22.1/widgets/misc/e-attachment-bar.h 2008-04-04 11:17:49.000000000 +0200 +++ evolution-2.22.1.1/widgets/misc/e-attachment-bar.h 2008-05-01 21:58:57.000000000 +0200 @@ -83,6 +83,8 @@ void e_attachment_bar_set_width(EAttachmentBar *bar, int bar_width); GSList * e_attachment_bar_get_all_attachments (EAttachmentBar *bar); void e_attachment_bar_create_attachment_cache (EAttachment *attachment); +void e_attachment_bar_add_attachment_silent (EAttachmentBar *bar, EAttachment *attachment); +void e_attachment_bar_refresh (EAttachmentBar *bar); #ifdef __cplusplus } diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/misc/e-cell-date-edit.c /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/misc/e-cell-date-edit.c --- evolution-2.22.1/widgets/misc/e-cell-date-edit.c 2008-04-04 11:17:49.000000000 +0200 +++ evolution-2.22.1.1/widgets/misc/e-cell-date-edit.c 2008-05-01 21:58:57.000000000 +0200 @@ -172,6 +172,8 @@ ever be one popup in use at a time. */ ecde->popup_window = gtk_window_new (GTK_WINDOW_POPUP); + gtk_window_set_type_hint (GTK_WINDOW (ecde->popup_window), + GDK_WINDOW_TYPE_HINT_COMBO); gtk_window_set_policy (GTK_WINDOW (ecde->popup_window), TRUE, TRUE, FALSE); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/misc/e-combo-cell-editable.c /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/misc/e-combo-cell-editable.c --- evolution-2.22.1/widgets/misc/e-combo-cell-editable.c 2008-04-04 11:17:49.000000000 +0200 +++ evolution-2.22.1.1/widgets/misc/e-combo-cell-editable.c 2008-05-01 21:58:57.000000000 +0200 @@ -146,7 +146,7 @@ gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT); gtk_widget_show (frame); gtk_container_add (GTK_CONTAINER (ecce->priv->popup), frame); - + gtk_window_set_type_hint (GTK_WINDOW (ecce->priv->popup), GDK_WINDOW_TYPE_HINT_COMBO); ecce->priv->tree_view = GTK_TREE_VIEW (gtk_tree_view_new ()); model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING)); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/misc/e-dateedit.c /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/misc/e-dateedit.c --- evolution-2.22.1/widgets/misc/e-dateedit.c 2008-04-04 11:17:49.000000000 +0200 +++ evolution-2.22.1.1/widgets/misc/e-dateedit.c 2008-05-01 21:58:57.000000000 +0200 @@ -437,6 +437,8 @@ gtk_widget_show (priv->space); priv->cal_popup = gtk_window_new (GTK_WINDOW_POPUP); + gtk_window_set_type_hint (GTK_WINDOW (priv->cal_popup), + GDK_WINDOW_TYPE_HINT_COMBO); gtk_widget_set_events (priv->cal_popup, gtk_widget_get_events (priv->cal_popup) | GDK_KEY_PRESS_MASK); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/table/ChangeLog /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/table/ChangeLog --- evolution-2.22.1/widgets/table/ChangeLog 2008-04-04 11:17:38.000000000 +0200 +++ evolution-2.22.1.1/widgets/table/ChangeLog 2008-05-01 21:58:53.000000000 +0200 @@ -1,3 +1,12 @@ +2008-04-25 Danny Baumann + + ** Fix for bug #529893 + + * e-table-header-item.c: (make_shaped_window_from_xpm): + * e-cell-combo.c: (e_cell_combo_init): + * e-cell-text.c: (ect_show_tooltip): + Properly set type hints for popup windows. + 2008-03-27 Milan Crha ** Fix for bug #519292 diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/table/e-cell-combo.c /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/table/e-cell-combo.c --- evolution-2.22.1/widgets/table/e-cell-combo.c 2008-04-04 11:17:38.000000000 +0200 +++ evolution-2.22.1.1/widgets/table/e-cell-combo.c 2008-05-01 21:58:53.000000000 +0200 @@ -138,6 +138,7 @@ ever be one popup in use at a time. */ ecc->popup_window = gtk_window_new (GTK_WINDOW_POPUP); + gtk_window_set_type_hint (GTK_WINDOW (ecc->popup_window), GDK_WINDOW_TYPE_HINT_COMBO); gtk_window_set_policy (GTK_WINDOW (ecc->popup_window), TRUE, TRUE, FALSE); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/table/e-cell-text.c /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/table/e-cell-text.c --- evolution-2.22.1/widgets/table/e-cell-text.c 2008-04-04 11:17:38.000000000 +0200 +++ evolution-2.22.1.1/widgets/table/e-cell-text.c 2008-05-01 21:58:53.000000000 +0200 @@ -1571,6 +1571,7 @@ window = gtk_window_new (GTK_WINDOW_POPUP); gtk_container_set_border_width (GTK_CONTAINER (window), 1); + gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_TOOLTIP); canvas = e_canvas_new (); gtk_container_add (GTK_CONTAINER (window), canvas); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/table/e-table-header-item.c /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/table/e-table-header-item.c --- evolution-2.22.1/widgets/table/e-table-header-item.c 2008-04-04 11:17:38.000000000 +0200 +++ evolution-2.22.1.1/widgets/table/e-table-header-item.c 2008-05-01 21:58:53.000000000 +0200 @@ -470,6 +470,7 @@ gtk_widget_push_colormap (gdk_rgb_get_colormap ()); win = gtk_window_new (GTK_WINDOW_POPUP); + gtk_window_set_type_hint (GTK_WINDOW (win), GDK_WINDOW_TYPE_HINT_NOTIFICATION); pix = gtk_image_new_from_pixmap (pixmap, bitmap); gtk_widget_realize (win); diff -Nru --exclude help --exclude po --exclude aclocal.m4 --exclude Makefile.in --exclude intltool-extract.in --exclude intltool-merge.in --exclude intltool-update.in --exclude config.guess --exclude configure --exclude ltmain.sh --exclude debian /tmp/Qe1JMSAG7W/evolution-2.22.1/widgets/text/e-text.c /tmp/TWpOXTYivG/evolution-2.22.1.1/widgets/text/e-text.c --- evolution-2.22.1/widgets/text/e-text.c 2008-04-04 11:17:19.000000000 +0200 +++ evolution-2.22.1.1/widgets/text/e-text.c 2008-05-01 21:58:47.000000000 +0200 @@ -1997,6 +1997,7 @@ tooltip_window = gtk_window_new (GTK_WINDOW_POPUP); gtk_container_set_border_width (GTK_CONTAINER (tooltip_window), 1); + gtk_window_set_type_hint (GTK_WINDOW (tooltip_window), GDK_WINDOW_TYPE_HINT_TOOLTIP); canvas = e_canvas_new ();