Commit Graph

29 Commits

Author SHA1 Message Date
0494d4c3c6 Remove EUIManager.
No longer needed.  Use GtkUIManager directly.
2013-03-31 12:10:54 -04: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
c85109fc32 Coding style and whitespace cleanup. 2012-08-19 14:17:55 -04:00
23f5773903 Coding style and whitespace cleanup. 2012-02-20 10:04:25 -05:00
d58d259aa0 Fix two little memory leaks 2011-10-01 01:02:13 +02:00
756c8abcb8 Bug #646109 - Fix use of include <config.h> to make sure translations work 2011-05-27 15:23:07 +02:00
c6fd77460f Coding style and whitespace cleanup. 2011-03-05 12:34:28 -05:00
1301cf02ef Bug #614480 - Avoid using G_TYPE_INSTANCE_GET_PRIVATE repeatedly 2011-02-25 16:20:41 +01:00
3cce94edcb Bug #634403 - Mails Label popup menu is not updated properly 2011-01-19 14:56:35 +01:00
101305e1c7 Various memory leaks 2010-09-07 18:39:46 +02:00
ecf3434da0 GObject boilerplate cleanup.
Prefer thread-safe G_DEFINE_TYPE and G_DEFINE_INTERFACE macros over
manual GType registration.

This is just a start... lots more to do.
2010-08-24 14:37:02 -04: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
97f274dffd Disable a chunk of UI from the mail-to-task plugin
Allow plugins to disable chunks of their UI - *NB* requires patched intltool,
that doesn't elide comments in XML
Remove some debug
2010-03-13 20:53:16 -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
5f4b5eb1fd Better clarify callbacks table in EPluginUI. 2009-09-01 16:35:16 -04:00
a30e1451bd Support multiple callback functions in EPluginUI.
Add an optional "callback" attribute to <ui-manager> elements.

This is useful when extending the UI of multiple GtkUIManager IDs from a
single plugin.  If the "callback" attribute is not given, it defaults to
"e_plugin_ui_init".

For example:

   <hook class="org.gnome.evolution.ui:1.0">
     <ui-manager id="org.gnome.evolution.foo" callback="init_foo">
       ...
     </ui-manager>
     <ui-manager id="org.gnome.evolution.bar" callback="init_bar">
       ...
     </ui-manager>
   </hook>
2009-09-01 15:35:23 -04:00
ce37d56d0b Get the "mail-to-task" plugin working again.
This one was more challenging.  It exposed some flaws in the new shell
design and in EPluginUI, which is good because they're fixed now.
2009-06-26 11:05:58 -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
e4afd3f9fb Remove trailing whitespace, again. 2009-05-26 23:21:02 -04:00
de003c135a Use consistent variable names for GtkUIManager 2009-04-27 20:27:02 -04:00
dc7efb1311 Use consistent variable names for GtkUIManager 2009-04-25 10:49:45 -04:00
9c28e70fb0 ** Fixes part of bug #564229
2009-02-13  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes part of bug #564229

	* e-util/e-plugin-ui.c (plugin_ui_hook_class_init):
	Initialize the EPluginUI registry during class initialization,
	so that it's sure to be there when we need it.

	* plugins/email-custom-header/email-custom-header.c:
	(e_plugin_lib_get_configure_widget):
	Do not use uninitialized variable.


svn path=/trunk/; revision=37265
2009-02-14 04:25:11 +00:00
bd9f473a89 Redesign EPluginUI to accommodate merging and unmerging shell views.
Get the "mark-all-read" and "plugin-manager" plugins working.

svn path=/branches/kill-bonobo/; revision=37125
2009-01-23 21:41:01 +00:00
d6445f8abf Merge revisions 36685:36729 from trunk.
svn path=/branches/kill-bonobo/; revision=36763
2008-11-07 22:04:53 +00:00
df55bc8beb License Changes
svn path=/trunk/; revision=36693
2008-10-29 10:44:21 +00:00
abda2bda85 updated novell copyright notices (left others alone)
svn path=/trunk/; revision=35665
2008-06-20 22:26:57 +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