Commit Graph

63 Commits

Author SHA1 Message Date
14f82dde34 Move EAlert* and e-xml-utils references from other part of the code to libevolution-utils. 2012-03-03 09:02:33 -05:00
61ae36351b Introduce libemail-engine and libemail-utils.
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.
2012-01-18 23:48:47 -05:00
a9cfed5938 Avoid passing EMailBackend as much as possible.
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.
2011-12-16 10:58:54 -05:00
f67a5f3d42 Miscellaneous cleanups.
Reducing diff noise with the account-mgmt branch.

Trying to erode our dependency on EAccount as much as possible, or at
least isolate its usage, to make things easier for me on the branch.
2011-08-30 20:35:11 -04:00
c961b23dcd Add em_folder_tree_new_with_model().
This is so an EMFolderTree can be created with a custom model, such as
perhaps only a subset of available stores added.
2011-08-10 00:14:32 -04:00
95ec5734c1 Bug #649939 - Cann't create new folder 2011-05-31 11:10:38 +02:00
b6fecfcd53 Remove em_folder_tree_get_selected_path().
em_folder_tree_get_selected() supercedes it.
2011-05-24 16:16:59 -04:00
7dbc147e26 Add em_folder_tree_get_selected().
Returns the CamelStore and folder name of the selected row.
2011-05-24 16:14:59 -04:00
1d7900e57e Add em_folder_tree_new_activity().
Similar to e_mail_reader_new_activity().  Creates, configures and
submits a new EActivity instance, so asynchronous operations can easily
be dispatched without a lot of boilerplate code.
2011-05-24 11:55:19 -04:00
ff9fcffeca EMFolderTree: Add an EAlertSink property.
Now EMFolderTree has access to both an EShellBackend and an EAlertSink;
everything it needs to build and submit EActivity instances.
2011-05-24 11:02:59 -04:00
e5bb31aae6 EMFolderTree: Whitespace cleanups. 2011-05-23 22:15:44 -04:00
9692758dc5 EMFolderTree: Store an EMailBackend instead of an EMailSession.
All this so EMFolderTree can submit EActivity instances for async ops.
You can obtain an EMailSession from an EMailBackend, but not vice versa.

Creates lots of pretty ripples in the mail code, but ultimately reduces
complexity.  So it's a code cleanup of sorts.
2011-05-23 21:50:50 -04:00
48309e3765 Remove em_folder_tree_get_selected_folder_info().
Function is no longer used, or wanted.
2011-05-06 12:36:28 -04:00
ae28ea4621 EMailShellView: Open the selected folder ourselves.
This one's a little involved:

 - EMailShellView now obtains a CamelFolder itself in response to
   EMFolderTree::folder-selected signals.  Uses EActivity to do so.

 - Revise EMFolderTree::folder-selected signal arguments to be more
   useful: emit a CamelStore object instead of a folder URI.

 - Also revise EMFolderTree::folder-activiated signal arguments the
   same way while we're at it.

 - Remove the "folder_uri" argument from e_mail_reader_set_folder().
   If you have a CamelFolder object you can obtain the URI string by
   calling camel_folder_get_uri().
2011-05-02 21:01:48 -04:00
52844f40f1 Add em_folder_tree_get_selected_account().
Comes in handy for a few EMailShellView actions.
2011-05-02 19:07:06 -04:00
a133df0caf Add an "ellipsize" property to EMFolderTree.
So we don't have to access GConf directly from EMFolderTree.  The
property gets bound to an EShellSettings property, which is in turn
bound to the "no_folder_dots" GConf key by way of a transform function.
2010-10-18 16:00:29 -04:00
a06e4484b8 Give MailSession a permanent home.
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.
2010-10-12 13:58:59 -04:00
cd53ba9900 Coding style cleanups. 2010-09-13 08:28:58 -04:00
5974489593 Bug #615331 - Message list/Folder tree focus policy has changed 2010-04-19 12:36:19 +02:00
fabb6b035c Only #include Camel's top-level header. 2010-04-02 16:59:20 -04:00
49ef32b76c Coding style and whitespace cleanup. 2010-02-07 13:26:37 -05:00
5accac136e Bug #604994 - Folder state not preserved in Copy/Move Folder dialog 2010-01-07 16:46:14 +01:00
1f455a0855 Bug #268644 - unread mail shortcut collides with gtk tree search
Re-applied, as it got lost on kill-bonobo merge
2009-10-29 12:35:01 +01:00
cbf5c62ee8 Bug 217066 - Rename folders directly inside folder list 2009-09-12 16:46:43 -05:00
abb6b43305 EMFolderTree code cleanup. 2009-09-12 15:16:20 -05:00
f0d3f3afdf Radically reorganize source code.
- Collect all shell modules into a new top-level 'modules' directory:

      $(top_srcdir)/modules/addressbook
      $(top_srcdir)/modules/calendar
      $(top_srcdir)/modules/mail

  Nothing is allowed to link to these, not plugins nor other modules.

  THIS SOLVES BUG #571275 AND OPENS THE DOOR TO PORTING TO MAC OS X.

- Mimic the libevolution-mail-shared library from master (except drop
  the "shared" suffix) and have libevolution-mail-importers and all
  mail-related plugins link to it.

- Discard the a11y subdirectories and have the files live alongside
  their counterpart widgets.
2009-06-24 18:29:22 -04:00
174c942e09 Split store and local folder management out from shell backend. 2009-06-24 00:40:49 -04:00
7d98f48c24 EMFolderTree cleanups. 2009-06-20 01:02:42 -04:00
ab27aff72c Thought of a better way to copy folder tree state.
Revert the expanded tree model column and add a "selection"property to
EMFolderTreeModel, which the sidebar sets.  If set, all new EMFolderTree
instances will automatically mimic its expanded and selected state.
2009-06-13 15:07:00 -04:00
49ba34088b Clean up EMFolderTreeModel. 2009-06-13 12:30:07 -04:00
be8ee53934 Use key files for tracking widget states.
Each EShellView now maintains a GKeyFile for recording disposable widget
state such as tree view path expansion, scroll bar positions, combo box
selections, etc.  The EShellView records changes to the key file to
~/.evolution/<shell-backend>/config/state, and automatically restores
the GKeyFile at startup.

Currently only the mailer uses the key file, but it's intended to serve
all shell views.  It replaces the use of Camel "cmeta" files, as well as
"et-expanded-*" and "folder-tree-expand-state.xml" files.

Also, the mailer's folder tree model now includes a column for tracking
which sidebar folders are expanded.  Folder tree widgets appearing in
dialog windows can copy the sidebar's expanded state using
em_folder_tree_clone_expanded().
2009-06-13 10:49:05 -04:00
948235c3d1 Prefer GLib basic types over C types. 2009-05-27 10:29:19 -04:00
cc3a98fc1a Merge branch 'master' into kill-bonobo
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
2009-05-27 08:37:17 -04:00
e4afd3f9fb Remove trailing whitespace, again. 2009-05-26 23:21:02 -04:00
c3205a427a Mail changes required for Anjal. 2009-05-24 09:46:17 -04:00
6d70e07d08 Mail changes required for Anjal. 2009-05-22 17:43:57 +05:30
16e2beab9e Adapt mail to EShellBackend changes.
Again, builds but not tested.  Lots of compiler warnings to clean up,
but I don't have the energy for it.  This was pretty grueling.
2009-05-07 16:38:32 -04:00
e7a31c5035 Commit recent work so I can merge from trunk.
svn path=/branches/kill-bonobo/; revision=36684
2008-10-24 23:02:33 +00:00
54b80a7271 Get the mail folder tree compiling, though I'm not yet sure why it's not
showing anything.  Probably something stupid.  Also enabled the composer.

svn path=/branches/kill-bonobo/; revision=36623
2008-10-17 03:48:03 +00:00
c0a255eb90 Merge revisions 36016:36303 from trunk.
svn path=/branches/kill-bonobo/; revision=36307
2008-09-11 15:34:29 +00:00
1bad915150 License Changes
svn path=/trunk/; revision=36116
2008-08-27 10:33:22 +00:00
94c501caf6 fixed copyright notices
svn path=/trunk/; revision=35663
2008-06-20 22:14:15 +00:00
4503c052d0 ** Allow evolution to build with G_DISABLE_SINGLE_INCLUDES and
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
2008-06-06 15:12:53 +00:00
9e4fcb29cf ** Remove trailing whitespace from source code.
2007-11-14  Matthew Barnes  <mbarnes@redhat.com>

	** Remove trailing whitespace from source code.


svn path=/trunk/; revision=34537
2007-11-14 22:04:21 +00:00
8e47917e8c Update FSF address in header comments (#469886). Patch from Tobias
2007-09-02  Matthew Barnes  <mbarnes@redhat.com>

	* Update FSF address in header comments (#469886).
	  Patch from Tobias Mueller.


svn path=/trunk/; revision=34151
2007-09-02 04:19:22 +00:00
0c7f584760 Fix from Lucky to expand newly created folder
svn path=/trunk/; revision=33926
2007-08-02 05:10:51 +00:00
7bd256d976 ** Fix for bug #237989
svn path=/trunk/; revision=33870
2007-07-28 19:54:35 +00:00
2c3588dfb2 ** Add support for the Magic Space Bar.
svn path=/trunk/; revision=33682
2007-06-16 18:11:44 +00:00
318fc604c1 forward-reference structures
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
2005-05-16 07:53:53 +00:00
d88e794ded Add profiler so that it gets disted properly
2005-05-13  Rodney Dawes  <dobey@novell.com>

	* plugins/Makefile.am (DIST_SUBDIRS): Add profiler so that it gets
	disted properly

2005-05-13  Rodney Dawes  <dobey@novell.com>

	* Makefile.am: Add new em-folder-utils.[ch] abstraction

	* em-folder-browser.c: Update for new menu layout
	Add new methods to handle the actions that were previously only
	available from the context menu when right-clicking on a folder

	* em-folder-selector.c (emfs_response): Just call emfu_folder_create
	if the user wants to create a new folder in the selector dialog
	(em_folder_selector_get_selected_path): Clean up the code to fix a
	couple potential crashes

	* em-folder-tree.[ch]: Add methods to get pointers to a CamelFolder or
	CamelFolderInfo object for the selected item in the tree
	Add a method to get a pointer to an EMFolderTreeModelStoreInfo object
	for the selected store in the tree
	Move folder operations out into em-folder-utils.[ch] so that they
	are abstracted from the tree and can be used by methods other than
	the internal context menu

	* em-folder-utils.[ch]: Move the folder operations code to here

	* em-folder-view.c: Update for the new menu layout
	Fix Mark as Read/Unread in the context menu to only show up in the list

	* mail-component.c (create_item): Just call emfu_folder_create here
	when the user requests to create a new folder from the New toolbar item

2005-05-13  Rodney Dawes  <dobey@novell.com>

	* org-gnome-mailing-list-actions.xml: Update for the new menu layout

2005-05-13  Rodney Dawes  <dobey@novell.com>

	* org-gnome-plugin-manager.xml: Update for new menu layout

2005-05-13  Rodney Dawes  <dobey@novell.com>

	* org-gnome-save-attachments.xml: Update for new menu layout

2005-05-13  Rodney Dawes  <dobey@novell.com>

	* e-shell-window.c (setup_widgets): Update for the new menu layout by
	putting the "component" switching items under the "Tools" menu

2005-05-13  Rodney Dawes  <dobey@novell.com>

	* *.xml: Update to the new menu layout

2005-05-13  Rodney Dawes  <dobey@novell.com>

	* e-filter-bar.[ch]: Update for the new menu layout

svn path=/trunk/; revision=29354
2005-05-13 21:29:28 +00:00