X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-window.h;h=d3fa65de297bf21c1c7c14ac1e459d9ea99d2f2c;hb=6e565d66a81f50c1c2afa04635dc84a4f5d82a62;hp=eaad895ac8d2a9219c20ef4951f479d44b95c0c2;hpb=9047ba28c2aeacd7fa7c092044390b1c5912cdea;p=modest diff --git a/src/widgets/modest-window.h b/src/widgets/modest-window.h index eaad895..d3fa65d 100644 --- a/src/widgets/modest-window.h +++ b/src/widgets/modest-window.h @@ -40,7 +40,7 @@ G_BEGIN_DECLS #endif /*HAVE_CONFIG_H*/ #include - + /* * admittedly, the ifdefs for gtk and maemo are rather ugly; still * this way is probably the easiest to maintain @@ -66,6 +66,22 @@ typedef HildonWindowClass ModestWindowParentClass; #endif /*MODEST_PLATFORM_MAEMO */ +/* Dimmed state variables */ +typedef struct _DimmedState { + guint n_selected; + gboolean already_opened_msg; + gboolean any_marked_as_deleted; + gboolean all_marked_as_deleted; + gboolean any_marked_as_seen; + gboolean all_marked_as_seen; + gboolean any_marked_as_cached; + gboolean all_marked_as_cached; + gboolean any_has_attachments; + gboolean all_has_attachments; + gboolean sent_in_progress; + gboolean all_selected; +} DimmedState; + /* convenience macros */ #define MODEST_TYPE_WINDOW (modest_window_get_type()) #define MODEST_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),MODEST_TYPE_WINDOW,ModestWindow)) @@ -90,8 +106,8 @@ struct _ModestWindowClass { gboolean (*zoom_plus_func) (ModestWindow *self); gboolean (*zoom_minus_func) (ModestWindow *self); void (*show_toolbar_func) (ModestWindow *self, gboolean show_toolbar); - void (*save_state_func) (ModestWindow *self); + void (*disconnect_signals_func) (ModestWindow *self); }; /** @@ -189,6 +205,31 @@ void modest_window_save_state (ModestWindow *window); /** + * modest_window_set_dimming_state: + * @window: a #ModestWindow instance object + * @state: the #DimmedState state at specific time + * + * Set basic dimming variables from selected headers at + * specific moment. + **/ +void +modest_window_set_dimming_state (ModestWindow *window, + DimmedState *state); + +/** + * modest_window_set_dimming_state: + * @window: a #ModestWindow instance object + * + * Set basic dimming variables from selected headers at + * specific moment. + * + * @Returns: a #DimmedState state saved previously. + **/ +const DimmedState * +modest_window_get_dimming_state (ModestWindow *window); + + +/** * modest_window_get_action: * @window: a #ModestWindow instance object * @action_path: the full path of required action. @@ -229,9 +270,32 @@ void modest_window_check_dimming_rules (ModestWindow *self); * dimming rules. * **/ -void -modest_window_check_dimming_rules_group (ModestWindow *self, - const gchar *group_name); +void modest_window_check_dimming_rules_group (ModestWindow *self, + const gchar *group_name); + + +/** + * modest_window_enable_dimming: + * @self: a #ModestWindow instance object + * + * Enables UI dimming rules checking. + * + **/ +void modest_window_enable_dimming (ModestWindow *self); + + +/** + * modest_window_disable_dimming: + * @self: a #ModestWindow instance object + * + * Disables UI dimming rules checking. + * + **/ +void modest_window_disable_dimming (ModestWindow *self); + + +void modest_window_disconnect_signals (ModestWindow *self); + G_END_DECLS