Commit Graph

216 Commits

Author SHA1 Message Date
Milan Crha 2e68a6a74d Bug #633982 - Crash when trying to Create a search folder from a search 2011-06-29 18:41:20 +02:00
Milan Crha 85fd7a2026 Ensure vFolders are enabled when invoking Edit->Search Folders 2011-06-29 18:41:05 +02:00
Milan Crha 0b899d3bc0 Bug #633155 - Incorrect signal connection with mail-vfolder.c:folder_deleted_cb 2010-10-29 14:08:50 +02:00
Matthew Barnes c881b5bc5e Simplify EActivity.
With unintrusive error dialogs gone, we can cut some unnecessary bits
out of EActivity.

I'm also adding a new enum property called "state", which is one of:

    E_ACTIVITY_RUNNING
    E_ACTIVITY_WAITING
    E_ACTIVITY_CANCELLED
    E_ACTIVITY_COMPLETED

The state of an activity must be explicitly changed.  In particular,
when the user cancels an activity the state should be set only after
confirming the operation has been cancelled and not when cancellation
is requested (e.g. after receiving a G_IO_ERROR_CANCELLED, not when
the GCancellable emits "cancelled").  EActivityBar and EActivityProxy
widgets have been updated to make this distinction clearer in the UI.

E_ACTIVITY_WAITING will be used when activities have to be queued and
dispatched in sequence, which I haven't written yet.
2010-10-22 14:21:22 -04:00
Matthew Barnes ae478d1e3c Collect mail enum types in e-mail-enums.h.
And generate GTypes for each of them in e-mail-enumtypes.[ch].

Also, the glib-gen.mak script forced me to add a <mail/e-mail.h>
top-level header, which really isn't a bad idea anyway.

TODO: We should do this for calendar and addressbook too.
2010-10-18 14:31:16 -04:00
Matthew Barnes ec170e47fd Move more account utilities to e-account-utils.c. 2010-10-18 12:32:38 -04:00
Matthew Barnes 22ef5aa7e6 Kill mail_config_get_gconf_client(). 2010-10-18 12:32:37 -04:00
Matthew Barnes 35e55a8d6e Send errors to an EAlertSink instead of the task bar.
This marks the end of unintrusive error dialogs, which were too
unintrusive.  We now show errors directly in the main window using
the EAlert / EAlertSink framework.
2010-10-18 12:32:37 -04:00
Matthew Barnes 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
Milan Crha 1c6f2d154e Bug #631320 - GtkObject is gone in GTK3 2010-10-06 19:26:08 +02:00
Matthew Barnes 31b57ed038 Adapt to Camel API changes. 2010-09-28 11:35:55 -04:00
Matthew Barnes a91eeb6471 Pass GCancellable to Camel. 2010-09-28 11:35:55 -04:00
Matthew Barnes cd53ba9900 Coding style cleanups. 2010-09-13 08:28:58 -04:00
Matthew Barnes d1a67bb5c5 Bug 628591 - Incorrect English message in Evolution 2010-09-10 19:03:06 -04:00
Matthew Barnes 125e67bfcb Fix where to look for filters.xml and vfolders.xml.
They live in $XDG_CONFIG_DIR/evolution/mail now.
Evolution was looking in $XDG_DATA_DIR/evolution/mail.
2010-07-28 16:35:40 -04:00
Matthew Barnes 137b0743dd Migrate from CamelException to GError. 2010-07-08 14:37:52 -04:00
Matthew Barnes 8ad0c51edf Adapt to Camel API changes.
This also removes the boxed CamelObject GType, since CamelObject is an
honest-to-goodness GObject now.
2010-05-07 18:32:16 -04:00
Matthew Barnes aec33928b7 Adapt to Camel API changes. 2010-04-30 11:30:19 -04:00
Matthew Barnes bc90469e7f Camel is now GObject-based. 2010-04-24 11:05:27 -04:00
Matthew Barnes 72797decc1 Giant leap towards GSEAL compliance. 2010-04-08 11:05:26 -04:00
Matthew Barnes fabb6b035c Only #include Camel's top-level header. 2010-04-02 16:59:20 -04:00
Milan Crha 125573b8fd Bug #302742 - The mail error messages is difficult to understand/translate 2010-04-01 20:00:36 +02:00
Matthew Barnes 797acc2445 Drop support for migrating from Evolution < 2.0.
There's too much ancient, crufty code there that we can't realistically
support anymore.  A workaround for those poor users still on 1.x is to
upgrade to some 2.x release first, then upgrade again to 3.x.  An error
dialog explaining this will be shown at startup.
2010-03-29 19:04:00 -04:00
Milan Crha eaa177297a Bug #609638 - Empty warning message on New vFolder 2010-02-11 14:09:45 +01:00
Matthew Barnes ec73f5522f Coding style and whitespace cleanup. 2010-01-30 18:09:19 -05:00
Jonathon Jongsma 968ea42023 Kill em_utils_get_data/config_dir(), push down to MailSession
This pushes the get_data_dir() API down to the right level.  At present, it is
still implemented by querying the shell backend for the data dir / config dir.
But this should eventually be reversed (when mail is split off to EDS) so that
the mail daemon is the one responsible for the storage locations and the shell
backend queries the daemon for these values.
2009-12-16 11:10:02 -06:00
Jonathon Jongsma 0eef4618ca Remove mail-config, vfolder, and filter deps from mail-folder-cache
Instead of pushing the updates to the right places, the folder cache simply
emits the appropriate signals and other objects are responsible for listening
and handling them appropriately.  This allows us to cut down the dependencies of
MailFolderCache significantly, which is a huge step towards allowing us to split
it off for the backend.

Another nice thing about this is that it allows us to trim a lot of 'public' api
from the filter, vfolder, and config classes that were only used by the cache.
Now that stuff can all be internal since they're pulling changes rather than
having the changes pushed.

The last remaining problematic dependency in MailFolderCache is
EmFolderTreeModel.  That is next on the chopping block.

https://bugzilla.gnome.org/show_bug.cgi?id=604627
2009-12-15 14:16:09 -06:00
Jonathon Jongsma 9c4f98e915 Add documentation to clarify mail-folder-cache functionality
Added a bunch of gtk-doc documentation as well as a variety of small comments in
the code.  Also added documentation and renamed a couple of mail_vfolder_*
functions that are only used by mail-folder-cache to make things a lot more
understandable.

https://bugzilla.gnome.org/show_bug.cgi?id=604627
2009-12-15 14:16:08 -06:00
Jonathon Jongsma 65705e4f55 Make the mail folder cache a proper GObject
mail-folder-cache previously was a bit of a pseudo object (sort of a singleton)
that operated on some file static data.  This commit re-factors things so that
it is a proper class named MailFolderCache.  At the moment, this doesn't gain us
much, but in the future, it will allow us to add signals, etc so that we can
de-couple a lot of the interdependencies in here.  This is essentially a
pre-requisite to splitting up a lot of the mail backend stuff.

https://bugzilla.gnome.org/show_bug.cgi?id=604627
2009-12-15 14:16:08 -06:00
Jonathon Jongsma 31204c9cc2 Port all error code to use GObject-ified EAlert / EAlertDialog
The changes are mainly including the e-alert-header.h header instead of just
e-alert.h.  This allows us to include e-alert.h in non-UI situations when
necessary.
2009-12-07 12:25:23 -06:00
Jonathon Jongsma c2ee0afbc8 Rename EError to EAlert to match general use better
The EError mechanism is used both for error dialogs as well as basic alerts or
user prompts, so we should give it a more general name which matches this use.

This patch also cleans up a few includes of e-alert.h (formerly e-error.h) that
were not actually being used.

https://bugzilla.gnome.org/show_bug.cgi?id=602963
2009-11-30 13:33:04 -06:00
Jonathon Jongsma ae906bbae5 port mail/ to use new EError API
https://bugzilla.gnome.org/show_bug.cgi?id=602963
2009-11-30 13:31:19 -06:00
Matthew Barnes 2b16aef841 Cleanup and rename filter classes. 2009-10-27 09:25:01 -04:00
Matthew Barnes a09f553458 Prefer GLib mutexes over pthread mutexes. 2009-10-27 09:25:00 -04:00
Milan Crha e06b88c4fd Bug #594471 - Shouldn't call e_error_new/run with NULL 'parent' 2009-10-13 16:24:10 +02:00
Matthew Barnes 983fce5e53 Kill the default parent window hack in e-error.c.
Fix as many cases that relied on it as I could find, but there may be
more cases out there.  They should be fixed too.  Passing a NULL parent
window to e_error_new() is illegal and will emit a runtime warning.
2009-09-04 17:07:15 -04:00
Matthew Barnes 374bd42f69 Fix excessive whitespace. 2009-07-14 11:26:22 -04:00
Matthew Barnes 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
Matthew Barnes 174c942e09 Split store and local folder management out from shell backend. 2009-06-24 00:40:49 -04:00
Matthew Barnes 433eac7844 More code cleanup. 2009-06-02 10:35:03 -04:00
Matthew Barnes 14f8eee012 Whitespace cleanup. 2009-05-28 13:21:01 -04:00
Matthew Barnes 948235c3d1 Prefer GLib basic types over C types. 2009-05-27 10:29:19 -04:00
Matthew Barnes 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
Matthew Barnes e4afd3f9fb Remove trailing whitespace, again. 2009-05-26 23:21:02 -04:00
Matthew Barnes 0cf607076d Fix compiler warnings in mail. 2009-05-26 10:58:25 -04:00
Matthew Barnes 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
Matthew Barnes c3e0648d8b Merge branch 'master' into kill-bonobo
Conflicts:
	addressbook/gui/Makefile.am
	addressbook/gui/widgets/Makefile.am
	addressbook/gui/widgets/eab-popup-control.c
	calendar/gui/e-meeting-time-sel.c
	calendar/gui/migration.c
	calendar/modules/e-memo-shell-module-migrate.h
	e-util/e-logger.c
	mail/e-mail-attachment-bar.c
	mail/em-composer-utils.c
	mail/em-format-html-display.c
	plugins/mail-account-disable/Makefile.am
	plugins/select-one-source/Makefile.am
	po/es.po
	shell/Makefile.am
	shell/e-shell-common.h
	shell/e-shell-nm.c
	shell/e-shell-window-commands.c
	shell/e-shell-window.c
	shell/e-sidebar.c
	shell/e-user-creatable-items-handler.c
	shell/importer/Makefile.am
	shell/test/Makefile.am
	widgets/misc/test-error.c
	widgets/misc/test-info-label.c
	widgets/misc/test-multi-config-dialog.c
2009-05-04 09:08:32 -04:00
Srinivasa Ragavan 735c74a10f ** BUGFIX: 573170 - Add back support for vfolder of vfolders.
Don't defer from loading vfolders of vfolders. We can handle it now.
2009-05-03 20:43:03 +05:30
Matthew Barnes e0f414941d Split EAccountList and ESignatureList management out of the mail module.
This reduces the dependency of the composer on the mail module, which is
currently a circular dependency.

svn path=/branches/kill-bonobo/; revision=37135
2009-01-26 22:18:58 +00:00
Matthew Barnes 2a771c3730 Implement yet more mail actions.
svn path=/branches/kill-bonobo/; revision=36918
2008-12-18 21:41:00 +00:00