evolution/calendar-sendbutton.patch

143 lines
5.9 KiB
Diff
Raw Normal View History

Index: ui/evolution-editor.xml
===================================================================
--- ui/evolution-editor.xml.orig
+++ ui/evolution-editor.xml
@@ -1,6 +1,8 @@
<Root>
<commands>
<cmd name="FileSave" _tip="Click here to save the current window" accel="*Control*s" pixtype="stock" pixname="gtk-save"/>
+ <cmd name="FileSend" _tip="Click here to send" accel="*Control*s" pixtype="pixbuf" />
+
<cmd name="FileClose" _tip="Click here to close the current window" accel="*Control*w" pixtype="stock" pixname="gtk-close"/>
<cmd name="EditCut" _tip="Cut selected text to the clipboard" accel="*Control*x" pixtype="stock" pixname="gtk-cut"/>
@@ -18,6 +20,8 @@
<submenu name="File" _label="_File">
<placeholder name="FileOps">
<menuitem name="FileSave" verb="" _label="_Save"/>
+ <menuitem name="FileSend" verb="" _label="_Send"/>
+
</placeholder>
<placeholder name="FileWindow">
<menuitem name="FileClose" verb="" _label="_Close"/>
@@ -53,7 +57,9 @@
<dockitem name="Toolbar">
- <toolitem name="FileSave" verb="" _label="Save"/>
+ <toolitem name="FileSave" verb="" _label="Save"/>
+ <toolitem name="FileSend" verb="" _label="Send" pixtype="pixbuf"/>
+
<toolitem name="FileClose" verb="" _label="Close"/>
<separator f="" name="editor1"/>
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);
+ }
+
}
/**