aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-plugin.c
Commit message (Collapse)AuthorAgeFilesLines
* Finish killing Bonobo.Matthew Barnes2009-09-091-66/+46
|
* Get EConfig and EEvent hooks working again.Matthew Barnes2009-09-011-4/+18
| | | | | | | | | | | | | 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.
* Simplify EPlugin loading at startup.Matthew Barnes2009-08-301-613/+83
| | | | | | | | | | | | | - 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.
* More code cleanup.Matthew Barnes2009-06-021-9/+9
|
* Prefer GLib basic types over C types.Matthew Barnes2009-05-271-84/+84
|
* Remove trailing whitespace, again.Matthew Barnes2009-05-271-2/+2
|
* Compiler warning fix.Milan Crha2009-01-151-1/+1
| | | | | | | | | 2009-01-15 Milan Crha <mcrha@redhat.com> * e-plugin.c: (epl_construct): Compiler warning fix. svn path=/trunk/; revision=37081
* e-util/e-plugin.c e-util/e-plugin.h EPlugins must be loaded after BonoboPhilip Van hoof2009-01-121-10/+36
| | | | | | | | | | | | | 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
* License changes from GPL to LGPLSankarasivasubramanian Pasupathilingam2008-09-161-12/+12
| | | | svn path=/trunk/; revision=36344
* ** Fixes bug #545568Matthew Barnes2008-07-311-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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
* ** Fix for bug #540972Milan Crha2008-07-011-0/+1
| | | | | | | | | | | 2008-07-01 Milan Crha <mcrha@redhat.com> ** Fix for bug #540972 * e-plugin.c: (ep_load): Small memory leak fix. svn path=/trunk/; revision=35709
* Tell which plugin it could not load in the warning message.Tor Lillqvist2008-06-061-1/+1
| | | | | | | | | | 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
* Code cleanup. Also add an "enabled" property to EPlugin.Matthew Barnes2008-05-231-154/+288
| | | | | | | | | | | 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
* ** Fixes bug #525241 (EPluginUI)Matthew Barnes2008-05-091-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* ** Fixes bug #528817Matthew Barnes2008-04-191-1/+1
| | | | | | | | | | | | | 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
* Changed a stupid conditional statement, in the previous commit.Sankar P2008-03-201-1/+1
| | | | | | | | | | 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
* ** Fix for bug #496839Sankar P2008-03-191-22/+55
| | | | | | | | | | | | | | | | | | | 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
* ** Fix for bug #500210Milan Crha2007-12-041-35/+23
| | | | | | | | | | | | | | | | | | | | | 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
* ** Remove trailing whitespace from source code.Matthew Barnes2007-11-151-57/+57
| | | | | | | | | 2007-11-14 Matthew Barnes <mbarnes@redhat.com> ** Remove trailing whitespace from source code. svn path=/trunk/; revision=34537
* ** Fix for bug #461272Sankar P2007-10-261-3/+18
| | | | | | | | | | | | | | | 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
* ** Fixes bug #437579Matthew Barnes2007-10-101-13/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-10-09 Matthew Barnes <mbarnes@redhat.com> ** Fixes bug #437579 * addressbook/conduit/address-conduit.c: * addressbook/gui/component/addressbook-config.c: * addressbook/gui/contact-editor/e-contact-editor.c: * addressbook/gui/widgets/eab-gui-util.c: * calendar/conduits/calendar/calendar-conduit.c: * calendar/conduits/memo/memo-conduit.c: * calendar/conduits/todo/todo-conduit.c: * calendar/gui/dialogs/alarm-dialog.c: * calendar/gui/dialogs/event-page.c: * calendar/gui/dialogs/memo-page.c: * calendar/gui/dialogs/task-page.c: * calendar/gui/e-day-view-layout.c: * calendar/gui/e-day-view-layout.h: * calendar/gui/print.c: * e-util/e-pilot-map.c: * e-util/e-plugin.c: * e-util/e-profile-event.c: * e-util/e-signature.c: * filter/filter-file.c: * mail/e-searching-tokenizer.c: * mail/em-folder-browser.c: * mail/em-format-html.c: * mail/em-format-view.c: * mail/em-format.c: * mail/em-mailer-prefs.c: * mail/em-mailer-prefs.h: * mail/mail-session.c: * mail/mail-session.h: * mail/mail-vfolder.c: * mail/message-list.c: * plugins/bbdb/bbdb.c: * plugins/bbdb/gaimbuddies.c: * plugins/calendar-http/calendar-http.c: * plugins/exchange-operations/exchange-user-dialog.c: * plugins/face/face.c: * shell/e-shell-window.c: * shell/e-shell.c: * smime/lib/e-cert-db.c: * tools/killev.c: * widgets/misc/e-cursors.c: * widgets/misc/e-spinner.c: * widgets/misc/e-unicode.c: * widgets/table/e-table-field-chooser-item.c: * widgets/table/e-table-header-item.c: * widgets/table/e-table-header-item.h: * widgets/table/e-table-header-utils.c: * widgets/table/e-table.c: * widgets/text/e-text.c: Fix various compiler warnings. Patch from Milan Crha. svn path=/trunk/; revision=34368
* Update FSF address in header comments (#469886). Patch from TobiasMatthew Barnes2007-09-021-1/+1
| | | | | | | | | | 2007-09-02 Matthew Barnes <mbarnes@redhat.com> * Update FSF address in header comments (#469886). Patch from Tobias Mueller. svn path=/trunk/; revision=34151
* reviewed by: Srinivasa Ragavan <sragavan@novell.com>Sankar P2007-08-071-6/+10
| | | | | | | | | | | | | 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
* Plugins should be configurable within the plugin-manager itself.Sankarasivasubramanian Pasupathilingam2007-07-261-0/+34
| | | | | | | Fixes Preferences dialog bloating. See bug #459522 svn path=/trunk/; revision=33847
* Clean up compiler warnings in e-util directory (#438467).Matthew Barnes2007-06-031-17/+17
| | | | svn path=/trunk/; revision=33623
* On Win32, if the compile-time localedir's prefix from the plugin's .eplugTor Lillqvist2006-06-151-0/+8
| | | | | | | | | | | 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
* Fix memory leak. Fixes bug #335423.Chris Heath2006-06-091-0/+3
| | | | | | | | | | | | | 2006-06-09 Chris Heath <chris@heathens.co.nz> * addressbook/gui/widgets/eab-popup-control.c (eab_popup_control_set_free_form): * addressbook/gui/contact-editor/e-contact-quick-add.c (quick_add_merge_contact): * e-util/e-plugin.c (ep_construct): * mail/message-list.c (message_list_finalise): * plugins/itip-view.c (itip_view_destroy): Fix memory leak. Fixes bug #335423. svn path=/trunk/; revision=32101
* Use guint for 1-bit bitfield. Remove unused var Remove unused vars RenameKjartan Maraas2006-02-081-4/+4
| | | | | | | | | | | | | | | | | 2006-02-08 Kjartan Maraas <kmaraas@gnome.org> * e-config.c: Use guint for 1-bit bitfield. * e-icon-factory.c: (load_icon): Remove unused var * e-import.c: (ep_init), (ep_finalise): Remove unused vars * e-plugin.c: (e_plugin_register_type): Rename a var * e-plugin.h: guint for 1-bit bitfield * e-popup.c: (ep_finalise): Add comment. * e-profile-event.c: Remove unused prototype * e-text-event-processor-emacs-like.c: (e_text_event_processor_emacs_like_event): Add comment about a compiler warning from the Intel compiler. svn path=/trunk/; revision=31446
* Delete e_mkdir_hier(), and use e_util_mkdir_hier() instead of it.Simon Zheng2006-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-01-10 Simon Zheng <simon.zheng@sun.com> * e-mktemp.c (get_dir): * e-plugin.c: * e-util.[ch] (e_create_directory): (e_sort): Delete e_mkdir_hier(), and use e_util_mkdir_hier() instead of it. Delete e_strstrcasea(), and use e_util_strstrcase() instead of it. Delete e_strftime(), use the copy in evolution-data-server/ libedataserver/e-data-server-util.c instead of it. Delete e_filename_make_safe(), and use the copy in evolution-data-server/libedataserver/e-data-server-util.c instead of it. Detelte e_utf8_strftime(), and use the copy in evolution-data-server/libedataserver/e-data-server-util.c instead of it. svn path=/trunk/; revision=31117
* e-plugin.c (epl_construct) [Win32] The interface ofTor Lillqvist2006-01-051-2/+4
| | | | | | | | | | 2006-01-05 Tor Lillqvist <tml@novell.com> * e-plugin.c (epl_construct) * e-menu.c (emph_construct_menu): [Win32] The interface of e_util_replace_prefix() changed a bit. svn path=/trunk/; revision=31053
* Use GLib API where applicable for portability.Tor Lillqvist2005-12-181-18/+43
| | | | | | | | | | | | | | | | | | | 2005-12-17 Tor Lillqvist <tml@novell.com> * e-plugin.c: Use GLib API where applicable for portability. * e-plugin.c: Use e_xml_parse_file() and e_xml_save_file() instead of using libxml directly. * e-plugin.c: Add copyright header. (epl_construct): [Win32 only:] Remap the plugin location from the compile-time path to to a run-time path, to handle the common case where the location in the .eplug file is in Evo's compile-time prefix. Use libedataserver's e_util_get_prefix() and e_util_replace_prefix(). We could alternatively use relative paths in the .eplug files on Win32, like we do for .server files. svn path=/trunk/; revision=30825
* e-plugin.c (ep_set_enabled): Fix compiler warning on early bailoutDavid Malcolm2005-08-231-1/+2
| | | | svn path=/trunk/; revision=30204
* fixed a typo: s/occured/occurred/gJens Seidel2005-08-221-1/+1
| | | | svn path=/trunk/; revision=30180
* Removed, these are now implemented as a plugin.Not Zed2005-05-251-81/+199
| | | | | | | | | | | | | | | | | | 2005-05-25 Not Zed <NotZed@Ximian.com> * e-plugin-mono.[ch]: Removed, these are now implemented as a plugin. * e-plugin.c (ep_load_plugin): separate out plugin xml loading code from the loading loop. If a plugin type doesn't exist, then save it in a list for later checking. (ep_load): call above to do the work. (e_plugin_register_type): check the pending doc list, if any plugins now have a type, load them. (e_plugin_type_hook_get_type): a plugin hook for registering new plugin types ('loaders') at runtime. svn path=/trunk/; revision=29412
* include config.h.Not Zed2004-12-221-0/+11
| | | | | | | | | | | | | | | | | | 2004-12-22 Not Zed <NotZed@Ximian.com> * e-plugin.c: include config.h. 2004-12-17 Not Zed <NotZed@Ximian.com> * e-popup.c (e_popup_add_items): add a translation domain to api. (e_popup_create_menu): translate the label using the supplied domain. (emph_popup_factory): pass domain to popup_add_items. * e-plugin.c (ep_construct): if we have a localedir set, then bindtextdomain so gettext can find it. svn path=/trunk/; revision=28175
* kill warning if we can't open the path.Not Zed2004-12-081-1/+1
| | | | | | | | | 2004-12-08 Not Zed <NotZed@Ximian.com> * e-plugin.c (e_plugin_load_plugins): kill warning if we can't open the path. svn path=/trunk/; revision=28084
* removed, code moved into camel-net-utils.[ch].Not Zed2004-12-031-1/+1
| | | | | | | | | | | | | | | | 2004-11-16 Not Zed <NotZed@Ximian.com> * e-host-utils.[ch]: removed, code moved into camel-net-utils.[ch]. 2004-11-15 Not Zed <NotZed@Ximian.com> * e-trie.[ch], e-memory.[ch], e-sexp.[ch], e-msgport.[ch]: Moved to eds/libedataserver. * e-path.[ch]: removed & deleted. svn path=/trunk/; revision=28050
* get the image directly from the icon factoryJP Rosevear2004-11-261-8/+8
| | | | | | | | | | | | | | | | | | | | | | 2004-11-26 JP Rosevear <jpr@novell.com> * e-gui-utils.c (e_create_image_widget): get the image directly from the icon factory * e-config.c: insert debug defines so we can turn spew on and off * e-event.c: insert debug defines so we can turn spew on and off * e-menu.c: insert debug defines so we can turn spew on and off * e-plugin.c: insert debug defines and set to off for now * e-popup.c: insert debug defines so we can turn spew on and off (e_popup_create_menu): get the image directly from the icon factory svn path=/trunk/; revision=27997
* if the plugin fails to load just disable it, don't unref it (it may beNot Zed2004-11-191-7/+5
| | | | | | | | | 2004-11-19 Not Zed <NotZed@Ximian.com> * e-plugin.c (ep_load): if the plugin fails to load just disable it, don't unref it (it may be referenced elsewhere). svn path=/trunk/; revision=27944
* split out module loadng code. (epl_construct): if we're enabled, andNot Zed2004-11-181-20/+47
| | | | | | | | | | 2004-11-18 Not Zed <NotZed@Ximian.com> * e-plugin.c (epl_loadmodule): split out module loadng code. (epl_construct): if we're enabled, and load-on-startup is set, load the module right away. Not to be abused! svn path=/trunk/; revision=27939
* added helper api to list all plugins. (ep_construct): load authors intoNot Zed2004-11-031-11/+127
| | | | | | | | | | | | | | 2004-11-03 Not Zed <NotZed@Ximian.com> * e-plugin.c (e_plugin_list_plugins): added helper api to list all plugins. (ep_construct): load authors into new list for them. (e_plugin_register_type): setup disabled list. (ep_construct): dont load the hooks if we're not enabled. (e_plugin_enable): make this a virutal method. (e_plugin_invoke): if we're disabled, noop. svn path=/trunk/; revision=27809
* check for empty trailing sections/pages after we exit the main loop.Not Zed2004-10-201-3/+4
| | | | | | | | | | | | | | | | 2004-10-20 Not Zed <NotZed@Ximian.com> * e-config.c (ec_rebuild): check for empty trailing sections/pages after we exit the main loop. * e-plugin.c (e_plugin_get_type): make ~/.eplugins the default eplugin location, not ~/.eplug. 2004-10-18 Not Zed <NotZed@Ximian.com> * e-config.h: fix some forward decls. svn path=/trunk/; revision=27644
* convert to org.gnome hook namesJP Rosevear2004-10-201-5/+5
| | | | | | | | | 2004-10-19 JP Rosevear <jpr@novell.com> * e-config.c, e-event.c, e-menu.c, e-plugin.c, e-plugin.h, e-popup.c: convert to org.gnome hook names svn path=/trunk/; revision=27633
* fix typoJP Rosevear2004-10-081-1/+1
| | | | | | | | 2004-10-08 JP Rosevear <jpr@novell.com> * e-plugin.c (ep_load): fix typo svn path=/trunk/; revision=27505
* handle wrong root element properly. From David TrowbridgeNot Zed2004-10-081-2/+5
| | | | | | | | | 2004-10-08 Not Zed <NotZed@Ximian.com> * e-plugin.c (ep_load): handle wrong root element properly. From David Trowbridge <David.Trowbridge@Colorado.edu> svn path=/trunk/; revision=27503
* noop if we're disabled, and do some lifecycle stuff now, callNot Zed2004-10-071-5/+23
| | | | | | | | | | 2004-10-07 Not Zed <NotZed@Ximian.com> * e-plugin.c (epl_invoke): noop if we're disabled, and do some lifecycle stuff now, call e_plugin_lib_enable on the module if it exists. svn path=/trunk/; revision=27494
* show the toplevel notebook if we had to create one, always.Not Zed2004-10-071-67/+208
| | | | | | | | | | | | | | | | | | 2004-10-07 Not Zed <NotZed@Ximian.com> * e-config.c (ec_rebuild): show the toplevel notebook if we had to create one, always. * e-menu.c (e_menu_add_items): initialise node->menu properly. * e-plugin.c (ep_load): read/initialise a unique id for all plugins and track them in a hashtable. (ep_construct): refactor so we have more control over what happens. if the hook handling class isn't registered yet, just note it and keep going. (e_plugin_hook_new): remove this, its handled internally by above. svn path=/trunk/; revision=27490
* Merged notzed-eplugin-2-branch to head.Michael Zucci2004-09-201-0/+850
svn path=/trunk/; revision=27300