This was a hidden feature to load EPlugins from a custom location by
setting the EVOLUTION_PLUGIN_PATH environment variable. It defaulted
to $HOME/.eplugins, which is in violation of the XDG Base Directory
Specification.
Since I've never ever heard of anyone using this and wasn't even aware
of it myself, rather than migrating the folder to a standard-compliant
location I'm just going to drop support for EVOLUTION_PLUGIN_PATH and
put my money on no one noticing. The EPlugin framework is gradually
being decommissioned anyway in favor of the simpler and more flexible
EExtension framework in Evolution-Data-Server.
The EModule, EExtensible and EExtension classes as well as the
e_type_traverse() function have been moved to Evolution-Data-Server's
libebackend library to replace e-data-server-module.c.
Now Evolution-Data-Server modules use the same framework as Evolution.
There were a number of problems:
- Walk the GType tree to find EPluginHook subclasses, instead of
just registering the immediate children.
- Some EConfig and EEvent subclasses were not being configured
properly (particularly the mail and calendar subclasses).
- Add preference window pages after the main loop starts to make
sure all plugins and plugin hooks are installed first.
- 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.
2009-01-12 Philip Van hoof <philip@codeminded.be>
* e-util/e-plugin.c
* e-util/e-plugin.h
* shell/main.c: EPlugins must be loaded after Bonobo init, else variables
like `session` are not available for plugin's initialization functions.
(Fixes Bug #565681)
svn path=/trunk/; revision=37052
2008-07-31 Matthew Barnes <mbarnes@redhat.com>
** Fixes bug #545568
* e-plugin.c (ep_load):
Make sure system plugins are enabled on startup.
* plugins/addressbook-file/org-gnome-addressbook-file.eplug.xml:
* plugins/caldav/org-gnome-caldav.eplug.xml:
* plugins/calendar-file/org-gnome-calendar-file.eplug.xml:
* plugins/calendar-http/org-gnome-calendar-http.eplug.xml:
* plugins/calendar-weather/org-gnome-calendar-weather.eplug.xml:
* plugins/exchange-operations/org-gnome-exchange-operations.eplug.xml:
* plugins/google-account-setup/org-gnome-evolution-google.eplug.xml:
* plugins/groupwise-account-setup/org-gnome-gw-account-setup.eplug.xml:
* plugins/hula-account-setup/org-gnome-hula-account-setup.eplug.xml:
Add "system_plugin=true" so it's not shown in the Plugin Manager.
These plugins are not designed to be disabled by the user.
svn path=/trunk/; revision=35871
2008-06-06 Tor Lillqvist <tml@novell.com>
* e-plugin.c (epl_loadmodule): Tell which plugin it could not load
in the warning message.
svn path=/trunk/; revision=35604
2008-05-22 Matthew Barnes <mbarnes@redhat.com>
* e-util/e-plugin.c:
* e-util/e-plugin.h:
Code cleanup. Also add an "enabled" property to EPlugin.
svn path=/trunk/; revision=35528
2008-05-08 Matthew Barnes <mbarnes@redhat.com>
** Fixes bug #525241 (EPluginUI)
* e-util/Makefile.am:
Add e-plugin-ui.[ch].
* e-util/e-plugin.h (EPluginClass):
Add a "get_symbol" method for extracting arbitrary symbols
from an EPlugin. Implementation of the method is optional.
* e-util/e-plugin.c (e_plugin_get_symbol):
New function invokes the new "get_symbol" EPlugin method.
* e-util/e-plugin.c (epl_get_symbol):
New function implements the new "get_symbol" EPlugin method.
It extracts the given symbol name from the GModule.
* e-util/e-plugin-ui.[ch]:
New EPluginHook subclass that allows plugins to extend menus,
toolbars, and popups that are managed by GtkUIManager instead
of BonoboUI. Should eventually replace EMenu/EPopup.
* shell/main.c (main): Register the EPluginUIHook type.
* composer/e-msg-composer.c (msg_composer_destroy),
(msg_composer_init): Rip out the EMenu logic.
* composer/e-msg-composer.c (msg_composer_init):
Register the GtkUIManager with EPluginUI.
* plugins/face/Makefile.am:
* plugins/face/org-gnome-face-ui.xml:
Remove org-gnome-face-ui.xml (obsolete).
* plugins/face/face.c (e_plugin_ui_init):
Initialization callback for EPluginUI. Adds a "face" action to
the EMsgComposer instance's "composer" action group.
* plugins/face/org-gnome-face.eplug.xml:
Replace the "bonobomenu" hook definition with a new one for
EPluginUI. Include the UI definition inline.
svn path=/trunk/; revision=35485
2008-04-18 Matthew Barnes <mbarnes@redhat.com>
** Fixes bug #528817
* e-util/e-plugin.c (e_plugin_register_type):
Fix a typo in the logic. This might explain why I occasionally
find Exchange Operations disabled on startup.
svn path=/trunk/; revision=35383
2008-03-20 Sankar P <psankar@novell.com>
* e-plugin.c: (ep_load):
Changed a stupid conditional statement,
in the previous commit.
svn path=/trunk/; revision=35225
2008-03-19 Sankar P <psankar@novell.com>
** Fix for bug #496839
* e-plugin.c: (ep_load), (e_plugin_load_plugins),
(e_plugin_get_configure_widget):
* e-plugin.h:
- Implement Plugin Load Levels. You can decide
on which load-level you want your plugin to be loaded.
- Load Levels are mandatory if you need other language loaders
like Mono-Loader or Python-Loader.
- Introduce FLAGS as part of EPlugin. Futuristic.
svn path=/trunk/; revision=35216
2007-12-04 Milan Crha <mcrha@redhat.com>
** Fix for bug #500210
* plugins/plugin-manager/plugin-manager.c: Changed coding-style to be more accurate to other
sources, but the main change was to show configuration options of the
plugin into extra tab, instead of new popup under 'Configure' button.
* e-util/e-plugin.h:
* e-util/e-plugin.c: (e_plugin_configure), (e_plugin_is_configurable),
(epl_configure), (e_plugin_get_configure_widget),
(epl_get_configure_widget): Removed old configure functions,
replaced by get_configure_widget functions, to be able show
plugin configuration in a tab of plugin manager.
svn path=/trunk/; revision=34639
2007-10-26 Sankar P <psankar@novell.com>
** Fix for bug #461272
* plugin-manager.c: (eppm_selection_changed),
(org_gnome_plugin_manager_manage):
Configure button should not be enabled for all.
configure button needs a hot-key.
svn path=/trunk/; revision=34432
2007-08-07 Sankar P <psankar@novell.com>
reviewed by: Srinivasa Ragavan <sragavan@novell.com>
* e-plugin.c: (ep_load_pending):
Do not load pending hooks,
if the corresponding plugin is disabled.
Fixes#383684
svn path=/trunk/; revision=33963
2006-06-15 Tor Lillqvist <tml@novell.com>
* e-plugin.c (ep_construct): On Win32, if the compile-time
localedir's prefix from the plugin's .eplug file matches
Evolution's compile-time prefix, replace it with the run-time
prefix (installation directory).
svn path=/trunk/; revision=32150