- Require all EPlugin and EPluginHook subtypes be registered before
loading plugins. This drastically simplifies the EPlugin/EPluginHook
negotiation.
- Turn most EPluginHook subtypes into GTypeModules and register their
types from an e_module_load() function (does not include shell hooks).
- Convert EPluginLib and the Mono and Python bindings to GTypeModules
and register their types from an e_module_load() function, and kill
EPluginTypeHook.
- 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.
Make the word search bar more like Firefox and get rid of the "Current
Message" search scope in the folder search bar. Shift+Ctrl+F now
activates the word search bar.
Consolidate all marshalling specifications to e-util/e-marshal.list.
This reduces code duplication and makes it slightly easier to locate
unused marshallers.
EAttachmentView and EAttachmentStore. Clicking the button works, but I
still have to finish the pop-up menu and drag-and-drop.
Kill e-util/e-gui-utils.c:
e_icon_for_mime_type() replaced by g_content_type_get_icon()
svn path=/branches/kill-bonobo/; revision=37491
So far it only supports extending the attachment pop-up menu, but I
also plan to support extending drag and drop types. Might even end
up replacing EMFormatHook.
Two subclasses created so far:
EAttachmentHandlerImage handles images (built-in)
EAttachmentHandlerMail handles emails (defined in mail module)
svn path=/branches/kill-bonobo/; revision=37487
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
- Break the UI out of Glade and into small, manageable widgets:
ESignatureEditor (moved from mail to widgets/misc)
ESignatureManager
ESignatureTreeView
ESignatureScriptDialog
- Move several signature utilities to e-util/e-signature-utils.c so
they're accessible from widgets/misc without introducing circular
dependences.
- Have EMailShellModule listen for new GtkhtmlEditor windows (from which
EMsgComposer and ESignatureEditor are derived) and configure the window
with spelling and HTML editing user preferences.
- Drastically simplifies em-composer-prefs.c.
svn path=/branches/kill-bonobo/; revision=37239
- 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
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
- Implement offline preparation as an EActivity that gets broadcast in
a signal to shell modules. Offline preparations are complete when the
last EActivity reference is dropped.
- Bind some of the composer preferences to EShellSettings properties.
svn path=/branches/kill-bonobo/; revision=36875
- Tighter integration of GalViewInstance and EShellView.
- EBinding. Stolen from ExoBinding. Lets you bind GObject properties
together to automatically keep their values in sync. This is a godsend.
Added to e-util, but might even deserve a place in libedataserver.
- EShellSettings. This is the concept I blogged about. Already
started ripping apart em-mailer-prefs.c. Others to follow. Any
place where we're monitoring GConf keys is a target.
- Incremental progress on the calender and mailer. Got EMFolderView
somewhat working, but I think I'll be killing off EMFolderBrowser.
svn path=/branches/kill-bonobo/; revision=36795
dependencies in our libraries. The circular dependency between the composer
and the mail module is still causing me headaches. And it doesn't help that
the addressbook and calendar also want to link to the composer.
svn path=/branches/kill-bonobo/; revision=36782
Implement support for "hide completed tasks" option (not yet tested).
Flesh out most of the Preferences window. Still need Certificates page.
svn path=/branches/kill-bonobo/; revision=36701
- Calendar is kind of a mess at the moment. Doesn't compile.
- Roughed in the Mail module, including all the actions.
That _does_ compile. Runs, even.
svn path=/branches/kill-bonobo/; revision=36611
2008-04-17 Milan Crha <mcrha@redhat.com>
** Fix for bug #526741 (gnome-vfs to gio/gvfs port)
* configure.in: Drop dependency on gnome-vfs, depend on gio instead.
* addressbook/gui/contact-editor/e-contact-editor.c: Do not include gnome-vfs.
* calendar/gui/e-meeting-store.c: (start_async_read), (freebusy_async),
(async_read): Read data with gio, not with gnome-vfs.
* calendar/gui/e-meeting-store.c: (async_close): Function removed.
* calendar/gui/migration.c:
* calendar/gui/e-memos.c:
* calendar/gui/alarm-notify/notify-main.c:
* calendar/gui/e-tasks.c:
* calendar/gui/main.c:
* calendar/gui/e-meeting-list-view.c:
Do not include gnome-vfs.
* calendar/gui/dialogs/comp-editor.c: (set_attachment_list):
* calendar/gui/dialogs/comp-editor.c: (attachment_guess_mime_type):
Function removed, use e-util function instead.
* calendar/gui/e-cal-popup.c: (temp_save_part):
Reflect changes in CamelStreamVFS.
* calendar/gui/e-cal-popup.c: (ecalp_apps_open_in), (ecalp_apps_popup_free),
(ecalp_standard_menu_factory): Use gio to fill popup and launch app.
* calendar/gui/e-cal-component-preview.h: (e_cal_comp_preview_url_requested_cb):
* calendar/gui/e-cal-component-preview.c: (e_cal_comp_preview_url_requested_cb):
New helper function to manage file:// urls for GtkHTML component.
* calendar/gui/e-cal-component-preview.c: (e_cal_component_preview_init):
* calendar/gui/e-cal-component-memo-preview.c:
(e_cal_comp_preview_url_requested_cb):
Use above helper function.
* calendar/gui/e-cal-component-memo-preview.c: (url_requested_cb):
* calendar/gui/e-cal-component-preview.c: (url_requested_cb): Function removed.
* composer/e-msg-composer.h: (e_msg_composer_guess_mime_type):
* composer/e-msg-composer.c: (e_msg_composer_guess_mime_type), (handle_uri),
(e_msg_composer_add_inline_image_from_file):
Use shared e_util_guess_mime_type instead of its own.
* e-util/e-gui-utils.c: Do not include gnome-vfs.
* e-util/e-util.c: (e_write_file_uri), (e_file_get_save_path):
* e-util/e-dialog-utils.c: (e_file_can_save), (e_file_check_local):
Use gio instead of gnome-vfs.
* e-util/e-util.h:
* e-util/e-util.c: (e_util_guess_mime_type), (e_util_filename_to_uri),
(e_util_uri_to_filename), (e_util_read_file): New helper functions.
* mail/Makefile.am:
* mail/em-vfs-stream.h:
* mail/em-vfs-stream.c: Removed from project, not used anywhere.
* mail/em-menu.c:
* mail/em-config.c: Do not include gnome-vfs.
* mail/mail-ops.c: (save_messages_exec), (save_part_exec):
Changes related to Data Server change of CamelStreamVFS.
* mail/em-format.c: (em_format_describe_part):
* mail/em-format-html-display.c: (efhd_bonobo_object), (efhd_find_handler),
(efhd_use_component), (efhd_bonobo_unknown), (efhd_check_server_prop),
(efhd_format_attachment): Drop use of deprecated gnome-vfs functions.
* mail/em-utils.c: (em_utils_snoop_type): Use gio to guess the mime_type.
* mail/em-popup.c: (emp_apps_open_in), (emp_apps_popup_free),
(emp_standard_menu_factory): Use gio to fill popup and launch app.
* plugins/import-ics-attachments/icsimporter.c: Do not include gnome-vfs.
* plugins/ipod-sync/ical-format.c: (do_save_calendar_ical):
* plugins/ipod-sync/ipod-sync.c: (destination_save_addressbook):
Write to gio GOutputStream instead of gnome-vfs handle.
* plugins/ipod-sync/format-handler.h: (open_for_writing):
* plugins/ipod-sync/ipod-sync.c: (open_for_writing): New helper function.
* plugins/publish-calendar/publish-format-fb.h: (publish_calendar_as_fb):
* plugins/publish-calendar/publish-format-fb.c: (write_calendar), (publish_calendar_as_fb):
* plugins/publish-calendar/publish-format-ical.h: (publish_calendar_as_ical):
* plugins/publish-calendar/publish-format-ical.c: (write_calendar), (publish_calendar_as_ical):
Use gio GOutputStream instead of gnome-vfs handle.
* plugins/publish-calendar/url-editor-dialog.c: (create_uri): Use glib function to escape URI.
* plugins/publish-calendar/publish-location.c: (migrateURI): Use EUri to parse URI.
* plugins/publish-calendar/publish-calendar.c: (publish_online), (unmount_done_cb),
(struct mnt_struct), (mount_ready_cb), (ask_password), (ask_question),
(mount_first), (publish):
Use gio instead of gnome-vfs for opening (remote) files.
* plugins/save-calendar/ical-format.c: (do_save_calendar_ical):
* plugins/save-calendar/csv-format.c: (do_save_calendar_csv):
* plugins/save-calendar/rdf-format.c: (do_save_calendar_rdf):
Use gio GOutpuStream instead of gnome-vfs handle.
* plugins/save-calendar/format-handler.h: (open_for_writing):
* plugins/save-calendar/save-calendar.c: (open_for_writing): New helper function.
* shell/e-shell-window-commands.c: (command_quick_reference):
Use gio instead of gnome-vfs.
* widgets/misc/e-attachment.h: (struct _EAttachment):
* widgets/misc/e-attachment.c: (finalise), (init), (attachment_guess_mime_type),
(e_attachment_new), (struct DownloadInfo), (download_info_free),
(data_ready_cb), (download_to_local_path),
(e_attachment_new_remote_file):
Use gio instead of gnome-vfs to download remote files.
* widgets/misc/e-image-chooser.c: (image_drag_data_received_cb):
Use new util function to read file.
* widgets/misc/e-attachment-bar.c: (size_to_string): Stolen from gnome-vfs.
svn path=/trunk/; revision=35378
2008-04-05 Matthew Barnes <mbarnes@redhat.com>
** Fixes part of bug #526152, plus some tangential code cleanup.
* mail/Makefile.am:
Remove all the IDL crud for GnomeSpell.
* mail/em-composer-prefs.c:
* mail/evolution-mail.schemas.in:
* mail/mail-config.c:
Define our own GConf keys for active spell checking languages
and the underline color for misspelled words, instead of relying
on GnomeSpell's GConf keys. The new keys are:
/apps/evolution/mail/composer/spell_color (string)
/apps/evolution/mail/composer/spell_languages (list of strings)
* mail/em-composer-prefs.c:
* mail/em-composer-prefs.h:
Cleanup the logic a bit to improve readability.
* mail/mail-config.c:
Cleanup the GConf notification logic:
- We don't need the notification IDs for GConf keys we're watching.
- Minimize the repetition of GConf keys to reduce the risk of typos.
- Reduce the number of notification callback functions.
* mail/Spell.idl:
Remove this file; we don't use GnomeSpell anymore.
* composer/e-msg-composer.c:
* composer/e-composer-private.h:
Initialize a new composer's spell checking language menu via
our new "spell_languages" GConf key.
* tools/killev.c (main):
No need to continue killing the GnomeSpell Bonobo server.
svn path=/trunk/; revision=35322
M shell/apps_evolution_shell.schemas.in
M shell/ChangeLog
A mail/em-network-prefs.c
M mail/GNOME_Evolution_Mail.server.in.in
A mail/em-network-prefs.h
M mail/ChangeLog
M mail/mail-config.glade
M mail/Makefile.am
M mail/mail-component-factory.c
M mail/mail-config-factory.c
svn path=/trunk/; revision=35240
2007-09-21 Matthew Barnes <mbarnes@redhat.com>
* mail/Makefile.am:
Distribute README.async (#478704).
* mail/importers/Makefile.am:
Remove references to evolution-outlook-importer.c and
netscape-importer.c; we haven't shipped them for over two years
(see ChangeLog entry for 2005-07-01).
svn path=/trunk/; revision=34297
2007-06-09 Matthew Barnes <mbarnes@redhat.com>
* Makefile.am:
Fix a minor typo spotted by Gilles Dartiguelongue (#386503).
svn path=/trunk/; revision=33665