diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2003-05-09 05:54:58 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2003-05-09 05:54:58 +0800 |
commit | 56e678a74896006f89657d2ac86fa03c846a6d7a (patch) | |
tree | e0bcb4fa7efbecae8f3a3e8b215910f3513f3b11 /shell/e-shell-view.c | |
parent | b352ae1f19ca558ba8fd61e0a277a2a9020406bf (diff) | |
download | gsoc2013-evolution-56e678a74896006f89657d2ac86fa03c846a6d7a.tar.gz gsoc2013-evolution-56e678a74896006f89657d2ac86fa03c846a6d7a.tar.zst gsoc2013-evolution-56e678a74896006f89657d2ac86fa03c846a6d7a.zip |
[#42342] New function to update the Send/Receive menu and toolbar items
[#42342]
* e-shell-view.c (update_send_receive_sensitivity): New function
to update the Send/Receive menu and toolbar items according to the
current line status.
(e_shell_view_construct): Call it here to set up the initial
state.
(shell_line_status_changed_cb): Use it here as well.
svn path=/trunk/; revision=21135
Diffstat (limited to 'shell/e-shell-view.c')
-rw-r--r-- | shell/e-shell-view.c | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c index e44a152601..081e3d32a3 100644 --- a/shell/e-shell-view.c +++ b/shell/e-shell-view.c @@ -188,9 +188,10 @@ static GdkPixmap *online_pixmap = NULL; static GdkBitmap *online_mask = NULL; -static void update_for_current_uri (EShellView *shell_view); -static void update_offline_toggle_status (EShellView *shell_view); -static const char *get_storage_set_path_from_uri (const char *uri); +static void update_for_current_uri (EShellView *shell_view); +static void update_offline_toggle_status (EShellView *shell_view); +static void update_send_receive_sensitivity (EShellView *shell_view); +static const char *get_storage_set_path_from_uri (const char *uri); /* Boo. */ @@ -1760,15 +1761,7 @@ shell_line_status_changed_cb (EShell *shell, shell_view = E_SHELL_VIEW (data); update_offline_toggle_status (shell_view); - - if (new_status == E_SHELL_LINE_STATUS_OFFLINE) - bonobo_ui_component_set_prop (shell_view->priv->ui_component, - "/commands/SendReceive", - "sensitive", "0", NULL); - else - bonobo_ui_component_set_prop (shell_view->priv->ui_component, - "/commands/SendReceive", - "sensitive", "1", NULL); + update_send_receive_sensitivity (shell_view); } static int @@ -1855,6 +1848,7 @@ e_shell_view_construct (EShellView *shell_view, setup_defaults (view); update_other_users_folder_items_sensitivity (view); + update_send_receive_sensitivity (view); if (uri != NULL) { uri_to_load = g_strdup (uri); @@ -2111,6 +2105,20 @@ update_offline_toggle_status (EShellView *shell_view) gtk_tooltips_set_tip (priv->tooltips, priv->offline_toggle, tooltip, NULL); } +static void +update_send_receive_sensitivity (EShellView *shell_view) +{ + if (e_shell_get_line_status (shell_view->priv->shell) == E_SHELL_LINE_STATUS_OFFLINE) + bonobo_ui_component_set_prop (shell_view->priv->ui_component, + "/commands/SendReceive", + "sensitive", "0", NULL); + else + bonobo_ui_component_set_prop (shell_view->priv->ui_component, + "/commands/SendReceive", + "sensitive", "1", NULL); +} + + /* This displays the specified page, doing the appropriate Bonobo activation/deactivation magic to make sure things work nicely. FIXME: Crappy way to solve the issue. */ static void |