gboolean e_plugin_ui_init (GtkUIManager *manager, EMsgComposer *composer) { GtkhtmlEditor *editor; EWebViewGtkHTML *web_view; editor = GTKHTML_EDITOR (composer); /* Add actions to the "composer" action group. */ gtk_action_group_add_actions ( gtkhtml_editor_get_action_group (editor, "composer"), entries, G_N_ELEMENTS (entries), composer); web_view = e_msg_composer_get_web_view (composer); g_signal_connect ( web_view, "key_press_event", G_CALLBACK (key_press_cb), composer); g_signal_connect ( web_view, "delete-event", G_CALLBACK (delete_cb), composer); return TRUE; }
static void enable_disable_composer (EMsgComposer *composer, gboolean enable) { GtkhtmlEditor *editor; GtkAction *action; GtkActionGroup *action_group; g_return_if_fail (E_IS_MSG_COMPOSER (composer)); editor = GTKHTML_EDITOR (composer); if (enable) gtkhtml_editor_run_command (editor, "editable-on"); else gtkhtml_editor_run_command (editor, "editable-off"); action = GTKHTML_EDITOR_ACTION_EDIT_MENU (composer); gtk_action_set_sensitive (action, enable); action = GTKHTML_EDITOR_ACTION_FORMAT_MENU (composer); gtk_action_set_sensitive (action, enable); action = GTKHTML_EDITOR_ACTION_INSERT_MENU (composer); gtk_action_set_sensitive (action, enable); action_group = gtkhtml_editor_get_action_group (editor, "composer"); gtk_action_group_set_sensitive (action_group, enable); }
gboolean eex_ui_composer_actions (GtkUIManager *manager, EMsgComposer *composer) { static GtkActionEntry entries[] = { { "eex-send-options", NULL, N_("_Send Options"), NULL, N_("Insert Send options"), G_CALLBACK (action_send_options_cb) } }; GtkhtmlEditor *editor; EComposerHeaderTable *headers; EComposerHeader *header; editor = GTKHTML_EDITOR (composer); /* Add actions to the "composer" action group. */ e_action_group_add_actions_localized ( gtkhtml_editor_get_action_group (editor, "composer"), GETTEXT_PACKAGE, entries, G_N_ELEMENTS (entries), composer); headers = e_msg_composer_get_header_table (composer); header = e_composer_header_table_get_header (headers, E_COMPOSER_HEADER_FROM); from_changed_cb (E_COMPOSER_FROM_HEADER (header), composer); g_signal_connect (G_OBJECT (header), "changed", G_CALLBACK (from_changed_cb), composer); return TRUE; }
gboolean e_plugin_ui_init (GtkUIManager *ui_manager, EMsgComposer *composer) { GtkhtmlEditor *editor; static GtkToggleActionEntry entries[] = { { "face-plugin", NULL, N_("Include _Face"), NULL, NULL, G_CALLBACK (action_toggle_face_cb), FALSE } }; if (get_include_face_by_default ()) { gchar *face = get_face_base64 (); /* activate it only if has a face image available */ entries[0].is_active = face && *face; g_free (face); } editor = GTKHTML_EDITOR (composer); /* Add actions to the "composer" action group. */ gtk_action_group_add_toggle_actions ( gtkhtml_editor_get_action_group (editor, "composer"), entries, G_N_ELEMENTS (entries), composer); return TRUE; }
static void from_changed_cb (EComposerFromHeader *header, EMsgComposer *composer) { GtkActionGroup *group; GtkAction *action; g_return_if_fail (header != NULL); g_return_if_fail (composer != NULL); group = gtkhtml_editor_get_action_group (GTKHTML_EDITOR (composer), "composer"); g_return_if_fail (group != NULL); action = gtk_action_group_get_action (group, "eex-send-options"); g_return_if_fail (action != NULL); gtk_action_set_visible (action, account_is_exchange (e_composer_from_header_get_active (header))); }