Commit Graph

510 Commits

Author SHA1 Message Date
2ee8cffd6e Remove unused function
gcc warning fix
2010-10-29 13:49:57 -04:00
475c08d68f Bug #632199 - Opening calendar from panel clock goes to previous day 2010-10-29 15:54:19 +02: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
4a08257b83 Deal with GtkComboBoxEntry removal in gtk+-3.0. 2010-10-20 16:10:15 -04:00
8da37ea812 Bug 632641 - Handle combo box text API going away 2010-10-20 15:08:16 -04:00
61999b493f Bug #631451 - Add handlers for x-scheme-handler/mailto 2010-10-20 15:24:29 +02: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
b674a37a38 Add an EOfflineAlert module.
This module posts an alert to the first EShellWindow when starting
offline, and also posts an alert when the network connection drops.

We get frequent questions on the mailing list from users not realizing
Evolution is starting in offline mode, so this is meant to help address
that confusion.
2010-10-18 12:32:36 -04:00
51ebf20237 EAlert: Allow arbitrary actions to be added.
You can now amend the predefined actions in an EAlert by calling
e_alert_add_action().  Useful for adding actions from an existing
GtkUIManager.

Call e_alert_peek_actions() to obtain a combined list of predefined
and custom actions.  These will typically serve as "related" actions
for GtkButtons (cf. gtk_activatable_set_related_action()).

Also, both EShellWindow and EShellView now implement EAlertSink.  Use
EShellWindow for application-wide alerts, EShellView for view-specific
alerts.
2010-10-18 12:32:36 -04:00
bed8e97cd7 Bug #604981 - Always bcc ignored for Contacts.
Add the Bcc destinations instead of setting it.
2010-10-18 10:36:17 +05:30
df6f8dc010 Bug #587011 - Integrate remove-duplicates into evolution 2010-10-15 09:39:16 +02:00
b277e14a6a Bug 632171 - "New Address Book" dialog accepts whitespace for name 2010-10-14 17:17:17 -04: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
4118d671d4 Composer: Show cancellable operations and errors inline.
'Send' and 'Save Draft' are now asynchronous and run outside of
Evolution's MailMsg infrastructure.

Add an EActivityBar to the composer window so these asynchronous
operations can be tracked and cancelled even in the absense of a main
window.  Also add an EAlertBar to the composer window so error messages
can be shown directly in the window.

Instead of calling e_alert_dialog_run_for_args(), call e_alert_submit()
and pass the EMsgComposer as the widget argument.  The EMsgComposer will
decide whether to show an EAlertDialog or use the EAlertBar, depending
on the GtkMessageType of the alert.
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
a051d7ea7e Calendar's "Open Web Page" actions doesn't work 2010-10-06 10:07:56 +02: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
6ec1118c92 Bug #629462 - Tasks 'Due' filters don't work properly 2010-09-29 11:39:26 +02:00
a28f6db7fc Bug #629266 - Crash on search in Current Account 2010-09-29 11:02:35 +02:00
2a772badda Bug #629636 - Doesn't recognize local ESource-s 2010-09-29 10:43:04 +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
a98c07a569 Add a GCancellable to EActivity.
EActivity now uses a GCancellable to manage cancellations, instead of
having its own redundant cancellation API.  API changes are as follows:

  + e_activity_get_cancellable()
  + e_activity_set_cancellable()

  - e_activity_cancel()
  - e_activity_is_cancelled()
  - e_activity_get_allow_cancel()
  - e_activity_set_allow_cancel()

EActivity's "cancelled" signal remains, but only as a repeater for
GCancellable::cancelled signals.  It should not be emitted directly.

The presence of a GCancellable implies that cancellation is allowed.
EActivity does not create its own default GCancellable, it has to be
given one.

If a CamelOperation (cast as a GCancellable) is given, EActivity will
configure itself to listen for status updates from the CamelOperation
and propagate the information to its own "primary-text" and "percent"
properties.

These changes allowed me to start cleaning up some of the incredibly
convoluted logic in mail-mt.c -- in particular, mail_operation_status()
is completely gone now.  mail-mt.c is still in a transitional state --
much more significant changes coming soon.
2010-09-18 16:40:19 -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
4074ffa416 Bug #346438 - Error dialog too wide.
The patch suggests displaying the calendar name and group instead of uri
for the source of error.
2010-09-14 09:54:47 +05:30
23cbe11a5b Avoid dll hijacking
Load sensapi.dll only from system directory where it should normally
be and not from any random place.
2010-09-13 22:58:24 +02: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
c23de2688e Convert plugin-manager to an EExtension.
How ironic.
2010-09-13 08:28:59 -04:00
ebcce86769 Coding style and whitespace cleanups. 2010-09-11 14:14:04 -04:00
bc9ece413f Re-work my GtkDialog:has-separator workaround.
If we're using GTK+ 2.21.8 (where gtk_dialog_set_has_separator() is
deprecated but the property is still present and defaults to TRUE), we
still need to set the property to FALSE.  So instead use g_object_set()
up through GTK+ 2.90.6, after which the property itself is gone.
2010-09-11 09:03:45 -04:00
e54ff6fd90 Add missing linker flag to composer-autosave module. 2010-09-11 08:39:58 -04:00