* remove some annoying debug warnings
[modest] / src / widgets / modest-window.h
index eaad895..d3fa65d 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,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