diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 454 | ||||
-rw-r--r-- | mail/default/ja/Inbox | 168 | ||||
-rw-r--r-- | mail/em-account-editor.c | 5 | ||||
-rw-r--r-- | mail/em-composer-prefs.c | 10 | ||||
-rw-r--r-- | mail/em-folder-browser.c | 727 | ||||
-rw-r--r-- | mail/em-folder-selection-button.c | 1 | ||||
-rw-r--r-- | mail/em-folder-tree.c | 9 | ||||
-rw-r--r-- | mail/em-folder-view.c | 64 | ||||
-rw-r--r-- | mail/em-popup.c | 2 | ||||
-rw-r--r-- | mail/em-utils.c | 30 | ||||
-rw-r--r-- | mail/evolution-mail.schemas.in.in | 100 | ||||
-rw-r--r-- | mail/mail-component.c | 40 | ||||
-rw-r--r-- | mail/mail.error.xml | 13 | ||||
-rw-r--r-- | mail/message-list.c | 199 |
14 files changed, 212 insertions, 1610 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 6384a5ed72..c05beb8018 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -4,7 +4,7 @@ * em-icon-stream.c: (emis_fit): We dont scale on height if the maxheight is zero Fixes 335431 - + 2006-07-26 Veerapuram Varadhan <vvaradhan@novell.com> ** Fixes bgo bug #333821 and bnc bug 181851 @@ -19,120 +19,11 @@ * em-folder-selection-button.c: (set_contents): Localizes the folder names in the filter and while importing mail -2006-07-26 Andre Klapper <a9016009@gmx.de> - - * em-folder-browser.c: correcting a grammar bug. Fixes bug #348674. - -2006-07-24 Ushveen Kaur <kushveen@novell.com> - - ** Fixes Bug #341840 - - * mail-error.xml: button label changed for dialog ask-mark-read. - -2006-07-24 Sushma Rai <rsushma@novell.com> - - * em-account-editor.c: (emae_option_entry) : activate the mnemonic for - text box, add an extra paramenter to the function call. - Fixes #332282. - Patch submitted by "Vandana Shenoy .B <shvandana@novell.com>" - -2006-07-24 Sushma Rai <rsushma@novell.com> - - * em-subscribe-editor.c (_EMSubscribeEditor): Removed the members - subscribe_button and unsubscribe_button. - (sub_do_subscribe)(sub_subscribe)(sub_editor_subscribe) - (sub_editor_unsubscribe): Removed. - (sub_selection_changed)(em_subscribe_editor_new): Removed the handling - for the subscribe and unsubscribe buttons. - - * mail-dialogs.glade: Removed "Subscribe" and "Unsubscribe" buttons. - Fixes #331509. - -2006-07-22 Yuri Pankov <yuri.pankov@gmail.com> - - Reviewed by Harish Krishnaswamy <kharish@novell.com> - - * message-list.c: Add missing headers. Fixes #344744. - -2006-07-22 Yuri Pankov <yuri.pankov@gmail.com> - - Reviewed by Harish Krishnaswamy <kharish@novell.com> - - * em-format-html-display.c: Add missing headers. - * mail-vfolder.h: Add function prototypes.Fixes #347689. - -2006-07-21 Srinivasa Ragavan <sragavan@novell.com> - - ** Fixes bug #346316 - - * em-folder-browser.c: (em_folder_browser_show_wide): Redraw the child - widgets and pack it accordingly. - -2006-07-20 Srinivasa Ragavan <sragavan@novell.com> - - * em-format-html-display.c: (efhd_attachment_bar_refresh): Modified - the mnemonics for avoiding the conflict with search. - -2006-07-19 Johnny Jacob <jjohnny@novell.com> - - ** Fix for bug #347993 - - * em-folder-browser.c : Changed default scope of search to - 'Current Folder' - -2006-07-14 Raghavendran R <raghavguru7@gmail.com> - - ** Fix for bug #330355 - - * em-mailer-prefs.c:Mailer Preferences. New mail notification, - "specify filename" was enabled for radNotifyNot and radNotifyBeep. - Disable the button, when it wasnt for button. - -2006-06-10 Shree Krishnan <shreekrishnan@gmail.com> - - ** Fix for bug #338442 - * mail-config.glade: Set the mnemonic character for "Send message receipts" - -2006-07-18 Andre Klapper <a9016009@gmx.de> - - * message-tags.glade: remove "*" from translation. Fixes bug #331147. - 2006-07-14 Srinivasa Ragavan <sragavan@novell.com> ** Fix for bug #336963 - - * em-folder-browser.c: (emfb_init): Make the scrollbar automatic. - -2006-22-06 Ushveen Kaur <kushveen@novell.com> - - ** Fixes bug #335241 - - * mail-send-recv.c: a scroll box added for the send recv popup dialog. - -2006-07-14 Srinivasa Ragavan <sragavan@novell.com> - - ** Fix for bug #335747 - - * em-folder-browser.c: (emfb_mark_all_read): Prompt optionally while - marking multiple messages. - * evolution-mail.schemas.in.in: Added a schema for prompting while - marking multiple messages. - -2006-07-13 Andre Klapper <a9016009@gmx.de> - - * mail-config.glade: remove empty strings from translation - -2006-07-11 Karsten Bräckelmann <guenther@rudersport.de> - - * em-folder-view.c: Change mnemonic for Mark as Unimportant, fixes - bug #347246. - -2006-07-11 Johnny Jacob <johnnyjacob@gmail.com> - - Fixes #246235. - * em-vfolder-rule.c (get_widget): Deleted the option menu and - replaced with radio buttons. - * mail-dialogs.glade: Removed option menu and added radio buttons + + * em-folder-browser.c: (emfb_init): Make scrollbar automatic. 2006-07-11 Johnny Jacob <johnnyjacob@gmail.com> @@ -142,58 +33,12 @@ signal handled for sig_edit and sig_delete from "pressed" to "clicked". -2006-07-11 Johnny Jacob <jjohnny@novell.com> - - ** Patch by Not Zed <NotZed@Ximian.com> - ** See bug #262003 - - * em-format-html-display.c (efhd_xpkcs7mime_validity_clicked): put - the potentially long descriptions into a textbuffer so it's - scrollable. - 2006-07-07 Ushveen Kaur <kushveen@novell.com> Fixes bug #336963. * em-message-browser.c: set the scroll bar in the message display to automatic -2006-07-07 Andre Klapper <a9016009@gmx.de> - - * em-format-html-display.c: Changing one mnemonic to avoid a - mnemonic conflict with an upcoming patch by Jony. - -2006-07-05 Andre Klapper <a9016009@gmx.de> - - * em-format-html-display.c: Added mnemonic to string. - Fixes bug #346645. - -2006-06-30 Johnny Jacob <jjohnny@novell.com> - * mail/em-folder-browser.h: Added search_activated signal - * mail/em-folder-view.c: (emfv_init): - * mail/em-format-html-display.c: (efhd_search_response), - (efhd_search_response_back), (efhd_search_destroy), - (efhd_search_case_toggled), (efhd_key_pressed), - (clear_button_clicked_cb), (icon_entry_changed_cb), - (em_format_html_get_search_dialog), (set_focus_cb), - (em_format_html_display_search), - (em_format_html_display_search_with), - (em_format_html_display_search_close): - * mail/em-format-html-display.h: - * mail/mail-component.c: (disable_folder_tree), - (enable_folder_tree), (impl_createView): - * mail/mail-vfolder.c: (mail_vfolder_add_uri), - (mail_vfolder_get_sources_local), - (mail_vfolder_get_sources_remote), (store_folder_renamed): - * mail/message-list.c: (ml_tree_value_at), - (message_list_setup_etree): - * mail/message-list.etspec: - Added code for search ui. - -2006-06-27 Matthew Barnes <mbarnes@redhat.com> - - * evolution-mail.schemas.in.in: - Changed type name "boolean" to "bool". Fixes bug #345677. - 2006-06-27 Arvind_evo <sa.phoenix@gmail.com> Fix for bug#260354 comment 35: @@ -204,149 +49,35 @@ ** Fix for bug #344338 - * em-folder-browser.c: (emfb_edit_select_all): grab focus after - Ctrl+A. + * em-folder-browser.c: (emfb_edit_select_all): grab focus on Ctrl+A. -2006-06-19 Srinivasa Ragavan <sragavan@novell.com> +2006-06-17 Srinivasa Ragavan <sragavan@novell.com> - ** Fix for bug #344580 + ** fixes bug #342092 - * message-list.c: (create_composite_cell), - (composite_cell_set_strike_col), (message_list_set_folder): Strike out - deleted mails, if set to visible + * em-popup.c: (emp_standard_menu_factory): Read the mime + from the right file. 2006-06-14 Tor Lillqvist <tml@novell.com> * em-account-editor.c (emae_check_complete): g_get_real_name() returns UTF-8 on Win32. -2006-06-13 Andre Klapper <a9016009@gmx.de> - - * mail.error.xml: changing string "Ximian Evolution" to "Evolution". - Fixes bug #344298. - -2006-06-13 Tor Lillqvist <tml@novell.com> - - * em-format-html.c (efh_format_address): Fix build on Win32, where - EVOLUTION_ICONSDIR is a function call. - -2006-06-12 Srinivasa Ragavan <sragavan@novell.com> - - * message-list.etspec: Corrected the sortable parameter of the message - list correctly. - -2006-06-29 Chris Heath <chris@heathens.co.nz> +2006-06-09 Chris Heath <chris@heathens.co.nz> * message-list.c (message_list_finalise): Fix memory leak. Fixes bug #335423. -2006-06-07 Srinivasa Ragavan <sragavan@novell.com> - - * em-format-html.c: (efh_format_address): Fixed a minor bug, where the - plus symbol appears if the limit equals the address shown. - 2006-06-06 Harish Krishnaswamy <kharish@novell.com> - * evolution-mail.schemas.in.in: typo correction. - Fixes #331694. - -2006-06-02 Jeffrey Stedfast <fejj@novell.com> - - * em-folder-view.c (emfv_setup_view_instance): Can't make camel - calls from the main thread or we run the risk of deadlocking. - -2006-06-02 Srinivasa Ragavan <sragavan@novell.com> - - ** Added support for Vertical View in evolution in addition to the - existing classical view. It also supports a composite headers to be - shown in a multilined column. - - * em-folder-browser.c (emfb_pane_realised), - (emfb_pane_button_release_event, emfb_init), - (em_folder_browser_show_preview, em_folder_browser_show_wide), - (emfb_show_next, emfb_show_below, emfb_activate): Added code to - handle the new wide mode in Evolution. - - * em-folder-view.c (emfv_setup_view_instance), - (em_folder_view_setup_view_instance): Added code to handle the - default view in the wide mode for normal and sent/draft folders. - - * evolution-mail.schemas.in.in: Added schema for hpane size, - showing email in the composite headers and toggling wide more. - - * message-list.c (ml_duplicate_value, ml_free_value), - (ml_initialize_value, ml_value_is_empty, ml_value_to_string), - (sanitize_recipients, ml_tree_value_at, create_composite_cell), - (message_list_create_extras): Added a new composite header - render_composite_from/recipient which shows the headers in a - multilined column. - - * message-list.etspec: Added three new columns, Recipent, Messages - column for normal folders and Messages column for sent/draft - folders. + * evolution-mail.schemas.in.in: correct a typo. + fixes #331694. 2006-05-30 Li Yuan <li.yuan@sun.com> Fix for #341381. - - * message-list.c (message_list_set_folder): We should lock - e-tree-memory when we change it. - -2006-05-30 Srinivasa Ragavan <sragavan@novell.com> - - ** Fixes bug #332936 - - * mail.error.xml: Used a new property called scroll that adds the - multilines error messages into a viewport. - -2006-05-25 Srinivasa Ragavan <sragavan@novell.com> - - ** Added remote shares save/load support across evolution. - - * em-utils.c (emu_file_check_local, emu_get_save_filesel), - (emu_save_part_response, emu_save_parts_response), - (emu_save_messages_response): Added code to save - messages/attachments to remote shares. - - * mail-ops.c (save_messages_save, save_part_save): Same. - -2006-05-25 Srinivasa Ragavan <sragavan@novell.com> - - ** fixes bug #342092 - - * em-popup.c (emp_standard_menu_factory): Read the mime from the - right file. - -2006-05-25 Srinivasa Ragavan <sragavan@novell.com> - - Added support for collapsible headers for To/Cc/Bcc fields. - - * em-folder-view.c (emfv_format_link_clicked, emfv_on_url_cb): - - * em-format-html-display.c (efhd_html_button_press_event), - (efhd_html_link_clicked, efhd_html_on_url, efhd_format_clone): - - * em-format-html.c (efh_url_requested, efh_format_text_header), - (efh_format_address, efh_format_header): - - * em-mailer-prefs.c (address_compress_count_changed), - (toggle_button_init, em_mailer_prefs_construct): - - * evolution-mail.schemas.in.in: - - * mail-config.c (gconf_address_count_changed), - (gconf_address_compress_changed, mail_config_init), - (mail_config_get_labels, mail_config_get_address_count): - - * mail-config.glade: - -2006-05-24 Srinivasa Ragavan <sragavan@novell.com> - - ** Fixes bug #342676 - - * message-list.c: (ml_duplicate_value), (ml_free_value), - (ml_initialize_value), (ml_value_is_empty), (ml_value_to_string): - * message-list.etspec: Fixed the column sorter right. + * message-list.c: (message_list_set_folder): + We should lock e-tree-memory when we change it. 2006-05-04 Jeffrey Stedfast <fejj@novell.com> @@ -354,80 +85,14 @@ before removing the store from our hash and cache. Should fix Novell bug #166987. -2006-04-30 Shi Pu <shi.pu@sun.com> - - ** Fixes bug #323853 - - * em-composer-prefs.c (sig_edit_cb, sig_add_script_response): - - * em-mailer-prefs.c (notify_sound_changed) - (em_mailer_prefs_construct): - - * em-mailer-prefs.h: - - * mail-config.glade: Replace GnomeFileEntry by - GtkFileChooserButton. - 2006-04-27 Rodney Dawes <dobey@novell.com> - * em-folder-tree.c (render_pixbuf): Use gnome-fs-trash-empty - rather than stock_delete for the Trash folder icon - - * em-folder-view.c (emfv_popup_items[]): Don't set an icon for - Undelete - (emfv_message_pixmaps[]): Don't set an icon for Undelete and set - the icon for deleting a message to gnome-fs-trash-empty, not - stock_delete - - Fixes #339626 - -2006-04-26 Srinivasa Ragavan <sragavan@novell.com> - - ** Patch from Victor for adding a Sender header to message list. - - * message-list.c (ml_duplicate_value, ml_free_value), - (ml_initialize_value, ml_value_is_empty, ml_value_to_string), - (ml_tree_value_at): Handled the new column header. - - * message-list.etspec: Added a new column header to spec. - - * message-list.h: Added a new column - -2006-04-26 Srinivasa Ragavan <sragavan@novell.com> - - * em-folder-view.c (emfv_setup_view_instance): Comparing the - FolderInfo flags right, to make Mailbox to show From header in - message list for groupwise servers. - -2006-04-26 Srinivasa Ragavan <sragavan@novell.com> - - ** Fixes bug #323402 - - * em-folder-tree.c (folder_tree_new): Code for Ellipsizing folder - tree. (Patch from Vincent Noel) - - * em-migrate.c: Adding side_bar_search to - - * evolution-mail.schemas.in.in: Adding a schema for enabling/disabling - side bar search. (Patch from Rakesh) - -2006-04-24 Srinivasa Ragavan <sragavan@novell.com> - - * mail-session.c (get_password): Ask passphrase if the user is - supposed to enter the same. + * em-folder-tree.c (render_pixbuf): Use gnome-fs-trash-empty rather + than stock_delete for the Trash folder icon -2006-04-22 Srinivasa Ragavan <sragavan@novell.com> - - * em-format-html-display.c (efhd_attachment_button), - (efhd_format_attachment): Added code to create image cache of - image attachment in the ethread instead of main thread to avoid - gui lockup. - -2006-04-21 Sankar P <psankar@novell.com> - - * mail-mt.c (do_op_status): Fix the cryptic - hexa-status-bar-message. The problem still lies somewhere. But - dont show something weird to the user. + * em-folder-view.c (emfv_popup_items[]): Don't set an icon for Undelete + (emfv_message_pixmaps[]): Don't set an icon for Undelete and set the + icon for deleting a message to gnome-fs-trash-empty, not stock_delete 2006-04-20 Jeffrey Stedfast <fejj@novell.com> @@ -454,7 +119,6 @@ 2006-04-10 Jeff Cai <jeff.cai@sun.com> ** Fixes 333243 - * em-folder-tree-model.c (em_folder_tree_model_remove_folders): For null uri, don't need remove it. @@ -465,43 +129,22 @@ * message-list.c (mail_folder_hide_by_flag): If CamelMessageInfo is null, don't free it. -2006-03-29 Parthasarathi Susarla <sparthasarathi@novell.com> - - * em-folder-view.c (smfv_setup_view_instance): use the flags - CAMEL_STORE_FOLDER_INFO_SUBSCRIBED instead of - CAMEL_STORE_FOLDER_INFO_FAST when getting folder info - -2006-03-25 Rajeev ramanathan <rajeevramanathan_2004@yahoo.co.in> - - **Fixes #329585 - - * mail-config.glade: Changed Remove button to Delete button - - * mail.error.xml: Changed current Layout DELETE [Do not delete] to - [Do not delete] DELETE - 2006-03-22 Patrick Ohly <patrick.ohly@intel.com> - * em-utils.c (em_utils_selection_set_urilist): Fixed premature - memory free. Fixes bug #335203. + * em-utils.c (em_utils_selection_set_urilist): + Fixed premature memory free. Fixes bug #335203. 2006-03-21 Simon Zheng <simon.zheng@sun.com> - Fixed bug #326571 - - * em-utils.c (em_filename_make_safe, emu_get_save_filesel): - (emu_save_parts_response): Add em_filename_make_safe(), and use it - to allow filenames contain more valid characters when saving - attachments. - -2006-03-20 Srinivasa Ragavan <sragavan@novell.com> + Fixes bug #326571 + * em-utils.c (em_filename_make_safe), (emu_get_save_filesel), + (emu_save_parts_response): + Add em_filename_make_safe(), and use it to allow filenames + contain more valid characters when saving attachment. - * em-folder-view.c (emfv_setup_view_instance): Added code to set - the mail view column for sent folder. +2006-03-12 Takeshi AIHANA <takeshi.aihana@gmail.com> -2006-03-12 Frank Arnold <farnold@cvs.gnome.org> - - * default/de/Inbox: Updated German translation of default inbox. + * default/ja/Inbox: Updated Japanese translation. 2006-03-06 Simon Zheng <simon.zheng@sun.com> @@ -512,7 +155,7 @@ 2006-03-03 Andre Klapper <a9016009@gmx.de> - * configure.in: + * configure.in * mail/default/Makefile.am: added support for macedonian (mk) welcome message @@ -524,12 +167,13 @@ 2006-03-03 Žygimantas Beručka <zygis@gnome.org> * default/Makefile.am: Added Lithuanian to SUBDIRS. + * default/lt/*: Added Lithuanian translation for default mailbox. 2006-03-02 Ilkka Tuohela <hile@iki.fi> - * fi.po: Updated Finnish inbox to actually use 2.6 example, not - the old one... + * fi.po: Updated Finnish inbox to actually use 2.6 example, + not the old one... 2006-03-01 Ilkka Tuohela <hile@iki.fi> @@ -908,19 +552,19 @@ t2006-02-20 Parthasarathi Susarla <sparthasarathi@novell.com> * mail-tools.c (mail_tool_get_local_movemail_path): Use e_util_mkdir_hier() instead of e_mkdir_hier(). - Use e_util_strstrcase() instead of e_strstrcasea(). + Use e_util_strstrcase() instead of e_strstrcasea(). - use e_strftime() in evolution-data-server/ - libedataserver/e-data-server-util.c instead of the copy in - evolution/e-util/e-util.c. + use e_strftime() in evolution-data-server/ + libedataserver/e-data-server-util.c instead of the copy in + evolution/e-util/e-util.c. - use e_filename_make_safe() in evolution-data-server/ - libedataserver/e-data-server-util.c instead of the copy in - evolution/e-util/e-util.c. - - use e_utf8_strftime() in evolution-data-server/ - libedataserver/e-data-server-util.c instead of the copy in - evolution/e-util/e-util.c. + use e_filename_make_safe() in evolution-data-server/ + libedataserver/e-data-server-util.c instead of the copy in + evolution/e-util/e-util.c. + + use e_utf8_strftime() in evolution-data-server/ + libedataserver/e-data-server-util.c instead of the copy in + evolution/e-util/e-util.c. 2006-01-06 Andre Klapper <a9016009@gmx.de> @@ -1018,7 +662,7 @@ t2006-02-20 Parthasarathi Susarla <sparthasarathi@novell.com> 2005-12-22 Andre Klapper <a9016009@gmx.de> * mail-config.glade: changed one duplicated mnemonic. - Fixes bug 313801. + Fixes bug 313801. 2005-12-20 Andre Klapper <a9016009@gmx.de> @@ -1028,7 +672,7 @@ t2006-02-20 Parthasarathi Susarla <sparthasarathi@novell.com> 2005-12-19 Andre Klapper <a9016009@gmx.de> * mail-config.glade: changed 3 HIG-violating mnemonics. - Fixes bug 256913. + Fixes bug 256913. 2005-12-23 Srinivasa Ragavan <sragavan@novell.com> @@ -3963,8 +3607,8 @@ t2006-02-20 Parthasarathi Susarla <sparthasarathi@novell.com> 2004-07-13 Dan Winship <danw@novell.com> - * em-utils.c (em_utils_selection_set_urilist): - (em_utils_temp_save_part): free return value from e_mkdtemp + * em-utils.c (em_utils_selection_set_urilist, + em_utils_temp_save_part): free return value from e_mkdtemp 2004-07-09 Not Zed <NotZed@Ximian.com> @@ -7382,9 +7026,9 @@ t2006-02-20 Parthasarathi Susarla <sparthasarathi@novell.com> 2004-02-01 Bill Zhu <bill.zhu@sun.com> - Fixes for bug #53530 + Fixes for bug #53530 - * em-utils.c (em_utils_redirect_message): Removed the duplicate + * em-utils.c (em_utils_redirect_message): Removed the duplicate adding of attachments 2004-01-30 Jeffrey Stedfast <fejj@ximian.com> @@ -7886,7 +7530,7 @@ t2006-02-20 Parthasarathi Susarla <sparthasarathi@novell.com> (config_write_style): use MAIL_CONFIG_RC_DIR (mail_config_init): ditto - see http://bugzilla.ximian.com/show_bug.cgi?id=52969 + * see http://bugzilla.ximian.com/show_bug.cgi?id=52969 2004-01-19 Not Zed <NotZed@Ximian.com> diff --git a/mail/default/ja/Inbox b/mail/default/ja/Inbox index 1ef951e003..6f26769ad2 100644 --- a/mail/default/ja/Inbox +++ b/mail/default/ja/Inbox @@ -1,29 +1,28 @@ -From evolution@ximian.com Tue Sep 25 07:45:12 2001 -Return-Path: <evolution@ximian.com> -Received: from pop.ximian.com (IDENT:mail@localhost [127.0.0.1]) by - pop.ximian.com (8.9.3/8.9.3) with ESMTP id HAA20680; Tue, 25 Sep 2001 +From evolution@novell.com Wed Mar 15 12:00:00 2006 +Return-Path: <evolution@novell.com> +Received: from pop.novell.com (IDENT:mail@localhost [127.0.0.1]) by + pop.novell.com (8.9.3/8.9.3) with ESMTP id HAA20680; Wed, 15 Mar 2006 07:45:12 -0400 -Received: from smtp.ximian.com (smtp.ximian.com [141.154.95.10]) by - pop.ximian.com (8.9.3/8.9.3) with ESMTP id HAA20659 for - <evolution@ximian.com>; Tue, 25 Sep 2001 07:45:10 -0400 -Received: (qmail 5610 invoked from network); 25 Sep 2001 11:45:02 -0000 -Received: from smtp.ximian.com (HELO localhost) (141.154.95.10) by - pop.ximian.com with SMTP; 25 Sep 2001 11:45:02 -0000 -From: "The Evolution Team" <evolution@ximian.com> -To: Evolution Users <evolution@ximian.com> +Received: from smtp.novell.com (smtp.novell.com [141.154.95.10]) by + pop.novell.com (8.9.3/8.9.3) with ESMTP id HAA20659 for + <evolution@novell.com>; Wed, 15 Mar 2006 07:45:10 -0400 +Received: (qmail 5610 invoked from network); 15 Mar 2006 12:00:00 -0000 +Received: from smtp.novell.com (HELO localhost) (141.154.95.10) by + pop.novell.com with SMTP; 15 Mar 2006 12:00:00 -0000 +From: "Evolution =?ISO-2022-JP?B?GyRCMytILyVBITwlYBsoQg==?=" <evolution@novell.com> +To: Evolution =?ISO-2022-JP?B?GyRCJWYhPCU2TU0bKEI=?= <evolution@novell.com> Content-Type: multipart/related; type="multipart/alternative"; boundary="=-t4dRE6cqcdSBHOrMdTQ1" -X-Mailer: Evolution/1.1.99 (Preview Release) -Date: 25 June 2002 14:45:00 +0300 +X-Mailer: Evolution 2.6.0 +Date: 15 March 2006 12:00:00 +0000 Message-Id: <1001418302.27070.20.camel@spectrolite> Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-2022-jp -Content-Transfer-Encoding: 7bit Subject: Evolution =?ISO-2022-JP?B?GyRCJFgkaCQmJDMkPRsoQiE=?= -Sender: evolution@ximian.com -Errors-To: evolution@ximian.com +Sender: evolution@novell.com +Errors-To: evolution@novell.com X-Mailman-Version: 1.1 Status: -X-Evolution-Source: pop://rupert@pop.ximian.com/inbox +X-Evolution-Source: pop://rupert@pop.novell.com/inbox X-Evolution: 00000ddd-0030 @@ -36,47 +35,49 @@ Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit - -Evolution $B3+H/%A!<%`$O!"$"$J$?$,%a!<%k$d8D?M>pJs$r4IM}$9$k(B -Evolution $B%7%9%F%`$rF3F~$7$F$/$l$?$3$H$r$H$F$b8w1I$K;W$$$^$9!#(B +Evolution $B3+H/%A!<%`$O!"$"$J$?$K%a!<%k$d8D?M>pJs$r$^$H$a$F4IM}$G$-$k(B Evolution $B%7%9%F%`$r>R2p$9$k$3$H$,$G$-$F!"$H$F$b8w1I$K;W$$$^$9!#(B -$B$O$8$a$K(B +$B$O$8$a$F$_$h$&(B - Evolution $B$N%&%#%s%I%&:8B&$K$O!"$"$J$?$N$9$Y$F$N%a!<%k(B - $B%U%)%k%@$X$N%7%g!<%H%+%C%H$r4^$`%5%$%I%P!<$,$"$j$^$9!#(B - $B$=$N2<$NJ}$K$O%+%l%s%@!<$d%3%s%?%/%H!"%?%9%/!"%a!<%k(B - $B%\%?%s$,$"$j$^$9!#(B + Evolution $B%&%#%s%I%&$N:8B&$K$O!"A4$F$N%a!<%k!&%U%)%k%@$KAGAa$/%"%/%;%9$G$-$k%5%$%I%P!<$,$"$j$^$9!#$=$N2<$K$O!"%+%l%s%@$dO"Mm@h!"%?%9%/!"%a!<%k!"$=$7$F%a%bD"$rI=<($9$k%\%?%s$,$"$j$^$9!#(B - $B40A4$J(B Evolution $B%,%$%I$r8f4uK>$J$i!"(B"$B%X%k%W(B"$B%a%K%e!<$+$i(B - "$BL\<!(B"$B$rA*Br$9$k$+!"(BF1 $B%-!<$r2!$7$F2<$5$$!#(B + "$B%X%k%W(B" $B%a%K%e!<$N(B "$BL\<!(B" $B$r%/%j%C%/$9$k$+!"$^$?$O(B [F1] $B%-!<$r2!$9$H!"(BEvolution $B$N%f!<%6!&%,%$%I$,I=<($5$l$^$9!#(B -$B?75,5!G=(B +$B?7$7$$5!G=(B - Evolution 2.0 $B$G$O?7$?$K(B Novell GroupWise $B%5!<%P!<(B (6.5.3 - $B0J>e(B)$B$H(B Exchange 2000/2003 $B$X$N@\B3%5%]!<%H$,DI2C$5$l$^$7$?!#(B - $BB>$K?75,5!G=$H$7$F!"LBOG%a!<%k%U%#%k%?!"(BS/MIME $B%;%-%e%j%F%#!"(B - IMAP $B$N%*%U%i%$%s%5%]!<%H$N8~>e!"(BNNTP (news) $B$N%5%]!<%H!"(B - $B%&%'%V%+%l%s%@!<I=<(!"J#?t$N%+%l%s%@!<$N=E$M9g$o$;!"$=$7$F(B - $B%3%s%?%/%H!"%+%l%s%@!<!"%?%9%/%G!<%?$K%"%/%;%9$9$k$?$a$N(B - $B?7$7$$3+H/<T8~$1(B API $B$r4^$s$G$$$^$9!#(B + Evolution $B%P!<%8%g%s(B 2.6 $B$K$O<!$N$h$&$J5!G=$,$"$j$^$9(B: + + # $B%a%b$r5-O?$9$k%3%s%]!<%M%s%H$rDI2C$7$^$7$?(B + # $B%$%Y%s%H(B/$B%?%9%/(B/$B2q5D$NJT=8%@%$%"%m%0$NI=<($r:~?7$7$^$7$?(B + # $B%+%l%s%@>pJs$r30It$K8x3+$G$-$^$9(B + # CalDAV $B$r%5%]!<%H$7$^$7$?(B + # Network Manager $B$r%5%]!<%H$7$^$7$?(B + # HULA $B$r%5%]!<%H$7$^$7$?(B ($B@\B3$N$_(B) + # GroupWise $B$N5!G=$r2~A1$7$^$7$?(B + # $B7+$jJV$7H/@8$9$k%$%Y%s%H$N5!G=$r2~A1$7$^$7$?(B + # $B%+%l%s%@>e$N%$%Y%s%H$K%D!<%k%A%C%W$rI=<($G$-$k$h$&$K$J$j$^$7$?(B + # Mozilla$B!"(BOutlook$B!"$=$7$F(B Evolution $B%U%)!<%^%C%H$KBP1~$7$?(B CSV/tab $B$r<h$j9~$a$^$9(B + # $BO"Mm@h0lMw$G$O(B LDAP $B7A<0$N%"%I%l%9D"$r%5%]!<%H$7$^$7$?(B + # $B%"%I%l%9D"$G$O3HD%8!:w$N7k2L$rJ]B8$G$-$k$h$&$K$J$j$^$7$?(B + # $B%a!<%k:n@.$G$O!"%a%C%;!<%8$KM%@h=g0L$rIU$1$k$3$H$,$G$-$k$h$&$K$J$j$^$7$?(B + # $B%P%0$r$?$/$5$s=$@5$7!"%f!<%6!&%$%s%?%U%'!<%9$r$5$i$K2~A1$7$^$7$?(B -$BIT6q9g$NJs9p(B +$B%P%0$NJs9p(B - $BIT6q9g$O(B http://bugzilla.ximian.com $B$^$G8fJs9p2<$5$$!#(B + Evolution $B$NIT6q9g$O(B http://bugzilla.gnome.org $B$^$GJs9p2<$5$$!#(B -$B$b$C$H>\$7$/(B +$B$5$i$K>\:Y$J>pJs(B - Evolution $B%f!<%6!<8~$1%a!<%j%s%0%j%9%H$K;22C$9$k$3$H$,(B - $B$G$-$^$9(B: - http://lists.ximian.com/mailman/listinfo/evolution + http://mail.gnome.org/mailman/listinfo/evolution-list + $B$G(B Evolution $B$N%f!<%68~$1%a!<%j%s%0%j%9%H$r9VFI$G$-$^$9!#(B - Evolution $B%W%m%8%'%/%H$N>pJs$K$D$$$F$O(B - http://www.gnome.org/projects/evolution $B$X!#(B + Evolution $B%W%m%8%'%/%H$K$D$$$F$O(B http://www.gnome.org/projects/evolution $B$r$4Mw2<$5$$!#(B -$B7I6q!"(B +$B7I6q(B Evolution $B3+H/%A!<%`(B +evolution@novell.com @@ -90,7 +91,8 @@ Content-Type: text/html; charset=utf-8 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8"> <META NAME="GENERATOR" CONTENT="GtkHTML/0.13.99"> </HEAD> -<BODY BGCOLOR="#f8fcf8"><TABLE BACKGROUND="cid:1001417869.27019.4.camel@spectrolite" CELLSPACING="0" CELLPADDING="0" WIDTH="100%"> +<BODY BGCOLOR="#f8fcf8"> +<TABLE BACKGROUND="cid:1001417869.27019.4.camel@spectrolite" CELLSPACING="0" CELLPADDING="0" WIDTH="100%"> <TR> <TD ALIGN="left" VALIGN="top"> <IMG SRC="cid:1001417869.27019.5.camel@spectrolite" ALIGN="top" BORDER="0" WIDTH="8" HEIGHT="8"></TD> @@ -115,11 +117,7 @@ Content-Type: text/html; charset=utf-8 <TD> </TD> <TD> -<FONT COLOR="#f8fcf8"><FONT SIZE="4"><B>Evolution 開発チーム</FONT></B></FONT SIZE="4"> -<FONT COLOR="#f8fcf8"><FONT SIZE="4">は、あなたがメールや個人情報を管理する</FONT></FONT SIZE="4"> -<FONT COLOR="#f8fcf8"><FONT SIZE="4"><B>Evolution</FONT></B></FONT SIZE="4"> -<FONT COLOR="#f8fcf8"><FONT SIZE="4">システムを導入してくれたことをとても光栄に思います。</FONT></FONT SIZE="4"> -</TD> +<FONT COLOR="#f8fcf8"><FONT SIZE="4"><B>Evolution 開発チーム</FONT></B></FONT SIZE="4"><FONT COLOR="#f8fcf8"><FONT SIZE="4">は、あなたにメールや個人情報をまとめて管理できる </FONT></FONT SIZE="4"><FONT COLOR="#f8fcf8"><FONT SIZE="4"><B>Evolution システム</FONT></B></FONT SIZE="4"><FONT COLOR="#f8fcf8"><FONT SIZE="4">を紹介することができて、とても光栄に思います。</FONT></FONT SIZE="4"></TD> <TD> </TD> <TD> @@ -146,56 +144,66 @@ Content-Type: text/html; charset=utf-8 </TD> </TR> </TABLE> -<h2>はじめに</h2> +<h2>はじめてみよう</h2> <blockquote> - Evolution のウィンドウ左側には、あなたのすべてのメール - フォルダへのショートカットを含むサイドバーがあります。 - その下の方にはカレンダーやコンタクト、タスク、メール - ボタンがあります。 + Evolution ウィンドウの左側には、全てのメール・フォルダに素早くアクセスできるサイドバーがあります。その下には、カレンダや連絡先、タスク、メール、そしてメモ帳を表示するボタンがあります。 +<br><br> + <b>ヘルプ</b>メニューの<b>目次</b>をクリックするか、または <b>[F1]</b> キーを押すと、Evolution のユーザ・ガイドが表示されます。 <br><br> - 完全な Evolution ガイドを御希望なら、<b>ヘルプ</b>メニューから - <b>目次</b>を選択するか、<b>F1</b> キーを押して下さい。 </blockquote> -<h2>新規機能</h2> +<h2>新しい機能</h2> <blockquote> - Evolution 2.0 では新たに Novell GroupWise サーバー (6.5.3 - 以上)と Exchange 2000/2003 への接続サポートが追加されました。 - 他に新規機能として、迷惑メールフィルタ、S/MIME セキュリティ、 - IMAP のオフラインサポートの向上、NNTP (news) のサポート、 - ウェブカレンダー表示、複数のカレンダーの重ね合わせ、そして - コンタクト、カレンダー、タスクデータにアクセスするための - 新しい開発者向け API を含んでいます。 + Evolution バージョン 2.6 には次のような機能があります: + <ul> + <li>メモを記録するコンポーネントを追加しました</li> + <li>イベント/タスク/会議の編集ダイアログの表示を刷新しました</li> + <li>カレンダ情報を外部に公開できます</li> + <li>CalDAV をサポートしました</li> + <li>Network Manager をサポートしました</li> + <li>HULA をサポートしました (接続のみ)</li> + <li>GroupWise の機能を改善しました</li> + <li>繰り返し発生するイベントの機能を改善しました</li> + <li>カレンダ上のイベントにツールチップを表示できるようになりました</li> + <li>Mozilla、Outlook、そして Evolution フォーマットに対応した CSV/tab を取り込めます</li> + <li>連絡先一覧では LDAP 形式のアドレス帳をサポートしました</li> + <li>アドレス帳では拡張検索の結果を保存できるようになりました</li> + <li>メール作成では、メッセージに優先順位を付けることができるようになりました</li> + <li>バグをたくさん修正し、ユーザ・インタフェースをさらに改善しました</li> + </ul> +<br> </blockquote> -<h2>不具合の報告</h2> +<h2>バグの報告</h2> <blockquote> - 不具合は <a href="http://bugzilla.ximian.com">http://bugzilla.ximian.com</a> まで御報告下さい。 + Evolution の不具合は <a href="http://bugzilla.gnome.org">http://bugzilla.gnome.org</a> まで報告して下さい。 +<br><br> </blockquote> -<h2>もっと詳しく</h2> +<h2>さらに詳細な情報</h2> <blockquote> - Evolution ユーザー向けメーリングリストに参加することが - できます: - <a href="http://lists.ximian.com/mailman/listinfo/evolution">http://lists.ximian.com/mailman/listinfo/evolution</a>. - - Evolution プロジェクトの情報については - <a href="http://www.gnome.org/projects/evolution">http://www.gnome.org/projects/evolution</a> へ。 - </blockquote> - + <a + href="http://lists.gnome.org/mailman/listinfo/evolution">http://lists.gnome.org/mailman/listinfo/evolution</a> で Evolution のユーザ向けメーリングリストを講読できます。 + + Evolution プロジェクトについては <a href="http://www.gnome.org/projects/evolution">http://www.gnome.org/projects/evolution</a> をご覧下さい。 + <!-- + You can find a list of answers to Frequently Asked Questions (FAQ) at + <a href="http://go-evolution.org/FAQ">http://go-evolution.org/FAQ</a>. + --> +<br><br> +</blockquote> -敬具、<br> +敬具<br> Evolution 開発チーム<br> -<a href="mailto:evolution@ximian.com">evolution@ximian.com</a> +<a href="mailto:evolution@novell.com">evolution@novell.com</a> </BODY> </HTML> --=-2gZ1roA/HoYrlRDVGyiM-- - --=-t4dRE6cqcdSBHOrMdTQ1 Content-Type: image/png Content-ID: <1001417929.27019.9.camel@spectrolite> diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c index 0a5b93a995..1d2c07bd91 100644 --- a/mail/em-account-editor.c +++ b/mail/em-account-editor.c @@ -1883,7 +1883,7 @@ emae_option_entry_changed(GtkEntry *entry, EMAccountEditorService *service) } static GtkWidget * -emae_option_entry(EMAccountEditorService *service, CamelURL *url, const char *name, const char *def, GtkWidget *l) +emae_option_entry(EMAccountEditorService *service, CamelURL *url, const char *name, const char *def) { GtkWidget *w; const char *val = camel_url_get_param(url, name); @@ -1900,7 +1900,6 @@ emae_option_entry(EMAccountEditorService *service, CamelURL *url, const char *na w = g_object_new(gtk_entry_get_type(), "text", val, NULL); - gtk_label_set_mnemonic_widget ((GtkLabel*)l, w); g_object_set_data((GObject *)w, "option-name", (void *)name); g_signal_connect(w, "changed", G_CALLBACK(emae_option_entry_changed), service); gtk_widget_show(w); @@ -2105,7 +2104,7 @@ section: case CAMEL_PROVIDER_CONF_ENTRY: l = g_object_new(gtk_label_get_type(), "label", entries[i].text, "xalign", 0.0, "use_underline", TRUE, NULL); gtk_widget_show(l); - w = emae_option_entry(service, url, entries[i].name, entries[i].value, l); + w = emae_option_entry(service, url, entries[i].name, entries[i].value); gtk_table_attach((GtkTable *)parent, l, 0, 1, row, row+1, GTK_FILL, 0, 0, 0); gtk_table_attach((GtkTable *)parent, w, 1, 2, row, row+1, GTK_EXPAND|GTK_FILL, 0, 0, 0); if (depw) { diff --git a/mail/em-composer-prefs.c b/mail/em-composer-prefs.c index 616f3a43ae..db0187eb8c 100644 --- a/mail/em-composer-prefs.c +++ b/mail/em-composer-prefs.c @@ -57,7 +57,7 @@ #include <gtk/gtkimage.h> #include <gtk/gtkstock.h> -#include <gtk/gtkfilechooserbutton.h> +#include <libgnomeui/gnome-file-entry.h> #include <libgnomeui/gnome-color-picker.h> #include <gtkhtml/gtkhtml.h> @@ -319,8 +319,8 @@ sig_edit_cb (GtkWidget *widget, EMComposerPrefs *prefs) /* signature script */ GtkWidget *entry; - entry = glade_xml_get_widget (prefs->sig_script_gui, "filechooserbutton_add_script"); - gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (entry), sig->filename); + entry = glade_xml_get_widget (prefs->sig_script_gui, "fileentry_add_script_script"); + gnome_file_entry_set_filename ((GnomeFileEntry *) entry, sig->filename); entry = glade_xml_get_widget (prefs->sig_script_gui, "entry_add_script_name"); gtk_entry_set_text (GTK_ENTRY (entry), sig->name); @@ -383,8 +383,8 @@ sig_add_script_response (GtkWidget *widget, int button, EMComposerPrefs *prefs) int argc; if (button == GTK_RESPONSE_ACCEPT) { - entry = glade_xml_get_widget (prefs->sig_script_gui, "filechooserbutton_add_script"); - script = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (entry)); + entry = glade_xml_get_widget (prefs->sig_script_gui, "fileentry_add_script_script"); + script = gnome_file_entry_get_full_path((GnomeFileEntry *)entry, FALSE); entry = glade_xml_get_widget (prefs->sig_script_gui, "entry_add_script_name"); name = gtk_entry_get_text (GTK_ENTRY (entry)); diff --git a/mail/em-folder-browser.c b/mail/em-folder-browser.c index a94aa39d04..9ffc797f0b 100644 --- a/mail/em-folder-browser.c +++ b/mail/em-folder-browser.c @@ -35,7 +35,6 @@ #include <gtk/gtkscrolledwindow.h> #include <gtk/gtkbutton.h> #include <gtk/gtkvpaned.h> -#include <gtk/gtkhpaned.h> #include <gtkhtml/gtkhtml.h> #include <gdk/gdkkeysyms.h> #include <gconf/gconf-client.h> @@ -60,8 +59,6 @@ #include <camel/camel-stream.h> #include <camel/camel-url.h> -#include <camel/camel-vee-folder.h> -#include <camel/camel-vee-store.h> #include <bonobo/bonobo-main.h> #include <bonobo/bonobo-object.h> @@ -76,7 +73,6 @@ #include "em-vfolder-rule.h" #include <misc/e-filter-bar.h> #include <camel/camel-search-private.h> -#include <camel/camel-store.h> #include "e-util/e-dialog-utils.h" #include "e-util/e-error.h" @@ -97,9 +93,6 @@ #include "evolution-shell-component-utils.h" /* Pixmap stuff, sigh */ -extern CamelSession *session; -CamelStore *vfolder_store; /* the 1 static vfolder store */ - #define d(x) struct _EMFolderBrowserPrivate { @@ -121,14 +114,11 @@ struct _EMFolderBrowserPrivate { char *select_uid; guint folder_changed_id; - int show_wide:1; - EMMenu *menu; /* toplevel menu manager */ }; static void emfb_activate(EMFolderView *emfv, BonoboUIComponent *uic, int state); static void emfb_set_folder(EMFolderView *emfv, CamelFolder *folder, const char *uri); -static void emfb_set_search_folder(EMFolderView *emfv, CamelFolder *folder, const char *uri); /* FilterBar stuff ... */ static void emfb_search_config_search(EFilterBar *efb, FilterRule *rule, int id, const char *query, void *data); @@ -142,70 +132,17 @@ static void emfb_list_message_selected (MessageList *ml, const char *uid, EMFold static const EMFolderViewEnable emfb_enable_map[]; enum { - ACCOUNT_SEARCH_ACTIVATED, - ACCOUNT_SEARCH_CLEARED, - LAST_SIGNAL -}; - -static guint folder_browser_signals [LAST_SIGNAL] = {0, }; - -enum { ESB_SAVE, }; static ESearchBarItem emfb_search_items[] = { E_FILTERBAR_ADVANCED, - { NULL, 0, 0 }, + { NULL, 0, NULL }, E_FILTERBAR_SAVE, E_FILTERBAR_EDIT, - { NULL, 0, 0 }, - { N_("C_reate Search Folder From Search..."), ESB_SAVE, 0}, - { NULL, -1, 0 } -}; - -/* IDs and option items for the ESearchBar */ -enum { - VIEW_ALL_MESSAGES, - VIEW_UNREAD_MESSAGES, - VIEW_READ_MESSAGES, - VIEW_RECENT_MESSAGES, - VIEW_LAST_FIVE_DAYS, - VIEW_WITH_ATTACHMENTS, - VIEW_NOT_JUNK, - VIEW_NO_LABEL, - VIEW_LABEL, - VIEW_ANY_FIELD_CONTAINS, - VIEW_CUSTOMIZE -}; - -/* Options for View */ -static ESearchBarItem emfb_view_items[] = { - { N_("All Messages"), VIEW_ALL_MESSAGES, 0 }, - { N_("Unread Messages"), VIEW_UNREAD_MESSAGES, 0 }, - { NULL, 0, 0 }, - { N_("No Label"),VIEW_NO_LABEL, 0 }, - { NULL, -1, 0 } -}; - -/* TODO: Following options should be customizable */ -static ESearchBarItem temp_view_items[] = { - { NULL, 0, 0 }, - { N_("Read Messages"), VIEW_READ_MESSAGES, 0 }, - { N_("Recent Messages"), VIEW_RECENT_MESSAGES, 0 }, - { N_("Last 5 Days' Messages"), VIEW_LAST_FIVE_DAYS, 0 }, - { N_("Messages with Attachments"), VIEW_WITH_ATTACHMENTS, 0 }, - { N_("Messages Not Junk"), VIEW_NOT_JUNK, 0 }, -/* { NULL, 0, NULL }, */ -/* { N_("Customize"), NOT_IMPLEMENTED, NULL }, */ - { NULL, -1, 0 } -}; - -static ESearchBarItem emfb_search_scope_items[] = { - E_FILTERBAR_CURRENT_FOLDER, - E_FILTERBAR_CURRENT_ACCOUNT, - E_FILTERBAR_ALL_ACCOUNTS, - E_FILTERBAR_CURRENT_MESSAGE, - { NULL, -1, 0 } + { NULL, 0, NULL }, + { N_("C_reate Search Folder From Search..."), ESB_SAVE, NULL }, + { NULL, -1, NULL } }; static EMFolderViewClass *emfb_parent; @@ -217,11 +154,7 @@ emfb_pane_realised(GtkWidget *w, EMFolderBrowser *emfb) GConfClient *gconf; gconf = mail_config_get_gconf_client (); - - if (emfb->priv->show_wide) - gtk_paned_set_position((GtkPaned *)emfb->vpane, gconf_client_get_int(gconf, "/apps/evolution/mail/display/hpaned_size", NULL)); - else - gtk_paned_set_position((GtkPaned *)emfb->vpane, gconf_client_get_int(gconf, "/apps/evolution/mail/display/paned_size", NULL)); + gtk_paned_set_position((GtkPaned *)emfb->vpane, gconf_client_get_int(gconf, "/apps/evolution/mail/display/paned_size", NULL)); } static gboolean @@ -229,15 +162,9 @@ emfb_pane_button_release_event(GtkWidget *w, GdkEventButton *e, EMFolderBrowser { GConfClient *gconf = mail_config_get_gconf_client (); - if (GTK_WIDGET_REALIZED (w)) { - if (emfb->priv->show_wide) - gconf_client_set_int(gconf, "/apps/evolution/mail/display/hpaned_size", - gtk_paned_get_position(GTK_PANED(w)), NULL); - else - gconf_client_set_int(gconf, "/apps/evolution/mail/display/paned_size", - gtk_paned_get_position(GTK_PANED(w)), NULL); - - } + if (GTK_WIDGET_REALIZED (w)) + gconf_client_set_int(gconf, "/apps/evolution/mail/display/paned_size", + gtk_paned_get_position(GTK_PANED(w)), NULL); return FALSE; } @@ -249,136 +176,12 @@ free_one_ui_file (gpointer data, g_free (data); } -static char * -string_without_underscores (const char *s) -{ - char *new_string; - const char *sp; - char *dp; - - new_string = g_malloc (strlen (s) + 1); - - dp = new_string; - for (sp = s; *sp != '\0'; sp ++) { - if (*sp != '_') { - *dp = *sp; - dp ++; - } else if (sp[1] == '_') { - /* Translate "__" in "_". */ - *dp = '_'; - dp ++; - sp ++; - } - } - *dp = 0; - - return new_string; -} - -static GtkWidget * -generate_viewoption_menu () -{ - GtkWidget *menu, *menu_item; - gint i = 0; - GSList *l; - - menu = gtk_menu_new (); - - for (i = 0; emfb_view_items[i].id != -1; ++i) { - if (emfb_view_items[i].text) { - char *str; - str = string_without_underscores (emfb_view_items[i].text); - menu_item = gtk_menu_item_new_with_label (str); - g_free (str); - } else { - menu_item = gtk_menu_item_new (); - gtk_widget_set_sensitive (menu_item, FALSE); - } - - g_object_set_data (G_OBJECT (menu_item), "EsbItemId", - GINT_TO_POINTER (emfb_view_items[i].id)); - - gtk_widget_show (menu_item); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - } - - /* Add the labels */ - for (l = mail_config_get_labels(); l; l = l->next) { - MailConfigLabel *label = l->data; - if (label->name && *(label->name)) { - char *str; - str = string_without_underscores (label->name); - menu_item = gtk_menu_item_new_with_label (str); - g_free (str); - - g_object_set_data (G_OBJECT (menu_item), "EsbItemId", - GINT_TO_POINTER (VIEW_LABEL)); - - g_object_set_data (G_OBJECT (menu_item), "LabelTag", - g_strdup(label->tag)); - } - - gtk_widget_show (menu_item); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - } - - for (i = 0; temp_view_items[i].id != -1; ++i) { - if (temp_view_items[i].text) { - char *str; - str = string_without_underscores (temp_view_items[i].text); - menu_item = gtk_menu_item_new_with_label (str); - g_free (str); - } else { - menu_item = gtk_menu_item_new (); - gtk_widget_set_sensitive (menu_item, FALSE); - } - - g_object_set_data (G_OBJECT (menu_item), "EsbItemId", - GINT_TO_POINTER (temp_view_items[i].id)); - - gtk_widget_show (menu_item); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - } - - return menu; -} - - -static GArray * -viewoption_menu_generator () -{ - GArray *menu = g_array_new (FALSE, FALSE, sizeof (ESearchBarItem)); - gint i = 0; - ESearchBarItem dup_item; - GSList *l; - - for (i = 0; emfb_view_items[i].id != -1; i++) - g_array_append_vals (menu, &emfb_view_items[i], 1); - - for (l = mail_config_get_labels(); l; l = l->next) { - ESearchBarItem item; - MailConfigLabel *label = l->data; - - item.text = label->name; - item.id = VIEW_LABEL; - - g_array_append_vals (menu, &item, 1); - } - - dup_item.id = -1; - dup_item.text = NULL; - g_array_append_vals (menu, &dup_item, 1); - - return menu; -} - static void emfb_init(GObject *o) { EMFolderBrowser *emfb = (EMFolderBrowser *)o; RuleContext *search_context = mail_component_peek_search_context (mail_component_peek ()); struct _EMFolderBrowserPrivate *p; - GtkWidget *menu; p = emfb->priv = g_malloc0(sizeof(struct _EMFolderBrowserPrivate)); @@ -406,13 +209,9 @@ emfb_init(GObject *o) if (search_context) { const char *systemrules = g_object_get_data (G_OBJECT (search_context), "system"); const char *userrules = g_object_get_data (G_OBJECT (search_context), "user"); - + emfb->search = e_filter_bar_new(search_context, systemrules, userrules, emfb_search_config_search, emfb); e_search_bar_set_menu ((ESearchBar *)emfb->search, emfb_search_items); - e_search_bar_set_scopeoption ((ESearchBar *)emfb->search, emfb_search_scope_items); - - menu = generate_viewoption_menu(); - e_search_bar_set_viewoption_menu ((ESearchBar *)emfb->search, menu); gtk_widget_show((GtkWidget *)emfb->search); p->search_menu_activated_id = g_signal_connect(emfb->search, "menu_activated", G_CALLBACK(emfb_search_menu_activated), emfb); @@ -422,9 +221,7 @@ emfb_init(GObject *o) gtk_box_pack_start((GtkBox *)emfb, (GtkWidget *)emfb->search, FALSE, TRUE, 0); } - emfb->priv->show_wide = gconf_client_get_bool(mail_config_get_gconf_client(), "/apps/evolution/mail/display/show_wide", NULL); - emfb->vpane = emfb->priv->show_wide?gtk_hpaned_new():gtk_vpaned_new(); - + emfb->vpane = gtk_vpaned_new(); g_signal_connect(emfb->vpane, "realize", G_CALLBACK(emfb_pane_realised), emfb); emfb->priv->vpane_resize_id = g_signal_connect(emfb->vpane, "button_release_event", G_CALLBACK(emfb_pane_button_release_event), emfb); @@ -449,7 +246,6 @@ emfb_init(GObject *o) g_signal_connect (((EMFolderView *) emfb)->list->tree, "key_press", G_CALLBACK(emfb_list_key_press), emfb); g_signal_connect (((EMFolderView *) emfb)->list, "message_selected", G_CALLBACK (emfb_list_message_selected), emfb); - } static void @@ -494,27 +290,6 @@ emfb_class_init(GObjectClass *klass) { klass->finalize = emfb_finalise; - folder_browser_signals[ACCOUNT_SEARCH_ACTIVATED] = - g_signal_new ("account_search_activated", - G_TYPE_FROM_CLASS (klass), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (EMFolderBrowserClass, account_search_activated), - NULL, - NULL, - g_cclosure_marshal_VOID__STRING, - G_TYPE_NONE, 1, G_TYPE_STRING); - - folder_browser_signals[ACCOUNT_SEARCH_CLEARED] = - g_signal_new ("account_search_cleared", - G_TYPE_FROM_CLASS (klass), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (EMFolderBrowserClass, account_search_cleared), - NULL, - NULL, - g_cclosure_marshal_VOID__STRING, - G_TYPE_NONE, 1, G_TYPE_STRING); - - ((GtkObjectClass *)klass)->destroy = emfb_destroy; ((EMFolderViewClass *)klass)->set_folder = emfb_set_folder; ((EMFolderViewClass *)klass)->activate = emfb_activate; @@ -570,7 +345,7 @@ void em_folder_browser_show_preview(EMFolderBrowser *emfb, gboolean state) GConfClient *gconf = mail_config_get_gconf_client (); int paned_size /*, y*/; - paned_size = gconf_client_get_int(gconf, emfb->priv->show_wide ? "/apps/evolution/mail/display/hpaned_size":"/apps/evolution/mail/display/paned_size", NULL); + paned_size = gconf_client_get_int(gconf, "/apps/evolution/mail/display/paned_size", NULL); /*y = save_cursor_pos (emfb);*/ gtk_paned_set_position (GTK_PANED (emfb->vpane), paned_size); @@ -601,40 +376,6 @@ void em_folder_browser_show_preview(EMFolderBrowser *emfb, gboolean state) /* FIXME: need to update menu's to reflect ui changes */ } -void em_folder_browser_show_wide(EMFolderBrowser *emfb, gboolean state) -{ - GtkWidget *w; - int paned_size; - - if ((emfb->priv->show_wide && state) - || emfb->view.list == NULL) { - emfb->priv->show_wide = state; - return; - } - - emfb->priv->show_wide = state; - - w = emfb->priv->show_wide?gtk_hpaned_new():gtk_vpaned_new(); - - g_signal_handler_disconnect(emfb->vpane, emfb->priv->vpane_resize_id); - g_signal_connect(w, "realize", G_CALLBACK(emfb_pane_realised), emfb); - emfb->priv->vpane_resize_id = g_signal_connect(w, "button_release_event", G_CALLBACK(emfb_pane_button_release_event), emfb); - - gtk_box_pack_start_defaults((GtkBox *)emfb, w); - gtk_widget_reparent((GtkWidget *)emfb->view.list, w); - gtk_widget_reparent((GtkWidget *)emfb->priv->preview, w); - gtk_widget_destroy(emfb->vpane); - gtk_container_resize_children (w); - emfb->vpane = w; - gtk_widget_show(w); - - paned_size = gconf_client_get_int(mail_config_get_gconf_client(), emfb->priv->show_wide ? "/apps/evolution/mail/display/hpaned_size":"/apps/evolution/mail/display/paned_size", NULL); - gtk_paned_set_position (GTK_PANED (emfb->vpane), paned_size); - - if (((EMFolderView *)emfb)->folder) - em_folder_view_setup_view_instance ((EMFolderView *) emfb); -} - /* ********************************************************************** */ /* FIXME: Need to separate system rules from user ones */ @@ -676,7 +417,7 @@ emfb_search_config_search(EFilterBar *efb, FilterRule *rule, int id, const char struct _camel_search_words *words; int i; GSList *strings = NULL; - + /* we scan the parts of a rule, and set all the types we know about to the query string */ partl = rule->parts; while (partl) { @@ -713,360 +454,40 @@ emfb_search_config_search(EFilterBar *efb, FilterRule *rule, int id, const char strings); while (strings) { GSList *n = strings->next; + g_free(strings->data); g_slist_free_1(strings); strings = n; } } -static char * -get_view_query (ESearchBar *esb) -{ - char *view_sexp = NULL; - gint id; - GtkWidget *menu_item; - char *tag; - - /* Get the current selected view */ - id = e_search_bar_get_viewitem_id (esb); - menu_item = e_search_bar_get_selected_viewitem (esb); - - switch (id) { - case VIEW_ALL_MESSAGES: - view_sexp = " "; - break; - - case VIEW_UNREAD_MESSAGES: - view_sexp = "(match-all (not (system-flag \"Seen\")))"; - break; - case VIEW_READ_MESSAGES: - view_sexp = "(match-all (system-flag \"Seen\"))"; - break; - case VIEW_RECENT_MESSAGES: - view_sexp = "(match-all (> (get-received-date) (- (get-current-date) 86400)))"; - break; - case VIEW_LAST_FIVE_DAYS: - view_sexp = " (match-all (> (get-received-date) (- (get-current-date) 432000)))"; - break; - case VIEW_WITH_ATTACHMENTS: - view_sexp = "(match-all (system-flag \"Attachments\"))"; - break; - case VIEW_NOT_JUNK: - view_sexp = "(match-all (not (system-flag \"junk\")))"; - break; - case VIEW_NO_LABEL: - /* FIXME : cannot hard code this query */ - view_sexp = "(and (match-all (not (= (user-tag \"label\") \"important\")))" - "(match-all (not (= (user-tag \"label\") \"work\"))) (match-all (not (= (user-tag \"label\") \"personal\")))" - "(match-all (not (= (user-tag \"label\") \"todo\"))) (match-all (not (= (user-tag \"label\") \"later\"))) ))"; - break; - case VIEW_LABEL: - tag = (char *)g_object_get_data (G_OBJECT (menu_item), "LabelTag"); - view_sexp = g_strdup_printf ("(match-all (= (user-tag \"label\") \"%s\"))",tag); - break; - case VIEW_ANY_FIELD_CONTAINS: - break; - - case VIEW_CUSTOMIZE: - view_sexp = " "; - break; - } - return view_sexp; -} - - -struct _setup_msg { - struct _mail_msg msg; - - CamelFolder *folder; - char *query; - GList *sources_uri; - GList *sources_folder; -}; - -static char * -vfolder_setup_desc(struct _mail_msg *mm, int done) -{ - struct _setup_msg *m = (struct _setup_msg *)mm; - - return g_strdup(_("Searching")); -} - -static void -vfolder_setup_do(struct _mail_msg *mm) -{ - struct _setup_msg *m = (struct _setup_msg *)mm; - GList *l, *list = NULL; - CamelFolder *folder; - - d(printf("Setting up Search Folder: %s\n", m->folder->full_name)); - - camel_vee_folder_set_expression((CamelVeeFolder *)m->folder, m->query); - - l = m->sources_uri; - while (l) { - d(printf(" Adding uri: %s\n", (char *)l->data)); - folder = mail_tool_uri_to_folder (l->data, 0, &mm->ex); - if (folder) { - list = g_list_append(list, folder); - } else { - g_warning("Could not open vfolder source: %s", (char *)l->data); - camel_exception_clear(&mm->ex); - } - l = l->next; - } - - l = m->sources_folder; - while (l) { - d(printf(" Adding folder: %s\n", ((CamelFolder *)l->data)->full_name)); - camel_object_ref(l->data); - list = g_list_append(list, l->data); - l = l->next; - } - - camel_vee_folder_set_folders((CamelVeeFolder *)m->folder, list); - - l = list; - while (l) { - camel_object_unref(l->data); - l = l->next; - } - g_list_free(list); -} - -static void -vfolder_setup_done(struct _mail_msg *mm) -{ - struct _setup_msg *m = (struct _setup_msg *)mm; - - m = m; -} - -static void -vfolder_setup_free (struct _mail_msg *mm) -{ - struct _setup_msg *m = (struct _setup_msg *)mm; - GList *l; - - camel_object_unref(m->folder); - g_free(m->query); - - l = m->sources_uri; - while (l) { - g_free(l->data); - l = l->next; - } - g_list_free(m->sources_uri); - - l = m->sources_folder; - while (l) { - camel_object_unref(l->data); - l = l->next; - } - g_list_free(m->sources_folder); -} - -static struct _mail_msg_op vfolder_setup_op = { - vfolder_setup_desc, - vfolder_setup_do, - vfolder_setup_done, - vfolder_setup_free, -}; - -/* sources_uri should be camel uri's */ -static int -vfolder_setup(CamelFolder *folder, const char *query, GList *sources_uri, GList *sources_folder) -{ - struct _setup_msg *m; - int id; - - m = mail_msg_new(&vfolder_setup_op, NULL, sizeof (*m)); - m->folder = folder; - camel_object_ref(folder); - m->query = g_strdup(query); - m->sources_uri = sources_uri; - m->sources_folder = sources_folder; - - id = m->msg.seq; - e_thread_put(mail_thread_queued_slow, (EMsg *)m); - - return id; -} - static void emfb_search_search_activated(ESearchBar *esb, EMFolderBrowser *emfb) { EMFolderView *emfv = (EMFolderView *) emfb; - EFilterBar *efb = (EFilterBar *)esb; - char *search_state, *view_sexp, *folder_uri; - char *word = NULL, *storeuri = NULL, *search_word = NULL;; - gint id, i; - CamelFolder *folder; - CamelStore *store; - GPtrArray *folders; - GList *folder_list_account = NULL ; - GList *l, *folder_list = NULL ; - CamelException *ex; - - ex = camel_exception_new (); - + char *search_word, *search_state; + if (emfv->list == NULL || emfv->folder == NULL) return; - id = e_search_bar_get_search_scope (esb); - - switch (id) { - case E_FILTERBAR_CURRENT_MESSAGE_ID: - word = e_search_bar_get_text (esb); - if ( word && *word ) { - gtk_widget_set_sensitive (esb->option_button, FALSE); - em_format_html_display_search_with (emfb->view.preview, word); - } else { - em_format_html_display_search_close (emfb->view.preview); - } - return; - break; - - case E_FILTERBAR_CURRENT_FOLDER_ID: - g_object_get (esb, "query", &search_word, NULL); - break; - - case E_FILTERBAR_CURRENT_ACCOUNT_ID: - word = e_search_bar_get_text (esb); - if (!(word && *word)) { - g_signal_emit (emfb, folder_browser_signals [ACCOUNT_SEARCH_CLEARED], 0); - gtk_widget_set_sensitive (esb->scopeoption, TRUE); - break; - } - - gtk_widget_set_sensitive (esb->scopeoption, FALSE); - - /* Disable the folder tree */ - g_signal_emit (emfb, folder_browser_signals [ACCOUNT_SEARCH_ACTIVATED], 0); - - store = emfv->folder->parent_store; - if (store->folders) { - folders = camel_object_bag_list(store->folders); - for (i=0;i<folders->len;i++) { - folder = folders->pdata[i]; - folder_list_account = g_list_append(folder_list_account, folder); - } - } - - /* Create a camel vee folder */ - storeuri = g_strdup_printf("vfolder:%s/mail/vfolder", mail_component_peek_base_directory (mail_component_peek ())); - vfolder_store = camel_session_get_store (session, storeuri, NULL); - efb->account_search_vf = camel_vee_folder_new (vfolder_store,"Account Search",CAMEL_STORE_VEE_FOLDER_AUTO); - - /* Set the search expression */ - g_object_get (esb, "query", &search_word, NULL); - - vfolder_setup (efb->account_search_vf, search_word, NULL, folder_list_account); - - folder_uri = mail_tools_folder_to_url ((CamelFolder *)efb->account_search_vf); - emfb_set_search_folder (emfv, (CamelFolder *)efb->account_search_vf, folder_uri); - -/* g_list_free (folder_list_account); */ -/* g_free (folder_uri); */ -/* g_free (storeuri); */ - break; - - case E_FILTERBAR_ALL_ACCOUNTS_ID: - word = e_search_bar_get_text (esb); - if (!(word && *word)) { - g_signal_emit (emfb, folder_browser_signals [ACCOUNT_SEARCH_CLEARED], 0); - gtk_widget_set_sensitive (esb->scopeoption, TRUE); - break; - } - - gtk_widget_set_sensitive (esb->scopeoption, FALSE); - g_signal_emit (emfb, folder_browser_signals [ACCOUNT_SEARCH_ACTIVATED], 0); - - /* Create a camel vee folder */ - storeuri = g_strdup_printf("vfolder:%s/mail/vfolder", mail_component_peek_base_directory (mail_component_peek ())); - vfolder_store = camel_session_get_store (session, storeuri, NULL); - efb->all_account_search_vf = camel_vee_folder_new (vfolder_store,"All Account Search",CAMEL_STORE_VEE_FOLDER_AUTO); - - /* Set sexp */ - g_object_get (esb, "query", &search_word, NULL); - - /* FIXME: there got to be a better way :) */ - - /* Add the local folders */ - l = mail_vfolder_get_sources_local (); - while (l) { - folder = mail_tool_uri_to_folder ((const char *)l->data, 0,ex); - if (folder) - folder_list = g_list_append(folder_list, folder); - else { - g_warning("Could not open vfolder source: %s", (char *)l->data); - camel_exception_clear(ex); - } - l = l->next; - } - - /* Add the remote source folder */ - l = mail_vfolder_get_sources_remote (); - while (l) { - folder = mail_tool_uri_to_folder ((const char *)l->data, 0,ex); - if (folder) - folder_list = g_list_append(folder_list, folder); - else { - g_warning("Could not open vfolder source: %s", (char *)l->data); - camel_exception_clear(ex); - } - l = l->next; - } - - vfolder_setup (efb->all_account_search_vf, search_word, NULL, folder_list); - - folder_uri = mail_tools_folder_to_url ((CamelFolder *)efb->all_account_search_vf); - emfb_set_search_folder (emfv, (CamelFolder *)efb->all_account_search_vf, folder_uri); - - g_list_free (l); - break; - } - - /* Merge the view and search expresion*/ - view_sexp = get_view_query (esb); g_object_get (esb, "query", &search_word, NULL); - - if (search_word && *search_word) - search_word = g_strconcat ("(and ", view_sexp, search_word, " )", NULL); - else - search_word = g_strdup (view_sexp); - message_list_set_search(emfb->view.list, search_word); - - /* Fixme */ + g_free (search_word); + g_object_get (esb, "state", &search_state, NULL); camel_object_meta_set (emfv->folder, "evolution:search_state", search_state); camel_object_state_write (emfv->folder); - - camel_exception_free (ex); + g_free (search_state); } static void emfb_search_query_changed(ESearchBar *esb, EMFolderBrowser *emfb) { - int search_scope; - int item_id; - - search_scope = e_search_bar_get_search_scope (esb); - item_id = e_search_bar_get_item_id (esb); - - /* Close the current message search bar */ - if ( search_scope != E_FILTERBAR_CURRENT_MESSAGE_ID ) { - em_format_html_display_search_close (emfb->view.preview); - gtk_widget_set_sensitive (esb->option_button, TRUE); - } else - gtk_widget_set_sensitive (esb->option_button, FALSE); + int id; - switch (item_id) { - case E_FILTERBAR_ADVANCED_ID: - emfb_search_search_activated(esb, emfb); - break; - } + id = e_search_bar_get_item_id(esb); + if (id == E_FILTERBAR_ADVANCED_ID) + emfb_search_search_activated(esb, emfb); } /* ********************************************************************** */ @@ -1112,12 +533,12 @@ emfb_edit_cut(BonoboUIComponent *uid, void *data, const char *path) /* TODO: pity we can't sucblass this method, ugh, virtualise it? */ -/* if (GTK_HAS_FOCUS(((ESearchBar *)emfb->search)->entry)) */ -/* gtk_editable_cut_clipboard((GtkEditable *)((ESearchBar *)emfb->search)->entry); */ -/* else if (GTK_WIDGET_HAS_FOCUS(emfb->view.preview->formathtml.html)) */ -/* em_format_html_display_cut(emfb->view.preview); */ -/* else */ -/* message_list_copy(emfb->view.list, TRUE); */ + if (GTK_WIDGET_HAS_FOCUS(((ESearchBar *)emfb->search)->entry)) + gtk_editable_cut_clipboard((GtkEditable *)((ESearchBar *)emfb->search)->entry); + else if (GTK_WIDGET_HAS_FOCUS(emfb->view.preview->formathtml.html)) + em_format_html_display_cut(emfb->view.preview); + else + message_list_copy(emfb->view.list, TRUE); } static void @@ -1308,7 +729,8 @@ emfb_mark_all_read(BonoboUIComponent *uid, void *data, const char *path) if (emfv->folder == NULL) return; - if( em_utils_prompt_user((GtkWindow *)emfv, "/apps/evolution/mail/prompts/mark_all_read","mail:ask-mark-all-read", NULL)){ + + if( e_error_run ((GtkWidget *)emfv,"mail:ask-mark-all-read",NULL) == GTK_RESPONSE_YES){ uids = message_list_get_uids(emfv->list); camel_folder_freeze(emfv->folder); for (i=0;i<uids->len;i++) @@ -1524,36 +946,6 @@ emfb_view_preview(BonoboUIComponent *uic, const char *path, Bonobo_UIComponent_E } static void -emfb_show_next(BonoboUIComponent *uic, const char *path, Bonobo_UIComponent_EventType type, const char *state, void *data) -{ - GConfClient *gconf; - EMFolderBrowser *emfb = data; - - if (type != Bonobo_UIComponent_STATE_CHANGED) - return; - - gconf = mail_config_get_gconf_client (); - gconf_client_set_bool(gconf, "/apps/evolution/mail/display/show_wide", state[0] != '0', NULL); - - em_folder_browser_show_wide(emfb, state[0] != '0'); -} - -static void -emfb_show_below(BonoboUIComponent *uic, const char *path, Bonobo_UIComponent_EventType type, const char *state, void *data) -{ - GConfClient *gconf; - EMFolderBrowser *emfb = data; - - if (type != Bonobo_UIComponent_STATE_CHANGED) - return; - - gconf = mail_config_get_gconf_client (); - gconf_client_set_bool(gconf, "/apps/evolution/mail/display/show_wide", state[0] == '0', NULL); - - em_folder_browser_show_wide(emfb, state[0] == '0'); -} - -static void emfb_list_scrolled (MessageList *ml, EMFolderBrowser *emfb) { EMFolderView *emfv = (EMFolderView *) emfb; @@ -1673,42 +1065,6 @@ emfb_list_built (MessageList *ml, EMFolderBrowser *emfb) } static void -emfb_set_search_folder(EMFolderView *emfv, CamelFolder *folder, const char *uri) -{ - EMFolderBrowser *emfb = (EMFolderBrowser *) emfv; - - message_list_freeze(emfv->list); - - if (emfb->priv->list_scrolled_id) { - g_signal_handler_disconnect (emfv->list, emfb->priv->list_scrolled_id); - emfb->priv->list_scrolled_id = 0; - } - - if (emfb->priv->idle_scroll_id) { - g_source_remove (emfb->priv->idle_scroll_id); - emfb->priv->idle_scroll_id = 0; - } - - if (emfb->view.folder) { - camel_object_remove_event(emfb->view.folder, emfb->priv->folder_changed_id); - emfb->priv->folder_changed_id = 0; - } - - emfb_parent->set_folder(emfv, folder, uri); - - /* etspec for search results */ - char *state = "<ETableState>" - "<column source=\"0\"/> <column source=\"3\"/> <column source=\"1\"/>" - "<column source=\"14\"/> <column source=\"5\"/>" - "<column source=\"7\"/> <column source=\"13\"/> " - "<grouping> </grouping> </ETableState>"; - e_tree_set_state (((MessageList *)emfv->list)->tree, state); - - message_list_thaw(emfv->list); -} - - -static void emfb_set_folder(EMFolderView *emfv, CamelFolder *folder, const char *uri) { EMFolderBrowser *emfb = (EMFolderBrowser *) emfv; @@ -1773,10 +1129,9 @@ emfb_set_folder(EMFolderView *emfv, CamelFolder *folder, const char *uri) bonobo_ui_component_set_prop(emfv->uic, "/commands/HideDeleted", "sensitive", state?"1":"0", NULL); } - /* Fixme */ -/* sstate = camel_object_meta_get(folder, "evolution:search_state"); */ -/* g_object_set(emfb->search, "state", sstate, NULL); */ -/* g_free(sstate); */ + sstate = camel_object_meta_get(folder, "evolution:search_state"); + g_object_set(emfb->search, "state", sstate, NULL); + g_free(sstate); /* set the query manually, so we dont pop up advanced or saved search stuff */ g_object_get(emfb->search, "query", &sstate, NULL); @@ -1819,7 +1174,7 @@ emfb_activate(EMFolderView *emfv, BonoboUIComponent *uic, int act) preview settings - see folder_browser_set_message_preview() internals for details) */ g_signal_handler_block(emfb->vpane, emfb->priv->vpane_resize_id); - gtk_paned_set_position((GtkPaned *)emfb->vpane, gconf_client_get_int (gconf, emfb->priv->show_wide ? "/apps/evolution/mail/display/hpaned_size": "/apps/evolution/mail/display/paned_size", NULL)); + gtk_paned_set_position((GtkPaned *)emfb->vpane, gconf_client_get_int (gconf, "/apps/evolution/mail/display/paned_size", NULL)); g_signal_handler_unblock(emfb->vpane, emfb->priv->vpane_resize_id); /* (Pre)view toggle */ @@ -1868,20 +1223,6 @@ emfb_activate(EMFolderView *emfv, BonoboUIComponent *uic, int act) bonobo_ui_component_add_listener(uic, "ViewThreaded", emfb_view_threaded, emfv); message_list_set_threaded(emfv->list, state); - /* Show wide display */ - state = gconf_client_get_bool(gconf, "/apps/evolution/mail/display/show_wide", NULL); - if (state) { - bonobo_ui_component_set_prop(uic, "/commands/ViewAfter", "state", "1", NULL); - bonobo_ui_component_set_prop(uic, "/commands/ViewBelow", "state", "0", NULL); - } else { - bonobo_ui_component_set_prop(uic, "/commands/ViewAfter", "state", "0", NULL); - bonobo_ui_component_set_prop(uic, "/commands/ViewBelow", "state", "1", NULL); - } - - bonobo_ui_component_add_listener(uic, "ViewAfter", emfb_show_next, emfv); - bonobo_ui_component_add_listener(uic, "ViewBelow", emfb_show_below, emfv); - /* em_folder_browser_show_wide((EMFolderBrowser *)emfv, state); */ - /* FIXME: Selection state */ /* FIXME: property menu customisation */ diff --git a/mail/em-folder-selection-button.c b/mail/em-folder-selection-button.c index 58712a9f76..a52c081f1b 100644 --- a/mail/em-folder-selection-button.c +++ b/mail/em-folder-selection-button.c @@ -234,7 +234,6 @@ em_folder_selection_button_clicked (GtkButton *button) model = mail_component_peek_tree_model (mail_component_peek ()); emft = (EMFolderTree *) em_folder_tree_new_with_model (model); - g_object_unref (model); em_folder_tree_set_multiselect (emft, priv->multiple_select); em_folder_tree_set_excluded(emft, EMFT_EXCLUDE_NOSELECT|EMFT_EXCLUDE_VIRTUAL|EMFT_EXCLUDE_VTRASH); dialog = em_folder_selector_new (emft, EM_FOLDER_SELECTOR_CAN_CREATE, priv->title, priv->caption, NULL); diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c index 687e4206fc..6114917750 100644 --- a/mail/em-folder-tree.c +++ b/mail/em-folder-tree.c @@ -475,11 +475,6 @@ folder_tree_new (EMFolderTree *emft, EMFolderTreeModel *model) GtkTreeViewColumn *column; GtkCellRenderer *renderer; GtkWidget *tree; - gboolean side_bar_search; - GConfClient *gconf; - - gconf = mail_config_get_gconf_client (); - side_bar_search = gconf_client_get_bool (gconf, "/apps/evolution/mail/display/side_bar_search", NULL); tree = gtk_tree_view_new_with_model ((GtkTreeModel *) model); GTK_WIDGET_SET_FLAGS(tree, GTK_CAN_FOCUS); @@ -492,7 +487,6 @@ folder_tree_new (EMFolderTree *emft, EMFolderTreeModel *model) gtk_tree_view_column_set_cell_data_func (column, renderer, render_pixbuf, NULL, NULL); renderer = gtk_cell_renderer_text_new (); - g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_END, NULL); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func (column, renderer, render_display_name, NULL, NULL); @@ -502,8 +496,7 @@ folder_tree_new (EMFolderTree *emft, EMFolderTreeModel *model) gtk_tree_view_set_headers_visible ((GtkTreeView *) tree, FALSE); gtk_tree_view_set_search_column((GtkTreeView *)tree, COL_STRING_DISPLAY_NAME); - gtk_tree_view_set_enable_search((GtkTreeView *)tree, side_bar_search); - + return (GtkTreeView *) tree; } diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c index 67bdc34b46..863b870e4d 100644 --- a/mail/em-folder-view.c +++ b/mail/em-folder-view.c @@ -29,7 +29,6 @@ #include <glib.h> #include <glib/gstdio.h> -#include <libgnome/gnome-util.h> #include <gtk/gtk.h> #include <gdk/gdkkeysyms.h> @@ -91,7 +90,6 @@ #include "em-folder-view.h" #include "em-folder-browser.h" #include "em-mailer-prefs.h" -#include "em-folder-browser.h" #include "em-message-browser.h" #include "message-list.h" #include "em-utils.h" @@ -186,7 +184,6 @@ emfv_init(GObject *o) EMFolderView *emfv = (EMFolderView *)o; struct _EMFolderViewPrivate *p; extern CamelSession *session; - GtkWidget *search_bar; gtk_box_set_homogeneous (GTK_BOX (emfv), FALSE); @@ -229,9 +226,6 @@ emfv_init(GObject *o) gtk_selection_add_target(p->invisible, GDK_SELECTION_PRIMARY, GDK_SELECTION_TYPE_STRING, 0); gtk_selection_add_target(p->invisible, GDK_SELECTION_CLIPBOARD, GDK_SELECTION_TYPE_STRING, 1); - search_bar = em_format_html_get_search_dialog (emfv->preview); - gtk_box_pack_end(GTK_WIDGET (emfv), search_bar, FALSE, FALSE, 5); - emfv->async = mail_async_event_new(); emfv_setting_setup(emfv); @@ -502,14 +496,14 @@ emfv_list_display_view(GalViewInstance *instance, GalView *view, EMFolderView *e static void emfv_setup_view_instance(EMFolderView *emfv) { - static GalViewCollection *collection = NULL; struct _EMFolderViewPrivate *p = emfv->priv; - gboolean outgoing, show_wide; + gboolean outgoing; char *id; - + static GalViewCollection *collection = NULL; + g_assert(emfv->folder); g_assert(emfv->folder_uri); - + if (collection == NULL) { ETableSpecification *spec; GalViewFactory *factory; @@ -555,49 +549,25 @@ emfv_setup_view_instance(EMFolderView *emfv) g_object_unref(p->view_menus); p->view_menus = NULL; } + + outgoing = em_utils_folder_is_drafts (emfv->folder, emfv->folder_uri) + || em_utils_folder_is_sent (emfv->folder, emfv->folder_uri) + || em_utils_folder_is_outbox (emfv->folder, emfv->folder_uri); /* TODO: should this go through mail-config api? */ id = mail_config_folder_to_safe_url (emfv->folder); p->view_instance = gal_view_instance_new (collection, id); - - show_wide = gconf_client_get_bool (mail_config_get_gconf_client (), "/apps/evolution/mail/display/show_wide", NULL); - - if (show_wide) { - char *safe_id, *filename; - - /* Force to use the wide view */ - g_free (p->view_instance->custom_filename); - g_free (p->view_instance->current_view_filename); - safe_id = g_strdup (id); - e_filename_make_safe (safe_id); - filename = g_strdup_printf ("custom_wide_view-%s.xml", safe_id); - p->view_instance->custom_filename = g_concat_dir_and_file (collection->local_dir, filename); - g_free (filename); - filename = g_strdup_printf ("current_wide_view-%s.xml", safe_id); - p->view_instance->current_view_filename = g_concat_dir_and_file (collection->local_dir, filename); - g_free (safe_id); - } g_free (id); - outgoing = em_utils_folder_is_drafts (emfv->folder, emfv->folder_uri) - || em_utils_folder_is_sent (emfv->folder, emfv->folder_uri) - || em_utils_folder_is_outbox (emfv->folder, emfv->folder_uri); - - if (outgoing) { - if (show_wide) - gal_view_instance_set_default_view(p->view_instance, "Wide_View_Sent"); - else - gal_view_instance_set_default_view(p->view_instance, "As_Sent_Folder"); - } else if (show_wide) { - gal_view_instance_set_default_view(p->view_instance, "Wide_View_Normal"); - } + if (outgoing) + gal_view_instance_set_default_view(p->view_instance, "As_Sent_Folder"); gal_view_instance_load(p->view_instance); if (!gal_view_instance_exists(p->view_instance)) { struct stat st; char *path; - + path = mail_config_folder_to_cachename (emfv->folder, "et-header-"); if (path && g_stat (path, &st) == 0 && st.st_size > 0 && S_ISREG (st.st_mode)) { ETableSpecification *spec; @@ -635,11 +605,6 @@ emfv_setup_view_instance(EMFolderView *emfv) } } -void em_folder_view_setup_view_instance (EMFolderView *emfv) -{ - emfv_setup_view_instance (emfv); -} - /* ********************************************************************** */ static void @@ -1132,7 +1097,7 @@ static EPopupItem emfv_popup_items[] = { { E_POPUP_ITEM, "50.emfv.00", N_("Mar_k as Read"), emfv_popup_mark_read, NULL, "stock_mail-open", EM_POPUP_SELECT_MARK_READ|EM_FOLDER_VIEW_SELECT_LISTONLY }, { E_POPUP_ITEM, "50.emfv.01", N_("Mark as _Unread"), emfv_popup_mark_unread, NULL, "stock_mail-unread", EM_POPUP_SELECT_MARK_UNREAD|EM_FOLDER_VIEW_SELECT_LISTONLY }, { E_POPUP_ITEM, "50.emfv.02", N_("Mark as _Important"), emfv_popup_mark_important, NULL, "stock_mail-priority-high", EM_POPUP_SELECT_MARK_IMPORTANT|EM_FOLDER_VIEW_SELECT_LISTONLY }, - { E_POPUP_ITEM, "50.emfv.03", N_("Mark as Un_important"), emfv_popup_mark_unimportant, NULL, NULL, EM_POPUP_SELECT_MARK_UNIMPORTANT|EM_FOLDER_VIEW_SELECT_LISTONLY }, + { E_POPUP_ITEM, "50.emfv.03", N_("_Mark as Unimportant"), emfv_popup_mark_unimportant, NULL, NULL, EM_POPUP_SELECT_MARK_UNIMPORTANT|EM_FOLDER_VIEW_SELECT_LISTONLY }, { E_POPUP_ITEM, "50.emfv.04", N_("Mark as _Junk"), emfv_popup_mark_junk, NULL, "stock_spam", EM_POPUP_SELECT_MANY|EM_FOLDER_VIEW_SELECT_LISTONLY|EM_POPUP_SELECT_JUNK }, { E_POPUP_ITEM, "50.emfv.05", N_("Mark as _Not Junk"), emfv_popup_mark_nojunk, NULL, "stock_not-spam", EM_POPUP_SELECT_MANY|EM_FOLDER_VIEW_SELECT_LISTONLY|EM_POPUP_SELECT_NOT_JUNK }, { E_POPUP_ITEM, "50.emfv.06", N_("Mark for Follo_w Up..."), emfv_popup_flag_followup, NULL, "stock_mail-flag-for-followup", EM_POPUP_SELECT_FLAG_FOLLOWUP|EM_FOLDER_VIEW_SELECT_LISTONLY }, @@ -2457,9 +2422,6 @@ emfv_list_selection_change(ETree *tree, EMFolderView *emfv) static void emfv_format_link_clicked(EMFormatHTMLDisplay *efhd, const char *uri, EMFolderView *emfv) { - if (!strncmp (uri, "##", 2)) - return; - if (!g_ascii_strncasecmp (uri, "mailto:", 7)) { em_utils_compose_new_message_with_mailto (uri, emfv->folder_uri); } else if (*uri == '#') { @@ -2856,8 +2818,6 @@ emfv_on_url_cb (GObject *emitter, const char *url, EMFolderView *emfv) g_free(addr); camel_url_free(curl); camel_object_unref(cia); - } else if (!strncmp (url, "##", 2)) { - nice_url = g_strdup_printf (_("Click to hide/unhide addresses"), url); } else nice_url = g_strdup_printf (_("Click to open %s"), url); } diff --git a/mail/em-popup.c b/mail/em-popup.c index 5d9a898237..62c8ec38ee 100644 --- a/mail/em-popup.c +++ b/mail/em-popup.c @@ -736,7 +736,7 @@ emp_standard_menu_factory(EPopup *emp, void *data) items = NULL; len = 0; } - + if (mime_type) { apps = gnome_vfs_mime_get_all_applications(mime_type); diff --git a/mail/em-utils.c b/mail/em-utils.c index d59d99fc00..76c817aa17 100644 --- a/mail/em-utils.c +++ b/mail/em-utils.c @@ -90,23 +90,6 @@ extern struct _CamelSession *session; #define d(x) -static gboolean -emu_file_check_local (const char *name) -{ - CamelURL *url; - gboolean local = FALSE; - - url = camel_url_new (name, NULL); - if (url == NULL) - return TRUE; - - if (!g_ascii_strcasecmp (url->protocol, "file")) - local = TRUE; - - camel_url_free (url); - - return local; -} /** * em_utils_prompt_user: * @parent: parent window @@ -391,7 +374,6 @@ emu_get_save_filesel (GtkWidget *parent, const char *title, const char *name, Gt GTK_STOCK_SAVE, GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response (GTK_DIALOG (filesel), GTK_RESPONSE_OK); - gtk_file_chooser_set_local_only (filesel, FALSE); #else char *filename; @@ -472,22 +454,20 @@ static void emu_save_part_response(GtkWidget *filesel, int response, CamelMimePart *part) { const char *path; - const char *uri; if (response == GTK_RESPONSE_OK) { #ifdef USE_GTKFILECHOOSER - uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (filesel)); path = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filesel)); #else path = gtk_file_selection_get_filename (GTK_FILE_SELECTION (filesel)); #endif - - if (emu_file_check_local(uri) && !emu_can_save((GtkWindow *)filesel, path)) + + if (!emu_can_save((GtkWindow *)filesel, path)) return; emu_update_save_path(path, FALSE); /* FIXME: popup error if it fails? */ - mail_save_part(part, uri, NULL, NULL, FALSE); + mail_save_part(part, path, NULL, NULL, FALSE); } gtk_widget_destroy((GtkWidget *)filesel); @@ -532,7 +512,7 @@ emu_save_parts_response (GtkWidget *filesel, int response, GSList *parts) GSList *selected; if (response == GTK_RESPONSE_OK) { #ifdef USE_GTKFILECHOOSER - path = gtk_file_chooser_get_current_folder_uri (GTK_FILE_CHOOSER (filesel)); + path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (filesel)); #else path = gtk_file_selection_get_filename (GTK_FILE_SELECTION (filesel)); #endif @@ -647,7 +627,7 @@ emu_save_messages_response(GtkWidget *filesel, int response, struct _save_messag if (response == GTK_RESPONSE_OK) { #ifdef USE_GTKFILECHOOSER - path = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (filesel)); + path = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filesel)); #else path = gtk_file_selection_get_filename (GTK_FILE_SELECTION (filesel)); #endif diff --git a/mail/evolution-mail.schemas.in.in b/mail/evolution-mail.schemas.in.in index d869554de9..6179a46be7 100644 --- a/mail/evolution-mail.schemas.in.in +++ b/mail/evolution-mail.schemas.in.in @@ -170,20 +170,6 @@ <!-- Display Settings --> <schema> - <key>/schemas/apps/evolution/mail/display/side_bar_search</key> - <applyto>/apps/evolution/mail/display/side_bar_search</applyto> - <owner>evolution-mail</owner> - <type>bool</type> - <default>true</default> - <locale name="C"> - <short>Enable or disable type ahead search feature</short> - <long> - Enable side bar search feature so that you can start interactive searching by typing in the text. Use is that you can easily find a folder in that side bar by just typing the folder name and the selection jumps automatically to that folder. - </long> - </locale> - </schema> - - <schema> <key>/schemas/apps/evolution/mail/display/mark_citations</key> <applyto>/apps/evolution/mail/display/mark_citations</applyto> <owner>evolution-mail</owner> @@ -318,20 +304,6 @@ </schema> <schema> - <key>/schemas/apps/evolution/mail/display/show_email</key> - <applyto>/apps/evolution/mail/display/show_email</applyto> - <owner>evolution-mail</owner> - <type>bool</type> - <default>false</default> - <locale name="C"> - <short>Show the sender email in the messages column in the message list</short> - <long> - Show the email of the sender in the messages composite column in the message list - </long> - </locale> - </schema> - - <schema> <key>/schemas/apps/evolution/mail/display/mark_seen_timeout</key> <applyto>/apps/evolution/mail/display/mark_seen_timeout</applyto> <owner>evolution-mail</owner> @@ -388,34 +360,6 @@ </schema> <schema> - <key>/schemas/apps/evolution/mail/display/hpaned_size</key> - <applyto>/apps/evolution/mail/display/hpaned_size</applyto> - <owner>evolution-mail</owner> - <type>int</type> - <default>450</default> - <locale name="C"> - <short>Width of the message-list pane</short> - <long> - Width of the message-list pane. - </long> - </locale> - </schema> - - <schema> - <key>/schemas/apps/evolution/mail/display/show_wide</key> - <applyto>/apps/evolution/mail/display/show_wide</applyto> - <owner>evolution-mail</owner> - <type>bool</type> - <default>false</default> - <locale name="C"> - <short>Use side-by-side or wide layout</short> - <long> - If the "Preview" pane is on, then show it side-by-side rather than vertically. - </long> - </locale> - </schema> - - <schema> <key>/schemas/apps/evolution/mail/display/fonts/variable</key> <applyto>/apps/evolution/mail/display/fonts/variable</applyto> <owner>evolution-mail</owner> @@ -472,36 +416,6 @@ </schema> <schema> - <key>/schemas/apps/evolution/mail/display/address_compress</key> - <applyto>/apps/evolution/mail/display/address_compress</applyto> - <owner>evolution-mail</owner> - <type>bool</type> - <default>true</default> - <locale name="C"> - <short>Compress display of addresses in TO/CC/BCC</short> - <long> - Compress display of addresses in TO/CC/BCC to the number - specified in address_count. - </long> - </locale> - </schema> - - <schema> - <key>/schemas/apps/evolution/mail/display/address_count</key> - <applyto>/apps/evolution/mail/display/address_count</applyto> - <owner>evolution-mail</owner> - <type>int</type> - <default>5</default> - <locale name="C"> - <short>Number of addresses to display in TO/CC/BCC</short> - <long> - This sets the number of addresses to show in default message list - view, beyond which a '...' is shown. - </long> - </locale> - </schema> - - <schema> <key>/schemas/apps/evolution/mail/display/thread_subject</key> <applyto>/apps/evolution/mail/display/thread_subject</applyto> <owner>evolution-mail</owner> @@ -747,20 +661,6 @@ </locale> </schema> - <schema> - <key>/schemas/apps/evolution/mail/prompts/mark_all_read</key> - <applyto>/apps/evolution/mail/prompts/mark_all_read</applyto> - <owner>evolution-mail</owner> - <type>bool</type> - <default>true</default> - <locale name="C"> - <short>Prompt while marking multiple messages</short> - <long> - It disables/enables the prompt while marking multiple messages. - </long> - </locale> - </schema> - <!-- Trash settings --> <schema> diff --git a/mail/mail-component.c b/mail/mail-component.c index 1318db581f..43e469b78b 100644 --- a/mail/mail-component.c +++ b/mail/mail-component.c @@ -618,43 +618,6 @@ view_changed_cb(EMFolderView *emfv, EComponentView *component_view) g_object_set_data((GObject *)emfv, "view-changed-timeout", GINT_TO_POINTER(g_timeout_add(250, view_changed_timeout, component_view))); } -static void -disable_folder_tree (gpointer *emfb, gpointer dummy, GtkWidget *widget) -{ - gtk_widget_set_sensitive (widget, FALSE); -} - -static void -enable_folder_tree (GtkWidget *emfb, gpointer dum, GtkWidget *emft) -{ - char *uri; - CamelURL *selected_curl, *current_curl; - CamelFolder *folder; - CamelException ex; - EMFolderView *emfv = (EMFolderView *)emfb; - - /* Currently displayed folder */ - MessageList *ml = emfv->list; - folder = ml->folder; - uri = mail_tools_folder_to_url (folder); - current_curl = camel_url_new (uri, NULL); - - /* Selected folder in emft*/ - uri = em_folder_tree_get_selected_uri ((EMFolderTree *) emft); - folder = mail_tool_uri_to_folder (uri, 0, &ex); - selected_curl = camel_url_new (uri, NULL); - - if (!camel_url_equal (selected_curl, current_curl)) - g_signal_emit_by_name (emft, "folder-selected", emft, uri, folder->full_name, uri, folder->folder_flags); - - gtk_widget_set_sensitive (emft, TRUE); - - camel_url_free (current_curl); - camel_url_free (selected_curl); - g_free (uri); - -} - /* Evolution::Component CORBA methods. */ static GNOME_Evolution_ComponentView @@ -713,12 +676,9 @@ impl_createView (PortableServer_Servant servant, e_user_creatable_items_handler_new("mail", create_local_item_cb, tree_widget), (GDestroyNotify)g_object_unref); - g_signal_connect (component_view->view_control, "activate", G_CALLBACK (view_control_activate_cb), view_widget); g_signal_connect (tree_widget, "folder-selected", G_CALLBACK (folder_selected_cb), view_widget); - g_signal_connect((EMFolderBrowser *)view_widget, "account_search_cleared", G_CALLBACK (enable_folder_tree), tree_widget); - g_signal_connect(((EMFolderBrowser *)view_widget), "account_search_activated", G_CALLBACK (disable_folder_tree), tree_widget); g_signal_connect(view_widget, "changed", G_CALLBACK(view_changed_cb), component_view); g_signal_connect(view_widget, "loaded", G_CALLBACK(view_changed_cb), component_view); diff --git a/mail/mail.error.xml b/mail/mail.error.xml index d881a47ad0..0bc636486f 100644 --- a/mail/mail.error.xml +++ b/mail/mail.error.xml @@ -88,7 +88,7 @@ Many email systems add an Apparently-To header to messages that only have BCC re <secondary>{1}</secondary> </error> - <error id="async-error-nodescribe" type="error" scroll="yes"> + <error id="async-error-nodescribe" type="error"> <_primary>Error while performing operation.</_primary> <secondary>{0}</secondary> </error> @@ -167,12 +167,12 @@ Many email systems add an Apparently-To header to messages that only have BCC re <error id="no-delete-special-folder" type="error"> <_primary>Cannot delete system folder "{0}".</_primary> - <_secondary xml:space="preserve">System folders are required for Evolution to function correctly and cannot be renamed, moved, or deleted.</_secondary> + <_secondary xml:space="preserve">System folders are required for Ximian Evolution to function correctly and cannot be renamed, moved, or deleted.</_secondary> </error> <error id="no-rename-special-folder" type="error"> <_primary>Cannot rename or move system folder "{0}".</_primary> - <_secondary xml:space="preserve">System folders are required for Evolution to function correctly and cannot be renamed, moved, or deleted.</_secondary> + <_secondary xml:space="preserve">System folders are required for Ximian Evolution to function correctly and cannot be renamed, moved, or deleted.</_secondary> </error> <error id="ask-delete-folder" type="question" default="GTK_RESPONSE_CANCEL"> @@ -362,10 +362,11 @@ You can choose to ignore this folder, overwrite or append its contents, or quit. <error id="ask-mark-read" type="question" default="GTK_RESPONSE_NO"> <_title>Mark all messages as read</_title> - <_primary>Mark all messages in subfolders as read?</_primary> + <_primary>Mark all messages as read in the selected folder</_primary> <_secondary xml:space="preserve">Do you want the operation to be performed in the subfolders?</_secondary> - <button stock="gtk-no" _label="_Do not Mark as Read" response="GTK_RESPONSE_NO"/> - <button stock="gtk-yes" _label="Mark as _Read" response="GTK_RESPONSE_YES"/> + <button stock="gtk-no" response="GTK_RESPONSE_NO"/> + <button stock="gtk-cancel" response="GTK_RESPONSE_CANCEL"/> + <button stock="gtk-yes" response="GTK_RESPONSE_YES"/> </error> <error id="ask-mark-all-read" type="question" default="GTK_RESPONSE_NO"> diff --git a/mail/message-list.c b/mail/message-list.c index 55c74eeafa..d295fc06af 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -56,13 +56,11 @@ #include "misc/e-gui-utils.h" #include "table/e-cell-checkbox.h" -#include "table/e-cell-hbox.h" #include "table/e-cell-date.h" #include "table/e-cell-size.h" #include "table/e-cell-text.h" #include "table/e-cell-toggle.h" #include "table/e-cell-tree.h" -#include "table/e-cell-vbox.h" #include "table/e-tree-memory-callbacks.h" #include "table/e-tree-memory.h" @@ -95,7 +93,7 @@ #define localtime_r(tp,tmp) (localtime(tp)?(*(tmp)=*localtime(tp),(tmp)):0) #endif -#define d(x) +#define d(x) #define t(x) struct _MLSelection { @@ -160,8 +158,6 @@ static GtkTargetEntry ml_drop_types[] = { #define COL_TO_WIDTH_MIN (32) #define COL_SIZE_EXPANSION (6.0) #define COL_SIZE_WIDTH_MIN (32) -#define COL_SENDER_EXPANSION (24.0) -#define COL_SENDER_WIDTH_MIN (32) enum { NORMALISED_SUBJECT, @@ -902,13 +898,10 @@ ml_duplicate_value (ETreeModel *etm, int col, const void *value, void *data) case COL_FROM: case COL_SUBJECT: case COL_TO: - case COL_SENDER: - case COL_RECIPIENTS: - case COL_MIXED_SENDER: - case COL_MIXED_RECIPIENTS: case COL_FOLLOWUP_FLAG: case COL_LOCATION: return g_strdup (value); + default: g_assert_not_reached (); } @@ -937,10 +930,6 @@ ml_free_value (ETreeModel *etm, int col, void *value, void *data) case COL_TO: case COL_FOLLOWUP_FLAG: case COL_LOCATION: - case COL_SENDER: - case COL_RECIPIENTS: - case COL_MIXED_SENDER: - case COL_MIXED_RECIPIENTS: g_free (value); break; default: @@ -970,10 +959,6 @@ ml_initialize_value (ETreeModel *etm, int col, void *data) case COL_TO: case COL_FOLLOWUP_FLAG: case COL_LOCATION: - case COL_SENDER: - case COL_RECIPIENTS: - case COL_MIXED_SENDER: - case COL_MIXED_RECIPIENTS: return g_strdup (""); default: g_assert_not_reached (); @@ -1004,10 +989,6 @@ ml_value_is_empty (ETreeModel *etm, int col, const void *value, void *data) case COL_TO: case COL_FOLLOWUP_FLAG: case COL_LOCATION: - case COL_SENDER: - case COL_RECIPIENTS: - case COL_MIXED_SENDER: - case COL_MIXED_RECIPIENTS: return !(value && *(char *)value); default: g_assert_not_reached (); @@ -1072,10 +1053,6 @@ ml_value_to_string (ETreeModel *etm, int col, const void *value, void *data) case COL_TO: case COL_FOLLOWUP_FLAG: case COL_LOCATION: - case COL_SENDER: - case COL_RECIPIENTS: - case COL_MIXED_SENDER: - case COL_MIXED_RECIPIENTS: return g_strdup (value); default: g_assert_not_reached (); @@ -1163,61 +1140,14 @@ subtree_earliest(MessageList *ml, ETreePath node, int sent) return earliest; } -static gchar * -sanitize_recipients (const gchar *string) -{ - GString *gstring; - gboolean quoted = FALSE; - const gchar *p; - GString *recipients = g_string_new (""); - char *single_add; - char **name; - - if (!string || !*string) - return ""; - - gstring = g_string_new (""); - - for (p = string; *p; p = g_utf8_next_char (p)) { - gunichar c = g_utf8_get_char (p); - - if (c == '"') - quoted = ~quoted; - else if (c == ',' && !quoted) { - single_add = g_string_free (gstring, FALSE); - name = g_strsplit(single_add,"<",2); - g_string_append (recipients, *name); - g_string_append (recipients, ","); - g_free (single_add); - g_strfreev (name); - gstring = g_string_new (""); - continue; - } - - g_string_append_unichar (gstring, c); - } - - single_add = g_string_free (gstring, FALSE); - name = g_strsplit(single_add,"<",2); - g_string_append (recipients, *name); - g_free (single_add); - g_strfreev (name); - - return g_string_free (recipients, FALSE); -} - static void * ml_tree_value_at (ETreeModel *etm, ETreePath path, int col, void *model_data) { MessageList *message_list = model_data; CamelMessageInfo *msg_info; - CamelException ex; - const char *str; guint32 flags; - camel_exception_init (&ex); - if (e_tree_model_node_is_root (etm, path)) return NULL; @@ -1348,11 +1278,8 @@ ml_tree_value_at (ETreeModel *etm, ETreePath path, int col, void *model_data) return (void *) colour; } case COL_LOCATION: { - /* Fixme : freeing memory stuff (mem leaks) */ CamelFolder *folder; - CamelURL *curl; - EAccount *account; - char *location, *euri, *url; + char *name; if (CAMEL_IS_VEE_FOLDER(message_list->folder)) { folder = camel_vee_folder_get_location((CamelVeeFolder *)message_list->folder, (CamelVeeMessageInfo *)msg_info, NULL); @@ -1360,47 +1287,10 @@ ml_tree_value_at (ETreeModel *etm, ETreePath path, int col, void *model_data) folder = message_list->folder; } - url = mail_tools_folder_to_url (folder); - euri = em_uri_from_camel(url); - - account = mail_config_get_account_by_source_url (url); - - if (account) { - curl = camel_url_new (url, &ex); - location = g_strconcat (account->name, ":", curl->path, NULL); - } else { - /* Local account */ - euri = em_uri_from_camel(url); - curl = camel_url_new (euri, &ex); - if (curl->host && !strcmp(curl->host, "local") && curl->user && !strcmp(curl->user, "local")) - location = g_strconcat ("On This Computer", ":",curl->path, NULL); - } - - camel_exception_clear (&ex); - g_free (url); - g_free (euri); - - return location; - } - case COL_MIXED_RECIPIENTS: - case COL_RECIPIENTS:{ - char **sender_name; - str = camel_message_info_to (msg_info); - - return sanitize_recipients(str); - } - case COL_MIXED_SENDER: - case COL_SENDER:{ - char **sender_name = NULL; - str = camel_message_info_from (msg_info); - if(str!=""){ - sender_name=g_strsplit(str,"<",2); - return (void *)(*sender_name); - } - else - return (void *)(""); + camel_object_get(folder, NULL, CAMEL_OBJECT_DESCRIPTION, &name, 0); + return name; } - default: + default: g_assert_not_reached (); return NULL; } @@ -1500,66 +1390,6 @@ filter_date (time_t date) return g_strdup (buf); } -static ECell * create_composite_cell (int col) -{ - ECell *cell_vbox, *cell_hbox, *cell_sub, *cell_date, *cell_from, *cell_tree, *cell_attach; - GdkPixbuf *images [7]; - GConfClient *gconf; - char *fixed_name = NULL; - gboolean show_email; - int i; - int alt_col = (col == COL_FROM) ? COL_SENDER : COL_RECIPIENTS; - - gconf = mail_config_get_gconf_client (); - fixed_name = gconf_client_get_string (gconf, "/desktop/gnome/interface/monospace_font_name", NULL); - show_email = gconf_client_get_bool (gconf, "/apps/evolution/mail/display/show_email", NULL); - - cell_vbox = e_cell_vbox_new (); - - cell_hbox = e_cell_hbox_new (); - - for (i = 0; i < 2; i++) - images [i] = states_pixmaps [i + 5].pixbuf; - cell_attach = e_cell_toggle_new (0, 2, images); - - cell_date = e_cell_date_new(NULL, GTK_JUSTIFY_RIGHT); - g_object_set (G_OBJECT (cell_date), - "bold_column", COL_UNREAD, - "color_column", COL_COLOUR, - NULL); - - cell_from = e_cell_text_new(NULL, GTK_JUSTIFY_LEFT); - g_object_set (G_OBJECT (cell_from), - "bold_column", COL_UNREAD, - "color_column", COL_COLOUR, - NULL); - - e_cell_hbox_append (cell_hbox, cell_from, show_email ? col : alt_col, 68); - e_cell_hbox_append (cell_hbox, cell_attach, COL_ATTACHMENT, 5); - e_cell_hbox_append (cell_hbox, cell_date, COL_SENT, 27); - - cell_sub = e_cell_text_new(fixed_name? fixed_name:NULL, GTK_JUSTIFY_LEFT); - g_object_set (G_OBJECT (cell_sub), -/* "bold_column", COL_UNREAD, */ - "color_column", COL_COLOUR, - NULL); - cell_tree = e_cell_tree_new (NULL, NULL, TRUE, cell_sub); - e_cell_vbox_append (cell_vbox, cell_hbox, COL_FROM); - e_cell_vbox_append (cell_vbox, cell_tree, COL_SUBJECT); - - g_object_set_data (cell_vbox, "cell_date", cell_date); - g_object_set_data (cell_vbox, "cell_sub", cell_sub); - g_object_set_data (cell_vbox, "cell_from", cell_from); - return cell_vbox; -} - -static void -composite_cell_set_strike_col (ECell *cell, int col) -{ - g_object_set (g_object_get_data(cell, "cell_date"), "strikeout_column", col, NULL); - g_object_set (g_object_get_data(cell, "cell_from"), "strikeout_column", col, NULL); -} - static ETableExtras * message_list_create_extras (void) { @@ -1567,7 +1397,7 @@ message_list_create_extras (void) GdkPixbuf *images [7]; ETableExtras *extras; ECell *cell; - + extras = e_table_extras_new (); e_table_extras_add_pixbuf (extras, "status", states_pixmaps [0].pixbuf); e_table_extras_add_pixbuf (extras, "score", states_pixmaps [13].pixbuf); @@ -1627,13 +1457,6 @@ message_list_create_extras (void) NULL); e_table_extras_add_cell (extras, "render_size", cell); - /* Composite cell for wide view */ - cell = create_composite_cell (COL_FROM); - e_table_extras_add_cell (extras, "render_composite_from", cell); - - cell = create_composite_cell (COL_TO); - e_table_extras_add_cell (extras, "render_composite_to", cell); - return extras; } @@ -1701,7 +1524,7 @@ message_list_setup_etree (MessageList *message_list, gboolean outgoing) path = mail_config_folder_to_cachename (message_list->folder, "et-expanded-"); g_object_set_data (((GnomeCanvasItem *) item)->canvas, "freeze-cursor", 1); - + if (path && g_stat (path, &st) == 0 && st.st_size > 0 && S_ISREG (st.st_mode)) { /* build based on saved file */ e_tree_load_expanded_state (message_list->tree, path); @@ -3062,12 +2885,6 @@ message_list_set_folder (MessageList *message_list, CamelFolder *folder, const c cell = e_table_extras_get_cell (message_list->extras, "render_size"); g_object_set (cell, "strikeout_column", strikeout_col, NULL); - - cell = e_table_extras_get_cell (message_list->extras, "render_composite_from"); - composite_cell_set_strike_col (cell, strikeout_col); - - cell = e_table_extras_get_cell (message_list->extras, "render_composite_to"); - composite_cell_set_strike_col (cell, strikeout_col); /* Build the etree suitable for this folder */ message_list_setup_etree (message_list, outgoing); |