Index: ui/evolution-editor.xml =================================================================== --- ui/evolution-editor.xml.orig +++ ui/evolution-editor.xml @@ -1,6 +1,8 @@ + + @@ -18,6 +20,8 @@ + + @@ -53,7 +57,9 @@ - + + + Index: calendar/gui/dialogs/comp-editor.h =================================================================== --- calendar/gui/dialogs/comp-editor.h.orig +++ calendar/gui/dialogs/comp-editor.h @@ -53,9 +53,9 @@ typedef struct { BonoboWindowClass parent_class; /* Virtual functions */ + void (* object_created) (CompEditor *page); void (* set_e_cal) (CompEditor *page, ECal *client); void (* edit_comp) (CompEditor *page, ECalComponent *comp); - void (* object_created) (CompEditor *page); gboolean (* send_comp) (CompEditor *page, ECalComponentItipMethod method); } CompEditorClass; Index: calendar/gui/dialogs/event-editor.c =================================================================== --- calendar/gui/dialogs/event-editor.c.orig +++ calendar/gui/dialogs/event-editor.c @@ -618,7 +618,8 @@ event_editor_construct (EventEditor *ee, if (e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_REQ_SEND_OPTIONS)) event_page_show_options (priv->event_page); - + + comp_editor_set_needs_send (COMP_EDITOR (ee), TRUE); comp_editor_set_group_item (COMP_EDITOR (ee), TRUE); if (!((flags & COMP_EDITOR_USER_ORG) || (flags & COMP_EDITOR_DELEGATE)|| (flags & COMP_EDITOR_NEW_ITEM))) bonobo_ui_component_set_prop (editor->uic, "/commands/ActionFreeBusy", "hidden", "1", NULL); Index: calendar/gui/dialogs/task-editor.c =================================================================== --- calendar/gui/dialogs/task-editor.c.orig +++ calendar/gui/dialogs/task-editor.c @@ -444,6 +444,9 @@ task_editor_construct (TaskEditor *te, E read_only = TRUE; if (priv->is_assigned) { + + comp_editor_set_needs_send (COMP_EDITOR (te), TRUE); + if (e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_REQ_SEND_OPTIONS)) task_page_show_options (priv->task_page); Index: calendar/gui/dialogs/comp-editor.c =================================================================== --- calendar/gui/dialogs/comp-editor.c.orig +++ calendar/gui/dialogs/comp-editor.c @@ -880,8 +880,8 @@ save_comp_with_send (CompEditor *editor) if (!save_comp (editor)) return FALSE; - if ((delegate && !e_cal_get_save_schedules (priv->client)) || (send && send_component_dialog ((GtkWindow *) editor, priv->client, priv->comp, !priv->existing_org))) { - if ((itip_organizer_is_user (priv->comp, priv->client) || itip_sentby_is_user (priv->comp))) { + if ((delegate && !e_cal_get_save_schedules (priv->client)) || send) { + if (itip_organizer_is_user (priv->comp, priv->client)) { if (e_cal_component_get_vtype (priv->comp) == E_CAL_COMPONENT_JOURNAL) return comp_editor_send_comp (editor, E_CAL_COMPONENT_METHOD_PUBLISH); else @@ -1470,6 +1470,7 @@ menu_help_cb (BonoboUIComponent *uic, static BonoboUIVerb verbs [] = { BONOBO_UI_VERB ("FileSave", menu_file_save_cb), + BONOBO_UI_VERB ("FileSend", menu_file_save_cb), BONOBO_UI_VERB ("CalendarPrint", menu_file_print_cb), BONOBO_UI_VERB ("CalendarPrintPreview", menu_file_print_preview_cb), BONOBO_UI_VERB ("FileClose", menu_file_close_cb), @@ -1488,6 +1489,7 @@ static BonoboUIVerb verbs [] = { static EPixmap pixmaps[] = { E_PIXMAP ("/Toolbar/InsertAttachments", "stock_attach", E_ICON_SIZE_LARGE_TOOLBAR), E_PIXMAP ("/menu/Insert/Attachments/InsertAttachments", "stock_attach", E_ICON_SIZE_MENU), + E_PIXMAP ("/Toolbar/FileSend", "stock_mail-send", E_ICON_SIZE_LARGE_TOOLBAR), E_PIXMAP_END }; @@ -1619,6 +1621,9 @@ comp_editor_init (CompEditor *editor) bonobo_ui_component_thaw (editor->uic, NULL); bonobo_ui_component_set_prop (editor->uic, "/commands/FileSave", "sensitive", "0", NULL); + bonobo_ui_component_set_prop (editor->uic, "/commands/FileSend", "sensitive", "0", NULL); + + bonobo_ui_component_set_prop (editor->uic, "/commands/FileSend", "hidden", "1", NULL); /* DND support */ gtk_drag_dest_set (GTK_WIDGET (editor), GTK_DEST_DEFAULT_ALL, drop_types, num_drop_types, GDK_ACTION_COPY|GDK_ACTION_ASK|GDK_ACTION_MOVE); @@ -1844,9 +1849,10 @@ comp_editor_set_changed (CompEditor *edi priv = editor->priv; priv->changed = changed; - + bonobo_ui_component_set_prop (editor->uic, "/commands/FileSend", "sensitive", changed ? "1" : "0" + , NULL); bonobo_ui_component_set_prop (editor->uic, "/commands/FileSave", "sensitive", changed ? "1" : "0" - , NULL); + , NULL); } /** @@ -1912,6 +1918,11 @@ comp_editor_set_needs_send (CompEditor * priv = editor->priv; priv->needs_send = needs_send; + if (needs_send) { + bonobo_ui_component_set_prop (editor->uic, "/commands/FileSave", "hidden", "1", NULL); + bonobo_ui_component_set_prop (editor->uic, "/commands/FileSend", "hidden", "0", NULL); + } + } /**