Commit Graph

2428 Commits

Author SHA1 Message Date
d4adff17a2 Bug #597567 - Crash in comp_subject()
Fix works only when compiled with libical 0.46 or later
2010-10-21 11:39:53 +02: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
2197e6401e Implement EAlertSinkInterface in EShellContent.
Use the same alert handling policy as the composer.
2010-10-18 10:57:36 -04:00
776d7f50b5 EShellView: Mark a string for translation. 2010-10-18 10:57:36 -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
b4f97aea9b Bug 461769 - Add a --force-online command line option
Use it to override network availability detection as reported by
NetworkManager or other network monitoring software.
2010-10-13 16:55:07 -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
1c6f2d154e Bug #631320 - GtkObject is gone in GTK3 2010-10-06 19:26:08 +02:00
1b2fefb086 Bug #630390 - Operation stuck: Generating message list (cancelled) 2010-10-06 13:08:41 +02:00
ff397723ac Fix distcheck errors. 2010-10-04 13:53:01 -04:00
9675f18d91 Coding style and whitespace cleanup. 2010-10-03 13:29:20 -04:00
02452930e7 EShellBackend: Start tracking activities
EShellBackend now keeps an internal queue of live EActivity objects
passed to it via e_shell_backend_add_activity().  This will eventually
replace "mail_msg_active_table" in mail-mt.c and be used to coordinate
shutdown for all shell backends.

But first I have to eliminate mail_msg_wait().
2010-09-29 22:51:08 -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
64f53f1a53 Increase safety on Windows
Call SetDllDirectory() to reduce risk of DLL hijacking, and call SetProcessDEPPolicy() to reduce risk of rogue code execution.
2010-09-15 16:49:01 +02: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
a6e137295f Work around deprecation of gtk_dialog_set_has_separator()
Unfortunately the default value for this property is TRUE (bzzt, WRONG!)
so we can't just remove the function outright until we require GTK+ 2.22.
It was deprecated in GTK+ 2.21.8.
2010-09-11 00:30:54 -04:00
101305e1c7 Various memory leaks 2010-09-07 18:39:46 +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
f0d7a4142e Bug 628482 - e_shell_settings_install_property_for_key memory leak 2010-09-01 07:07:28 -04:00
4c05b9e925 Coding style and whitespace cleanup. 2010-08-29 11:22:28 -04:00
8fbcab126e Remove the last traces of dbus-glib. 2010-08-29 07:42:26 -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
4e9050bc1e Whitespace and coding style cleanup. 2010-08-13 21:32:32 -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
78ebd5d8e7 Execute calendar search post startup, not 2010-08-10 15:23:39 +01:00
5c49c70d55 We are not using dbus-glib anymore, don't call dbus_g_thread_init 2010-08-05 01:01:19 +02:00
e919c9724f Bug 625761 - Folder views not preserved after migration 2010-08-02 19:48:54 -04:00
8dcdc60ccc Make EImportAssistant extensible. 2010-07-30 12:10:01 -04:00
9085a5a18c Remove unused 'preview' argument from e_import_assistant_new_simple().
We preview imported files by other means now.
2010-07-30 10:58:26 -04:00
1d2a02b658 Remove folder-tree-expand-state.xml while migrating. 2010-07-30 08:04:40 -04:00
80d4fed162 Bug 624500 - Missing EggSMClient linker flags in shell 2010-07-30 06:51:33 -04:00
69c904178f Avoid overwriting files while migrating. 2010-07-29 16:36:19 -04:00
eb5afa335d More XDG base directory migration tweaks. 2010-07-28 16:47:39 -04:00
432c2796c9 Migrate ~/.evolution/cache/tmp. 2010-07-28 13:22:26 -04:00
7ca5681a18 Remove .goutputstream-XXXXXX files during migration.
GIO had a bug for awhile where it would leave behind an empty
temp file with the pattern .goutputstream-XXXXXX if an output
stream operation was cancelled.  We've had several reports of
these files in config directories, so remove any we find.
2010-07-28 13:18:36 -04:00
d369274ae8 Add more debug messages to basedir migration.
If directory removal fails because the directory is not empty,
list the file names in that directory.
2010-07-28 10:57:52 -04:00
6affbe33e9 Migrate ~/.evolution to XDG base directories.
Migration runs just before the main loop starts.
It's just a sequence of local directory and file renames.
2010-07-27 08:58:50 -04:00
81e5428a59 Coding style and whitespace cleanup. 2010-07-26 01:16:42 -04:00
d46c4b4e5b Add optional clutter support. 2010-07-25 21:30:00 -04:00
a11439aeaf Update API documentation. 2010-07-18 13:28:10 -04:00
eb29179da6 Coding style and whitespace cleanup. 2010-07-11 22:25:06 -04:00
3e481b5a38 Fix some linking issues. 2010-07-11 09:39:25 -04:00
f92b45d7df Fix places where "~/.evolution" is hard-coded.
Also replace "$USER_DATA_DIR/cache" path constructions with
e_get_user_cache_dir().
2010-07-08 16:59:11 -04:00
71e92f3f2c EShellContent: Add a focus_search_results() method.
This gives EShellSearchbar something concrete to call to direct focus
away from itself instead of tabbing forward and hoping for the best.
2010-06-24 20:42:09 -04:00
179db75ce0 Bug #620815 - Memory leaks with Evolution 2010-06-24 20:43:16 +02:00
f1bad7677a Bug 622559 - Changing search option should focus search entry 2010-06-24 08:17:13 -04:00
94a9b04008 Bug 622329 - Help menu points to the wrong FAQ page 2010-06-21 19:23:14 -04:00
b1ec17309b Bug 621759 - EShellSearchbar reference counting errors 2010-06-20 16:34:45 -04:00