From: Alberto Garcia Date: Fri, 24 Aug 2007 11:54:11 +0000 (+0000) Subject: * src/widgets/modest-main-window.h X-Git-Tag: git_migration_finished~2532 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=a53f92ed4375cec1094f41a310b9ab7b7f8a2d70 * src/widgets/modest-main-window.h * src/widgets/modest-main-window.c (modest_main_window_transfer_mode_enabled): Checks whether the main window is in transfer mode. (set_toolbar_mode): Checks dimming rules when changing toolbar mode * src/modest-ui-dimming-rules.c (modest_ui_dimming_rules_on_delete_folder): Dim "delete folder" if the main window is in transfer mode (_transfer_mode_enabled): Added support for the main window Fixes NB#64604 pmo-trunk-r3064 --- diff --git a/src/maemo/modest-main-window.c b/src/maemo/modest-main-window.c index 285a937..283cdce 100644 --- a/src/maemo/modest-main-window.c +++ b/src/maemo/modest-main-window.c @@ -2020,6 +2020,9 @@ set_toolbar_mode (ModestMainWindow *self, /* Sets current toolbar mode */ priv->current_toolbar_mode = mode; + /* Checks the dimming rules */ + modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (self)); + /* Show and hide toolbar items */ switch (mode) { case TOOLBAR_MODE_NORMAL: @@ -2064,6 +2067,17 @@ set_toolbar_mode (ModestMainWindow *self, } } +gboolean +modest_main_window_transfer_mode_enabled (ModestMainWindow *self) +{ + ModestMainWindowPrivate *priv; + + g_return_val_if_fail (MODEST_IS_MAIN_WINDOW (self), FALSE); + priv = MODEST_MAIN_WINDOW_GET_PRIVATE(self); + + return priv->current_toolbar_mode == TOOLBAR_MODE_TRANSFER; +} + static void cancel_progressbar (GtkToolButton *toolbutton, ModestMainWindow *self) diff --git a/src/modest-ui-dimming-rules.c b/src/modest-ui-dimming-rules.c index 03a432d..b7a7617 100644 --- a/src/modest-ui-dimming-rules.c +++ b/src/modest-ui-dimming-rules.c @@ -485,6 +485,11 @@ modest_ui_dimming_rules_on_delete_folder (ModestWindow *win, gpointer user_data) if (dimmed) modest_dimming_rule_set_notification (rule, _("mail_in_ui_folder_delete_error")); } + if (!dimmed) { + dimmed = _transfer_mode_enabled (win); + if (dimmed) + modest_dimming_rule_set_notification (rule, _CS("ckct_ib_unable_to_delete")); + } return dimmed; } @@ -2086,10 +2091,14 @@ _transfer_mode_enabled (ModestWindow *win) { gboolean result = FALSE; - g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (win), FALSE); - - /* Check dimming */ - result = modest_msg_view_window_transfer_mode_enabled (MODEST_MSG_VIEW_WINDOW (win)); + /* Check dimming */ + if (MODEST_IS_MSG_VIEW_WINDOW(win)) { + result = modest_msg_view_window_transfer_mode_enabled (MODEST_MSG_VIEW_WINDOW (win)); + } else if (MODEST_IS_MAIN_WINDOW(win)) { + result = modest_main_window_transfer_mode_enabled (MODEST_MAIN_WINDOW (win)); + } else { + g_warning("_transfer_mode_enabled called with wrong window type"); + } return result; } diff --git a/src/widgets/modest-main-window.h b/src/widgets/modest-main-window.h index 710a41d..c9ded93 100644 --- a/src/widgets/modest-main-window.h +++ b/src/widgets/modest-main-window.h @@ -220,6 +220,17 @@ gboolean modest_main_window_on_msg_view_window_msg_changed (ModestMsgViewWindow GtkTreeRowReference *row_reference, ModestMainWindow *self); +/** + * modest_main_window_transfer_mode_enabled: + * @window: a #ModestMainWindow + * + * Determines if some transfer operation is in progress. + * + * Returns: TRUE if transfer mode is enabled, FASE otherwise. +*/ +gboolean +modest_main_window_transfer_mode_enabled (ModestMainWindow *self); + G_END_DECLS #endif /* __MODEST_MAIN_WINDOW_H__ */