Commit Graph

80 Commits

Author SHA1 Message Date
f960fd2dff Reduce usage of g_type_class_peek_parent().
G_DEFINE_TYPE macros define a static "parent_class" variable.
2012-06-24 20:31:42 -04:00
6c05b09be1 Do not call g_object_notify() when property didn't change 2012-06-18 15:35:44 +02:00
94daae3dba Remove the last remaining usage of GConf 2012-06-15 09:04:08 +02:00
5b8340563c Mail formatter rewrite
All mail-parsing and formatting code has been moved to em-format.
Parsing is handeled by EMailParser class, formatting by EMailFormatter.
Both classes have registry which hold extensions - simple classes
that do actual parsing and formatting. Each supported mime-type
has it's own parser and formatter extension class.
2012-06-06 15:27:19 +02:00
6d2c382788 WebKit port - port formatter and mail module 2012-03-28 18:38:25 +02:00
23f5773903 Coding style and whitespace cleanup. 2012-02-20 10:04:25 -05:00
a9cfed5938 Avoid passing EMailBackend as much as possible.
More mail API churn... reversing some previous API decisions.

I've made some key API changes to EMailSession on the account-mgmt
branch which should allow for this, and will hopefully also benefit
the "email-factory" branch.

EMailBackend barely needs to exist anymore, except as the owner of
EMailSession.

For several low-level functions, we replace its EMailBackend parameter
with EMailSession and EAlertSink parameters; the latter so it can still
pass user alerts up the chain.
2011-12-16 10:58:54 -05:00
f6f46ce7fc Use e_restore_window() and "org.gnome.evolution.window".
Apply it to all windows with persistent size and/or position.
2011-11-27 18:03:45 -06:00
00e4952799 Merge branch 'master' into wip/gsettings
Conflicts:
	mail/e-mail-paned-view.c
2011-11-22 14:52:33 -05:00
c75f58d01b Fix compiler warnings. 2011-11-22 14:34:11 -05:00
2b8701fa2b EPreviewPane: Implement EAlertSink.
Means EMailBrowser no longer has to.

Also, EMailReader now provides a default implementation for
get_alert_sink() which just calls get_preview_pane() and casts.
2011-11-22 00:12:36 -05:00
5fabd29bd2 Add EMailReader.get_preview_pane() method.
Also give EMailReader::show-search-bar signal a default implementation,
since it can now dig up the search bar widget itself.
2011-11-22 00:12:36 -05:00
f9ffebc2f7 Mail widget cleanups. 2011-11-22 00:12:36 -05:00
9744056c5e More GSettings migration 2011-10-26 17:54:50 +02:00
224f26b84d GtkApplication has some new EShell-like features.
I pushed a few EShell features up to GtkApplication for GTK+ 3.2,
so we can now trim off the redundancies in EShell.

1) GtkApplication has a new "window-added" signal which replaces
   EShell's own "window-created" signal.

2) GtkApplication has a new "window-removed" signal which replaces
   EShell's own "window-destroyed" signal.

3) gtk_application_get_windows() now returns a list of windows sorted
   by most recently focused, replacing e_shell_get_watched_windows().

4) GtkApplication now provides enough hooks to subclasses that we can
   remove e_shell_watch_window() and call gtk_application_add_window()
   directly.
2011-10-06 08:16:21 -04:00
fcbbdfbd18 Coding style and whitespace cleanup. 2011-09-04 07:34:32 -04:00
d10061af30 Bug #651976 - Reply/Forward setting isn't respected in message window 2011-06-06 11:27:16 +02:00
00b88396f4 Bug #651761 - Message window doesn't mark message seen 2011-06-03 10:30:50 +02:00
756c8abcb8 Bug #646109 - Fix use of include <config.h> to make sure translations work 2011-05-27 15:23:07 +02:00
d44105562d Fix crash when opening message window.
Would help if I actually did what the comment said...
2011-05-21 21:35:10 -04:00
cb97c2dc8f Coding style and whitespace cleanup. 2011-05-21 17:56:06 -04:00
9aa668aa6b Bug 650587 - Hide Search Folder actions when Search Folders are disabled
Add an action group for Search Folders to EMailReader.  The action
group's visibility is bound to the "mail-enable-search-folders" setting,
so that menu items related to Search Folders are hidden when Search
Folders are disabled in GConf.

Affected menu items are:

   Edit -> Search Folders
   Message -> Create Rule -> Search Folder from Subject...
   Message -> Create Rule -> Search Folder from Sender...
   Message -> Create Rule -> Search Folder from Recipients...
   Message -> Create Rule -> Search Folder from Mailing List...
   Search -> Create Search Folder From Search...
2011-05-20 19:05:55 -04:00
7333f12087 EMailReader: Support multiple action groups.
Use an enum type to request different action groups.  For now we just
have E_MAIL_READER_ACTION_GROUP_STANDARD.  EMailReader implementations
should map the enum value to an appropriate GtkActionGroup.
2011-05-20 19:05:55 -04:00
d20e186ce7 Bug #601541 - Add 'Copy Image' Option On Inline Email Images 2011-05-16 13:21:22 +02:00
7a61438713 Bug #303653 - Make headers collapsable in preview pane 2011-04-27 17:42:49 +02:00
69add830e1 Bug 648346 - Add style class to message browser toolbar 2011-04-21 07:44:26 -04:00
c6fd77460f Coding style and whitespace cleanup. 2011-03-05 12:34:28 -05:00
1301cf02ef Bug #614480 - Avoid using G_TYPE_INSTANCE_GET_PRIVATE repeatedly 2011-02-25 16:20:41 +01:00
7a1677520d Remove NULL checks for GObject methods.
As of GLib 2.28 all GObject virtual methods, including constructed(),
are safe to chain up to unconditionally.  Remove unnecessary checks.
2011-02-12 12:54:08 -05:00
753c60fc67 Drop backward-compatibility cruft. 2011-01-25 10:28:26 -05:00
9f9eb9b0a2 Update actions in EMailBrowser on message select too 2010-11-30 08:38:24 +01:00
c53fd13220 EMailReader: Add a get_alert_sink() method. 2010-10-31 22:54:30 -04:00
a1dd1897d5 EMailBrowser: Implement EAlertSink. 2010-10-31 22:54:30 -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
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
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
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
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
699e36491b Change em_format_redraw() to em_format_queue_redraw().
This changes the behavior of the function: instead of redrawing
immediately it schedules the redraw from an idle callback.  This
allows us to make multiple changes to EMFormat before redrawing.
2010-08-10 18:53:31 -04:00
9279429501 Drop the "quote-from-selection" property.
David's solution is simpler: check if the HTML widget is mapped.
Avoids having to propagate the property to Srini's new classes.
2010-07-26 07:40:48 -04:00
a972d9ab59 Bug 624285 - When replying, ignore text selection if preview is hidden 2010-07-13 19:30:20 -04:00
78bf9d9d70 Bug 624128 - Folder -> Subscriptions is always enabled 2010-07-12 11:26:47 -04:00
0439c01a9a Bug 616724 - Initialize message window with threaded state of main window 2010-06-19 11:39:49 -04:00
4f01d3d182 Keep chipping away at direct GtkHTML usage.
EMFormatHTML now holds a sealed EWebView instead of a public GtkHTML,
accessible through em_format_html_get_web_view().

Rename e_mail_reader_get_html_display() to e_mail_reader_get_formatter()
and have it return an EMFormatHTML instead of an EMFormatHTMLDisplay,
since that's usually the type you want (or else an EMFormat, but never
an EMFormatHTMLDisplay).
2010-05-31 12:01:49 -04:00
bc054c94cb Bug 618902 - Crash when viewing/closing messages quickly
Closing an EMailBrowser window causes it to be disposed immediately,
but ongoing async operations still hold an EMailBrowser reference --
in particular, regenerating the internal message list and fetching a
mail message.  The callback functions for these operations were not
equipped to deal with the disposed-but-not-yet-finalized object.
2010-05-18 08:21:19 -04:00
0ef4871868 EMailBrowser cleanup. 2010-05-18 08:21:19 -04:00
cd7c20d152 Bug #603418 - Custom headers not displayed in message preview 2010-04-26 16:42:02 +02:00
c63a626b5e Bug 614644 - Email window's title is blank when subject is blank 2010-04-07 11:34:58 -04:00
fabb6b035c Only #include Camel's top-level header. 2010-04-02 16:59:20 -04:00
b2e7e4fedd Bug #325121 - Do not translate developer strings in g_param_spec_* 2010-04-01 21:40:19 +02:00