aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ChangeLog6
-rw-r--r--shell/Evolution-Component.idl5
-rw-r--r--shell/e-shell-window-commands.c16
-rw-r--r--shell/e-shell.c26
-rw-r--r--shell/e-shell.h2
5 files changed, 55 insertions, 0 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index a3930814b4..b132cb872a 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,5 +1,11 @@
2003-11-13 Ettore Perazzoli <ettore@ximian.com>
+ * e-shell.c (e_shell_send_receive): New.
+
+ * Evolution-Component.idl (Component.sendAndReceive): New.
+
+2003-11-13 Ettore Perazzoli <ettore@ximian.com>
+
* e-user-creatable-items-handler.c (ensure_menu_items): Reverse
the list so we get the items in the same order they were given to
us [since we are using g_slist_prepend() to build the list].
diff --git a/shell/Evolution-Component.idl b/shell/Evolution-Component.idl
index 7a915c6bfb..c9c5afaf11 100644
--- a/shell/Evolution-Component.idl
+++ b/shell/Evolution-Component.idl
@@ -59,6 +59,11 @@ module Evolution {
@item_type_name. */
void requestCreateItem (in string item_type_name)
raises (UnknownType);
+
+
+ /*** Send/receive. ***/
+
+ void sendAndReceive ();
};
};
diff --git a/shell/e-shell-window-commands.c b/shell/e-shell-window-commands.c
index b75fc998a4..0bc9b7f12f 100644
--- a/shell/e-shell-window-commands.c
+++ b/shell/e-shell-window-commands.c
@@ -197,6 +197,14 @@ command_work_online (BonoboUIComponent *uih,
e_shell_go_online (e_shell_window_peek_shell (window), window);
}
+static void
+command_send_receive (BonoboUIComponent *uih,
+ EShellWindow *window,
+ const char *path)
+{
+ e_shell_send_receive (e_shell_window_peek_shell (window));
+}
+
/* Tools menu. */
@@ -228,6 +236,12 @@ static BonoboUIVerb file_verbs [] = {
BONOBO_UI_VERB_END
};
+static BonoboUIVerb actions_verbs[] = {
+ BONOBO_UI_VERB ("SendReceive", (BonoboUIVerbFn) command_send_receive),
+
+ BONOBO_UI_VERB_END
+};
+
static BonoboUIVerb tools_verbs[] = {
BONOBO_UI_VERB ("Settings", (BonoboUIVerbFn) command_settings),
BONOBO_UI_VERB ("PilotSettings", (BonoboUIVerbFn) command_pilot_settings),
@@ -244,6 +258,7 @@ static BonoboUIVerb help_verbs [] = {
};
static EPixmap pixmaps [] = {
+ E_PIXMAP ("/commands/SendReceive", "send-receive.xpm"),
E_PIXMAP ("/menu/File/FileImporter", "import.xpm"),
E_PIXMAP ("/menu/File/ToggleOffline", "work_offline.xpm"),
E_PIXMAP ("/menu/Tools/Settings", "settings-16.png"),
@@ -341,6 +356,7 @@ e_shell_window_commands_setup (EShellWindow *shell_window)
shell = e_shell_window_peek_shell (shell_window);
bonobo_ui_component_add_verb_list_with_data (uic, file_verbs, shell_window);
+ bonobo_ui_component_add_verb_list_with_data (uic, actions_verbs, shell_window);
bonobo_ui_component_add_verb_list_with_data (uic, tools_verbs, shell_window);
bonobo_ui_component_add_verb_list_with_data (uic, help_verbs, shell_window);
diff --git a/shell/e-shell.c b/shell/e-shell.c
index e69b04a0a3..9b803efb2a 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -845,6 +845,32 @@ e_shell_go_online (EShell *shell,
void
+e_shell_send_receive (EShell *shell)
+{
+ GSList *component_list;
+ GSList *p;
+
+ g_return_if_fail (E_IS_SHELL (shell));
+
+ component_list = e_component_registry_peek_list (shell->priv->component_registry);
+
+ for (p = component_list; p != NULL; p = p->next) {
+ EComponentInfo *info = p->data;
+ CORBA_Environment ev;
+
+ CORBA_exception_init (&ev);
+
+ GNOME_Evolution_Component_sendAndReceive (info->iface, &ev);
+
+ // Ignore errors, the components can decide to not implement
+ // this interface.
+
+ CORBA_exception_free (&ev);
+ }
+}
+
+
+void
e_shell_show_settings (EShell *shell,
const char *type,
EShellWindow *shell_window)
diff --git a/shell/e-shell.h b/shell/e-shell.h
index 9d75a86baa..84f73f3b1d 100644
--- a/shell/e-shell.h
+++ b/shell/e-shell.h
@@ -120,6 +120,8 @@ void e_shell_go_offline (EShell *shell,
void e_shell_go_online (EShell *shell,
EShellWindow *action_window);
+void e_shell_send_receive (EShell *shell);
+
void e_shell_show_settings (EShell *shell,
const char *type,
EShellWindow *shell_window);