aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-list.h
Commit message (Collapse)AuthorAgeFilesLines
* Bug 702710 - MessageList: Delay state capture for regen.Matthew Barnes2013-06-221-3/+0
| | | | | | | | Delay capturing MessageList state for a regen operation until the idle callback, so the caller has a chance to configure the MessageList first. Also, move the CamelFolderThread into the private structure and provide thread-safe internal accessor functions for it.
* Remove unused message_list_invert_selection().Matthew Barnes2013-06-201-1/+0
|
* Convert ETreeModel to an interface.Matthew Barnes2013-06-161-2/+3
| | | | | | | | | | | | | | | | This commit does a number of things which I could not subdivide into smaller commits. * Converts ETreeModel to an interface, implemented by MessageList. * Drops ETreeMemory and ETreeMemoryCallbacks, which were ETreeModel subclasses. Their functionality is subsumed by MessageList. * MessageList drops its public ETreeModel pointer, since MessageList now implements ETreeModel as an interface. * Adds message_list_set_expanded_default(), which takes over for e_tree_memory_set_expanded_default().
* Remove unused message_list_get_uids().Matthew Barnes2013-06-151-1/+0
|
* MessageList: Add a "group-by-threads" property.Matthew Barnes2013-06-151-5/+5
| | | | | | | | | Bind this to EMailReader's "group-by-threads" property. New functions: message_list_get_group_by_threads() message_list_set_group_by_threads()
* MessageList: Remove public 'hidejunk' and 'hidedeleted' flags.Matthew Barnes2013-06-151-8/+0
| | | | | | | | | Add internal functions to compute these as needed based on a given CamelFolder. Removed functions: message_list_set_hidedeleted()
* MessageList: Add a "show-deleted" property.Matthew Barnes2013-06-151-0/+3
| | | | | | | | | Bind this to the "show-deleted" GSettings key. New functions: message_list_get_show_deleted() message_list_set_show_deleted()
* MessageList: Add a "folder" property.Matthew Barnes2013-06-151-3/+1
| | | | | | | | Also move the CamelFolder pointer into the private structure. New functions: message_list_ref_folder()
* MessageList: Add a "thread-latest" property.Matthew Barnes2013-06-141-0/+3
| | | | Bind this to the "thread-latest" GSettings key.
* MessageList: Add a "thread-subject" property.Matthew Barnes2013-06-141-0/+3
| | | | Bind this to the "thread-subject" GSettings key.
* message_list_set_folder: Remove unused "outgoing" parameter.Matthew Barnes2013-06-131-2/+1
|
* Remove unused MESSAGE_LIST_LOCK / MESSAGE_LOCK_UNLOCK macros.Matthew Barnes2013-06-131-3/+0
| | | | Whatever those macros were once used for was surely evil.
* Remove message_list_ensure_message().Matthew Barnes2013-06-131-6/+0
| | | | No longer used. Looks like a relic of some nasty hack.
* MessageList: Move regen-related members into private struct.Matthew Barnes2013-06-131-9/+0
|
* Bug #626215 - Prefer mail saving in order by UIMilan Crha2013-04-261-0/+3
|
* Consolidate base utility libraries into libeutil.Matthew Barnes2012-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evolution consists of entirely too many small utility libraries, which increases linking and loading time, places a burden on higher layers of the application (e.g. modules) which has to remember to link to all the small in-tree utility libraries, and makes it difficult to generate API documentation for these utility libraries in one Gtk-Doc module. Merge the following utility libraries under the umbrella of libeutil, and enforce a single-include policy on libeutil so we can reorganize the files as desired without disrupting its pseudo-public API. libemail-utils/libemail-utils.la libevolution-utils/libevolution-utils.la filter/libfilter.la widgets/e-timezone-dialog/libetimezonedialog.la widgets/menus/libmenus.la widgets/misc/libemiscwidgets.la widgets/table/libetable.la widgets/text/libetext.la This also merges libedataserverui from the Evolution-Data-Server module, since Evolution is its only consumer nowadays, and I'd like to make some improvements to those APIs without concern for backward-compatibility. And finally, start a Gtk-Doc module for libeutil. It's going to be a project just getting all the symbols _listed_ much less _documented_. But the skeletal structure is in place and I'm off to a good start.
* Replace deprecated GLib symbols (as of GLib 2.34.x)Milan Crha2012-11-061-1/+1
|
* Introduce libemail-engine and libemail-utils.Matthew Barnes2012-01-191-1/+1
| | | | | | | These libraries are bound for E-D-S so they live at the lowest layer of Evolution for now -- even libeutil can link to them (but please don't). This is the first step toward moving mail handing to a D-Bus service.
* Do not auto-mark-as-seen when changing filter typeMilan Crha2012-01-111-0/+1
|
* Avoid passing EMailBackend as much as possible.Matthew Barnes2011-12-161-3/+3
| | | | | | | | | | | | | | | More mail API churn... reversing some previous API decisions. I've made some key API changes to EMailSession on the account-mgmt branch which should allow for this, and will hopefully also benefit the "email-factory" branch. EMailBackend barely needs to exist anymore, except as the owner of EMailSession. For several low-level functions, we replace its EMailBackend parameter with EMailSession and EAlertSink parameters; the latter so it can still pass user alerts up the chain.
* Coding style and whitespace cleanup.Matthew Barnes2011-09-041-1/+1
|
* Coding style and whitespace cleanup.Matthew Barnes2011-08-131-3/+4
|
* Drop 'folder_uri' member from MessageList.Matthew Barnes2011-05-041-3/+2
|
* Drop 'folder_uri' param from message_list_set_folder().Matthew Barnes2011-05-031-2/+1
|
* Bug #630969 - Implement also Message->Go to->Previous ThreadMilan Crha2010-10-201-0/+1
|
* Give MailSession a permanent home.Matthew Barnes2010-10-131-3/+3
| | | | | | | | | | | Global variables in shared libraries are a bad idea. EMailBackend now owns the MailSession instance, which is actually now EMailSession. Move the blocking utility functions in mail-tools.c to e-mail-session.c and add asynchronous variants. Same approach as Camel. Replace EMailReader.get_shell_backend() with EMailReader.get_backend(), which returns an EMailBackend. Easier access to the EMailSession.
* Remove MailAsyncEvent.Matthew Barnes2010-10-011-3/+0
| | | | | | | As of commit 7fa0dd78305677d14839a480fc379ebba3a6d55c, all CamelFolder and CamelStore signals are emitted from idle callbacks. That means we don't have to propagate events to the main loop thread anymore, which eliminates all remaining uses of MailAsyncEvent.
* Coding style and whitespace cleanups.Matthew Barnes2010-09-121-7/+21
|
* Bug 621839 - Improve auto-selection of messagesMatthew Barnes2010-06-171-1/+3
|
* Only #include Camel's top-level header.Matthew Barnes2010-04-031-3/+1
|
* Bug #374533 - Read window stays open after last email is deletedMilan Crha2010-04-011-1/+1
|
* Remove some unused MessageList constants.Matthew Barnes2010-03-281-5/+0
|
* Bug 468448 - Kill "Hide Read Messages" and "Hide Selected Messages"Matthew Barnes2010-03-281-18/+0
| | | | | | | | | | | | | | | | | | | | Removed the following menu items under View: Hide Selected Messages Hide Read Messages Show Hidden Messages These options are confusing and don't fit with the rest of the mailer design. Hidden messages were tracked by folder in: ~/.evolution/mail/config/hidestate-<<folder-uri>> So by simply not loading those files any more we reveal all previously hidden messages and avoid any risk of lost messages. Also inverted "Hide Deleted Messages" to "Show Deleted Messages".
* Improve clipboard behavior.Matthew Barnes2010-01-181-0/+4
| | | | | | | | | | | | | | | | | | | | | Add "copy-target-list" and "paste-target-list" to the ESelectable interface. These are underutilized for the moment, but will eventually be used to help integrate drag-and-drop support into ESelectable. Add cut and paste support to EWebView, along with a new "editable" property and new clipboard signals "copy-clipboard", "cut-clipboard" and "paste-clipboard". In EFocusTracker, listen for "owner-changed" signals from the default clipboard as another trigger to update actions, particularly the Paste action. (Unfortunately this doesn't work for EWebView since GtkHtml implements its own clipboard.) In EMsgComposer, convert GtkhtmlEditor's clipboard methods to empty stubs, since EFocusTracker will now trigger EWebView's clipboard actions. Also, intercept EWebView::paste-clipboard signals and improve the interaction between the HTML editor and the attachment bar based on use cases in bug #603715.
* Coding style and whitespace cleanup.Matthew Barnes2009-12-261-1/+1
|
* Introduce ESelectable and EFocusTracker.Matthew Barnes2009-12-261-55/+56
| | | | | | | | | | | | | | | | | | EFocusTracker tracks the input focus within a window and helps keep the sensitivity of "selectable" actions in the main menu up-to-date. Selectable actions include Cut, Copy, Paste, Select All and Delete. EFocusTracker has built-in support for widgets that implement the GtkEditable interface such as GtkEntry and GtkTextView. It also supports custom widgets that implement the ESelectable interface, which is a subset of GtkEditable and can apply to anything that displays selectable content (esp. tree views and ETables). This commit integrates EFocusTracker with EShellWindow, CompEditor, EMsgComposer, and ESignatureManager. It also bumps the GtkHTML requirement to 2.29.5 to utilize the new GtkhtmlEditor:html constructor property.
* Kill ETreeScrolled.Matthew Barnes2009-12-081-7/+3
| | | | | | | Kill ETreeScrolled and convert MessageList to an ETree subclass. ETreeScrolled is nothing but a GtkScrolledWindow containing an ETree. It adds nothing of value and actually makes customizing ETree harder.
* Kill message_list_free_uids().Matthew Barnes2009-12-021-1/+0
| | | | Use em_utils_uids_free() instead.
* Remove a bunch of unused functions.Matthew Barnes2009-09-151-1/+0
|
* Stop abusing forward declarations.Matthew Barnes2009-06-191-1/+2
|
* Use G_BEGIN_DECLS / G_END_DECLS macros.Matthew Barnes2009-06-181-7/+2
|
* More code cleanup.Matthew Barnes2009-06-021-1/+1
|
* Whitespace cleanup.Matthew Barnes2009-05-291-1/+1
|
* Prefer GLib basic types over C types.Matthew Barnes2009-05-271-17/+17
|
* Merge branch 'master' into kill-bonoboMatthew Barnes2009-05-271-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: a11y/widgets/ea-combo-button.c a11y/widgets/ea-combo-button.h addressbook/gui/component/addressbook-component.c addressbook/gui/component/addressbook-component.h addressbook/gui/component/addressbook-view.c addressbook/gui/component/addressbook-view.h addressbook/gui/component/component-factory.c addressbook/gui/widgets/e-addressbook-view.c addressbook/gui/widgets/eab-contact-display.c addressbook/gui/widgets/eab-gui-util.h addressbook/gui/widgets/eab-menu.c addressbook/gui/widgets/eab-menu.h addressbook/gui/widgets/eab-popup-control.c addressbook/gui/widgets/eab-popup-control.h addressbook/gui/widgets/eab-popup.c addressbook/gui/widgets/eab-popup.h calendar/gui/cal-search-bar.c calendar/gui/calendar-commands.c calendar/gui/calendar-component.c calendar/gui/comp-editor-factory.c calendar/gui/comp-editor-factory.h calendar/gui/control-factory.c calendar/gui/dialogs/comp-editor.c calendar/gui/e-cal-component-memo-preview.c calendar/gui/e-cal-component-memo-preview.h calendar/gui/e-calendar-table.c calendar/gui/e-memo-table.c calendar/gui/e-memos.c calendar/gui/e-tasks.c calendar/gui/gnome-cal.c calendar/gui/gnome-cal.h calendar/gui/itip-bonobo-control.c calendar/gui/itip-bonobo-control.h calendar/gui/main.c calendar/gui/memos-component.c calendar/gui/memos-control.c calendar/gui/memos-control.h calendar/gui/migration.c calendar/gui/migration.h calendar/gui/tasks-component.c calendar/gui/tasks-control.c calendar/importers/main.c composer/Makefile.am composer/e-composer-header-table.c composer/e-composer-header.c composer/e-composer-header.h composer/e-composer-name-header.c composer/e-composer-private.c composer/e-composer-text-header.c composer/e-msg-composer.c composer/e-msg-composer.h e-util/e-corba-utils.h e-util/e-logger.c e-util/e-logger.h e-util/e-util-labels.c e-util/e-util-labels.h em-format/em-format.c mail/Makefile.am mail/e-mail-shell-migrate.c mail/em-account-editor.c mail/em-account-editor.h mail/em-composer-prefs.c mail/em-composer-utils.c mail/em-composer-utils.h mail/em-folder-browser.c mail/em-folder-tree-model.c mail/em-folder-tree.c mail/em-folder-tree.h mail/em-folder-utils.c mail/em-folder-utils.h mail/em-folder-view.c mail/em-format-html-display.c mail/em-format-html.c mail/em-mailer-prefs.c mail/em-mailer-prefs.h mail/em-message-browser.c mail/em-message-browser.h mail/em-network-prefs.h mail/em-popup.c mail/em-utils.c mail/importers/Makefile.am mail/mail-component-factory.c mail/mail-component.c mail/mail-config-factory.c mail/mail-config-factory.h mail/mail-config.c mail/mail-dialogs.glade mail/mail-types.h plugins/calendar-weather/calendar-weather.c plugins/mail-account-disable/mail-account-disable.c plugins/select-one-source/select-one-source.c po/POTFILES.in shell/e-component-registry.c shell/e-component-registry.h shell/e-component-view.c shell/e-component-view.h shell/e-corba-config-page.c shell/e-corba-config-page.h shell/e-shell-constants.h shell/e-shell-settings-dialog.c shell/e-shell-settings-dialog.h shell/e-shell-window-commands.c shell/e-shell-window.c shell/e-shell.h shell/e-sidebar.c shell/e-sidebar.h shell/e-user-creatable-items-handler.c shell/e-user-creatable-items-handler.h shell/es-menu.c shell/es-menu.h shell/evolution-component.h shell/evolution-config-control.c shell/evolution-config-control.h shell/evolution-listener.c shell/evolution-listener.h shell/evolution-shell-component-utils.c shell/evolution-shell-component-utils.h shell/importer/evolution-importer-client.c shell/importer/evolution-importer-client.h shell/importer/evolution-importer-listener.c shell/importer/evolution-importer-listener.h shell/importer/evolution-importer.c shell/importer/evolution-importer.h shell/importer/evolution-intelligent-importer.c shell/importer/evolution-intelligent-importer.h shell/importer/intelligent.c shell/main.c shell/test/evolution-test-component.c shell/test/evolution-test-component.h widgets/menus/gal-view-instance.c widgets/menus/gal-view-menus.c widgets/menus/gal-view-menus.h widgets/misc/Makefile.am widgets/misc/e-activity-handler.c widgets/misc/e-activity-handler.h widgets/misc/e-charset-picker.c widgets/misc/e-combo-button.c widgets/misc/e-combo-button.h widgets/misc/e-config-page.h widgets/misc/e-dropdown-button.c widgets/misc/e-dropdown-button.h widgets/misc/e-filter-bar.c widgets/misc/e-info-label.c widgets/misc/e-info-label.h widgets/misc/e-multi-config-dialog.c widgets/misc/e-multi-config-dialog.h widgets/misc/e-search-bar.c widgets/misc/e-search-bar.h widgets/misc/e-task-bar.c widgets/misc/e-task-bar.h widgets/misc/e-task-widget.c widgets/misc/e-task-widget.h widgets/misc/test-dropdown-button.c widgets/misc/test-error.c widgets/misc/test-info-label.c widgets/table/e-table-example-1.c
| * Remove trailing whitespace, again.Matthew Barnes2009-05-271-1/+1
| |
| * Fix several types of pedantic compiler warnings.Matthew Barnes2009-05-171-2/+2
| |
| * ** Fix for bug #438155Milan Crha2008-10-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 2008-10-19 Milan Crha <mcrha@redhat.com> ** Fix for bug #438155 * message-list.h: (struct _MessageList): message-list.c: (message_list_init), (message_list_finalise), (regen_list_done), (regen_list_free), (ml_regen_timeout), (mail_regen_cancel): Guard access to the 'regen' list with a lock. svn path=/trunk/; revision=36652
| * Added new column "Subject - Trimmed". Patch by hpj.Sankarasivasubramanian Pasupathilingam2008-09-301-0/+3
| | | | | | | | svn path=/trunk/; revision=36498
| * Change License from GPL to LGPL. 2nd batch.Sankarasivasubramanian Pasupathilingam2008-09-031-15/+14
| | | | | | | | | | | | More changes to come. svn path=/trunk/; revision=36247
* | Fix several types of pedantic compiler warnings.Matthew Barnes2009-05-211-2/+2
| |
* | Adapt addressbook to EShellBackend changes.Matthew Barnes2009-05-071-3/+3
| | | | | | | | Builds, but not tested. Use as a reference for other backends.
* | Rewrite the mail label code from top to bottom.Matthew Barnes2009-02-081-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Kill the e-util-labels API and read label information into a single-column GtkListStore. Use GConfBridge to automatically keep GConf synched with the list store. - The list store (a singleton instance) is stored in EShellSettings so it's available everywhere. - The list store serves as the model for EMailLabelTreeView, which itself is embedded in EMailLabelManager; a complete label management UI as seen in the preferences dialog. - EMailLabelDialog is used to add or edit a label. Avoid using a color button, instead embed a GtkColorSelection directly in the dialog so everything is in one window. Open issues: - The weird toggle/color/text menu items in the popup menu aren't there. For now they're just regular toggle items. I'll deal with it later. - Filter intergration is broken at the moment. svn path=/branches/kill-bonobo/; revision=37233
* | Progress update:Matthew Barnes2008-11-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Tighter integration of GalViewInstance and EShellView. - EBinding. Stolen from ExoBinding. Lets you bind GObject properties together to automatically keep their values in sync. This is a godsend. Added to e-util, but might even deserve a place in libedataserver. - EShellSettings. This is the concept I blogged about. Already started ripping apart em-mailer-prefs.c. Others to follow. Any place where we're monitoring GConf keys is a target. - Incremental progress on the calender and mailer. Got EMFolderView somewhat working, but I think I'll be killing off EMFolderBrowser. svn path=/branches/kill-bonobo/; revision=36795
* | Merge revisions 36534:36684 from trunk.Matthew Barnes2008-10-251-0/+1
| | | | | | | | svn path=/branches/kill-bonobo/; revision=36685
* | Merge revisions 36016:36533 from trunk.Matthew Barnes2008-10-021-0/+3
| | | | | | | | svn path=/branches/kill-bonobo/; revision=36534
* | Merge revisions 36016:36303 from trunk.Matthew Barnes2008-09-111-15/+14
|/ | | | svn path=/branches/kill-bonobo/; revision=36307
* ** Fix for bug #540160Milan Crha2008-06-261-0/+3
| | | | | | | | | | | | | | | 2008-06-26 Milan Crha <mcrha@redhat.com> ** Fix for bug #540160 * message-list.h: (struct _MessageList): * message-list.c: (message_list_init), (on_cursor_activated_cmd), (on_selection_changed_cmd): Remember whether we come from none/multi select to single select and properly update the preview. (Reverting patch for bug #337160 and doing that with other approach.) svn path=/trunk/; revision=35684
* fixed copyright noticesJeffrey Stedfast2008-06-211-1/+1
| | | | svn path=/trunk/; revision=35663
* ** Fix for bug #467892Milan Crha2008-06-161-0/+5
| | | | | | | | | | | | | | | | | 2008-06-16 Milan Crha <mcrha@redhat.com> ** Fix for bug #467892 * message-list.h: (struct _MessageList), (message_list_ensure_message): * message-list.c: (message_list_init), (message_list_finalise), (message_list_ensure_message), (regen_list_exec), (regen_list_done): Be able to set a message uid to keep in a list after regeneration. * em-folder-view.c: (em_folder_view_open_selected): Inherit search criteria and ensure keeping the selected message in the view even it may not belong to the filter anymore. svn path=/trunk/; revision=35640
* ** Allow evolution to build with G_DISABLE_SINGLE_INCLUDES andMatthew Barnes2008-06-061-2/+1
| | | | | | | | | | 2008-06-06 Matthew Barnes <mbarnes@redhat.com> ** Allow evolution to build with G_DISABLE_SINGLE_INCLUDES and GTK_DISABLE_SINGLE_INCLUDES defined. (#536637) svn path=/trunk/; revision=35606
* ** Fixes bug #534360Matthew Barnes2008-05-231-1/+1
| | | | | | | | | | | | 2008-05-22 Matthew Barnes <mbarnes@redhat.com> ** Fixes bug #534360 Migrate from deprecated GtkObject symbols to GObject equivalents. Touches over 150 files in all components; too many to list. svn path=/trunk/; revision=35526
* ** Fix for bug #519292Milan Crha2008-03-271-1/+0
| | | | | | | | | | | | | | | | | | 2008-03-27 Milan Crha <mcrha@redhat.com> ** Fix for bug #519292 * mail/message-list.h: (message_list_set_expand_all): * mail/message-list.c: (message_list_set_expand_all): Remove unused confusing function. * mail/message-list.c: (regen_list_done): Use numbers instead of gboolean value. * widgets/table/e-tree-table-adapter.c: (set_expanded_state_func), (set_collapsed_state_func): Use rather recurse function. svn path=/trunk/; revision=35271
* ** Fix for bug #211353Milan Crha2007-12-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-12-14 Milan Crha <mcrha@redhat.com> ** Fix for bug #211353 * message-list.etspec: * message-list.h: * message-list.c: Added new column to show labels. * filtertypes.xml: * vfoldertypes.xml: Code for label filters/search folders has been changed. * mail-config.glade: * em-folder-view.c: (emfv_set_label), (emfv_unset_label), (emfv_popup_label_clear), (emfv_popup_label_set), (emfv_popup_labels_get_state_for_tag), (emfv_popup): Labels popup submenu is now shown with checkboxes so one can set more than one label to the message and unset only one label from message. There has been added new function, because of this. * mail-config.h: * mail-config.c: New "interface" functions to work with labels. * em-mailer-prefs.h: * em-mailer-prefs.c: Editing labels in tree. * em-folder-browser.c: Labels in show menu reflect changes in preferences. 2007-12-14 Milan Crha <mcrha@redhat.com> ** Part of fix for bug #211353 * filter-label.c: Use global label's setup, not its own copy. 2007-12-14 Milan Crha <mcrha@redhat.com> ** Part of fix for bug #211353 * e-popup.h: * e-popup.c: (ep_build_tree): Toggles can be in inconsistent state now, and can also contain an image, which is a pointer to GtkImage widget. 2007-12-14 Milan Crha <mcrha@redhat.com> ** Part of fix for bug #211353 * e-search-bar.c: (e_search_bar_get_viewitem_id): Return -1 if no viewmenu is setup yet. svn path=/trunk/; revision=34715
* ** Fix for bug #216485 Edit->Select thread menu fix and improvement.Nicholas Miell2007-11-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | 2007-11-26 Nicholas Miell <nmiell@gmail.com> ** Fix for bug #216485 Edit->Select thread menu fix and improvement. * mail/em-folder-browser.c: (emfb_edit_select_subthread): new function, (emfb_enable_map, emfb_verbs) hook it up * mail/message-list.c: (select_thread): new function based on thread_select_foreach, (thread_select_foreach): remove the logic now in select_thread, (message_list_select_thread): use select_thread, (subthread_select_foreach): new function, (message_list_select_subthread): new function * mail/message-list.h: (message_list_select_subthread): add prototype * ui/evolution-mail-list.xml Add Select Message Subthread svn path=/trunk/; revision=34585
* ** Fix for bug #335931Milan Crha2007-11-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | 2007-11-23 Milan Crha <mcrha@redhat.com> ** Fix for bug #335931 * message-list.c: (struct _regen_list_msg): New member last_row. * message-list.c: (regen_list_regen): Store last_row for later use. * message-list.c: (regen_list_regened): Restore row based on last_row when no uid was selected before. * message-list.c: (mail_regen_list): Init new last_row member. * em-folder-view.c: (emfv_select_next_message): New helper function to select messages in list. * em-folder-view.c: (emfv_popup_mark_junk), (emfv_popup_mark_nojunk), (emfv_popup_delete): Using new helper function, so get same behavior. * message-list.h: (struct _MessageList): * message-list.c: (on_cursor_activated_cmd): Removed cursor_row member. svn path=/trunk/; revision=34567
* ** Remove trailing whitespace from source code.Matthew Barnes2007-11-151-10/+10
| | | | | | | | | 2007-11-14 Matthew Barnes <mbarnes@redhat.com> ** Remove trailing whitespace from source code. svn path=/trunk/; revision=34537
* Update FSF address in header comments (#469886). Patch from TobiasMatthew Barnes2007-09-021-1/+1
| | | | | | | | | | 2007-09-02 Matthew Barnes <mbarnes@redhat.com> * Update FSF address in header comments (#469886). Patch from Tobias Mueller. svn path=/trunk/; revision=34151
* Fix compilation warnings in mail folder (#437935).Matthew Barnes2007-06-031-0/+1
| | | | svn path=/trunk/; revision=33628
* ** Pushing a downstream fix in SUSE.Srinivasa Ragavan2006-09-281-3/+0
| | | | | | | | | | | | 2006-09-28 Srinivasa Ragavan <sragavan@novell.com> ** Pushing a downstream fix in SUSE. * message-list.c: (message_list_init), (message_list_destroy), (folder_changed), (regen_list_regened): Fix to indicate object destroy * message-list.h: removed the old mechanism. svn path=/trunk/; revision=32819
* Added support for Vertical View in Evolution Mailer with custom message list.Srinivasa Ragavan2006-06-031-0/+3
| | | | svn path=/trunk/; revision=32071
* Committing a patch from Victor for adding a Sender header to message list.Srinivasa Ragavan2006-04-261-1/+2
| | | | svn path=/trunk/; revision=31905
* s/int/guint/g for 1-bit bitfield. Remove cruft use guint for 1-bitKjartan Maraas2006-02-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-01-09 Kjartan Maraas <kmaraas@gnome.org> * em-account-editor.h: s/int/guint/g for 1-bit bitfield. * em-composer-utils.c: (em_utils_redirect_message): Remove cruft * em-folder-tree.c: (emft_drop_target): use guint for 1-bit bitfield and rename a variable with a name clash. * em-folder-utils.c: (em_folder_utils_rename_folder): Rename var to avoid name clashes. * em-folder-view.c: guint for 1-bit bitfields. * em-folder-view.h: Same as above. * em-format-html-print.h: Again. * em-format-html.c: (efh_text_html), (efh_multipart_related): Add comments * em-format.c: (emf_multipart_alternative): Add comment about using var that is passed in rather than a local variable. * em-inline-filter.c: (emif_scan): Remove unused var. Mark code static. * em-mailer-prefs.h: guint for 1-bit bitfields. * em-migrate.c: (em_migrate_folder): mark a struct static. remove unused var * em-subscribe-editor.c: guint for 1-bit bitfield * em-utils.c: remove unused function * em-vfolder-rule.c: mark array static * importers/mail-importer.c: (decode_status): Remove unused code. Use guint for 1-bit bitfield. * mail-autofilter.c: (rule_from_message): rename a variable * mail-component.c: guint for 1-bit bitfield * mail-folder-cache.c: (update_1folder): remove unused code * mail-mt.c: mark some structs static * message-list.c: (message_list_select_uid), (ml_value_to_string), (ml_tree_value_at), (find_next_undeleted), (build_tree), (build_flat): Remove unused code and fix some format specifiers. svn path=/trunk/; revision=31448
* ** Fixes bug #218570Srinivasa Ragavan2006-01-161-0/+3
| | | | | | | | | | | | | | | | | | | | | 2006-01-16 Srinivasa Ragavan <sragavan@novell.com> ** Fixes bug #218570 * em-folder-browser.c (emfb_expand_all_threads), (emfb_collapse_all_threads), (emfb_set_folder), (emfb_activate): Added code to handle expande/collapse all and call e-tree for regen of the list. * message-list.c (load_tree_expand_all), (message_list_set_threaded_expand_all), (message_list_set_threaded_collapse_all), (message_list_set_expand_all), (regen_list_regened): Added code to conditionally check for expand/collapse all and save the state after the operation. * message-list.h: Added state variable for expand/collapse all of threads. svn path=/trunk/; revision=31204
* Retired GAL from Head. The relevant files have moved inside evolution.Kaushal Kumar2005-06-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-06-17 Kaushal Kumar <kakumar@novell.com> * Retired GAL from Head. The relevant files have moved inside evolution. Thanks to JP Rosevear for performing the cvs surgery. The files have been moved in the following order. evolution/e-util <- gal/gal/util evolution/a11y <- gal/gal/a11y evolution/a11y/e-table <- gal/gal/a11y/e-table evolution/a11y/e-text <- gal/gal/a11y/e-text evolution/widgets/table <- gal/gal/e-table evolution/widgets/text <- gal/gal/e-text evolution/widgets/misc <- gal/gal/widgets evolution/widgets/misc/pixmaps <- gal/gal/widgets/pixmaps evolution/widgets/menus <- gal/gal/menus Following is the summary of changes done to fix the build:- - New files added to cvs repository, - a11y/e-table/Makefile.am - a11y/e-text/Makefile.am - widgets/table/Makefile.am - widgets/text/Makefile.am - widgets/misc/pixmaps/Makefile.am - iconv-detect.h - iconv-detect.c - Updated configure.in. - Updated all the relevant Makefile.am files. - Updated the include paths to replace all gal references. - Updated the marshal list to suit gal files requirements. svn path=/trunk/; revision=29522
* forward-reference structuresNot Zed2005-05-161-1/+2
| | | | | | | | | | | | | | 2005-05-16 Not Zed <NotZed@Ximian.com> * mail-vfolder.h: * mail-autofilter.h: forward-reference structures * *.h: Make installed headers includable from mail/ * Makefile.am (mailinclude_HEADERS): install various mail headers as first cut at public plugin api. svn path=/trunk/; revision=29371
* ** See bug #70768.Not Zed2005-01-181-8/+1
| | | | | | | | | | | | | | | 2005-01-18 Not Zed <NotZed@Ximian.com> ** See bug #70768. * em-folder-browser.c (emfb_mark_all_read): get the uid list from the message-list (view) rather than folder (model). * message-list.c (message_list_foreach): removed, no longer used. (message_list_get_uids): new function replacing ml_foreach, get visible uids's of messages. svn path=/trunk/; revision=28425
* ** See #57972.Not Zed2004-07-281-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 2004-07-27 Not Zed <NotZed@Ximian.com> ** See #57972. * message-list.c (search_func): removed. (ml_search_path): new function to just search, not actually change the cursor like e_tree_find does. (message_list_can_select): new function, returns true if the selection specified is possible without changing the selection. (message_list_select): rewritten. (select_path): helper to select a path in a way that 'works reliably'. (message_list_select_next_thread): rewritten to use the table-adapter, so it properly handles arbitrary sorting. * em-folder-view.c (em_folder_view_get_popup_target): setup next/prev flags as appropriate. (emfv_enable_map[]): setup next/prev flags. * em-folder-view.h: added last and first message status bits to folder view select mask. svn path=/trunk/; revision=26749
* add marshaller for p_ppppp call.Not Zed2004-05-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-05-21 Not Zed <NotZed@Ximian.com> * mail-mt.c (do_call): add marshaller for p_ppppp call. * mail-session.c (get_password): fix for camel api changes. (forget_password): same. ** See #58376. * message-list.c (mail_regen_list): do some timeout foo so we don't keep doing list regnerations if we're getting called too often. God knows what this will break. (message_list_set_selected): removede bug printf. (regen_list_free): move the message-list poking stuff into regen_list_regened. (message_list_set_folder): call mail_regen_cancel to cancel any regen stuff. (mail_regen_cancel): cancel/clear outstanding regenerations. (message_list_destroy): do it here too. (message_list_select_uid): also set the pending select uid if we have a timeout pending. * mail-component.c (impl_createControls): set the defualt parent to the main folderview as soon as its created. * em-folder-tree.c (emft_popup_copy_folder_selected): use get_toplevel rather than get_ancestor. seems the more reliable one. also we're always parented so we shoudl always find a toplevel window. (em_folder_tree_create_folder): same. (emft_popup_delete_response): set error parent. (emft_popup_delete_folder, emft_popup_rename_folder) (emft_popup_rename_folder, emft_popup_rename_folder): svn path=/trunk/; revision=26030
* ** See #57583.Not Zed2004-05-201-0/+1
| | | | | | | | | | | | | | | 2004-05-20 Not Zed <NotZed@Ximian.com> ** See #57583. * message-list.c (build_tree): save/restore the selection when we update. (message_list_set_selected): util to set the selected messages from a list of uids. (build_flat): same. I wonder if etree's unbroken enough to use it more directly? svn path=/trunk/; revision=26006
* Fix for bug #57968Jeffrey Stedfast2004-05-041-0/+3
| | | | | | | | | | | | | | | | | | | 2004-05-03 Jeffrey Stedfast <fejj@ximian.com> Fix for bug #57968 * message-list.c (message_list_set_folder): Save the tree/hide state of the current folder before clearing the message-list. (message_list_set_folder): Note that a new folder has just been set (now needed by the regen code to tell whether or not it should save the tree state before clearing the tree). (message_list_destroy): Save the tree/hide state before destroying the message-info's, not after. (regen_list_regened): If the regen is being performed in response to a message_list_set_folder, don't save the tree state before clearing the tree or we'll clobber the real state with bogus data. svn path=/trunk/; revision=25767
* Added a new "message_list_scrolled" signal so our users can listen to thisJeffrey Stedfast2004-04-151-0/+1
| | | | | | | | | | | 2004-04-14 Jeffrey Stedfast <fejj@ximian.com> * message-list.c: Added a new "message_list_scrolled" signal so our users can listen to this event in order to update saved state. (message_list_get_scrollbar_position): Simplified. (message_list_set_scrollbar_position): Simplified. svn path=/trunk/; revision=25470
* ugh, use the queued thread to get the folder, otherwise we can get foldersNot Zed2004-04-141-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-04-14 Not Zed <NotZed@Ximian.com> * em-folder-view.c (emfv_set_folder_uri): ugh, use the queued thread to get the folder, otherwise we can get folders set on the display out of order. * message-list.c (message_list_set_search): if we set this while frozen, save the search elsewhere. (message_list_thaw): if we had a frozen-time search, use it when we regenerate. * em-folder-browser.c (emfb_set_folder): freeze/thaw the messagelist around changes so we don't have multiple updates fire off changing folders. (emfb_activate): remove an unused variable i never used. * message-list.c (message_list_freeze, message_list_thaw): lock some updates to the ui, so you can do things like set folder and search atomically. (message_list_set_threaded, message_list_set_hidedeleted) (message_list_set_search, message_list_hide_uids) (message_list_hide_clear, message_list_set_folder): dont refresh the list if we're frozen. svn path=/trunk/; revision=25458
* ** See bug #56149.Not Zed2004-04-141-1/+0
| | | | | | | | | | | | | | | | | | 2004-04-14 Not Zed <NotZed@Ximian.com> ** See bug #56149. * em-folder-view.c (emfv_edit_cut): similar to below, use focus to determine who we select from. (emfv_edit_copy): ditto. * message-list.c: Remove primary selection stuff. It just annoys. * em-folder-browser.c (emfb_edit_copy): use focus rather than selection owner to determine who to copy from. (emfb_edit_cut): similarly. svn path=/trunk/; revision=25455
* New function. (message_list_set_scrollbar_position): New function.Jeffrey Stedfast2004-04-131-0/+3
| | | | | | | | | | | | | 2004-04-12 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (message_list_get_scrollbar_position): New function. (message_list_set_scrollbar_position): New function. * em-utils.c (em_uri_to_camel): If the provider is unavailable, return euri like the other fail cases. Fixes bug #56846. svn path=/trunk/; revision=25417
* merged spam filtering branchRadek Doulik2003-11-131-0/+3
| | | | svn path=/trunk/; revision=23302
* cvs removed.Not Zed2003-09-181-13/+60
| | | | | | | | | | | | | | | | | | | | | | | | | 2003-09-17 Not Zed <NotZed@Ximian.com> * folder-browser.c, folder-browser.h, folder-browser-ui.c folder-browser-ui.h, mail-callbacks.c, mail-callbacks.h mail-display.c, mail-display.h, mail-display-stream.c mail-display-stream.h, mail-format.c, mail-format.h mail-identify.c, mail-search.c, mail-search.h message-browser.c, message-browser.h, subscribe-dialog.c subscribe-dialog.h, mail-font-prefs.c, mail-font-prefs.h: cvs removed. * Makefile.am: Removed mail-font-prefs.[ch], hasn't been built for ages. * em-*.c: killed a bunch of printfs. * em-format-html-display.c (efhd_html_button_press_event): update for html object api chagnes. ** Merge in mail-refactor-2 branch. svn path=/trunk/; revision=22602
* Fixes bug #40074.Jeffrey Stedfast2003-03-271-0/+2
| | | | | | | | | | | | | | 2003-03-26 Jeffrey Stedfast <fejj@ximian.com> Fixes bug #40074. * folder-browser-factory.c (control_deactivate): Save message-list state. * message-list.c (message_list_save_state): Save the various states. svn path=/trunk/; revision=20525
* Register a destroy virtual method. (mail_accounts_tab_destroy): SetJeffrey Stedfast2003-02-121-7/+11
| | | | | | | | | | | | | | 2003-02-11 Jeffrey Stedfast <fejj@ximian.com> * mail-accounts.c (mail_accounts_tab_class_init): Register a destroy virtual method. (mail_accounts_tab_destroy): Set mail_display->destroyed = TRUE. * message-list.c (message_list_destroy): Set mail_display->destroyed = TRUE. This is a workaround for the GTK_OBJECT_DESTROYED() macro that we used to use before. svn path=/trunk/; revision=19884
* gnome_pixmap -> gtkimage. (construct): gtk_clist -> gtk_tree_view, setupNot Zed2002-12-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-27 Not Zed <NotZed@Ximian.com> * message-tag-followup.c (construct): gnome_pixmap -> gtkimage. (construct): gtk_clist -> gtk_tree_view, setup columns. They dont size well :-/ (message_tag_followup_append_message): Append using model, remove clist stuff. (construct): Show date edit (glade bugs?) * folder-browser.c (folder_browser_class_init): gtk_marshal -> g_cclosure_marshal (setup_popup_icons): gnome_pixmap -> gtk_image. (on_right_click): gtk_pixmap -> gtk_image. * mail-accounts.c (account_delete_clicked): removed #if 0'd out code. * mail-send-recv.c (receive_done): remove FIXME and extra unref. * mail-session.c (request_password): Removed #if 0'd out stuff. * mail-vfolder.c (new_rule_clicked): proper cast for g_object_get_data. * mail-local.c (reconfigure_response): cast for g_object_get_data. * mail-account-editor.c (construct): GNOME_DIALOG -> GTK_DIALOG. * *.[ch]: re-ran fix.sh for e_notice change * mail-callbacks.c (save_msg_ok): g_object_get_data + gtk_object_remove_no_notify -> g_object_steal_data. (find_socket): gtk_container_children -> gtk_container_get_children (edit_msg): gnome_*_dialog -> gtk_message_dialog. (resent_msg): " (search_msg): " (confirm_goto_next_folder): gtkmessagedialogised (even if not used). (confirm_expunge): gtkmessagedialogised (filter_edit): " (do_mail_print): e_notice -> gtk_message_dialog. (are_you_sure): removed e_gnome_ok_cancel_dialog crap, replaced with a gtk dialog. (are_you_sure): gtkmessagedialogised. (edit_msg_internal): Dont free uids array, are_you_sure() free's it. (resend_msg): Same. (check_send_configuration): Use e_notice for stuff. Sigh, here we go again ...! (e_question): A utility function to ask a question, potentially with 'dont ask again' as well. (configure_mail): use e_question to save code. Here we go again, again ... (ask_confirm_for_unwanted_html_mail): " (ask_confirm_for_only_bcc): " (ask_confirm_for_only_bcc): " (composer_get_message): Use e_notice. (composer_save_draft_cb): Use e_question (edit_msg): use e_notice, & change to an ERROR. (resend_msg): same. (save_msg_ok): Properly initialise ret to OK, and use e_question, and use access() to determine existance/write access rather than stat, display an error if we can't write to a file that exists, and print the filename in all dialogues. (confirm_goto_next_folder): Use e_question. (confirm_expunge): use e_question. (filter_edit): Use e_notice. (do_mail_print): use e_notice. svn path=/trunk/; revision=18974
* New convenience function to get a cached normalised string.Jeffrey Stedfast2002-06-181-2/+9
| | | | | | | | | | | | | | | | | | 2002-06-17 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (get_normalised_string): New convenience function to get a cached normalised string. (subject_compare): Removed, as we strip Re:'s when normalising the subject strings now. (ml_tree_value_at): Added support for the normalised columns (used for a sorting optimisation). (message_list_init): Initialise normalised_hash. (message_list_destroy): Destroy normalised_hash. (message_list_create_extras): Removed subject_compare. (main_folder_changed): De-cache normalised strings for any removed uids. svn path=/trunk/; revision=17213
* If we dont get a folder, dont try and get details off it. Should get ridNot Zed2002-06-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-06-11 Not Zed <NotZed@Ximian.com> * folder-info.c (do_get_info): If we dont get a folder, dont try and get details off it. Should get rid of most of those annoying summary warnings, but not the cause of them. 2002-06-06 Not Zed <NotZed@Ximian.com> * message-list.c (mail_regen_list): Keep track of the regeneration request in a list. (regen_list_free): Remove the request from the regenreation list. (message_list_set_folder): If there are any outstanding regneration requests, cancel them. (regen_list_regened): If we were cancelled, do nothing. (regen_list_regen): If we were cancelled, shortcut processing. This is all for #23571. * message-list.c (regen_list_regen): Change the way we calculate the hide deleted messages and tree view options. Do it based on a search and uid's rather than a summary. (regen_list_regened): Handle changes to tree storage. (mail_regen_list): The tree is now stored between updates, so we can update the tree structure incrementally. This blows out memory use some however. We need an etree that uses this as its model directly? (message_list_destroy): Free the thread tree. (message_list_set_folder): Clear the thread tree when changing folder. svn path=/trunk/; revision=17165
* Keep track of the regeneration request in a list. (regen_list_free):Not Zed2002-06-061-0/+3
| | | | | | | | | | | | | | | 2002-06-06 Not Zed <NotZed@Ximian.com> * message-list.c (mail_regen_list): Keep track of the regeneration request in a list. (regen_list_free): Remove the request from the regenreation list. (message_list_set_folder): If there are any outstanding regneration requests, cancel them. (regen_list_regened): If we were cancelled, do nothing. (regen_list_regen): If we were cancelled, shortcut processing. This is all for #23571. svn path=/trunk/; revision=17129
* Implement, return a text description of the localfolder.Not Zed2002-06-031-1/+2
| | | | | | | | | | | | | | | | | 2002-06-01 Not Zed <NotZed@Ximian.com> * mail-local.c (mlf_getv): Implement, return a text description of the localfolder. * message-list.c (ml_duplicate_value): (ml_free_value): (ml_initialize_value): (ml_value_is_empty): (ml_value_to_string): (ml_tree_value_at): Implement COL_LOCATION, original location of message (useful for vfolder). svn path=/trunk/; revision=17072
* Implemented.Jeffrey Stedfast2002-03-151-0/+2
| | | | | | | | | | | 2002-03-14 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (next_thread): Implemented. * message-list.c (message_list_select_next_thread): New function to select the next thread. svn path=/trunk/; revision=16165
* Prompt the user to find out if he/she wants to go to the next folder withJeffrey Stedfast2002-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-19 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (confirm_goto_next_folder): Prompt the user to find out if he/she wants to go to the next folder with unread mail in it. (find_current_folder): Find a given CamelFolderInfo node based on a given uri. (find_next_folder_r): Recursively look for a CamelFOlderInfo node which has unread messages. (find_next_folder): Given a currently selected CamelFolderInfo node, look for the next node containing unread messages. (do_evil_kludgy_goto_next_folder_hack): Find the currently selected folder and then find the very next folder after it that contains unread messages and then select it via a CORBA call to the shell. (next_unread_msg): If we fail to find an unread message in the message-list, prompt the user to find out if we should jump to the next fodler containing unread messages. If so, call do_evil_kludgy_goto_next_folder_hack(). * message-list.c (message_list_select): Return a boolean value based on whether the call was successfull or not. * mail-config.c (mail_config_get_confirm_goto_next_folder): (mail_config_set_confirm_goto_next_folder): (mail_config_get_goto_next_folder): (mail_config_set_goto_next_folder): All new functions, yay. (config_read): Read in the confirm_goto_next_folder and goto_next_folder config options. (mail_config_write_on_exit): Same the options here. svn path=/trunk/; revision=15770
* Get followup-up message-list values. Also highlight the message in red ifJeffrey Stedfast2002-02-121-3/+4
| | | | | | | | | | | | | | | | | | 2002-02-11 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (ml_tree_value_at): Get followup-up message-list values. Also highlight the message in red if the due-by date is past due (this is what Outlook does). (ml_duplicate_value): Handle follow-up columns. (ml_free_value): Same. (ml_initialize_value): Here too. (ml_value_is_empty): And here. (ml_value_to_string): And finally here. * message-tag-followup.c (message_tag_followup_i18n_name): New convenience function. svn path=/trunk/; revision=15680
* Bumped the required version of gal.Christopher James Lahey2002-02-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-07 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped the required version of gal. From addressbook/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * gui/widgets/e-addressbook-view.c (e_addressbook_view_setup_menus): Changed this function to use the new GalViewMenus which takes a GalViewInstance, instead of a GalViewCollection. From calendar/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * gui/e-tasks.c (e_tasks_setup_view_menus), gui/gnome-cal.c (gnome_calendar_setup_view_menus): Made these use the new GalViewMenus stuff. From mail/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * folder-browser.c, folder-browser.h, folder-browser-ui.c, folder-browser-ui.h (folder_browser_ui_setup_view_menus, folder_browser_ui_discard_view_menus): Changed this to use the new GalViewMenus stuff. Made these exported functions. * mail-callbacks.c, message-browser.c: Changed these to not pass the now removed row parameter to message_list_select. * mail-config.c, mail-config.h (mail_config_folder_to_safe_url): Refactored this out of mail_config_folder_to_cachename. * message-list.c, message-list.h (message_list_select): Removed the row argument. Changed this to use the new function in ETree for finding the next cursor row that matches a test. (message_list_construct): Handle a failed construction of the ETree here. (message_list_setup_etree, save_tree_state): Don't load or save the header state. folder-browser-ui.c deals with this now. From views/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * addressbook/galview.xml, calendar/galview.xml, mail/galview.xml, tasks/galview.xml: Added default-view parameters. * mail/As_Sent_Folder.galview: New galview. * mail/Makefile.am, mail/galview.xml: Added As_Sent_Folder galview. From widgets/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * menus/gal-view-menus.c, menus/gal-view-menus.h (gal_view_menus_new): Made this take a GalViewInstance instead of a GalViewCollection. Reworked most of this to utilize the interfaces provided by GalViewInstance. svn path=/trunk/; revision=15592
* Add ETable magic for our new "Needs Reply" column. (The next few entriesJon Trowbridge2001-12-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-12-11 Jon Trowbridge <trow@ximian.com> * message-list.etspec: Add ETable magic for our new "Needs Reply" column. (The next few entries are for bug #90) * message-list.h: Add COL_NEED_REPLY. * message-list.c: Move mail_need_reply_xpm to the end of states_pixmaps. (ml_duplicate_value): Handle COL_NEED_REPLY. (ml_free_value): Handle COL_NEED_REPLY. (ml_initialize_value): Handle COL_NEED_REPLY. (ml_value_is_empty): Handle COL_NEED_REPLY. Added needs_reply_map[] array. (ml_value_to_string): Handle COL_NEED_REPLY. (ml_tree_value_at): Fix magic numbers, undoing my changes from the otehr day. Add handler for COL_NEED_REPLY. (message_list_create_extras): Attach icons for COL_NEED_REPLY. (on_click): Undo my previous changes to display need-reply status in COL_MESSAGE_STATUS. Add handing for COL_NEED_REPLY. * mail.h: Change mail_format_mime_message, mail_format_raw_message and the MailMimeHandlerFn typedef to take GtkHTML and GtkHTMLStream args, as per our changes in mail-format.c. * mail-format.c: Giant refactoring. Remove the assumption throughout that we will always want to render into the GtkHTML object contained in the MailDisplay. Instead, always pass in the GtkHTML and GtkHTMLStream that we want to write to. Also, ignore theme work-arounds if the printing flag is set. (This and what follows fixes bug #82) * mail-display.h: Remove GtkHTMLStream *stream from MailDisplay. We don't need it anymore. * mail-display.c (mail_display_render): Added. Breaks the code that renders the message into the GtkHTML object out of mail_display_redisplay. (mail_display_redisplay): Call mail_display_render. (mail_display_init): Remove reference to ->stream. (mail_display_new): Remove reference to ->stream. * mail-callbacks.c (do_mail_print): Create a new GtkHTML to render our printed version into (via the new function mail_display_render. Set the MailDisplay's printing flag to TRUE before we render, and set it back to FALSE afterwards. (do_mail_fetch_and_print): If the preview pane isn't open when we try to print, fetch the message before printing. (print_msg): Call do_mail_fetch_and_print. (print_preview_msg): Call do_mail_fetch_and_print. * folder-browser-ui.c: Remove "PrintMessage" and "PrintPreviewMessage" from message_pane_enables... these now work when the preview pane is closed. Disable printing if multiple messages are selected. svn path=/trunk/; revision=14981
* Added an async_event handler to store_info. (mail_note_store): Setup asyncMichael Zucci2001-10-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mail-folder-cache.c: Added an async_event handler to store_info. (mail_note_store): Setup async event handler here. (store_finalised): Flush out async events here. (folder_changed): Use async event handler to emit event. (mail_note_folder): Chagned, do most of the work in the calling context, only do the corba stuff in main. (store_folder_subscribed): Use async event, and do more work locally. (store_folder_unsubscribed): Same. (store_folder_deleted): Call store_folder_unsubscribed if we have to do any work. (store_folder_created): Call store_folder_subscribed if we have to do any work. (store_folder_unsubscribed): Ref store while busy. (real_folder_deleted): And unref here. (store_folder_subscribed): Reg store while busy. (real_folder_created): Unref here. (mail_note_folder): Ref folder while busy. (real_note_folder): And unref here. (mail_note_folder): Hook onto folder_deleted event. (folder_deleted): Just mark this folder as no longer available. * mail-session.c (register_timeout): Use mail_call_main instead of proxy_event. (remove_timeout): Same here. * folder-browser.c (folder_changed): use the new mail_async_event stuff. (folder_changed_main): Remove old async event handling stuff. (FOLDER_BROWSER_LOCK/UNLOCK): Removed. (FolderBrowserPrivate): Removed too, sigh. * mail-mt.c (mail_async_event_new, mail_async_event_emit, mail_async_event_destroy): New functions to handle async events. (mail_proxy_event, mail_proxy_event_id): Removed old functions for async events. (do_call): Add suport for MAIL_CALL_p_pp. (mail_msg_free): Use mail_async_event instead of proxy_event. * message-list.c (message_changed): Promote the message_changed to a folder_changed and use main_folder_changed to process it. (main_message_changed): Remove.d (message_list_init): Setup async event handler. (message_list_destroy): Remove async handler. (folder_changed): Use async hanler to emit event in main loop. (message_changed): Same. svn path=/trunk/; revision=13698
* Revert the change to remove the Score column until Chris can fix ETable soDan Winship2001-10-131-0/+1
| | | | | | | | | * message-list.c, message-list.h, message-list.etspec: Revert the change to remove the Score column until Chris can fix ETable so it's possible to remove a column without breaking everyone's exisiting settings. svn path=/trunk/; revision=13646
* removed Score stuff from the message-listJeffrey Stedfast2001-10-131-1/+0
| | | | svn path=/trunk/; revision=13626
* General cleanup of mail debug printfs.92001-09-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-19 <NotZed@Ximian.com> * General cleanup of mail debug printfs. * mail-folder-cache.[ch]: Completely rewritten. Removed all calls to the old code everywhere they were used. Nuff said. * folder-browser.h: Add shell_view to folder_browser & api to set it. * folder-browser-factory.c (control_activate): Set the shell-view on the folder_browser. (control_deactivate): And clear it here. * folder-browser.c (folder_browser_destroy): Unhook from changed events on the folder before giving it away. (got_folder): Hook onto the folder-changed events. (folder_changed): Event hook proxy for folder_changed events (main_folder_changed): And the main code version. (update_status_bar): And the one that actually does the work. (on_selection_changed): Also call update_status_bar() to update the selection count. (folder_browser_set_shell_view): Implement function to set the shell_view on the folder_browser. (folder_browser_destroy): Release the shell_view here too. * mail-tools.c (mail_tool_uri_to_folder): Dont 'note' the new folder if its from a file: url, this is handled by hte local store (yeeruughck). * mail-local.c (mls_init): (free_info): (mls_finalise): Setup init/finalise funcs for the folderinfo hash. (local_storage_removed_folder_cb): re-enable. 2001-09-18 <NotZed@Ximian.com> * mail-local.c (MailLocalStore): Add a hash table to store uri<>folderinfo data. (mail_local_store_add_folder): Add a new folderinfo to our hash. (mail_local_store_remove_folder): Remove a folder by uri. (storage_listener_startup): Add this store to those monitored by the folder tree. svn path=/trunk/; revision=12974
* Add a @wraparound argument, so the 'n' and 'p' keypresses (or anythingJason Leach2001-08-051-1/+3
| | | | | | | | | | | | | | | 2001-08-04 Jason Leach <jleach@ximian.com> * message-list.c (message_list_select): Add a @wraparound argument, so the 'n' and 'p' keypresses (or anything else that wants to) can wrap around to find the next unread. * folder-browser.c (on_key_press): Tell it to wrap around here. * mail-callbacks.c (delete_msg): Don't wrap around here (or the other callbacks in this file). svn path=/trunk/; revision=11651
* Select the very next message after deleting, not the next undeleted (itJason Leach2001-07-071-0/+1
| | | | | | | | | | | | | | | | | 2001-07-06 Jason Leach <jleach@ximian.com> * mail-callbacks.c (delete_msg): Select the very next message after deleting, not the next undeleted (it can make things jump around in annoying ways if you are deleting many messages), bug #4032. * folder-browser.c: Forgot to commit the "Mark as Important" right click menu item. * message-list.c (message_list_set_folder): Setup the strikeout column here (after we've gotten the folder) so we can disable strikeouts for vtrash folders, part of bug #2224. svn path=/trunk/; revision=10849
* Removed the etable spec string. (message_list_construct): Load the etableJeffrey Stedfast2001-05-281-2/+0
| | | | | | | | | | | | | | | | | | | 2001-05-27 Jeffrey Stedfast <fejj@ximian.com> * message-list.c: Removed the etable spec string. (message_list_construct): Load the etable spec from a file. * folder-browser-factory.c: Load the etable spec from the file, not a string. * Makefile.am: Add message-list.etspec to be installed. * message-list.etspec: New file containing the ETable file specification. * mail-config.h: Prototype evolution_mail_config_get_type. svn path=/trunk/; revision=10025
* Instead of calling message_list_select_uid() here, instead connect to theJeffrey Stedfast2001-05-231-0/+1
| | | | | | | | | | | | | | | | | | | | 2001-05-22 Jeffrey Stedfast <fejj@ximian.com> * message-browser.c (message_browser_folder_loaded): Instead of calling message_list_select_uid() here, instead connect to the "message_list_loaded" signal since the message-list is not built yet at this point. (message_browser_message_list_built): Call message_list_select_uid() here instead. * message-list.c: Lets have a new signal, MESSAGE_LIST_BUILT, that gets emitted when the message-list has finished being built by one of the built_*() functions. (message_list_class_init): Setup the signal stuff. (regen_list_regened): Emit the signal here (should this perhaps be moved into each of the build_*() functions instead?). svn path=/trunk/; revision=9925
* Functions to determine if a folderbrowser is one of the drafts, sent, orDan Winship2001-05-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * folder-browser.c (folder_browser_is_drafts, folder_browser_is_sent, folder_browser_is_outbox): Functions to determine if a folderbrowser is one of the drafts, sent, or outbox folders. (got_folder): Pass TRUE for the "outgoing" flag to message_list_set_folder if this is a Sent, Drafts, or Outbox folder. * message-list.c (message_list_set_folder): Take a flag saying whether or not the folder is an "outgoing" folder. (message_list_setup_etree): Ditto. Use that rather than a hardcoded list of foldernames for deciding whether to swap From and To in the default layout. * mail-config.c (mail_config_folder_to_cachename): Make IMAP folders have unique cachenames rather than only one per store, so that IMAP Sent and Drafts folders don't get forced into having the same layout as the INBOX. * mail-callbacks.c: (is_sent_folder, is_drafts_folder): Gone. Replaced with simpler folder_browser_is_* routines. (edit_msg, resend_msg, open_msg): Use folder_browser_is_* routines. * mail-local.c (reconfigure_clicked): Update call to message_list_set_folder. svn path=/trunk/; revision=9857
* Use the message-browser widget rather than the mail-view window.Jeffrey Stedfast2001-04-241-0/+3
| | | | | | | | | | | | | | | | | | | 2001-04-23 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (do_view_message): Use the message-browser widget rather than the mail-view window. * mail-view.c: Removed. * folder-browser.c: Added a folder_loaded signal. * message-browser.[c,h]: New window to solve all our message browsing needs. This replaces mail-view.c. * message-list.c (message_list_select_uid): New function needed by the new message-browser window. svn path=/trunk/; revision=9525
* Add prototype for service_changed(). Remove #includeKjartan Maraas2001-04-051-1/+0
| | | | | | | | | | 2001-04-04 Kjartan Maraas <kmaraas@gnome.org> * mail-account-gui.c: Add prototype for service_changed(). * message-list.h: Remove #include <gal/e-table/e-tree-simple.h> since it doesn't get installed. svn path=/trunk/; revision=9183
* Cleaned up #includes. Remove unneccesary includes of <gnome.h>,Kjartan Maraas2001-03-301-4/+5
| | | | | | | | | | | 2001-03-29 Kjartan Maraas <kmaraas@gnome.org> * *.*: Cleaned up #includes. Remove unneccesary includes of <gnome.h>, <gtk/gtk.h>, <bonobo.h> and replaced with more fine grained headers where needed. Also marked a bunch of strings for translations and added some missing prototypes. svn path=/trunk/; revision=9025
* Create a vtrash folder, not a vee folder.Not Zed2001-03-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-29 Not Zed <NotZed@Ximian.com> * mail-local.c (init_trash): Create a vtrash folder, not a vee folder. * folder-browser-factory.c (control_activate): Hook in the hide deleted thingy. Removed MessageHideDeleted menu stuff. * message-list.c (message_list_set_hidedeleted): New function, to set if we should hide deleted messages automatically/always. (regen_list_regen): If we have hide deleted messages turned on, then hide them. (main_message_changed): Promote to a folder_changed event with a change list, folder_changed has the optimisations to handle this appropriately. (main_folder_changed): IF we get changes events for deleted/undeleted stuff, change to added/removed events, rebuild if necessary. (message_list_set_folder): Setup the default hidedeleted state to be to hide everything unless it is in a vtrash folder. svn path=/trunk/; revision=9009
* Bumped gal requirement to 0.5.99.8.Christopher James Lahey2001-03-201-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-19 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped gal requirement to 0.5.99.8. From addressbook/ChangeLog: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * Merged branch: 2001-03-14 Christopher James Lahey <clahey@ximian.com> * gui/widgets/e-minicard-view.c: Call e_selection_model_simple_insert_rows and e_selection_model_simple_delete_rows instead of e_selection_model_simple_insert_row and e_selection_model_simple_delete_row. End of branch From mail/ChangeLog: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * Merged e-tree-rework-branch: 2001-03-18 Christopher James Lahey <clahey@ximian.com> * message-list.c: Added has_save_id and get_save_id methods. * subscribe-dialog.c: Added arguments for e_tree_memory_callbacks_new of get_save_id and has_save_id to NULL. 2001-03-16 Christopher James Lahey <clahey@ximian.com> * message-list.c: Added a call to e_tree_memory_set_expanded_default to TRUE. Removed all calls to set_expanded on nodes while the tree is frozen since this fails miserably now. 2001-03-13 Christopher James Lahey <clahey@ximian.com> * message-list.c (message_list_get_layout): Turned off draw-grid. 2001-03-09 Christopher James Lahey <clahey@ximian.com> * folder-browser-factory.c, folder-browser.c, message-list.c, message-list.h, subscribe-dialog.c, subscribe-dialog.h, mail-callbacks.c: Converted these all to use ETree instead of ETable. End of branch From shell/ChangeLog: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * Merged e-tree-rework-branch: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * e-storage-set-view.c (etree_get_save_id): Made "root" detection deal properly with removed nodes. 2001-03-18 Christopher James Lahey <clahey@ximian.com> * e-shell-view.c (e_shell_view_save_settings): Added some unused code to implement saving of the expanded state. * e-storage-set-view.c: Added has_save_id and get_save_id methods. 2001-03-13 Christopher James Lahey <clahey@ximian.com> * e-storage-set-view.c (ETREE_SPEC): Set draw-grid here to false. 2001-03-09 Christopher James Lahey <clahey@ximian.com> * e-storage-set-view.c, e-storage-set-view.h: Chaned this to use ETree instead of ETable. End of branch svn path=/trunk/; revision=8839
* Move the proxy event outside the lock (otherwise we always deadlock).Not Zed2001-03-171-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-17 Not Zed <NotZed@Ximian.com> * mail-mt.c (mail_msg_free): Move the proxy event outside the lock (otherwise we always deadlock). * mail-local.c (reconfigure_clicked): Clear the message list during update inside the folder thingy. This is a hell mess, need to move the gui stuff to mail-callbacks and make this reconfigure thing a more generic func. * message-list.c (ml_value_to_string): Cleanup the logic to use lookup tables. (sort_uid_to_rows): Removed due to rewrite below. (build_flat_diff): Changes for node/summary/etc changes. Also do changed nodes too. (clear_tree): Free the info reference for nodes in our hashtable. (build_subtree): Ref the info reference in our hash/tree node. (on_click): Dont free message info, since we just got our ref to it. (remove_node_diff): Free messageinfo off node. (build_flat): Ref messageinfo. (message_list_set_folder): Allow a NULL folder to be set - i.e. clear the view. (message_list_set_folder): Emit a no message sleeted signal. (build_tree): Change cursor keeping stuff to work with new info. Turned off BROKEN_ETREE - well maybe it'll work. Check for duplicate messages displayed, etc. 2001-03-16 Not Zed <NotZed@Ximian.com> * message-list.h: Added uid_nodemap; mapping of uid's to e-tree nodes. * message-list.c (build_flat): Changed to take a summary argument, and to store node in node map, etc, and store info's in e-tree. (build_subtree): Changed to store node in node map, and to store info's in tree directly. (ml_tree_value_at): Changed to get info directly from tree node, removed allocated return value logic. (ml_tree_value_at): Removed all "fake node" handling, no fake nodes should ever exist. (id_is_uid, id_is_subject, id_uid, id_subject): Removed macro's no longer used. (new_id_from_uid, new_id_from_subject): Removed no longer used. (get_message_uid): (get_message_info): Treat tree node data as messageinfo. (message_list_select): Dont free the messageinfo, as its part of our data, not retrieved from folder. (message_list_drag_data_get): ditto. (subtree_unread): Treat tree node data as messageinfo. (subtree_size): ditto. (subtree_earliest): ditto. (clear_tree): Reset uid_nodemap on clear. (save_node_state): tree nodes == messageinfo's. (add_node_diff): ditto. (remove_node_diff): ditto. (main_folder_changed): use uid_nodemap to lookup changed nodes. (main_message_changed): ditto. svn path=/trunk/; revision=8775
* if doing a full update, save the cursor pos and restore it afterwards.Not Zed2001-02-131-1/+1
| | | | | | | | | | | | | | | 2001-02-12 Not Zed <NotZed@Ximian.com> * message-list.c (build_tree): if doing a full update, save the cursor pos and restore it afterwards. (on_cursor_activated_cmd): Copy the current_uid to a new string. I dont know why this is required, but it is. (message_list_destroy): Free the cursor_uid as we're done with it. (build_flat): IF the current uid disappeared from the list, then unset the message. (build_tree): Likewise. svn path=/trunk/; revision=8199
* Added libmenus.la.Christopher James Lahey2001-02-071-0/+2
| | | | | | | | | | | | | | 2001-02-06 Christopher James Lahey <clahey@ximian.com> * Makefile.am (evolution_mail_LDADD): Added libmenus.la. * folder-browser-factory.c (control_activate): Added GalView menus here. * message-list.c, message-list.h (message_list_get_layout): Made message_list_get_layout export. svn path=/trunk/; revision=8041
* Change from using filters for date and size to using e_cell_date andChristopher James Lahey2001-01-161-4/+0
| | | | | | | | | | 2001-01-15 Christopher James Lahey <clahey@ximian.com> * message-list.c, message-list.h: Change from using filters for date and size to using e_cell_date and e_cell_size. Moved a bunch of includes from the message-list.h to the message-list.c. svn path=/trunk/; revision=7524
* Merge from camel-mt-branch.Not Zed2000-12-241-2/+10
| | | | | | | | 2000-12-24 Not Zed <NotZed@HelixCode.com> * Merge from camel-mt-branch. svn path=/trunk/; revision=7153
* Always use the slow (full-update) version of the tree update code, to getNot Zed2000-12-161-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-16 Not Zed <NotZed@HelixCode.com> * message-list.c (build_tree): Always use the slow (full-update) version of the tree update code, to get around a bug(?) in etree. (build_flat): Likewise. 2000-12-15 Not Zed <NotZed@HelixCode.com> * mail-display.c (write_data_to_file): Dont blindly convert all parts to utf8, e.g. image/jpg. We only convert text/* parts, and only then if required. 2000-12-14 Not Zed <NotZed@HelixCode.com> * component-factory.c (create_view): cast over a warning. * folder-browser-factory.c: Add verbs for hide functions. * message-list.c (message_list_hide_clear): (message_list_hide_uids): (message_list_hide_add): Some api renaming. (message_list_hide_add): Allow ML_HIDE_SAME to be passed to mean not to change the upper/lower range at all. (hide_save_state): Save the state of the hide list to stable storage. (hide_load_state): Load the state of hte hide list. (message_list_set_folder): Load/save the state of the folder if it is changed/set. (message_list_destroy): Save the state of the folder hide list when done. (save_tree_state): If we wrote out an empty state file, simply remove it instead. * folder-browser.c (on_right_click): Add some hide menus. (hide_read): Hide read messages. (hide_deleted): Hide deleted messages. (hide_selected): Hide selected/current message. (hide_none): Show all hidden messages. (on_right_click): Lock around accesses to the message (inside mlist_detect_magic). (on_right_click): Free the mailing list name. 2000-12-13 Not Zed <NotZed@HelixCode.com> * folder-browser.c (on_right_click): Add camel locking since we call it directly. Whoever heard of a lock you 'down' to unlock? * message-list.c (mail_do_regenerate_messagelist): Added hide expression, messages to hide. Fixed all callers. (do_regenerate_messagelist): IF we have a hide expression, search and remove those from the uid list. If we have a hide range, apply that afterwards. (cleanup_regenerate_messagelist): Handle freeing the hide uid temporary data, if required. (message_list_destroy): Free hide data, also lock around all camel object stuff. (message_list_length): New function to get the number of messages avaialble to be hidden by range. (message_list_set_hide): Set the hide expression and range. Issue: Should hiding be remembered? (message_list_unhide_all): Turn off all hiding. (message_list_hide_uids): Hide a list of uid's. svn path=/trunk/; revision=7061
* Ignore double-clicks on "active" columns (the ones where clicking doesDan Winship2000-12-121-0/+3
| | | | | | | | * folder-browser.c (on_double_click): Ignore double-clicks on "active" columns (the ones where clicking does something beyond "select"), fixing bug #811 svn path=/trunk/; revision=6910
* Remove the never-once-used BonoboObject stuff and make MessageList be aDan Winship2000-12-121-21/+19
| | | | | | | | | | | | | | | | | | | | | | | | | * message-list.c: Remove the never-once-used BonoboObject stuff and make MessageList be a GtkWidget instead. Also, keep track of the ETable directly rather than repeatedly calling e_table_scrolled_get_table. * folder-browser.c (folder_browser_destroy): Use gtk methods rather than bonobo methods to destroy the message list. (on_right_click, on_double_click): These are being attached to the ETable directly now, so fix the first argument (which isn't being used anyway, but...) (folder_browser_gui_init): simplify now that MessageList itself is a widget. Also use message_list->table rather than e_table_scrolled_get_table. * mail-local.c (mail_local_reconfigure_folder): Add "mail_" to the beginning of this function name to match its prototype and the other vague namespace conventions in the mailer. * mail-callbacks.c (select_all, invert_selection): Use ml->table. (configure_folder): s/local_reconfigure_folder/mail_&/ svn path=/trunk/; revision=6908
* Set threaded view before setting the folder (cleanup some flash onsNot Zed2000-11-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-30 Not Zed <NotZed@HelixCode.com> * mail-ops.c (cleanup_load_folder): Set threaded view before setting the folder (cleanup some flash ons tartup). * message-list.c (message_list_init): Initialise a mempool for uid string storage. (new_id_from_uid): Added messagelist arg, allocate strings from uid_pool. (new_id_from_subject): Same. Fixed all callers. (remove_node_diff): Dont free uid here. (build_flat_diff): Nor here. (clear_tree): Flush the mempool, rather than freeing the id's directly. (free_tree_ids): Removed, no longer required. (free_tree_ids): Likewise. (message_list_init): Dont connect to the table destroy signal anymore to free the uid table. (message_list_destroy): Free the uid pool here. (*): Use accessors for messageid stuff. (content_is_attachment): Removed, no longer required. (ml_tree_value_at): Get the attachment flag directly from the summary. (ml_tree_value_at): For 'fake' nodes, try and do something better than "?" for from, to, and size. (subtree_size): New function, add up the total size of a subtree. (subtree_earliest): Get the earliest date from a subtree. (ml_tree_value_at): Return earliest date sent/received for fake nodes. (ml_tree_value_at): Return something to mark a fake subject line as a fake subject, although i dont know, i guess this buggers up sorting ... (subtree_size): Check the info node is still there. (subtree_earliest): Same here. (subtree_unread): And here. The info node might vanish if the folder has changed/is changing and we try and redraw stuff while its doing it. (message_list_drag_data_get): Use accessors. svn path=/trunk/; revision=6732
* Added mail-display.h.Not Zed2000-11-031-18/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-03 Not Zed <NotZed@HelixCode.com> * mail-view.c: Added mail-display.h. * mail-autofilter.c: Removed unecessary headers. Who ran indent over this code? Sigh. * mail-ops.c (display_message_input_s): Added messagedisplay. (mail_do_display_message): Added messagedisplay arg. (mail_do_display_message): Dont bother doing another thread when we know we dont have a uid. (): Added folder-browser.h to headers. Sigh. * folder-browser-factory.c (control_activate): Setup the viewthreaded callback to the folder_browser function. * folder-browser.c (my_folder_browser_init): Connect to right_click of etable of the messagelist here. (on_right_click): Changed for argument changes. (folder_browser_toggle_threads): Changed to take a fb, and to set threaded mode on the messagelist. (my_folder_browser_init): Connect also to the double_click signal. (my_folder_browser_init): Connect to the message_selected signal of the message_list. (on_message_selected): Signal handler for message selected. (my_folder_browser_init): Fix for change to message_list_new(). * message-list.h: Dont include folder-browser.h. (message_list_toggle_threads): Moved into folder-browser.h. (struct _MessageList): Removed folderbrowser. * mail.h: Dont include folder-browser.h here either, but mail-types.h instead. Moved prototypes moved into folder-browser.c into folder-browser.h. (vfolder_*, filter_*). * mail-display.h: Dont include folder-browser.h here, but mail-types.h and specific camel headers. * message-thread.c (sort_node): Invert the sort order logic so the list is sorted in mailbox order, not reverse mailbox order. * message-list.c (free_tree_ids): Fix a merge foo. (remove_node_diff): Removed unused row argument. Fixed callers/prototype. (clear_tree): pre_change on the removal of the root node. (build_flat): Only perform pre_change if we are rebuilding the whole lot. For incremental change let etable do its thing. (build_tree): Likewise for building the tree view. If making incremental updates, do them as we build it. (vfolder_subject): (vfolder_sender): (vfolder_recipient): (filter_subject): (filter_sender): (filter_recipient): (filter_mlist): (on_right_click): Moved to folder-browser.c, where they belong. (message_list_init): Dont connect to right_click anymore. (message_list_toggle_threads): Moved to folder-browser.c, renamed. (on_double_click): Moved to folder-browser.c (on_click): Set the flags directly, rather than in anothre thread, which is just not necessary. (message_list_class_init): Added a new signal 'message_selected', to indicate when a message was selected. (on_cursor_change_idle): Emit a signal, rather than directly triggering the display update. (select_row): Removed, no longer used. (idle_select_row): And this too. (select_msg): Removed as well. (message_list_select): Emit a signal, rather thandisplaying/clearing the mail-display directly. (mark_msg_seen): Moved to folder-browser.c (message_list_new): Removed folderbrowser argument. svn path=/trunk/; revision=6365
* ** Merged in camel-incremental-branch.Not Zed2000-11-021-8/+13
| | | | | | | | | | | | | 2000-11-02 Not Zed <NotZed@HelixCode.com> ** Merged in camel-incremental-branch. * mail-format.c (mail_get_message_body): Jeff! Sigh. We should definetly not be strduping the content, it has already been copied and duplicated. Look at get_data_wrapper_text. svn path=/trunk/; revision=6337
* Add a "flagged" column, based on the Camel "flagged" flag, for assigningDan Winship2000-10-261-0/+1
| | | | | | | | | | | | | * message-list.c: Add a "flagged" column, based on the Camel "flagged" flag, for assigning an arbitrary "hey, I care about this" flag to a message. (ml_tree_set_value_at): Remove (ml_tree_is_cell_editable): No, it's not. (on_click): Handle the read/unread and flagged fields via the click handler. Among other things, this makes it not select a message when you change its read status. svn path=/trunk/; revision=6173
* Updated these to the new ETable style of specifications.Christopher James Lahey2000-10-111-10/+0
| | | | | | | | | 2000-10-11 Christopher James Lahey <clahey@helixcode.com> * message-list.c, message-list.h, subscribe-dialog.c: Updated these to the new ETable style of specifications. svn path=/trunk/; revision=5845
* New widget, full search dialogue for mail.Not Zed2000-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-06 Not Zed <NotZed@HelixCode.com> * mail-search-dialogue.c: New widget, full search dialogue for mail. * folder-browser.c (search_set): If we click on custom search, run the full search dialogue. (folder_browser_gui_init): Add a button to perform a full search. (search_full): Bring up the mail search dialogue asynchronously. (search_full_clicked): Handle search options. (folder_browser_destroy): Free the saved rule if there is one there. (search_options[]): Added a custom option option - brings up the full search dialogue. (search_set): Disable the search entry if we are doing a full search. * mail-vfolder.c (vfolder_create_storage): Yay, finally depeterised this stuff. (vfolder_uri_to_folder): Removed an irrelevant comment. * mail-callbacks.c (filter_edit): And here. * mail-ops.c (do_fetch_mail): And here too. * mail-autofilter.c (filter_gui_add_from_message): Fixed call to context_load. (filter_gui_add_for_mailing_list): And here too. * folder-browser-factory.c (create_ondemand_hooks): Remove that ondemand callback snot. 2000-10-05 Not Zed <NotZed@HelixCode.com> * message-list.c (message_list_init_etable): Build the etable once we know what folder we are going to use. (save_header_state): Save the header spec to a cache file. (message_list_destroy): Save the header spec. (message_list_setup_etable): Setup the etable spec for this folder, from a saved version if one exists, or to suit the folder type (sent/received). (message_list_set_folder): Setup the etable here once we have a folder. svn path=/trunk/; revision=5798
* re-write.Michael Meeks2000-10-091-4/+6
| | | | | | | | | | | 2000-10-09 Michael Meeks <michael@helixcode.com> * message-list.c (message_list_toggle_threads): re-write. * folder-browser-factory.c (control_activate): update paths, need CVS HEAD bonobo, use a listener not a verb. svn path=/trunk/; revision=5792
* s/Bonobo_UIHandler/Bonobo_UIContainer/Michael Meeks2000-09-211-1/+1
| | | | | | s/include "bonobo-ui-handler.h"/include "bonobo-ui-compat.h"/ svn path=/trunk/; revision=5539
* Removed COL_ONLINE_STATUS because we don't want that. Renamed COL_PRIORITYJeffrey Stedfast2000-09-191-15/+14
| | | | | | | | | | 2000-09-18 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c: Removed COL_ONLINE_STATUS because we don't want that. Renamed COL_PRIORITY to COL_SCORE and set it up to sort-of work, I'm not really sure which renderer I should use. svn path=/trunk/; revision=5493
* Added check for gnome-app-lib. Removed directories that have been moved toChristopher James Lahey2000-09-181-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * configure.in: Added check for gnome-app-lib. Removed directories that have been moved to gal. From addressbook/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am, contact-editor/Makefile.am, ename/Makefile.am, gui/component/Makefile.am, gui/widgets/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * backend/ebook/e-card.c, backend/pas/pas-backend-file.c, contact-editor/e-contact-editor-address.c, contact-editor/e-contact-editor-categories.c, contact-editor/e-contact-editor-categories.h, contact-editor/e-contact-editor-fullname.c, contact-editor/e-contact-editor.c, contact-editor/e-contact-save-as.c, ename/e-address-western.c, ename/test-ename-western-gtk.c, gui/component/addressbook-factory.c, gui/component/addressbook.c, gui/component/e-cardlist-model.h, gui/component/e-ldap-storage.c, gui/component/select-names/e-select-names-bonobo.c, gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-table-model.c, gui/component/select-names/e-select-names-table-model.h, gui/component/select-names/e-select-names-text-model.h, gui/component/select-names/e-select-names.c, gui/component/select-names/e-select-names.h, gui/search/e-addressbook-search-dialog.c, gui/widgets/e-addressbook-model.h, gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-label.c, gui/widgets/e-minicard-view-widget.c, gui/widgets/e-minicard-view-widget.h, gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h, gui/widgets/e-minicard-widget.h, gui/widgets/e-minicard.c, gui/widgets/test-minicard-label.c, gui/widgets/test-reflow.c, printing/e-contact-print.c: Fixed the #include lines to deal properly with gal. From calendar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * gui/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * gui/calendar-model.h, gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view-event-item.c, gui/e-week-view.c, gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/main.c, gui/print.c, gui/dialogs/task-editor.c: Fixed the #include lines to deal properly with gal. * gui/check-filled.xpm: New file since we can't include it from e-table anymore. From camel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * camel-folder-search.c, camel-folder-search.h, camel-remote-store.c, providers/imap/camel-imap-folder.c, providers/imap/camel-imap-store.c: Fixed the #include lines to deal properly with gal. From composer/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-msg-composer-address-dialog.c, e-msg-composer-address-entry.c, e-msg-composer-attachment.c, e-msg-composer-hdrs.c, e-msg-composer.c: Fixed the #include lines to deal properly with gal. From e-util/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed all the files moved to gal. * e-dialog-widgets.c: Fixed the #include lines to deal properly with gal. * e-gui-utils.c, e-gui-utils.h: Removed all of the functionality that was moved to gal. * e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c, e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h, e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c, e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h, e-xml-utils.c, e-xml-utils.h: Moved to gal. From filter/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * filter-editor.c, filter-filter.c, filter-folder.c, filter-input.c, filter-message-search.c, filter-option.c, filter-rule.c, score-editor.c, vfolder-editor.c, vfolder-rule.c: Fixed the #include lines to deal properly with gal. From mail/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * component-factory.c, folder-browser-factory.c, folder-browser.c, mail-callbacks.c, mail-config-gui.c, mail-display.c, mail-display.h, main.c, message-list.c, message-list.h: Fixed the #include lines to deal properly with gal. From po/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * POTFILES.in: Removed files that have been moved to gal. From shell/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-component-registry.c, e-corba-storage-registry.c, e-corba-storage.c, e-folder-type-registry.c, e-folder.c, e-local-folder.c, e-local-storage.c, e-shell-folder-creation-dialog.c, e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c, e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c, e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c, e-storage.c, evolution-local-storage.c, evolution-session.c, evolution-shell-client.c, evolution-shell-component-client.c, evolution-shell-component.c, evolution-shell-view.c, evolution-storage-listener.c, evolution-storage.c, main.c: Fixed the #include lines to deal properly with gal. From widgets/meeting-time-sel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-meeting-time-sel-list-item.c, e-meeting-time-sel.c, e-meeting-time-sel.h: Fixed the #include lines to deal properly with gal. If you've read this far, you deserve a prize. The first email in my mailbox with the subject "What a commit message!" (and your physical mailing address somewhere in the message) will receive a free Helix Code T-shirt mailed to anywhere within the continental United States. I cannot be held responsible for problems with email systems anywhere. This is supposed to be for fun, so please don't make a fuss if something goes wrong and your mail doesn't reach me. Find my email elsewhere in this message, and if it's been more than a few days, you're probably too late. From widgets/misc/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c: Fixed the #include lines to deal properly with gal. * e-scroll-frame.c, e-scroll-frame.h: Moved to gal. From widgets/shortcut-bar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-icon-bar.c, e-icon-bar.h, e-shortcut-bar.c, e-shortcut-model.c, test-shortcut-bar.c: Fixed the #include lines to deal properly with gal. From widgets/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed directories that have been moved to gal. * e-paned/.cvsignore, e-paned/Makefile.am, e-paned/e-hpaned.c, e-paned/e-hpaned.h, e-paned/e-paned.c, e-paned/e-paned.h, e-paned/e-vpaned.c, e-paned/e-vpaned.h: Moved to gal. * e-reflow/.cvsignore, e-reflow/Makefile.am, e-reflow/e-reflow-sorted.c, e-reflow/e-reflow-sorted.h, e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved to gal. * e-table/.cvsignore, e-table/ChangeLog, e-table/LICENSE, e-table/Makefile.am, e-table/ROADMAP.e-table, e-table/TODO, e-table/add-col.xpm, e-table/arrow-down.xpm, e-table/arrow-up.xpm, e-table/check-empty.xpm, e-table/check-filled.xpm, e-table/clip.png, e-table/e-cell-checkbox.c, e-table/e-cell-checkbox.h, e-table/e-cell-string.c, e-table/e-cell-text.c, e-table/e-cell-text.h, e-table/e-cell-toggle.c, e-table/e-cell-toggle.h, e-table/e-cell-tree.c, e-table/e-cell-tree.h, e-table/e-cell.c, e-table/e-cell.h, e-table/e-table-click-to-add.c, e-table/e-table-click-to-add.h, e-table/e-table-col-dnd.h, e-table/e-table-col.c, e-table/e-table-col.h, e-table/e-table-column-model.h, e-table/e-table-column.c, e-table/e-table-config.c, e-table/e-table-config.glade, e-table/e-table-config.glade.h, e-table/e-table-config.h, e-table/e-table-defines.h, e-table/e-table-example-1.c, e-table/e-table-example-2.c, e-table/e-table-field-chooser-dialog.c, e-table/e-table-field-chooser-dialog.h, e-table/e-table-field-chooser-item.c, e-table/e-table-field-chooser-item.h, e-table/e-table-field-chooser.c, e-table/e-table-field-chooser.glade, e-table/e-table-field-chooser.glade.h, e-table/e-table-field-chooser.h, e-table/e-table-group-container.c, e-table/e-table-group-container.h, e-table/e-table-group-leaf.c, e-table/e-table-group-leaf.h, e-table/e-table-group.c, e-table/e-table-group.glade, e-table/e-table-group.glade.h, e-table/e-table-group.h, e-table/e-table-header-item.c, e-table/e-table-header-item.h, e-table/e-table-header.c, e-table/e-table-header.h, e-table/e-table-item.c, e-table/e-table-item.h, e-table/e-table-model.c, e-table/e-table-model.h, e-table/e-table-one.c, e-table/e-table-one.h, e-table/e-table-scrolled.c, e-table/e-table-scrolled.h, e-table/e-table-selection-model.c, e-table/e-table-selection-model.h, e-table/e-table-simple.c, e-table/e-table-simple.h, e-table/e-table-size-test.c, e-table/e-table-sort-info.c, e-table/e-table-sort-info.h, e-table/e-table-sorted-variable.c, e-table/e-table-sorted-variable.h, e-table/e-table-sorted.c, e-table/e-table-sorted.h, e-table/e-table-sorter.c, e-table/e-table-sorter.h, e-table/e-table-subset-variable.c, e-table/e-table-subset-variable.h, e-table/e-table-subset.c, e-table/e-table-subset.h, e-table/e-table-text-model.c, e-table/e-table-text-model.h, e-table/e-table-tooltip.h, e-table/e-table-tree.h, e-table/e-table.c, e-table/e-table.h, e-table/e-tree-example-1.c, e-table/e-tree-example-2.c, e-table/e-tree-model.c, e-table/e-tree-model.h, e-table/e-tree-simple.c, e-table/e-tree-simple.h, e-table/image1.png, e-table/image2.png, e-table/image3.png, e-table/remove-col.xpm, e-table/sample.table, e-table/table-test.c, e-table/table-test.h, e-table/test-check.c, e-table/test-cols.c, e-table/test-table.c: Moved to gal. * e-text/.cvsignore, e-text/Makefile.am, e-text/e-entry-test.c, e-text/e-entry.c, e-text/e-entry.h, e-text/e-text-event-processor-emacs-like.c, e-text/e-text-event-processor-emacs-like.h, e-text/e-text-event-processor-types.h, e-text/e-text-event-processor.c, e-text/e-text-event-processor.h, e-text/e-text-model.c, e-text/e-text-model.h, e-text/e-text-test.c, e-text/e-text.c, e-text/e-text.h: Moved to gal. i.e., ... changed evolution to work with gal. svn path=/trunk/; revision=5490
* Make the `Home' and `End' keys do the Right Thing. Remove circularEttore Perazzoli2000-09-031-0/+3
| | | | | | reference to the shell. Bind "Open in New Window" to `Ctrl-O'. svn path=/trunk/; revision=5181
* Merge with camel-async.Peter Williams2000-08-111-1/+0
| | | | svn path=/trunk/; revision=4687
* Update for append_message api change.Not Zed2000-08-111-0/+1
| | | | | | | | | | | | | | | 2000-08-10 Not Zed <NotZed@HelixCode.com> * mail-local.c (do_local_reconfigure_folder): Update for append_message api change. * message-list.c (message_list_regenerate): Change for search api change. (ml_tree_value_at): Add a colour column, based on the colour assigned in the summary. (message_list_init_renderers): Init colour column. svn path=/trunk/; revision=4685
* New convenience function with params of a normal Gtk callback function. WeJeffrey Stedfast2000-08-091-2/+1
| | | | | | | | | | | | | | | | | | | | 2000-08-08 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (view_msg): New convenience function with params of a normal Gtk callback function. We also now create a new FolderBrowser object so that the message-view window isn't tied to the display in the main window (view_message): Now calls view_msg (this function is a bonobo callback and can't be used with gtk widgets) (edit_msg): Same idea as view_msg() (edit_message): Again, same as view_message() * message-list.c (on_right_click): Callback for creating an e-popup-menu (message_list_init): Added a right_click event to trigger a pop-up menu to be displayed svn path=/trunk/; revision=4619
* Removed counting of selected messages.Christopher James Lahey2000-07-271-1/+1
| | | | | | | | | 2000-07-26 Christopher James Lahey <clahey@helixcode.com> * message-list.c, message-list.h: Removed counting of selected messages. svn path=/trunk/; revision=4362
* Update message_list_select_next to do either next or previous.Dan Winship2000-07-111-1/+8
| | | | | | | * message-list.c (message_list_select): Update message_list_select_next to do either next or previous. svn path=/trunk/; revision=4047
* Switched from ETable to ETableScrolled.Christopher James Lahey2000-07-101-1/+1
| | | | | | | | | 2000-07-10 Christopher James Lahey <clahey@helixcode.com> * message-list.c, message-list.h: Switched from ETable to ETableScrolled. svn path=/trunk/; revision=4034
* Add a "Threaded Message List" item to the "View" menu.Dan Winship2000-07-091-2/+6
| | | | | | | | | | | | | * folder-browser-factory.c (control_activate): Add a "Threaded Message List" item to the "View" menu. * message-list.c (message_list_toggle_threads): Handler for that. (build_flat): New function to build a "flat" message list using the tree model. (message_list_regenerate): Build tree or flat message list depending on the global setting. svn path=/trunk/; revision=3999
* Lots of changes. Store uids as node data on the tree nodes and use thoseDan Winship2000-07-081-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * message-list.c: Lots of changes. Store uids as node data on the tree nodes and use those rather than rows where possible. (The concept of "row" is just getting too complicated.) Get rid of the summary_table, because given a uid we can call camel_folder_get_message_info, which makes more sense than keeping a separate uid->row hash table ourselves. (get_message_info): update (get_message_row): removed (ml_col_cound, ml_row_count, ml_value_at, ml_set_value_at, ml_cell_is_editable, ml_duplicate_value, ml_free_value, ml_initialize_value, ml_value_is_empty, ml_value_to_string): Removed. We always use the tree model now. (message_list_init): Remove the non-tree code. (build_tree): store uids in the tree rather than row numbers, and build the message_list->uid_rowmap to map from uids to rows when needed. (message_list_regenerate): Renamed from _set_search, since it's used to redraw in non-search cases too. (message_changed): Use the uid_rowmap to get a model row number. * message-thread.c (thread_messages): Change the interface on this to work with the new MessageList. * folder-browser.c (search_set, folder_browser_clear_search): s/message_list_set_search/message_list_regenerate/ svn path=/trunk/; revision=3960
* New function to select the first message on or after the given row thatDan Winship2000-07-071-0/+3
| | | | | | | | | | | | | | | | | * message-list.c (message_list_select_next): New function to select the first message on or after the given row that meets certain flag criteria. * folder-browser.c (etable_key): call message_list_select_next to select next non-deleted message after Delete. * mail-ops.c (real_fetch_mail): call message_list_select_next to select first unread message in current folder if it changes. (real_delete_msg): Remove the code to move the etable cursor. It only makes sense really if you deleted the message with the keyboard, so do it from there. svn path=/trunk/; revision=3927
* Setup the subject renderer to a tree in tree mode. (on_cursor_change_cmd):Not Zed2000-07-061-0/+7
| | | | | | | | | | | | | | | | | | | | | | 2000-07-06 Not Zed <NotZed@HelixCode.com> * message-list.c (message_list_init_header): Setup the subject renderer to a tree in tree mode. (on_cursor_change_cmd): For a tree model, map the view row to the data row. (build_tree): Builds the tree data structure of all messages. (message_list_set_search): For a tree model, build the tree here. (ml_tree_icon_at): Icon callback, returns nothing. (ml_tree_value_at): (ml_tree_set_value_at): (ml_tree_is_cell_editable): Maps tree node to data row, and calls the equivalent table callback (message_list_init_renderers): Setup the tree renderer if needed. * message-list.h: Add a tree renderer to render list, and tree_view indicator. svn path=/trunk/; revision=3921
* New function, a wrapper around e_table_selected_row_foreach, which callsDan Winship2000-07-011-0/+8
| | | | | | | | | | | | | | | | | | | | | * message-list.c (message_list_foreach): New function, a wrapper around e_table_selected_row_foreach, which calls the callback function with UIDs rather than row numbers. * folder-browser-factory.c: Remove never-used "Find" button from the toolbar and replace it with "Refile". (We need a better icon for this...). Hook up "Refile" to "refile_msg". * mail-ops.c (refile_msg): Call the shell's user_select_folder routine, and then use message_list_foreach and real_refile_msg to do the work. (delete_msg): Update to use message_list_foreach. * folder-browser.c (mail_uri_to_folder): new function, extracted from folder_browser_load_folder, to turn a URI into a folder. (folder_browser_load_folder): Use it. svn path=/trunk/; revision=3833
* use the ETable row_selection signal to track how many rows are selected.Dan Winship2000-07-011-2/+2
| | | | | | | | | | | | | | | * message-list.c (on_row_selection): use the ETable row_selection signal to track how many rows are selected. Eventually we will use this info to disable toolbar buttons when you have too few/too many messages selected, but the current toolbar widget doesn't allow that. * message-list.h, message-list.c, mail-ops.c: Change selected_row and selected_uid fields of MessageList to cursor_row and cursor_uid to be more correct according to the new ETable interfaces. svn path=/trunk/; revision=3829
* message-list.c: added prototype for filter_date()Jeffrey Stedfast2000-06-281-0/+1
| | | | svn path=/trunk/; revision=3772
* Update received date to work like sent date.Dan Winship2000-06-221-1/+1
| | | | | | * message-list.c: Update received date to work like sent date. svn path=/trunk/; revision=3678
* Implement clicking on the envelope icon to set read/unread. Based on aDan Winship2000-06-171-3/+3
| | | | | | | | | | * message-list.c (ml_set_value_at): Implement clicking on the envelope icon to set read/unread. Based on a patch by clahey. (select_msg): keep the timeout id for the "seen" flagging in the message_list structure, so ml_set_value_at can clear it so it doesn't re-mark a message seen after you click it unseen. svn path=/trunk/; revision=3601
* new function to do a uid to row mapping. (mark_msg_seen, select_msg,Dan Winship2000-06-171-1/+4
| | | | | | | | | | | | | | | | | | * message-list.c (get_message_row): new function to do a uid to row mapping. (mark_msg_seen, select_msg, message_changed, message_list_set_folder): Update for Camel flag changes. (on_cursor_change_cmd): Rename "row_to_select" to "selected_row", and keep a "selected_uid" as well. * mail-ops.c (composer_send_cb): Update for Camel flag changes, and fix some memory-handling bugs. (Free the post_send_data when the composer is destroyed, not when the user clicks "send", which could happen never, or more than once.) (delete_msg): Update for Camel flag changes, and fix the "holding down the delete key skips some messages" bug. svn path=/trunk/; revision=3600
* Add a date column. (COL_SENT_WIDTH_MIN): Make this wider. (ml_value_at):Dan Winship2000-06-021-0/+1
| | | | | | | | | | | | | | * message-list.c: Add a date column. (COL_SENT_WIDTH_MIN): Make this wider. (ml_value_at): return the sent date (as a time_t) for COL_SENT. (Fix COL_TO too while I'm here.) (ml_duplicate_value, ml_free_value, ml_initialize_value, ml_value_is_empty): COL_SENT is numeric now. (message_list_init_renderers): Create a date renderer (using text_filter to translate the time_t into a string). (message_list_init_header): Use render_date for COL_SENT. svn path=/trunk/; revision=3365
* Added bold for unread messages.Christopher James Lahey2000-05-311-2/+5
| | | | | | | | 2000-05-30 Christopher James Lahey <clahey@helixcode.com> * message-list.c, message-list.h: Added bold for unread messages. svn path=/trunk/; revision=3292
* Added a COL_DELETED and made it the strikeout column for both textChristopher James Lahey2000-05-281-0/+1
| | | | | | | | | 2000-05-28 Christopher James Lahey <clahey@helixcode.com> * message-list.c, message-list.h: Added a COL_DELETED and made it the strikeout column for both text renderers. svn path=/trunk/; revision=3237
* Requires a camel-patch, about to come through ...NotZed2000-05-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | 2000-05-04 NotZed <NotZed@HelixCode.com> * message-list.c (message_list_set_folder): Get the whole message summary right away. (folder_changed): And if we change too. (ml_row_count): Use the match count or summary table length as the row count. (get_message_info): Use array references to lookup message summary info. For the search result list, use the summary_search_cache to cache the info lookup. (message_list_init): Allocate the summary search cache. (message_list_destroy): Free the summary search cache and the summary table, if there is one to free. (message_list_set_search): Save the match count, and clear the summary search cache for reuse. (folder_changed): Re-retrieve the summary list if the folder has changed. (message_list_set_folder): Retrieve the summary list when opening the folder. svn path=/trunk/; revision=2807
* > 2000-05-02 NotZed <NotZed@HelixCode.com>Michael Zucci2000-05-031-0/+1
| | | | | | | | | | | | | > > * folder-browser.c (folder_browser_gui_init): Connect the changed > signal to search, so it searched immediately? > 40a46,48 > (message_list_set_search): Save the search string. > (folder_changed): If the folder changes, re-run the search, > otherwise we may end up with invalid entries in the display. svn path=/trunk/; revision=2749
* Added a deleted message icon whcih shows when messages areMichael Zucci2000-05-021-0/+1
| | | | | | | | | | | | | | | | | | | | | deleted (takes a while to update the gui for some reason). Updates the gui when expunged, via a signal. * pixmaps.h: Added envelope-deleted state. (message_list_init_renderers): Added a 3rd state to message_status = deleted. (ml_value_at): Show the message state as deleted, if it is marked for deletion. (folder_changed): When the folder changes, update the display. (message_list_set_folder): Connect to the folder_changed event here. (message_changed): Callback to update the display when the message changes. (select_msg): And connect to the message_changed signal so we know when it cahgnes. svn path=/trunk/; revision=2746
* A hackish little quick-search entry. (search_activate): Perform aNotZed2000-05-021-0/+3
| | | | | | | | | | | | | | | | | | | | | 2000-05-01 NotZed <NotZed@HelixCode.com> * folder-browser.c (folder_browser_gui_init): A hackish little quick-search entry. (search_activate): Perform a quick-search on the folder subject only. * message-list.c (get_message_info): If there is an active search, then get the data from that ... use this instead of _get_message_info(). (ml_row_count): If we have an active search, get the info from its result. (select_msg): Changed to use get_message_info, so searches work. (ml_value_at): And same here. * mail-display.c: Include missing errno.h. svn path=/trunk/; revision=2724
* Add libibex.la to link.NotZed2000-04-211-1/+0
| | | | | | | | | | | | | | | | | | 2000-04-20 NotZed <NotZed@HelixCode.com> * Makefile.am (evolution_mail_LDADD): Add libibex.la to link. * message-list.h: Removed folder summary. * message-list.c: Dont include folder-summary anymore. (select_msg): Changed to use folder, not summary in summary_get_message_info(). God this code is grotty. (ml_value_at): Ditto. (ml_value_at): Changed to use new interface. Hmm, this returns a static variable, that seems wrong. (message_list_set_folder): Remove folder summary. svn path=/trunk/; revision=2530
* new function, actually calls select_msg. (on_row_selection_cmd): registerChris Toshok2000-04-171-1/+4
| | | | | | | | | | | | | | * message-list.c (on_row_selection_idle): new function, actually calls select_msg. (on_row_selection_cmd): register an idle instead of calling select_msg directly. this fixes the lag before the row is selected - selection is instantaneous now, with message loading happening afterward. * message-list.h: add row_to_select and an idle_id to the message list to make the select_msg call happen in an idle func. svn path=/trunk/; revision=2470
* plug mem leaks due to bad documentation ofbertrand2000-03-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 2000-03-07 bertrand <bertrand@helixcode.com> * camel-formatter.c (handle_mime_part): plug mem leaks due to bad documentation of camel_content_field_get_mime_type (print_camel_body_part): idem (handle_multipart_alternative): idem * gmime-content-field.c (gmime_content_field_get_mime_type): documentation fix. * camel-mime-part.c (my_finalize): unref the content_input_stream if any. * shell/e-shell-shortcut.c (shortcut_bar_item_selected): removed a test that prevented the standard menu to be shown. svn path=/trunk/; revision=2089
* More changes than a man can remember.Bertrand Guiheneuf2000-03-061-3/+12
| | | | | | The UI works now. svn path=/trunk/; revision=2074
* More work. Not funny that e-table does not display.Arturo Espinosa2000-01-291-0/+5
| | | | | | | | More work. Not funny that e-table does not display. Miguel. svn path=/trunk/; revision=1654
* Make Evolution compile with the latest Bonobo changes.Arturo Espinosa2000-01-261-5/+5
| | | | | | | | Make Evolution compile with the latest Bonobo changes. Miguel. svn path=/trunk/; revision=1636
* More workArturo Espinosa2000-01-251-0/+60
svn path=/trunk/; revision=1628