aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog16
-rw-r--r--mail/component-factory.c30
-rw-r--r--mail/folder-browser-ui.c4
-rw-r--r--mail/mail-callbacks.c27
-rw-r--r--mail/mail-send-recv.c15
-rw-r--r--mail/mail-send-recv.h2
-rw-r--r--shell/ChangeLog15
-rw-r--r--shell/Evolution-ShellComponent.idl2
-rw-r--r--shell/e-shell-view-menu.c25
-rw-r--r--shell/e-shell.c38
-rw-r--r--shell/e-shell.h2
-rw-r--r--shell/evolution-shell-component.c22
-rw-r--r--shell/evolution-shell-component.h3
-rw-r--r--ui/ChangeLog19
-rw-r--r--ui/evolution-addressbook.xml21
-rw-r--r--ui/evolution-calendar.xml8
-rw-r--r--ui/evolution-mail-global.xml17
-rw-r--r--ui/evolution-mail-list.xml8
-rw-r--r--ui/evolution-mail-message.xml8
-rw-r--r--ui/evolution-mail-messagedisplay.xml8
-rw-r--r--ui/evolution-tasks.xml8
-rw-r--r--ui/evolution.xml13
22 files changed, 222 insertions, 89 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index c52dd827a9..57e7dfb291 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,21 @@
2002-03-20 Ettore Perazzoli <ettore@ximian.com>
+ * component-factory.c (send_receive_cb): New, callback for the
+ "send_receive" signal on the EvolutionShellComponent.
+ (create_component): Connect.
+
+ * folder-browser-ui.c: Remove verb "MailGetSend".
+
+ * mail-callbacks.c (send_receive_mail): Removed.
+
+ * mail-send-recv.c: Remove member current_folder from struct
+ _send_data.
+ (free_send_data): No need to unref here.
+ (build_dialogue): Removed arg @current_folder.
+ (mail_send_receive): Likewise.
+
+2002-03-20 Ettore Perazzoli <ettore@ximian.com>
+
* folder-browser.c: Reorder folder_browser_search_menu_items
according to #16246.
diff --git a/mail/component-factory.c b/mail/component-factory.c
index 1e2a652ca4..452cff2c47 100644
--- a/mail/component-factory.c
+++ b/mail/component-factory.c
@@ -901,6 +901,33 @@ owner_unset_cb (EvolutionShellComponent *shell_component, gpointer user_data)
g_timeout_add(100, idle_quit, NULL);
}
+static void
+send_receive_cb (EvolutionShellComponent *shell_component,
+ gboolean show_dialog,
+ void *data)
+{
+ const MailConfigAccount *account;
+
+ /* FIXME: configure_mail() should be changed to work without a
+ FolderBrowser, and then we will be able to call configure_mail from
+ here properly. */
+ if (!mail_config_is_configured () /* && !configure_mail (fb) */)
+ return;
+
+ account = mail_config_get_default_account ();
+ if (!account || !account->transport) {
+ GtkWidget *dialog;
+
+ dialog = gnome_error_dialog (_("You have not set a mail transport method"));
+ gnome_dialog_set_close (GNOME_DIALOG (dialog), TRUE);
+ gtk_widget_show (dialog);
+
+ return;
+ }
+
+ mail_send_receive ();
+}
+
static BonoboObject *
create_component (void)
{
@@ -918,6 +945,9 @@ create_component (void)
populate_folder_context_menu,
get_dnd_selection,
NULL);
+
+ gtk_signal_connect (GTK_OBJECT (shell_component), "send_receive",
+ GTK_SIGNAL_FUNC (send_receive_cb), NULL);
destination_interface = evolution_shell_component_dnd_destination_folder_new (destination_folder_handle_motion,
destination_folder_handle_drop,
diff --git a/mail/folder-browser-ui.c b/mail/folder-browser-ui.c
index 36e8cea6f2..6400f6eb35 100644
--- a/mail/folder-browser-ui.c
+++ b/mail/folder-browser-ui.c
@@ -108,7 +108,6 @@ static BonoboUIVerb global_verbs [] = {
BONOBO_UI_UNSAFE_VERB ("EmptyTrash", empty_trash),
BONOBO_UI_UNSAFE_VERB ("ForgetPasswords", mail_session_forget_passwords),
BONOBO_UI_UNSAFE_VERB ("MailCompose", compose_msg),
- BONOBO_UI_UNSAFE_VERB ("MailGetSend", send_receive_mail),
BONOBO_UI_UNSAFE_VERB ("MailStop", stop_threads),
BONOBO_UI_UNSAFE_VERB ("ToolsFilters", filter_edit),
BONOBO_UI_UNSAFE_VERB ("ToolsSettings", providers_config),
@@ -166,11 +165,8 @@ static EPixmap list_pixcache [] = {
static EPixmap global_pixcache [] = {
E_PIXMAP ("/commands/MailCompose", "new-message.xpm"),
- E_PIXMAP ("/commands/MailGetSend", "send-receive.xpm"),
E_PIXMAP ("/commands/ToolsSettings", "configure_16_mail.xpm"),
- E_PIXMAP ("/Toolbar/MailGetSend", "buttons/send-24-receive.png"),
-
E_PIXMAP_END
};
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index 806e2a924c..1dfffd2fbb 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -167,33 +167,6 @@ check_send_configuration (FolderBrowser *fb)
return TRUE;
}
-void
-send_receive_mail (GtkWidget *widget, gpointer user_data)
-{
- FolderBrowser *fb = FOLDER_BROWSER (user_data);
- const MailConfigAccount *account;
-
- if (FOLDER_BROWSER_IS_DESTROYED (fb))
- return;
-
- if (!mail_config_is_configured () && !configure_mail (fb))
- return;
-
- account = mail_config_get_default_account ();
- if (!account || !account->transport) {
- GtkWidget *dialog;
-
- dialog = gnome_error_dialog_parented (_("You have not set a mail transport method"),
- FB_WINDOW (fb));
- gnome_dialog_set_close (GNOME_DIALOG (dialog), TRUE);
- gtk_widget_show (dialog);
-
- return;
- }
-
- mail_send_receive (fb->folder);
-}
-
static void
msgbox_destroyed (GtkWidget *widget, gpointer data)
{
diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c
index 3017203e6e..816efa4841 100644
--- a/mail/mail-send-recv.c
+++ b/mail/mail-send-recv.c
@@ -78,8 +78,6 @@ struct _send_data {
CamelFolder *inbox; /* since we're never asked to update this one, do it ourselves */
time_t inbox_update;
- CamelFolder *current_folder;
-
GMutex *lock;
GHashTable *folders;
@@ -179,10 +177,7 @@ free_send_data(void)
/*camel_folder_thaw (data->inbox); */
camel_object_unref((CamelObject *)data->inbox);
}
- if (data->current_folder) {
- mail_refresh_folder(data->current_folder, NULL, NULL);
- camel_object_unref((CamelObject *)data->current_folder);
- }
+
g_list_free(data->infos);
g_hash_table_foreach(data->active, (GHFunc)free_send_info, NULL);
g_hash_table_destroy(data->active);
@@ -274,7 +269,7 @@ static send_info_t get_receive_type(const char *url)
}
static struct _send_data *
-build_dialogue (GSList *sources, CamelFolder *current_folder, CamelFolder *outbox, const char *destination)
+build_dialogue (GSList *sources, CamelFolder *outbox, const char *destination)
{
GnomeDialog *gd;
GtkTable *table;
@@ -433,8 +428,6 @@ build_dialogue (GSList *sources, CamelFolder *current_folder, CamelFolder *outbo
data->infos = list;
data->gd = gd;
- data->current_folder = current_folder;
- camel_object_ref (CAMEL_OBJECT (current_folder));
return data;
}
@@ -647,7 +640,7 @@ receive_update_got_store (char *uri, CamelStore *store, void *data)
}
}
-void mail_send_receive (CamelFolder *current_folder)
+void mail_send_receive (void)
{
GSList *sources;
GList *scan;
@@ -674,7 +667,7 @@ void mail_send_receive (CamelFolder *current_folder)
Well, probably hook into receive_done or receive_status on
the right pop account, and when it is, then kick off the
smtp one. */
- data = build_dialogue(sources, current_folder, outbox_folder, account->transport->url);
+ data = build_dialogue(sources, outbox_folder, account->transport->url);
scan = data->infos;
while (scan) {
struct _send_info *info = scan->data;
diff --git a/mail/mail-send-recv.h b/mail/mail-send-recv.h
index 19afea853b..7d43d610fb 100644
--- a/mail/mail-send-recv.h
+++ b/mail/mail-send-recv.h
@@ -31,7 +31,7 @@ extern "C" {
#include "mail-config.h"
/* send/receive all uri's */
-void mail_send_receive(CamelFolder *current_folder);
+void mail_send_receive(void);
/* receive a single uri */
void mail_receive_uri(const char *uri, int keep);
/* setup auto receive stuff */
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 98bd69fc74..fca8f56557 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,3 +1,18 @@
+2002-03-20 Ettore Perazzoli <ettore@ximian.com>
+
+ * e-shell-view-menu.c (command_send_receive): New, implementation
+ for the "SendReceive" verb.
+
+ * e-shell.c (e_shell_send_receive): New.
+
+ * evolution-shell-component.c (impl_sendReceive): Implementation
+ of ShellComponent::sendReceive.
+ (class_init): Add the "send_receive" signal.
+
+ * evolution-shell-component.h: Added `send_receive' signal.
+
+ * Evolution-ShellComponent.idl: Added ShellComponent::sendReceive.
+
2002-03-18 Ettore Perazzoli <ettore@ximian.com>
* e-storage-set-view.etspec: Add `search="string"' for the
diff --git a/shell/Evolution-ShellComponent.idl b/shell/Evolution-ShellComponent.idl
index b5f5095c43..5ca38e3bdb 100644
--- a/shell/Evolution-ShellComponent.idl
+++ b/shell/Evolution-ShellComponent.idl
@@ -102,6 +102,8 @@ module Evolution {
in string parent_folder_physical_uri,
in string parent_folder_type)
raises (UnsupportedType);
+
+ void sendReceive (in boolean show_dialog);
};
interface ShellComponentListener {
diff --git a/shell/e-shell-view-menu.c b/shell/e-shell-view-menu.c
index c72f899bd5..58b2d8790c 100644
--- a/shell/e-shell-view-menu.c
+++ b/shell/e-shell-view-menu.c
@@ -271,6 +271,20 @@ command_toggle_shortcut_bar (BonoboUIComponent *component,
static void
+command_send_receive (BonoboUIComponent *ui_component,
+ void *data,
+ const char *path)
+{
+ EShellView *shell_view;
+ EShell *shell;
+
+ shell_view = E_SHELL_VIEW (data);
+ shell = e_shell_view_get_shell (shell_view);
+
+ e_shell_send_receive (shell);
+}
+
+static void
command_new_folder (BonoboUIComponent *uih,
void *data,
const char *path)
@@ -645,6 +659,12 @@ BonoboUIVerb folder_verbs [] = {
BONOBO_UI_VERB_END
};
+BonoboUIVerb actions_verbs[] = {
+ BONOBO_UI_VERB ("SendReceive", command_send_receive),
+
+ BONOBO_UI_VERB_END
+};
+
BonoboUIVerb tools_verbs[] = {
BONOBO_UI_VERB ("Settings", command_settings),
@@ -660,11 +680,15 @@ BonoboUIVerb help_verbs [] = {
};
static EPixmap pixmaps [] = {
+ E_PIXMAP ("/commands/SendReceive", "send-receive.xpm"),
+
E_PIXMAP ("/menu/File/New/Folder", "folder.xpm"),
E_PIXMAP ("/menu/File/Folder/Folder", "folder.xpm"),
E_PIXMAP ("/menu/File/FileImporter", "import.xpm"),
E_PIXMAP ("/menu/File/ToggleOffline", "work_offline.xpm"),
+ E_PIXMAP ("/Toolbar/SendReceive", "buttons/send-24-receive.png"),
+
E_PIXMAP_END
};
@@ -785,6 +809,7 @@ e_shell_view_menu_setup (EShellView *shell_view)
bonobo_ui_component_add_verb_list_with_data (uic, folder_verbs, shell_view);
bonobo_ui_component_add_verb_list_with_data (uic, new_verbs, shell_view);
+ bonobo_ui_component_add_verb_list_with_data (uic, actions_verbs, shell_view);
bonobo_ui_component_add_verb_list_with_data (uic, tools_verbs, shell_view);
bonobo_ui_component_add_verb_list (uic, help_verbs);
diff --git a/shell/e-shell.c b/shell/e-shell.c
index ccab2004d5..8330566b4b 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -1869,10 +1869,46 @@ e_shell_go_online (EShell *shell,
}
+void
+e_shell_send_receive (EShell *shell)
+{
+ EShellPrivate *priv;
+ GList *id_list;
+ GList *p;
+
+ g_return_if_fail (E_IS_SHELL (shell));
+
+ priv = shell->priv;
+
+ id_list = e_component_registry_get_id_list (priv->component_registry);
+
+ for (p = id_list; p != NULL; p = p->next) {
+ EvolutionShellComponentClient *component_client;
+ CORBA_Environment ev;
+ const char *id;
+
+ id = (const char *) p->data;
+ component_client = e_component_registry_get_component_by_id (priv->component_registry, id);
+
+ CORBA_exception_init (&ev);
+
+ GNOME_Evolution_ShellComponent_sendReceive
+ (bonobo_object_corba_objref (BONOBO_OBJECT (component_client)), TRUE, &ev);
+
+ if (BONOBO_EX (&ev))
+ g_warning ("Error invoking Send/Receive on %s -- %s", id, BONOBO_EX_ID (&ev));
+
+ CORBA_exception_free (&ev);
+ }
+
+ e_free_string_list (id_list);
+}
+
+
Bonobo_ConfigDatabase
e_shell_get_config_db (EShell *shell)
{
- g_return_val_if_fail (shell != NULL, CORBA_OBJECT_NIL);
+ g_return_val_if_fail (E_IS_SHELL (shell), CORBA_OBJECT_NIL);
return shell->priv->db;
}
diff --git a/shell/e-shell.h b/shell/e-shell.h
index bea61037a0..818ba0233f 100644
--- a/shell/e-shell.h
+++ b/shell/e-shell.h
@@ -143,6 +143,8 @@ void e_shell_go_offline (EShell *shell,
void e_shell_go_online (EShell *shell,
EShellView *action_view);
+void e_shell_send_receive (EShell *shell);
+
Bonobo_ConfigDatabase e_shell_get_config_db (EShell *shell);
EComponentRegistry *e_shell_get_component_registry (EShell *shell);
EShellUserCreatableItemsHandler *e_shell_get_user_creatable_items_handler (EShell *shell);
diff --git a/shell/evolution-shell-component.c b/shell/evolution-shell-component.c
index 0357a20921..072ff580b1 100644
--- a/shell/evolution-shell-component.c
+++ b/shell/evolution-shell-component.c
@@ -82,6 +82,7 @@ enum {
INTERACTIVE,
HANDLE_EXTERNAL_URI,
USER_CREATE_NEW_ITEM,
+ SEND_RECEIVE,
LAST_SIGNAL
};
@@ -657,6 +658,17 @@ impl_userCreateNewItem (PortableServer_Servant servant,
gtk_signal_emit (GTK_OBJECT (shell_component), signals[USER_CREATE_NEW_ITEM], id, parent_physical_uri, parent_type);
}
+static void
+impl_sendReceive (PortableServer_Servant servant,
+ const CORBA_boolean show_dialog,
+ CORBA_Environment *ev)
+{
+ EvolutionShellComponent *shell_component;
+
+ shell_component = EVOLUTION_SHELL_COMPONENT (bonobo_object_from_servant (servant));
+ gtk_signal_emit (GTK_OBJECT (shell_component), signals[SEND_RECEIVE], show_dialog);
+}
+
/* GtkObject methods. */
@@ -831,6 +843,15 @@ class_init (EvolutionShellComponentClass *klass)
GTK_TYPE_STRING,
GTK_TYPE_STRING);
+ signals[SEND_RECEIVE]
+ = gtk_signal_new ("send_receive",
+ GTK_RUN_FIRST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (EvolutionShellComponentClass, send_receive),
+ gtk_marshal_NONE__BOOL,
+ GTK_TYPE_NONE, 1,
+ GTK_TYPE_BOOL);
+
gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL);
parent_class = gtk_type_class (PARENT_TYPE);
@@ -849,6 +870,7 @@ class_init (EvolutionShellComponentClass *klass)
epv->xferFolderAsync = impl_xferFolderAsync;
epv->populateFolderContextMenu = impl_populateFolderContextMenu;
epv->userCreateNewItem = impl_userCreateNewItem;
+ epv->sendReceive = impl_sendReceive;
shell_component_class = EVOLUTION_SHELL_COMPONENT_CLASS (object_class);
shell_component_class->owner_died = impl_owner_died;
diff --git a/shell/evolution-shell-component.h b/shell/evolution-shell-component.h
index 7f7073572e..2364f48450 100644
--- a/shell/evolution-shell-component.h
+++ b/shell/evolution-shell-component.h
@@ -154,6 +154,9 @@ struct _EvolutionShellComponentClass {
const char *id,
const char *parent_folder_physical_uri,
const char *parent_folder_type);
+
+ void (* send_receive) (EvolutionShellComponent *shell_component,
+ gboolean show_dialog);
};
diff --git a/ui/ChangeLog b/ui/ChangeLog
index 08850b1722..de67f9955e 100644
--- a/ui/ChangeLog
+++ b/ui/ChangeLog
@@ -1,3 +1,22 @@
+2002-03-20 Ettore Perazzoli <ettore@ximian.com>
+
+ * evolution.xml: Move the ComponentActionsPlaceholder into the
+ Actions menu, instead of the Actions menu being in the
+ ComponentActionsPlaceholder.
+ * evolution-addressbook.xml: Updated accordingly.
+ * evolution-calendar.xml: Updated accordingly.
+ * evolution-mail-global.xml: Updated accordingly.
+ * evolution-mail-list.xml: Updated accordingly.
+ * evolution-mail-message.xml: Updated accordingly.
+ * evolution-mail-messagedisplay.xml: Updated accordingly.
+ * evolution-tasks.xml: Updated accordingly.
+
+ * evolution.xml: Add "SendReceive" verb, menu item and toolbar
+ button.
+
+ * evolution-mail-global.xml: Remove "MailGetSend" verb and menu
+ item.
+
2002-03-14 Ettore Perazzoli <ettore@ximian.com>
* evolution.xml: Add a "Search" menu.
diff --git a/ui/evolution-addressbook.xml b/ui/evolution-addressbook.xml
index f6666ff0ce..a560f7cad0 100644
--- a/ui/evolution-addressbook.xml
+++ b/ui/evolution-addressbook.xml
@@ -121,17 +121,16 @@
verb="BonoboUIDump" _label="Dump"/>
</submenu>
- <placeholder name="ComponentActionsPlaceholder">
- <submenu name="Actions" _label="_Actions">
-
- <menuitem name="ContactsSendContactToOther"
- _label="_Forward Contact..." verb=""/>
-
- <menuitem name="ContactsSendMessageToContact"
- _label="_Send Message to Contact..." verb=""/>
- <menuitem name="ContactsCopyToFolder" _label="_Copy to Folder..." verb=""/>
- <menuitem name="ContactsMoveToFolder" _label="_Move to Folder..." verb=""/>
- </submenu>
+ <submenu name="Actions" _label="_Actions">
+ <placeholder name="ComponentActionsPlaceholder">
+ <separator f="" name="eadbk4"/>
+ <menuitem name="ContactsSendContactToOther"
+ _label="_Forward Contact..." verb=""/>
+
+ <menuitem name="ContactsSendMessageToContact"
+ _label="_Send Message to Contact..." verb=""/>
+ <menuitem name="ContactsCopyToFolder" _label="_Copy to Folder..." verb=""/>
+ <menuitem name="ContactsMoveToFolder" _label="_Move to Folder..." verb=""/>
</placeholder>
<submenu name="Tools">
diff --git a/ui/evolution-calendar.xml b/ui/evolution-calendar.xml
index 63b712b70c..b62c3030c9 100644
--- a/ui/evolution-calendar.xml
+++ b/ui/evolution-calendar.xml
@@ -57,11 +57,11 @@
</submenu>
- <placeholder name="ComponentActionsPlaceholder">
- <submenu name="Actions" _label="_Actions">
+ <submenu name="Actions" _label="_Actions">
+ <placeholder name="ComponentActionsPlaceholder">
<menuitem name="PublishFreeBusy" verb="" _label="_Publish Free/Busy Information"/>
- </submenu>
- </placeholder>
+ </placeholder>
+ </submenu_name>
</menu>
<dockitem name="Toolbar">
diff --git a/ui/evolution-mail-global.xml b/ui/evolution-mail-global.xml
index 90589de162..36f8471354 100644
--- a/ui/evolution-mail-global.xml
+++ b/ui/evolution-mail-global.xml
@@ -12,10 +12,6 @@
_tip="Open a window for composing a mail message"
pixtype="pixbuf"/>
- <cmd name="MailGetSend"
- _tip="Send queued mail and retrieve new mail"
- pixtype="pixbuf"/>
-
<cmd name="MailStop"
_tip="Cancel the current mail operation"
pixtype="stock" pixname="Stop"/>
@@ -72,9 +68,8 @@
</submenu>
</submenu>
- <placeholder name="ComponentActionsPlaceholder">
- <submenu name="Actions" _label="_Actions">
- <menuitem name="MailGetSend" verb="" _label="_Send / Receive" accel="F9"/>
+ <submenu name="Actions" _label="_Actions">
+ <placeholder name="ComponentActionsPlaceholder">
<menuitem name="ActionCompose" verb="MailCompose" _label="Compose _New Message"/>
<separator f="" name="emailglobal"/>
@@ -86,8 +81,8 @@
<placeholder name="MailListActions"/>
<menuitem name="EmptyTrash" verb="" _label="Empty _Trash"/>
- </submenu>
- </placeholder>
+ </placeholder>
+ </submenu>
<submenu name="Tools">
@@ -120,10 +115,6 @@
<dockitem name="Toolbar">
- <toolitem name="MailGetSend" verb=""
- _label="Send / Receive" priority="1"
- pixtype="pixbuf"/>
-
<separator f="" name="emailglobal1"/>
<placeholder name="MailMessageToolbar"/>
diff --git a/ui/evolution-mail-list.xml b/ui/evolution-mail-list.xml
index 9c54f255e2..0bc146043b 100644
--- a/ui/evolution-mail-list.xml
+++ b/ui/evolution-mail-list.xml
@@ -110,13 +110,13 @@
</placeholder>
</submenu>
- <placeholder name="ComponentActionsPlaceholder">
- <submenu name="Actions" _label="_Actions">
+ <submenu name="Actions" _label="_Actions">
+ <placeholder name="ComponentActionsPlaceholder">
<placeholder name="MailListActions">
<menuitem name="FolderExpunge" verb="" _label="_Expunge"/>
</placeholder>
- </submenu>
- </placeholder>
+ </placeholder>
+ </submenu>
</menu>
</Root>
diff --git a/ui/evolution-mail-message.xml b/ui/evolution-mail-message.xml
index f6d51a31cb..a1d02b089a 100644
--- a/ui/evolution-mail-message.xml
+++ b/ui/evolution-mail-message.xml
@@ -258,8 +258,8 @@
</placeholder>
</submenu>
- <placeholder name="ComponentActionsPlaceholder">
- <submenu name="Actions" _label="_Actions">
+ <submenu name="Actions" _label="_Actions">
+ <placeholder name="ComponentActionsPlaceholder">
<placeholder name="MailMessageActions">
<submenu name="GoTo" _label="_Go To">
<menuitem name="MailNext" verb="" _label="_Next Message"/>
@@ -303,8 +303,8 @@
<menuitem name="MessageApplyFilters" verb="" _label="A_pply Filters"/>
</placeholder>
- </submenu>
- </placeholder>
+ </placeholder>
+ </submenu>
<submenu name="Tools" _label="_Tools">
<placeholder name="ComponentPlaceholder">
diff --git a/ui/evolution-mail-messagedisplay.xml b/ui/evolution-mail-messagedisplay.xml
index a371498ee2..01107ae74c 100644
--- a/ui/evolution-mail-messagedisplay.xml
+++ b/ui/evolution-mail-messagedisplay.xml
@@ -28,11 +28,11 @@
<placeholder name="MailMessageView"/>
</submenu>
- <placeholder name="ComponentActionsPlaceholder">
- <submenu name="Actions" _label="_Actions">
+ <submenu name="Actions" _label="_Actions">
+ <placeholder name="ComponentActionsPlaceholder">
<placeholder name="MailMessageActions"/>
- </submenu>
- </placeholder>
+ </placeholder>
+ </submenu>
<submenu name="Tools">
<placeholder name="ComponentPlaceholder">
diff --git a/ui/evolution-tasks.xml b/ui/evolution-tasks.xml
index 1bd3e13794..c7fa81f0c6 100644
--- a/ui/evolution-tasks.xml
+++ b/ui/evolution-tasks.xml
@@ -42,11 +42,11 @@
</submenu>
</placeholder>
- <placeholder name="ComponentActionsPlaceholder">
- <submenu name="Actions" _label="_Actions">
+ <submenu name="Actions" _label="_Actions">
+ <placeholder name="ComponentActionsPlaceholder">
<menuitem name="TasksExpunge" verb="" pixtype="pixbuf"/>
- </submenu>
- </placeholder>
+ </placeholder>
+ </submenu>
</menu>
diff --git a/ui/evolution.xml b/ui/evolution.xml
index fc3de6a6b9..def37a3478 100644
--- a/ui/evolution.xml
+++ b/ui/evolution.xml
@@ -17,6 +17,10 @@
<cmd name="HelpSubmitBug" _label="Submit Bug Report"
_tip="Submit a bug report using Bug Buddy"/>
+ <cmd name="SendReceive"
+ _tip="Send queued items and retrieve new items"
+ pixtype="pixbuf"/>
+
<cmd name="ToggleOffline" _type="Toggle"
_label="_Work Offline"
_tip="Toggle whether we are working offline."/>
@@ -136,7 +140,10 @@
<placeholder name="ViewAfterControl"/>
</submenu>
- <placeholder name="ComponentActionsPlaceholder"/>
+ <submenu name="Actions" _label="_Actions">
+ <menuitem name="SendReceive" verb="" _label="_Send / Receive" accel="F9"/>
+ <placeholder name="ComponentActionsPlaceholder"/>
+ </submenu>
<submenu name="Tools" _label="_Tools">
<menuitem name="Settings" verb="" _label="_Configure..."/>
@@ -182,6 +189,10 @@
<control name="NewComboButton"/>
<separator f="" name="eshell4"/>
+ <toolitem name="SendReceive" verb="SendReceive"
+ _label="Send / Receive" priority="1"
+ pixtype="pixbuf"/>
+
</dockitem>
<popups>