Cleanup up templates using EPluginUI callback feature.

This commit is contained in:
Matthew Barnes
2009-09-01 15:51:00 -04:00
parent a30e1451bd
commit fddcc93ac6
2 changed files with 14 additions and 29 deletions

View File

@ -10,8 +10,10 @@
<author name="Diego Escalante Urrelo" email="diegoe@gnome.org"/>
<hook class="org.gnome.evolution.ui:1.0">
<ui-manager id="org.gnome.evolution.shell"/>
<ui-manager id="org.gnome.evolution.composer">
<ui-manager id="org.gnome.evolution.shell"
callback="init_shell_actions"/>
<ui-manager id="org.gnome.evolution.composer"
callback="init_composer_actions">
<menubar name='main-menu'>
<placeholder name='pre-edit-menu'>
<menu action='file-menu'>

View File

@ -68,10 +68,14 @@ enum {
CLUE_N_COLUMNS
};
GtkWidget *e_plugin_lib_get_configure_widget (EPlugin *epl);
gboolean e_plugin_ui_init (GtkUIManager *ui_manager, GObject *object);
gint e_plugin_lib_enable (EPlugin *plugin, gboolean enabled);
GtkWidget * e_plugin_lib_get_configure_widget
(EPlugin *plugin);
gboolean init_composer_actions (GtkUIManager *ui_manager,
EMsgComposer *composer);
gboolean init_shell_actions (GtkUIManager *ui_manager,
EShellWindow *shell_window);
gint e_plugin_lib_enable (EPlugin *plugin,
gboolean enabled);
/* Thanks to attachment reminder plugin for this*/
static void commit_changes (UIData *ui);
@ -764,7 +768,7 @@ exit:
em_utils_uids_free (uids);
}
static gboolean
gboolean
init_composer_actions (GtkUIManager *ui_manager,
EMsgComposer *composer)
{
@ -780,7 +784,7 @@ init_composer_actions (GtkUIManager *ui_manager,
return TRUE;
}
static gboolean
gboolean
init_shell_actions (GtkUIManager *ui_manager,
EShellWindow *shell_window)
{
@ -807,27 +811,6 @@ init_shell_actions (GtkUIManager *ui_manager,
return TRUE;
}
gboolean
e_plugin_ui_init (GtkUIManager *ui_manager,
GObject *object)
{
/* XXX This is a scenario I hadn't considered when designing
* EPluginUI: two different UI manager IDs with different
* closures sharing the same plugin entry point. We know
* the closures are both GObjects so we query the type.
* Awkward, but it should work for now. */
if (E_IS_MSG_COMPOSER (object))
return init_composer_actions (
ui_manager, E_MSG_COMPOSER (object));
if (E_IS_SHELL_WINDOW (object))
return init_shell_actions (
ui_manager, E_SHELL_WINDOW (object));
return FALSE;
}
gint
e_plugin_lib_enable (EPlugin *plugin,
gboolean enabled)