diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ChangeLog | 6 | ||||
-rw-r--r-- | shell/Evolution-Component.idl | 5 | ||||
-rw-r--r-- | shell/e-shell-window-commands.c | 16 | ||||
-rw-r--r-- | shell/e-shell.c | 26 | ||||
-rw-r--r-- | shell/e-shell.h | 2 |
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); |