2002-10-28 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (folder_browser_query_changed): No longer need
to check for a CLEAR_ID.
svn path=/trunk/; revision=18463
2002-10-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (write_data_to_file): Use the mode 0666 when
creating a new file and let the user's umask handle permissions.
* folder-browser.c (message_list_drag_data_get): When using open()
with the O_CREAT flag, we need to pass a mode argument. Also use
O_EXCL.
svn path=/trunk/; revision=18430
2002-10-23 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (folder_browser_query_changed): Only perform
the search if it is either a clear or advanced search.
svn path=/trunk/; revision=18422
2002-10-09 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (main_folder_changed): Don't do anything if the
message_list is NULL (this means the FolderBrowser has been
destroyed). Fixes bug #32002.
svn path=/trunk/; revision=18363
2002-10-01 Not Zed <NotZed@Ximian.com>
* folder-browser.c (on_cursor_activated): cursor activated on
etable is required to know when the selection changes on a single
row, update selection changed info with this signal too. Sounds
like an etable bug to me, but this fixes#29808.
(folder_browser_gui_init): Hook onto above signal.
svn path=/trunk/; revision=18275
2002-09-24 Not Zed <NotZed@Ximian.com>
* folder-browser.c (folder_browser_query_changed): Always do a
search if the query changed. For #31060 & #29625.
svn path=/trunk/; revision=18190
* folder-browser.c (fb_resize_cb): If the vpaned isn't realized,
don't call mail_config_set_paned_size. Fixes a problem with the
saved pane size being repeatedly lost (#29933)
svn path=/trunk/; revision=18064
2002-09-11 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (folder_browser_query_changed): Only abort if
the user selected ADVANCED_SEARCH, not the other way around. Any
other menu item and we are supposed to perform an actual
search. Fixes bug #30183.
svn path=/trunk/; revision=18048
2002-09-10 Not Zed <NotZed@Ximian.com>
* folder-browser.c (got_folder): If we already have a folder, make
sure we unref/unhook from it. Fixes a crash on exit.
* message-list.c (message_list_hide_clear): clear thread tree
cache if set.
(message_list_set_search): Same. For bug #28834.
svn path=/trunk/; revision=18029
2002-09-03 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (mark_as_seen_cb):
(mark_as_unseen_cb):
(mark_as_important_cb):
(mark_as_unimportant_cb): New callback functions that wrap the
mail-callbacks versions of mark_as_<whatever>. Thanks to Owen
Taylor for this fix.
svn path=/trunk/; revision=17950
2002-08-28 Peter Williams <peterw@ximian.com>
* folder-browser-ui.c (default_ui_nodes): Add some new flags for
sensitizing nodes based on the flags of the currently selected
messages.
(folder_browser_ui_add_message): Reset the sensitivity cache when
we re-add UI items.
(folder_browser_ui_add_list): Same.
(folder_browser_ui_add_global): Same.
(fbui_sensitise_item): Only cache the sensitivity in the hash
table if we actually change it.
(folder_browser_ui_scan_selection): New function, getting the bulk
of the contents of folder_browser_ui_set_selection_state. Now
with code to iterate over the currently selected messages and
check their flags so we can sensitize based on them.
(folder_browser_ui_set_selection_state): Now just set the
selection state if necessary and pass off to _scan_selection. Don't
skip of we're trying to go from SELSTATE_SINGLE to SELSTATE_SINGLE,
eg, as the flags of the selected messages may have changed.
* folder-browser-ui.h: Prototype folder_browser_ui_scan_selection.
* folder-browser.c (main_folder_changed): Call
folder_browser_ui_scan_selection as the flags on a selected
message may have just changed.
svn path=/trunk/; revision=17893
2002-08-27 Jeffrey Stedfast <fejj@ximian.com>
Fixes for bug #4480
* folder-browser-factory.c (control_activate): Call
folder_browser_reload() instead of refreshing the folder
ourselves.
* folder-browser.c (folder_browser_reload): New convenience
function. If the folder-browser's folder is already loaded,
refresh the contents, otherwise if the folder has not been loaded
- try loading the folder again (it may have failed to open last
time for some reason?).
svn path=/trunk/; revision=17876
2002-08-08 Not Zed <NotZed@Ximian.com>
* folder-browser.c (folder_browser_toggle_threads): Force a
refresh of the menu sensitivity when the thread state changes.
2002-08-07 Not Zed <NotZed@Ximian.com>
* folder-browser-ui.c: Added EditSelectThread to only enable
threaded mode if threaded is on. For #19941. Added some macro's
to simplify the table.
(folder_browser_ui_set_selection_state): Implement IS_THREADED
mask.
svn path=/trunk/; revision=17738
2002-08-06 Not Zed <NotZed@Ximian.com>
* folder-browser.c (folder_browser_search_menu_activated): Set the
rule name to include the search string, for #10979.
svn path=/trunk/; revision=17712
2002-08-06 Not Zed <NotZed@Ximian.com>
* mail-ops.c (filter_folder_filter): Unref the driver before
returning to main thread, so any closing operations are handled
async (as in fetch_mail_fetch()), for #28072.
** fixes for #24605.
* mail-vfolder.c (vfolder_gui_add_from_mlist): Removed.
* folder-browser.c (filter_type_uid,vfolder_type_uid): Changed to
accept args directly. Fixed callers.
(filter_mlist_uid,vfolder_mlist_uid): Use filter_type_uid instead
of mlist variant.
(vfolder_type_current): new function to handle setup of vfolders
from the main menu. It now uses the vfolder_type_uid function the
same as the popup.
(vfolder_subject, vfolder_sender, vfolder_recipient,
vfolder_mlist): Changed to use vfolder_type_current.
(filter_type_current): Similar for filters.
(filter_subject, filter_sender, filter_recipient,
filter_mlist): Changed to use filter_type_current.
* mail-autofilter.c (rule_from_message): Handle AUTO_MLIST type.
(rule_from_mlist):
(vfolder_rule_from_mlist):
(filter_rule_from_mlist): Removed.
(filter_gui_add_from_mlist): Removed.
* mail-autofilter.h: Added AUTO_MLIST type.
svn path=/trunk/; revision=17704
2002-08-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (mail_display_render): Updated to use the new
Follow-Up tags. Instead of storing a string containing the
follow-up tag value, we now have to store the CamelMessageInfo.
(mail_display_destroy): Unref the folder and the message-info.
* folder-browser.c (followup_tag_complete): No longer needed.
(on_right_clicked): Use the individual follow-up tags to decide
whether or not to enable something.
* message-list.c (ml_tree_value_at): Update to use the new
Follow-Up tags.
* mail-callbacks.c (flag_for_followup): Update to use the new
MessageTagEditor API.
(tag_editor_ok): Update this too.
(flag_followup_completed): Updated this too.
(flag_followup_clear): Set all the follow-up tag values to "".
svn path=/trunk/; revision=17691
2002-07-24 Peter Williams <peterw@ximian.com>
* mail-callbacks.c (do_mail_fetch_and_print): Check for whether
current_message is NULL as well as preview_shown (if we tried to
load the message and failed, as may happen in offline mode.)
(done_message_selected): Only print if we actually got the message.
* folder-browser.c (folder_browser_query_changed): New function,
use this on the query_changed signal. Don't run the search if
they only changed the dropdown.
svn path=/trunk/; revision=17580
2002-07-22 Peter Williams <peterw@ximian.com>
* folder-browser.c (folder_browser_gui_init): Also perform a search
on the query_changed signal, which is what gets emitted when the
Search menu is used.
2002-07-22 Peter Williams <peterw@ximian.com>
* e-filter-bar.c (do_advanced): Break out the code for creating
the advanced rule editor into a separate function, so that...
(menubar_activated): ... can also create an Advanced dialog;
needed when the Search menu's advanced button is used.
(option_changed): Change this to call the function instead of
having all the code to itself.
* e-search-bar.h: Add id's for the FIND_NOW and CLEAR actions
so that other code (eg, EFilterBar) doesn't get confused by
an old id being used when the search-activated signal gets
emitted.
* e-search-bar.c (clear_search): Set the item_id to CLEAR
before emitting the signal.
(search_now_verb_cb): Just make this emit query_changed,
as the button in the toolbar does.
svn path=/trunk/; revision=17550
2002-07-15 Not Zed <NotZed@Ximian.com>
* message-list.c (ml_tree_value_at): Lookup the label colour based
on the label token, not an integer.
* folder-browser.c (on_right_click): Lookup the label name from
the filter type. Sigh, a bunch of other code should do similar
but i'm going to leave it as integers.
(set_msg_label): Set the label directly.
svn path=/trunk/; revision=17473
2002-07-08 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (redirect): Don't ever use the mail-display's
current_message, this can cause problems.
* mail-ops.c (get_message_free): Unref the gotten message. All of
the callers seemed to think that they didn't have to unref the
message.
* mail-display.c (mail_display_set_message): Now refs the message.
(mail_display_destroy): Unref the current_message if we still have
ownership of it.
svn path=/trunk/; revision=17387
2002-07-02 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (on_right_click): Increase the size of the
escapped mlist buffer, we can't assume that there can only ever be
a single '_' in the mlist name afaik.
(filter_type_uid): Ugh, we need to copy the fdata->source here.
svn path=/trunk/; revision=17354
2002-07-02 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (on_right_click): Increase the size of the
escapped mlist buffer, we can't assume that there can only ever be
a single '_' in the mlist name afaik.
svn path=/trunk/; revision=17353
2002-07-02 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #27263.
* folder-browser.c (filter_subject): Decide the filter source type
based on the folder we are in (Sent/Outbox folders use
FILTER_SOURCE_OUTGOING).
(filter_sender): Same.
(filter_recipient): Here too.
(filter_mlist): And here.
(on_right_click): Set the fdata->source.
(filter_type_got_message): Pass fdata->source into
filter_gui_add_from_message().
(filter_mlist_uid): Same.
* mail-autofilter.c (filter_gui_add_from_message): Now takes a
source argument so that we don't always add incoming rules.
(filter_gui_add_from_mlist): Same.
svn path=/trunk/; revision=17352
folder_browser_search_do_search to "query_changed" since we don't
want the search to happen unless the user clicks "Find Now", for
consistency.
svn path=/trunk/; revision=17347
2002-05-18 Not Zed <NotZed@Ximian.com>
* e-searching-tokenizer.c
(e_searching_tokenizer_add_primary_search_string):
(e_searching_tokenizer_add_secondary_search_string): New functions
to add additional search strings one at a time. Maybe it should
just split the word itself?
(all): Basically, entirely rewritten. Now implements the
Aho-Corasick multiple pattern search algorithm and handles
multiple search strings and only ever has to decode any utf8
character once, etc etc.
svn path=/trunk/; revision=16961
2002-05-16 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (ml_tree_value_at): Check for a label tag when
doing a lookup on the COLOR column.
* mail-config.c (mail_config_get_label_color_string): Return the
colour in string format.
* folder-browser.c (set_msg_label): Replaces colourise_msg and
sets the "label" tag rather than the "colour" tag.
* mail-preferences.c (mail_preferences_apply): Call
mail_config_write() so that the settings get synced to disk.
svn path=/trunk/; revision=16938
* (various places): Update for camel_folder_append_message /
camel_folder_transfer_messages_to API change.
* mail-ops.c (mail_append_mail): Pass the appended_uid to the
callback.
* mail-callbacks.c (composer_save_draft_cb, save_draft_done,
do_edit_messages): Take advantage of the append_message change to
keep track of the UID of the saved draft so that we can delete the
old copy of the draft each time we save a new one. Remove the
FIXME suggesting we should do that, since we're doing it now. :)
svn path=/trunk/; revision=16766
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (on_right_click): If we are in a
Sent/Drafts/Outbox folder, don't show the "Add Sender to
Addressbook" menu item.
svn path=/trunk/; revision=16692
2002-05-01 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (on_right_click): Fix the filter_menu static
array to use the E_POPUP_MENU_CC macros since we plan on using
custom closures for this.
(on_right_click): Fixed so that you can "Edit as New" for any Sent
folder and not just the local Sent folder.
svn path=/trunk/; revision=16657
2002-05-01 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (on_right_click): Fix the filter_menu static
array to use the E_POPUP_MENU_CC macros since we plan on using
custom closures for this.
svn path=/trunk/; revision=16656
2002-04-24 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (label_menu): Update to use
E_POPUP_MENU_PIXMAP_WIDGET_ITEM_CC so that our callback gets
called without per-item closure rather than being called with NULL
and causing a segfault.
svn path=/trunk/; revision=16578
2002-04-17 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped required gal version number to 0.19.99.11.
From addressbook/ChangeLog:
2002-04-17 Christopher James Lahey <clahey@ximian.com>
* gui/component/select-names/e-select-names.c
(e_select_names_create_categories): Changed this to use
ECategoriesMasterListOptionMenu.
* gui/component/select-names/e-select-names.c
(section_right_click_cb),
gui/widgets/e-addressbook-reflow-adapter.c,
gui/widgets/e-addressbook-view.c: Updated these to match the new
EPopupMenu.
From calendar/ChangeLog:
2002-04-17 Christopher James Lahey <clahey@ximian.com>
* gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view.c,
gui/dialogs/meeting-page.c: Updated these to match the new
EPopupMenu.
From mail/ChangeLog:
2002-04-17 Christopher James Lahey <clahey@ximian.com>
* folder-browser.c, mail-display.c: Updated these to match the new
EPopupMenu.
From shell/ChangeLog:
2002-04-17 Christopher James Lahey <clahey@ximian.com>
* e-activity-handler.c: Updated this to match the new EPopupMenu.
svn path=/trunk/; revision=16498
2002-04-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (handle_multipart_signed): Handle broken
multipart/signed parts such as where the signature part is not the
last part (as it should be). Fixes bug #23583.
* folder-browser.c (message_list_drag_data_get): Free the temp
GByteArrays.
svn path=/trunk/; revision=16495
2002-04-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (handle_multipart_signed): Handle broken
multipart/signed parts such as where the signature part is not the
last part (as it should be). Fixes bug #23583.
* folder-browser.c (message_list_drag_data_get): Free the temp
GByteArrays.
(setup_popup_icons): Connect to the destroy signal on the pixmap
objects using gtk_object_unref as the callback - this way when the
popup menu gets destroyed, the pixmaps clean themselves up.
(on_right_click): Same idea for the label_menu.
svn path=/trunk/; revision=16494
2002-04-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-local.c (mail_local_folder_construct): Just use g_basename.
(mlf_finalize): Free the real_path.
* folder-browser.c (on_right_click): Unref the GdkGC so we don't
leak it.
svn path=/trunk/; revision=16493
2002-04-03 Jeffrey Stedfast <fejj@ximian.com>
* message-tag-followup.c (construct): Set the window title/icon
here instead.
* message-tag-editor.c (message_tag_editor_init): Don't set the
title or window icon here, this is a generic class.
* mail-format.c (handle_multipart_signed): Replace
get_url_for_icon with the new mail_display_get_url_for_icon
function.
(handle_multipart_digest): Here too.
(get_cid): Use mail_display_add_url instead.
(get_location): Same.
(handle_text_enriched): Here too.
(handle_multipart_signed): And here.
* message-tag-followup.c (message_tag_followup_i18n_name): Use the
U_() macro, not the _() macro as it is what we really want.
* mail-ops.c (mail_send_message): Don't cast the message into a
CamelMedium before sending anymore.
* mail-callbacks.c (expunge_folder): Set the followup argument to
NULL here.
(done_message_selected): Get the followup value here and pass it
to the mail-display here.
(do_mail_fetch_and_print): Again with the NULL followup here.
* folder-browser.c (folder_browser_set_message_preview): Update to
pass in NULL as the followup since we are setting the message to
NULL here.
(done_message_selected): Get and set the appropriate followup
value here.
(do_message_selected): Update to pass in NULL as the followup
since we are setting the message to NULL here.
* mail-display.c (mail_display_set_message): Now takes a followup
tag value.
(mail_display_init): Set md->followup to NULL.
(mail_display_destroy): Free md->followup.
(mail_display_add_url): New: replaces the static add_url function
originally in mail-format.c
(mail_display_get_url_for_icon): New: replaces get_url_for_icon
which was originally in mail-format.c
svn path=/trunk/; revision=16334
2002-03-26 Jeffrey Stedfast <fejj@ximian.com>
Sync with yet-another-mail-config branch.
* mail-composer-prefs.c: Updated to get the right widgets and
whatnot. Also updated to tell the evolution-config-control that
stuff has changed.
* mail-preferences.c: Updated to get the right widgets and
whatnot. Also updated to tell the evolution-config-control that
stuff has changed.
* mail-accounts.etspec: New file needed by mail-accounts.c
svn path=/trunk/; revision=16257
2002-03-26 Not Zed <NotZed@Ximian.com>
* mail-callbacks.c (addrbook_sender): Changed to get the address
from the messageinfo of the current selected message rather than
from the current_message.
(requeue_mail_reply): Only re-queue if we got a message, could
potentially cause an infinite loop trying to get a message it
can't.
(reply_to_sender, reply_to_list, reply_to_all): Always pass NULL
as the msg to mail_replay, this forces mail_reply to always load
the message anew. Fixes FIXME's and popup behaviour. Basically
this and stuff below fixes#8542. Its probably not the nicest
way, but it works.
(mark_as_important): Use the flags properly, we can set all flags
to any combination of on or off as we want, so we just need to
call set_flags once, thats why its set flags and not set_option.
(toggle_flags): Fixed the logic here also, so we dont have to call
set_message_flags more than once, and also implement a true toggle
for any number of simultaneous flags (whilst simplifying code).
* mail-vfolder.c (vfolder_gui_add_from_mlist): Removed the 'msg'
parameter, its not used, fixed callers.
* folder-browser.c (on_right_click): Lookup the mlist from
messageinfo, and change the 'no selected' logic slightly, fixes
most of #8542.
(filter_data_free): Free filter data struct.
(vfolder_type_got_message): Actually create vfolder once we have
the message we need to use for it. Code could probably be changed
to use messageinfo instead.
(vfolder_type_uid): Lookup a message based on uid, and use that to
create a vfolder based on type.
(vfolder_subject_uid, vfolder_sender_uid, vfolder_receipient_uid,
vfolder_mlist_uid): Callbacks for the popup menu, used to create
rules based on the uid rather than the message, which it loads as
required.
(filter_type_got_message, filter_*_uid): Similar to vfolder
stuff above.
(filter_menu[]): Changed callbacks to popup specific ones, not
folderbrowser specific ones used by bonobo.
(on_right_click): Initialise callback data for the filter submenu
so it can look up messages for callback implementation.
svn path=/trunk/; revision=16253
* e-search-bar.c (clear_verb_cb): New.
(setup_standard_verbs): New.
(e_search_bar_set_ui_component): Call it if a new
BonoboUIComponent is set.
(append_xml_menu_item): New helper function.
(update_bonobo_menus): Use it. Also add a "Clear" menu item.
(e_search_bar_construct): @menu_items can be NULL now.
(e_search_bar_new): Same here.
(set_menu): Work with NULL items.
* e-filter-bar.c (menubar_activated): Don't handle
E_FILTERBAR_RESET_ID anymore.
* e-filter-bar.h: Remove `E_FILTERBAR_RESET_ID' and `E_FILTERBAR_RESET'.
* folder-browser.c: Remove E_FILTERBAR_RESET menu entry.
* gui/cal-search-bar.c: Removed `search_menu_items'.
(cal_search_bar_menu_activated): Removed.
(cal_search_bar_class_init): Don't install.
(cal_search_bar_construct): No menu items here.
* gui/component/addressbook.c (addressbook_menu_activated):
Removed.
(addressbook_factory_new_control): Don't connect anymore, as this
signal has been removed from the ESearchBar.
(addressbook_factory_new_control): No more custom menu items here.
svn path=/trunk/; revision=16194
2002-03-15 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (on_right_click): Draw colour rectangles for
each of the colour items and set a closure on each.
(colourise_msg): colourise the message, yo.
svn path=/trunk/; revision=16187
2002-03-15 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (colour_msg): New callback to set a colour on a
message.
* folder-browser.c (on_right_click): Setup our popup icons and
stuff. Also add a submenu for Labels.
* mail-display.c (pixmap_press): Sync up with the new EPopupMenu
API. Note: This code can probably now be fixed to use per-item
closures - yay!
* mail-accounts.c (construct): Connect to the label GtkEntry's and
GnomeColorPickers and also to the Restore Defaults button.
* mail-config.c (mail_config_get_label_name): New function to get
a label's name.
(mail_config_set_label_name): New function to set the label name.
(mail_config_get_label_color): New function to get the label
color.
(mail_config_set_label_color): New function to set the label
color.
(config_read): Read in the config options for the labels and their
colors.
(mail_config_write_on_exit): Save the label options.
svn path=/trunk/; revision=16186
2002-03-15 Larry Ewing <lewing@ximian.com>
* mail-display.c: expand the relative urls of the object at the
point so that relative images can be saved correctly.
* folder-browser.c: add a closing quote in a comment.
svn path=/trunk/; revision=16181
2002-03-12 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (folder_browser_set_folder): Set the folder on
a folder-browser object.
* folder-browser-window.c (folder_browser_window_new): Simple
window to display a folder-browser.
* mail-callbacks.c (view_digest): New callback to open a
folder-browser-window with a digest folder.
svn path=/trunk/; revision=16127