Commit Graph

29 Commits

Author SHA1 Message Date
5e2efa2cd4 Finish adding symbols to libeutil API docs. 2012-12-15 08:16:36 -05:00
d09d8de870 Consolidate base utility libraries into libeutil.
Evolution consists of entirely too many small utility libraries, which
increases linking and loading time, places a burden on higher layers of
the application (e.g. modules) which has to remember to link to all the
small in-tree utility libraries, and makes it difficult to generate API
documentation for these utility libraries in one Gtk-Doc module.

Merge the following utility libraries under the umbrella of libeutil,
and enforce a single-include policy on libeutil so we can reorganize
the files as desired without disrupting its pseudo-public API.

   libemail-utils/libemail-utils.la
   libevolution-utils/libevolution-utils.la
   filter/libfilter.la
   widgets/e-timezone-dialog/libetimezonedialog.la
   widgets/menus/libmenus.la
   widgets/misc/libemiscwidgets.la
   widgets/table/libetable.la
   widgets/text/libetext.la

This also merges libedataserverui from the Evolution-Data-Server module,
since Evolution is its only consumer nowadays, and I'd like to make some
improvements to those APIs without concern for backward-compatibility.

And finally, start a Gtk-Doc module for libeutil.  It's going to be a
project just getting all the symbols _listed_ much less _documented_.
But the skeletal structure is in place and I'm off to a good start.
2012-12-12 14:33:43 -05:00
381c91c0d2 Bug 675391 - Remove support for EVOLUTION_PLUGIN_PATH.
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.
2012-05-03 16:09:48 -04:00
fcbbdfbd18 Coding style and whitespace cleanup. 2011-09-04 07:34:32 -04:00
49ef32b76c Coding style and whitespace cleanup. 2010-02-07 13:26:37 -05:00
ec73f5522f Coding style and whitespace cleanup. 2010-01-30 18:09:19 -05:00
32f545cdf0 Simplify EPlugin loading at startup.
- 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-08-29 17:23:20 -04:00
374bd42f69 Fix excessive whitespace. 2009-07-14 11:26:22 -04:00
948235c3d1 Prefer GLib basic types over C types. 2009-05-27 10:29:19 -04:00
e4afd3f9fb Remove trailing whitespace, again. 2009-05-26 23:21:02 -04:00
79e0bf750c e-util/e-plugin.c e-util/e-plugin.h EPlugins must be loaded after Bonobo
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
2009-01-12 08:44:53 +00:00
14fa5c8a8c Change License from GPL to LGPL. 2nd batch.
More changes to come.

svn path=/trunk/; revision=36247
2008-09-02 16:25:53 +00:00
4503c052d0 ** Allow evolution to build with G_DISABLE_SINGLE_INCLUDES and
2008-06-06  Matthew Barnes  <mbarnes@redhat.com>

	** Allow evolution to build with G_DISABLE_SINGLE_INCLUDES and
	   GTK_DISABLE_SINGLE_INCLUDES defined.  (#536637)


svn path=/trunk/; revision=35606
2008-06-06 15:12:53 +00:00
de67fcdb7c Code cleanup. Also add an "enabled" property to EPlugin.
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-23 02:52:07 +00:00
d7821c77a3 Move some EPlugin macros from e-plugin-ui.c to e-plugin.h where they belong.
svn path=/trunk/; revision=35520
2008-05-20 14:10:21 +00:00
116ed5dcc7 ** Fixes bug #525241 (EPluginUI)
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-05-08 18:11:40 +00:00
04000625d6 ** Fix for bug #496839
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
2008-03-19 09:06:21 +00:00
f4d3ee5d59 ** Fix for bug #500210
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-12-04 10:57:59 +00:00
9e4fcb29cf ** Remove trailing whitespace from source code.
2007-11-14  Matthew Barnes  <mbarnes@redhat.com>

	** Remove trailing whitespace from source code.


svn path=/trunk/; revision=34537
2007-11-14 22:04:21 +00:00
131a11a8a6 ** Fix for bug #461272
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-10-26 10:54:17 +00:00
81a1525568 Plugins should be configurable within the plugin-manager itself.
Fixes Preferences dialog bloating.
	See bug #459522

svn path=/trunk/; revision=33847
2007-07-26 11:28:11 +00:00
99d9556902 Use guint for 1-bit bitfield. Remove unused var Remove unused vars Rename
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
2006-02-08 11:43:02 +00:00
5d1ad7fc3d Removed, these are now implemented as a plugin.
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
2005-05-25 10:51:36 +00:00
bf47fc3d51 added helper api to list all plugins. (ep_construct): load authors into
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
2004-11-03 07:24:41 +00:00
92a04dbb82 convert to org.gnome hook names
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
2004-10-20 03:00:45 +00:00
97acafac6e Fix the function pointer types!
2004-10-07  Not Zed  <NotZed@Ximian.com>

        * e-plugin.h: Fix the function pointer types!

svn path=/trunk/; revision=27499
2004-10-07 14:38:09 +00:00
714fcc165a noop if we're disabled, and do some lifecycle stuff now, call
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
2004-10-07 09:37:33 +00:00
d3dd1bc0de show the toplevel notebook if we had to create one, always.
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
2004-10-07 08:20:31 +00:00
ef6a3af717 Merged notzed-eplugin-2-branch to head.
svn path=/trunk/; revision=27300
2004-09-20 05:59:55 +00:00