MODEST_HEADER_VIEW_COLUMN_RECEIVED_DATE,
MODEST_HEADER_VIEW_COLUMN_MSGTYPE,
MODEST_HEADER_VIEW_COLUMN_ATTACH,
-
+ MODEST_HEADER_VIEW_COLUMN_SIZE,
/*
* these two are for compact display on small devices,
* with two line display with all relevant headers
*/
MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_IN, /* incoming mail */
MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT, /* outgoing mail */
-
+
MODEST_HEADER_VIEW_COLUMN_NUM
} ModestHeaderViewColumn;
* to make a small-device specific display
*/
typedef enum _ModestHeaderViewStyle {
- MODEST_HEADER_VIEW_STYLE_SHOW_HEADERS = 0x01,
- MODEST_HEADER_VIEW_STYLE_NORMAL = 0x02,
+ MODEST_HEADER_VIEW_STYLE_DETAILS, /* many columns, single line, col headers visible */
+ MODEST_HEADER_VIEW_STYLE_TWOLINES, /* two-line headers, col headers invisible */
+
+ MODEST_HEADER_VIEW_STYLE_NUM
} ModestHeaderViewStyle;
typedef enum _ModestItemType {
} ModestItemType;
-typedef enum _ModestHeaderViewState {
- MODEST_HEADER_VIEW_STATE_IS_EMPTY = 0x01,
- MODEST_HEADER_VIEW_STATE_HAS_CURSOR = 0x02,
- MODEST_HEADER_VIEW_STATE_HAS_SELECTION = 0x04,
- MODEST_HEADER_VIEW_STATE_HAS_MULTIPLE_SELECTION = 0x08,
- MODEST_HEADER_VIEW_STATE_AT_FIRST_ITEM = 0x0f,
- MODEST_HEADER_VIEW_STATE_AT_LAST_ITEM = 0x10
-} ModestHeaderViewState;
-
struct _ModestHeaderViewClass {
GtkTreeViewClass parent_class;
void (*item_not_found) (ModestHeaderView* self,
ModestItemType type,
gpointer user_data);
-
+
+ void (*header_activated) (ModestHeaderView* self,
+ TnyHeader *header,
+ gpointer user_data);
+
/* msg == NULL implies that the operation is finished, ie.
* the progress indictation can be hidden */
void (*status_update) (ModestHeaderView* self,
/**
* modest_header_view_new:
* @folder: a TnyMsgFolder object
- * @columns: a list of ModestHeaderViewColumn
* @style: a ModestHeaderViewColumn with the style of this listview
* ( MODEST_HEADER_VIEW_STYLE_NORMAL or MODEST_HEADER_VIEW_STYLE_COMPACT)
*
* Returns: a new GtkWidget (a GtkTreeView-subclass)
*/
GtkWidget* modest_header_view_new (TnyFolder *folder,
- const GList *columns,
ModestHeaderViewStyle style);
/**
* @folder: a TnyFolder object
*
* set the folder for this ModestHeaderView
- *
- * Returns: TRUE if it succeeded, FALSE otherwise
*/
-gboolean modest_header_view_set_folder (ModestHeaderView *self,
+void modest_header_view_set_folder (ModestHeaderView *self,
TnyFolder *folder);
-
-
-
/**
* modest_header_view_get_folder:
* @self: a ModestHeaderView instance
* You must free the list with g_list_free
*/
GList* modest_header_view_get_columns (ModestHeaderView *self);
-
-
-
-/**
- * modest_header_view_get_state
- * @self: a ModestHeaderView instance
- *
- * get the state for this header view; see the ModestHeaderViewState enum
- * for possible values.
- *
- * Returns: the state for this header view
- */
-ModestHeaderViewState modest_header_view_get_state (ModestHeaderView *self);
-
/**
*/
ModestHeaderViewStyle modest_header_view_get_style (ModestHeaderView *self);
-
-
/**
* modest_header_view_get_selected_headers:
* @self: a ModestHeaderView instance
/**
+ * modest_header_view_is_empty:
+ * @self: a valid ModestHeaderView instance
+ *
+ * see if this header view is empty; use this function instead of
+ * using the GtkTreeView parent directly, as 'empty' in this case
+ * may mean that there is one "This is empty"-message, and of course
+ * GtkTreeView then thinks it is *not* empty
+ *
+ * Returns: TRUE if the header view is empty, FALSE otherwise
+ */
+gboolean modest_header_view_is_empty (ModestHeaderView *self);
+
+
+
+/**
* modest_header_view_select_next:
* @self: a #ModestHeaderView
*
* Selects the header next to the current selected one
**/
-void modest_header_view_select_next (ModestHeaderView *self);
+void modest_header_view_select_next (ModestHeaderView *self);
+
+/**
+ * modest_header_view_select_prev:
+ * @self: a #ModestHeaderView
+ *
+ * Selects the previous header of the current selected one
+ **/
+void modest_header_view_select_prev (ModestHeaderView *self);
/* PROTECTED method. It's useful when we want to force a given