* Implement optimizations on DimmingRules management.
[modest] / src / widgets / modest-window.h
index be1c722..63bd1bd 100644 (file)
@@ -40,7 +40,7 @@ G_BEGIN_DECLS
 #endif /*HAVE_CONFIG_H*/
 
 #include <gtk/gtk.h>
-
 /* 
  * admittedly, the ifdefs for gtk and maemo are rather ugly; still
  * this way is probably the easiest to maintain
@@ -66,6 +66,21 @@ 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;
+} 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))
@@ -189,6 +204,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.