Commit Graph

275 Commits

Author SHA1 Message Date
64d24b234e Bug #633783 - Folder->Expunge enabled when no folder selected 2011-06-29 18:41:02 +02:00
12a91dbb21 Bug #633779 - GtkComboBoxText issues 2011-06-29 18:41:01 +02:00
8c1a1ef609 Bug #632683 - Remove-duplicates should work on selection 2010-11-16 10:43:15 +01:00
7e9fc6d2b6 Coding style and whitespace cleanup. 2010-11-09 23:33:23 +01:00
ee148f2bbe Bug #632562 - Disabled account in preferences not remove in folder tree 2010-11-09 23:33:21 +01:00
eb5f523bd7 EMailReader: Add a get_alert_sink() method. 2010-11-09 23:33:20 +01:00
a2747569c8 Kill em_folder_utils_unsubscribe_folder().
Use e_mail_session_unsubscribe_folder() instead.
2010-11-09 23:33:20 +01:00
4b88140cb6 Bug 633172 - Folder->Subscriptions is always enabled 2010-11-09 23:33:19 +01:00
0b3647d161 Bug #632767 - Some widgets removed from mail-config.ui 2010-10-27 11:54:54 +02:00
d6d0d1050a Bug #445439 - Delete mail from pop-server when deleted from Inbox/Trash 2010-10-27 10:06:57 +02:00
a910a31a06 Fix capitalization in menu labels. 2010-10-22 14:33:15 -04:00
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
8da37ea812 Bug 632641 - Handle combo box text API going away 2010-10-20 15:08:16 -04:00
d305e8ff10 Reduce GConf usage in em-composer-utils.c.
To reduce GConf usage in em-composer-utils.c:

- Relevant functions in em-composer-utils.c now take arguments for
  reply and forward styles.

- Redundant forwarding functions were removed:

    em_utils_forward_attached()
    em_utils_forward_inline()
    em_utils_forward_quoted()

- EMailReader now has "forward-style" and "reply-style" properties,
  which get bound to the appropriate EShellSettings properties in
  modules/mail/e-mail-config-reader.c.  These same EShellSettings
  properties are bound to the combo boxes in Composer Preferences.
2010-10-19 13:41:14 -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
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
ec170e47fd Move more account utilities to e-account-utils.c. 2010-10-18 12:32:38 -04:00
22ef5aa7e6 Kill mail_config_get_gconf_client(). 2010-10-18 12:32:37 -04:00
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
df6f8dc010 Bug #587011 - Integrate remove-duplicates into evolution 2010-10-15 09:39:16 +02:00
1e663aa132 Replace EBinding with GBinding.
GObject now does property bindings itself.

Requires GLib >= 2.26.
2010-10-14 07:12:52 -04:00
192b603ef6 Bug 305425 - Toolbar cancel button is always sensitive 2010-10-13 17:38:00 -04:00
3fbcc8ef80 EShellBackend: Respond to EShell::prepare-for-quit signals.
Listen for "prepare-for-quit" signals from the shell and inhibit
shutdown until all the activities we're tracking are finalized.

Also, add a couple supporting functions:

  gboolean  e_shell_backend_is_busy     (EShellBackend *shell_backend);
  void      e_shell_backend_cancel_all  (EShellBackend *shell_backend);

These will eventually replace mail_msg_active() and mail_cancel_all().
2010-10-13 16:00:03 -04:00
ed45d23b84 Remove mail_tools_folder_to_url().
Use camel_folder_get_uri() instead.
2010-10-12 13:59:00 -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
d00c445e8e Bug 588851 - Don't show unsubscribe option for local folders 2010-10-05 08:39:36 -04:00
9675f18d91 Coding style and whitespace cleanup. 2010-10-03 13:29:20 -04:00
a69cbcd79a Bug 510020 - Add "Manage Subscriptions" to store context menus 2010-10-03 09:39:10 -04:00
ec089b4a41 Rewrite the folder subscription editor.
Redesign the "Folder Subscriptions" dialog and use Camel's async API
instead of the MailMsg infrastructure to simplify the implementation.
2010-10-02 15:22:07 -04:00
e41b4083a6 camel_operation_new() now returns a GCancellable pointer. 2010-09-29 09:33:36 -04:00
a28f6db7fc Bug #629266 - Crash on search in Current Account 2010-09-29 11:02:35 +02:00
31b57ed038 Adapt to Camel API changes. 2010-09-28 11:35:55 -04:00
a91eeb6471 Pass GCancellable to Camel. 2010-09-28 11:35:55 -04:00
afe6f502c3 Use new GDK keysym names if available.
In GTK+ 2.21.8, the keysym names were renamed from GDK_* to GDK_KEY_*.

I've added backward-compatibility macors to gtk-compat.h, which can be
dumped as soon as we require GTK+ >= 2.22.0.
2010-09-17 18:39:59 -04:00
5310e4a0b1 Adapt to CamelOperation API changes. 2010-09-14 23:48:02 -04:00
c7f5d54cb7 Kill the subject-thread plugin.
All this time I never realized the subject-thread plugin was nothing
more than a stupid checkbox.  The actual thread-by-subject code lives
in the core mail library.
2010-09-14 14:56:15 -04:00
95fe925630 Fix a crapload of run-time warnings.
EConfig and EMAccountEditor are very, very brittle.
2010-09-14 13:49:08 -04:00
2798ae38f4 mail-config.ui cleanups.
- Fix GtkVBox orientations.
- Reduce container widgets.
- Remove unused widgets.
2010-09-13 08:28:59 -04:00
e7247d6d60 Remove uninteresting mail options from Preferences.
Remove some options from Mail Preferences that aren't worth the screen
real estate they take up.  For now, the corresponding GConf keys still
remain and are honored by Evolution.  These same options were already
removed for Express mode.

Options removed are:

[ ] Mark messages as read after XXX seconds

[ ] Do not display messages when text size exceeds XXX KB

[ ] Shrink To / Cc / Bcc headers to XXX addresses

[ ] Enable Magic Spacebar

[ ] Enable Search Folders
2010-09-13 08:28:59 -04:00
aa61df9527 Bug #580623 - Mishandling of evolution's proxy ignore_hosts key 2010-09-03 12:04:03 +02:00
429234ff21 Convert composer autosave to an EExtension.
Given the way the autosave feature was awkwardly bolted on to the
composer, an EExtension seemed like a natural fit.  And it helped
clean up some object lifecycle hacks (and bugs).

What we have now is a new module consisting of two EExtensions:

   EComposerAutosave extends EMsgComposer and determines when to
   kick off an asynchronous autosave operation.

   EComposerRegistry extends EShell and offers to restore orphaned
   autosave files on startup (which is also asynchronous now).

e-autosave-utils.c holds the actual asynchronous functions and a few
other miscellaneous utility functions.

Source code for the new module lives in /modules/composer-autosave.
2010-09-02 13:37:31 -04:00
4c05b9e925 Coding style and whitespace cleanup. 2010-08-29 11:22:28 -04:00
935bc4be07 Bug 628141 - Duplicate signal connections in EMailReader
EMailShellContent implements the EMailReader interface but acts as a
proxy for EMailPanedView, from which it obtains MessageList and EWebView
widgets.  The problem was both classes call e_mail_reader_init_private()
which connects to signals emitted from the MessageList and EWebView
widgets.  But since EMailShellContent is a proxy for EMailPanedView,
the signals were being connected twice.

This commit does away with e_mail_reader_init_private(), instead adding
options to e_mail_reader_init() to control what parts of initialization
to run.  It's an ugly and temporary hack.

I'm beginning to realize EMailReader is too bloated and needs rethought.
EMailReader should just manage actions.  EMailView should own and manage
the widgets, and EMailReader should just have a get_mail_view() method
so it has access to those widgets.  That way the EMailView subclasses
won't have to implement EMailReader themselves and wind up allocating
a bunch of duplicate, unused actions.

It's too close to a stable release to rip these interfaces apart and
reorganize them.  I'll try to do that for 2.33 to help make the design
more intuitive.
2010-08-27 15:44:25 -04:00
87a3fac95c Mail module + EMailView cleanups. 2010-08-26 13:14:01 -04:00
ecf3434da0 GObject boilerplate cleanup.
Prefer thread-safe G_DEFINE_TYPE and G_DEFINE_INTERFACE macros over
manual GType registration.

This is just a start... lots more to do.
2010-08-24 14:37:02 -04:00
acb73cd105 Fix more non-removal of signals on user_data object distruction by
using g_signal_connect_object in many places; fixes bgo#627525#
2010-08-20 20:04:37 +01:00
4e9050bc1e Whitespace and coding style cleanup. 2010-08-13 21:32:32 -04:00
8f7b23276d Fix a runtime warning. 2010-08-13 21:00:35 -04:00
6cb0cbd0be Pass an EShell to EMsgComposer instances.
Reduce the composer's dependency on e_shell_get_default().
2010-08-13 20:56:33 -04:00
18813ccd8f Defer the load / creation of configuration UI with changes to
e_preferences_window to take factory callbacks and store a reference
to the shell. - This makes start-up substantially faster, particularly
on Atom (eg.).

Remove a number of idle handlers used to create these UIs in the
first instance, cleaning the code.
2010-08-10 21:17:40 +01:00