Commit Graph

37 Commits

Author SHA1 Message Date
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
c4a3b12e65 Bug #612916 - Runtime error on console when opening a message window 2010-04-01 15:15:27 +02:00
94cc603cca Bug #374533 - Read window stays open after last email is deleted 2010-04-01 14:02:43 +02:00
04305b8fa3 Revert some bad assumptions I made in EPluginUI.
We can't require the use of EUIManager everywhere because we don't
control all the UI manager instances -- the most compelling example
being the composer, whose UI manager comes from GtkhtmlEditor.

Instead, EPluginUI will check the instance type and pick an appropriate
"load_from_string" function.
2010-03-15 12:14:36 -04:00
d7494c8f16 Shell and UI manager cleanups.
Replace the EVO_EXPRESS environment variable with an --express command
line option.  (Note, this adds a new translatable string for --help.)

Add an EUIManager class with an "express-mode" property and custom load
functions that use our new "express" preprocessor.  This replaces the UI
manager functions in e-utils.c.

(Also going to see if I can get GTK+ to add an "add_ui_from_string"
method to GtkUIManagerClass that we can override.  Then we could just
call gtk_ui_manager_add_ui_from_string() and the preprocessor would
automatically do its thing and chain up.)

Add an "express-mode" read-only GObject property to EShell.

Add e_shell_configure_ui_manager() to e-shell-utils.c.  For now this
just creates a one-way property binding:

    EShell:express-mode -> EUIManager:express-mode

Call this immediately after e_ui_manager_new().  (EUIManager can't do
this itself because it lives too low in the dependency hierarchy and
doesn't know about EShell.)
2010-03-13 20:53:17 -05:00
19eea41c74 clean up the 'express' mode hooks for UI Managers and start to
extend them to plugins - use a simple one-off boolean on the UI Manager
instead of exhaustively trying to propagate this information everywhere.
2010-03-13 20:53:16 -05:00
304777ae4c Add generic 'express mode' conditionals to the UI XML 2010-03-13 20:49:49 -05:00
bbe38b0f7a Add focus tracking to EMailBrowser. 2010-01-19 18:14:48 -05:00
39ee1b7890 Give all preview panes a search bar.
Use Shift+Ctrl+F as the accelerator for consistency with the mailer.
2010-01-17 23:54:06 -05:00
5e938b590f Expand the EMailReader interface so it's easier to use.
Adds the following methods:

  CamelFolder *   (*get_folder)          (EMailReader *reader);
  const gchar *   (*get_folder_uri)      (EMailReader *reader);
  GPtrArray *     (*get_selected_uids)   (EMailReader *reader);
2009-12-01 15:01:14 -05:00
d94534c367 Merge bits and pieces of the anjal-evo-2-30 branch. 2009-11-30 18:34:38 -05:00
054c088169 Bug 589153 - Use GtkBuilder instead of libglade 2009-11-16 19:33:32 -05:00
656178049b Build with GTK_DISABLE_DEPRECATED and fix resulting breakage. 2009-10-01 16:24:49 -04:00
e841a0b223 Bug 594863 - Message body doesn't allow right click pop up menu 2009-09-12 22:35:45 -05:00
fa9051e040 Finish killing Bonobo. 2009-09-08 14:53:45 -04:00
016805f54d Get the mailing-list-actions plugin working.
Also get mail-to-task working for the message browser window.
Came up with a new technique for managing actions and action groups in
the process.  Also gave the EMailReader interface an "update-actions"
signal for plugins to connect to.
2009-09-05 11:35:02 -04:00
cee7273ff2 Bug 592032 - Marks message as read when preview is off 2009-08-17 14:14:03 -04:00
f0d3f3afdf Radically reorganize source code.
- Collect all shell modules into a new top-level 'modules' directory:

      $(top_srcdir)/modules/addressbook
      $(top_srcdir)/modules/calendar
      $(top_srcdir)/modules/mail

  Nothing is allowed to link to these, not plugins nor other modules.

  THIS SOLVES BUG #571275 AND OPENS THE DOOR TO PORTING TO MAC OS X.

- Mimic the libevolution-mail-shared library from master (except drop
  the "shared" suffix) and have libevolution-mail-importers and all
  mail-related plugins link to it.

- Discard the a11y subdirectories and have the files live alongside
  their counterpart widgets.
2009-06-24 18:29:22 -04:00
cc3a98fc1a Merge branch 'master' into kill-bonobo
Conflicts:
	a11y/widgets/ea-combo-button.c
	a11y/widgets/ea-combo-button.h
	addressbook/gui/component/addressbook-component.c
	addressbook/gui/component/addressbook-component.h
	addressbook/gui/component/addressbook-view.c
	addressbook/gui/component/addressbook-view.h
	addressbook/gui/component/component-factory.c
	addressbook/gui/widgets/e-addressbook-view.c
	addressbook/gui/widgets/eab-contact-display.c
	addressbook/gui/widgets/eab-gui-util.h
	addressbook/gui/widgets/eab-menu.c
	addressbook/gui/widgets/eab-menu.h
	addressbook/gui/widgets/eab-popup-control.c
	addressbook/gui/widgets/eab-popup-control.h
	addressbook/gui/widgets/eab-popup.c
	addressbook/gui/widgets/eab-popup.h
	calendar/gui/cal-search-bar.c
	calendar/gui/calendar-commands.c
	calendar/gui/calendar-component.c
	calendar/gui/comp-editor-factory.c
	calendar/gui/comp-editor-factory.h
	calendar/gui/control-factory.c
	calendar/gui/dialogs/comp-editor.c
	calendar/gui/e-cal-component-memo-preview.c
	calendar/gui/e-cal-component-memo-preview.h
	calendar/gui/e-calendar-table.c
	calendar/gui/e-memo-table.c
	calendar/gui/e-memos.c
	calendar/gui/e-tasks.c
	calendar/gui/gnome-cal.c
	calendar/gui/gnome-cal.h
	calendar/gui/itip-bonobo-control.c
	calendar/gui/itip-bonobo-control.h
	calendar/gui/main.c
	calendar/gui/memos-component.c
	calendar/gui/memos-control.c
	calendar/gui/memos-control.h
	calendar/gui/migration.c
	calendar/gui/migration.h
	calendar/gui/tasks-component.c
	calendar/gui/tasks-control.c
	calendar/importers/main.c
	composer/Makefile.am
	composer/e-composer-header-table.c
	composer/e-composer-header.c
	composer/e-composer-header.h
	composer/e-composer-name-header.c
	composer/e-composer-private.c
	composer/e-composer-text-header.c
	composer/e-msg-composer.c
	composer/e-msg-composer.h
	e-util/e-corba-utils.h
	e-util/e-logger.c
	e-util/e-logger.h
	e-util/e-util-labels.c
	e-util/e-util-labels.h
	em-format/em-format.c
	mail/Makefile.am
	mail/e-mail-shell-migrate.c
	mail/em-account-editor.c
	mail/em-account-editor.h
	mail/em-composer-prefs.c
	mail/em-composer-utils.c
	mail/em-composer-utils.h
	mail/em-folder-browser.c
	mail/em-folder-tree-model.c
	mail/em-folder-tree.c
	mail/em-folder-tree.h
	mail/em-folder-utils.c
	mail/em-folder-utils.h
	mail/em-folder-view.c
	mail/em-format-html-display.c
	mail/em-format-html.c
	mail/em-mailer-prefs.c
	mail/em-mailer-prefs.h
	mail/em-message-browser.c
	mail/em-message-browser.h
	mail/em-network-prefs.h
	mail/em-popup.c
	mail/em-utils.c
	mail/importers/Makefile.am
	mail/mail-component-factory.c
	mail/mail-component.c
	mail/mail-config-factory.c
	mail/mail-config-factory.h
	mail/mail-config.c
	mail/mail-dialogs.glade
	mail/mail-types.h
	plugins/calendar-weather/calendar-weather.c
	plugins/mail-account-disable/mail-account-disable.c
	plugins/select-one-source/select-one-source.c
	po/POTFILES.in
	shell/e-component-registry.c
	shell/e-component-registry.h
	shell/e-component-view.c
	shell/e-component-view.h
	shell/e-corba-config-page.c
	shell/e-corba-config-page.h
	shell/e-shell-constants.h
	shell/e-shell-settings-dialog.c
	shell/e-shell-settings-dialog.h
	shell/e-shell-window-commands.c
	shell/e-shell-window.c
	shell/e-shell.h
	shell/e-sidebar.c
	shell/e-sidebar.h
	shell/e-user-creatable-items-handler.c
	shell/e-user-creatable-items-handler.h
	shell/es-menu.c
	shell/es-menu.h
	shell/evolution-component.h
	shell/evolution-config-control.c
	shell/evolution-config-control.h
	shell/evolution-listener.c
	shell/evolution-listener.h
	shell/evolution-shell-component-utils.c
	shell/evolution-shell-component-utils.h
	shell/importer/evolution-importer-client.c
	shell/importer/evolution-importer-client.h
	shell/importer/evolution-importer-listener.c
	shell/importer/evolution-importer-listener.h
	shell/importer/evolution-importer.c
	shell/importer/evolution-importer.h
	shell/importer/evolution-intelligent-importer.c
	shell/importer/evolution-intelligent-importer.h
	shell/importer/intelligent.c
	shell/main.c
	shell/test/evolution-test-component.c
	shell/test/evolution-test-component.h
	widgets/menus/gal-view-instance.c
	widgets/menus/gal-view-menus.c
	widgets/menus/gal-view-menus.h
	widgets/misc/Makefile.am
	widgets/misc/e-activity-handler.c
	widgets/misc/e-activity-handler.h
	widgets/misc/e-charset-picker.c
	widgets/misc/e-combo-button.c
	widgets/misc/e-combo-button.h
	widgets/misc/e-config-page.h
	widgets/misc/e-dropdown-button.c
	widgets/misc/e-dropdown-button.h
	widgets/misc/e-filter-bar.c
	widgets/misc/e-info-label.c
	widgets/misc/e-info-label.h
	widgets/misc/e-multi-config-dialog.c
	widgets/misc/e-multi-config-dialog.h
	widgets/misc/e-search-bar.c
	widgets/misc/e-search-bar.h
	widgets/misc/e-task-bar.c
	widgets/misc/e-task-bar.h
	widgets/misc/e-task-widget.c
	widgets/misc/e-task-widget.h
	widgets/misc/test-dropdown-button.c
	widgets/misc/test-error.c
	widgets/misc/test-info-label.c
	widgets/table/e-table-example-1.c
2009-05-27 08:37:17 -04:00
16e2beab9e Adapt mail to EShellBackend changes.
Again, builds but not tested.  Lots of compiler warnings to clean up,
but I don't have the energy for it.  This was pretty grueling.
2009-05-07 16:38:32 -04:00
0b04c6cfd7 Get the "Hide Deleted Messages" option working. 2009-04-28 19:19:47 -04:00
4cec9fc716 Saving progress on a massive attachment handling rewrite.
svn path=/branches/kill-bonobo/; revision=37465
2009-03-20 19:06:59 +00:00
85d0142d21 Move text searching UI into a new EMailSearchBar widget.
svn path=/branches/kill-bonobo/; revision=37351
2009-03-02 03:14:42 +00:00
08b1d0ae8e Split the interactive parts of the message display out of EMFormatHTMLDisplay
to a new GtkHTML subclass named EMailDisplay, and have EMFormatHTML create an
instance of that.  EMailDisplay will handle link clicking, mousing over URIs,
popup menus, and interactive search.  This makes EMFormatHTMLDisplay and
EMailReader more lightweight.

Clean up more of the EMFormat stack.

svn path=/branches/kill-bonobo/; revision=37346
2009-03-01 13:16:31 +00:00
14e8637d6b Rewrite the mail label code from top to bottom.
- Kill the e-util-labels API and read label information into a
    single-column GtkListStore.  Use GConfBridge to automatically
    keep GConf synched with the list store.

  - The list store (a singleton instance) is stored in EShellSettings
    so it's available everywhere.

  - The list store serves as the model for EMailLabelTreeView,
    which itself is embedded in EMailLabelManager; a complete
    label management UI as seen in the preferences dialog.

  - EMailLabelDialog is used to add or edit a label.  Avoid using a
    color button, instead embed a GtkColorSelection directly in the
    dialog so everything is in one window.

Open issues:

  - The weird toggle/color/text menu items in the popup menu aren't
    there.  For now they're just regular toggle items.  I'll deal
    with it later.

  - Filter intergration is broken at the moment.


svn path=/branches/kill-bonobo/; revision=37233
2009-02-07 20:04:52 +00:00
70fce0bbb0 When invoking Evolution with URIs on the command-line (e.g. mailto:),
terminate after all the windows for those URIs have been closed.

svn path=/branches/kill-bonobo/; revision=37157
2009-01-28 22:28:57 +00:00
e0610b2e0c Continue chipping away at EMFolderView and EMFolderBrowser.
Migrate from gnome_url_show() to e_show_uri().

svn path=/branches/kill-bonobo/; revision=37038
2009-01-11 14:20:50 +00:00
8d8e4ac1c2 Tweak the EShell API.
Disable File -> Close Window when there's only one window.
Replace EMMessageBrowser with EMailBrowser.

svn path=/branches/kill-bonobo/; revision=37009
2009-01-07 18:23:46 +00:00
9d915124c2 Get the Character Encoding menu working.
Kill e_charset_picker_bonobo_ui_populate().

svn path=/branches/kill-bonobo/; revision=36950
2008-12-31 20:24:59 +00:00
11e1bc38c3 Get the basic mail browser window working. No message contents yet.
svn path=/branches/kill-bonobo/; revision=36946
2008-12-29 13:42:07 +00:00
8e2b445e9d Define a new interface called EMailReader, which implements operations
common to both the main shell window and the message browser.  Replaces
EMFolderView.  Also begin to define EMailBrowser (GtkWindow subclass),
which implements EMailReader and replaces EMMessageBrowser.

svn path=/branches/kill-bonobo/; revision=36933
2008-12-27 15:14:29 +00:00