Commit Graph

1321 Commits

Author SHA1 Message Date
ea35907c16 Disconnect signal handlers from actions in alert_dispose() 2011-06-29 18:41:13 +02:00
ca3faa17a9 Free/busy meeting view doesn't work due to non-working extension 2011-06-29 18:41:08 +02:00
e0cf91771a Localize few strings with ngettext
Per request of bug #635414
2011-06-29 18:41:06 +02:00
12a91dbb21 Bug #633779 - GtkComboBoxText issues 2011-06-29 18:41:01 +02:00
86e6583bc7 Workaround crash when pasting nothing into html message composer 2010-11-09 23:33:24 +01:00
dce5bdc369 Move calendar preferences to the calendar module.
Continue replacing the use of calendar-config functions with GObject
property bindings to EShellSettings properties.
2010-11-09 23:33:22 +01:00
e3a09eb67c Add GBinding transform funcs for enum types.
We'll want to store enum settings by their nicknames.
2010-11-09 23:33:22 +01:00
c1e412618a Rename CalUnits to EDurationType.
And move the definition to e-util-enums.h so we get a GType for it.
2010-11-09 23:33:22 +01:00
dd7424d729 Bug #629479 - Runtime critical warnings from e-print.c 2010-11-09 23:33:21 +01:00
26afa6081c Utilize the new ESourceSelector:primary-selection property. 2010-11-09 23:33:21 +01:00
616f0b140b EActivity: Add an "alert-sink" property.
This is just for convenience, EActivity does not use this property.

Especially useful in async function callbacks when the operation
failed and now you have to do something useful with the GError.
2010-11-09 23:33:20 +01:00
4a929caada Pass an EAlertSink to e_alert_sink_submit_alert().
Passing a random GtkWidget and then searching its ancestors for an
EAlertSink turned out to be not as useful as I thought.  Most of the
time we know about and have access to the widget that implements
EAlertSink, so just pass it directly as an EAlertSink.
2010-11-09 23:33:20 +01:00
4b88140cb6 Bug 633172 - Folder->Subscriptions is always enabled 2010-11-09 23:33:19 +01:00
df5ff95999 Adapt branch for building with GTK+ 2.22. 2010-10-29 13:51:38 -04:00
2de2e7f12f Workaround GtkComboBoxText/GtkComboBoxEntry in .ui files 2010-10-27 21:43:25 +02:00
d88cc5c4db Bug #592045 - Use week-day names in abbreviated date 2010-10-27 11:19:51 +02: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
18447890ff ESignatureList cleanups. 2010-10-21 00:24:46 -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
7a07c80767 Bug #630504 - Precache collate keys before sorting in EReflowModel 2010-10-20 13:34:53 +02:00
ec170e47fd Move more account utilities to e-account-utils.c. 2010-10-18 12:32:38 -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
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
11f52b6fb7 Bug #631968 - Date wrongly displayed as Tomorrow.
Taking absolute value of diff.
2010-10-18 10:49:24 +05:30
1e663aa132 Replace EBinding with GBinding.
GObject now does property bindings itself.

Requires GLib >= 2.26.
2010-10-14 07:12:52 -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
1c6f2d154e Bug #631320 - GtkObject is gone in GTK3 2010-10-06 19:26:08 +02:00
9675f18d91 Coding style and whitespace cleanup. 2010-10-03 13:29:20 -04:00
0e4c54eddc Messin around with EAlerts.
Trying out a new interface called EAlertSink.  The idea is to centralize
how errors are shown to the user.  A GtkWindow subclass would implement
the EAlertSink interface, which consists of a single method:

    void  (*submit_alert)  (EAlertSink *alert_sink, EAlert *alert);

The subclass has complete control over what to do with the EAlert,
although I imagine we'll wind up implementing various alert-handling
policies as standalone widgets such as EAlertDialog.  I'd like to try
an EAlertInfoBar.

Code that would otherwise display an error dialog itself would instead
pass the EAlert to an appropriate EAlertSink and be done with it.

Nothing is final yet.  Still hacking on EAlert trying to find an API
that feels right for these use cases.
2010-09-29 21:11:44 -04:00
d3b0961422 EAlert cleanups.
Clean up the header, drop some unused cruft.
2010-09-29 10:47:32 -04:00
dc1344cd02 Bump gtk+-2.0 requirement to 2.22.0.
Remove backward-compatibility hacks for older GTK+ versions.
2010-09-28 21:32:15 -04:00
31b57ed038 Adapt to Camel API changes. 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
b79bf3d187 Bug 628522 - invalid access off end of array in e_bit_array_delete() 2010-09-17 14:05:13 +01:00
95fe925630 Fix a crapload of run-time warnings.
EConfig and EMAccountEditor are very, very brittle.
2010-09-14 13:49:08 -04:00
cd53ba9900 Coding style cleanups. 2010-09-13 08:28:58 -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
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
af40da7d0f Bug 628653 - e_alert_new_valist memory leak 2010-09-03 08:18:19 -04:00
cccdb143a5 Minor whitespace cleanup. 2010-09-02 13:37:31 -04:00
4c05b9e925 Coding style and whitespace cleanup. 2010-08-29 11:22:28 -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
50a0719a8f fix bgo#625847 - make signatures work again. 2010-08-06 16:53:17 +01: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
1a8f315db5 Bug 624525 - Variable name collision in gtk-compat macro 2010-07-22 08:10:19 -04:00