#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
#endif /* MODEST_PLATFORM_GNOME */
#ifdef MODEST_PLATFORM_MAEMO
-#ifdef MODEST_HILDON_VERSION_0
+#ifdef MODEST_HAVE_HILDON0_WIDGETS
#include <hildon-widgets/hildon-window.h>
#else
#include <hildon/hildon-window.h>
-#endif /*MODEST_HILDON_VERSION_0*/
+#endif /*MODEST_HAVE_HILDON0_WIDGETS*/
typedef HildonWindow ModestWindowParent;
typedef HildonWindowClass ModestWindowParentClass;
#endif /*MODEST_PLATFORM_MAEMO */
+/* Dimmed state variables */
+typedef struct _DimmedState {
+ guint n_selected;
+ guint 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))
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);
};
/**
* @self: a modest window instance
* @active_account: a new active account name for this window
*
- * set the active account for this window
+ * set the active account for this window.
+ * NOTE: this must be a valid, non-pseudo account.
*
*/
void modest_window_set_active_account (ModestWindow *self, const gchar *active_account);
**/
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.
+ *
+ * Get an action from ui manager, using @action_path parameter,
+ * which represent the full path to the required action into UIManager
+ * xml definition.
+ **/
+GtkAction * modest_window_get_action (ModestWindow *window, const gchar *action_path);
+
+/**
+ * modest_window_get_action_widget:
+ * @window: a #ModestWindow instance object
+ * @action_path: the full path of required action.
+ *
+ * Get action widget from ui manager, using @action_path parameter,
+ * which represent the full path to the required action into UIManager
+ * xml definition.
+ **/
+GtkWidget *modest_window_get_action_widget (ModestWindow *window,
+ const gchar *action_path);
+
+/**
+ * modest_window_check_dimming_rules:
+ * @self: a #ModestWindow instance object
+ *
+ * Calls UI Dimming Manager of @self window to check all dimming rules.
+ *
+ **/
+void modest_window_check_dimming_rules (ModestWindow *self);
+
+/**
+ * modest_window_check_dimming_rules:
+ * @self: a #ModestWindow instance object
+ * @group: a #ModestWindow instance object
+ *
+ * Calls UI Dimming Manager of @self window to check @group_name specific
+ * dimming rules.
+ *
+ **/
+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
#endif /* __MODEST_WINDOW_H__ */