#include <tny-msg.h>
#include <tny-header.h>
#include <tny-gtk-header-list-model.h>
+#include "modest-mail-operation.h"
+#include "modest-header-view-observer.h"
G_BEGIN_DECLS
* set the folder for this ModestHeaderView
*/
void modest_header_view_set_folder (ModestHeaderView *self,
- TnyFolder *folder);
+ TnyFolder *folder,
+ RefreshAsyncUserCallback callback,
+ gpointer user_data);
/**
* modest_header_view_get_folder:
/**
* modest_header_view_set_columns:
* @self: a ModestHeaderView instance
- * @columns: a list of ModestHeaderViewColumn
+ * @columns: a list of gint ModestHeaderViewColumn column IDs, using GINT_TO_POINTER() and GPOINTER_TO_INT().
* @type: #TnyFolderType type
*
* set the columns for this ModestHeaderView.
ModestHeaderViewStyle modest_header_view_get_style (ModestHeaderView *self);
/**
+ * modest_header_view_count_selected_headers:
+ * @self: a ModestHeaderView instance
+ *
+ * Check selected headers counter.
+ * Returns: the number of selected headers.
+ */
+guint
+modest_header_view_count_selected_headers (ModestHeaderView *self);
+
+/**
+ * modest_header_view_has_selected_headers:
+ * @self: a ModestHeaderView instance
+ *
+ * Check if any row is selected on headers tree view.
+ * Returns: TRUE if any header is selected, FALSE otherwise.
+ */
+gboolean
+modest_header_view_has_selected_headers (ModestHeaderView *self);
+
+/**
* modest_header_view_get_selected_headers:
* @self: a ModestHeaderView instance
*
guint sort_colid,
GtkSortType sort_type);
+/**
+ * modest_header_view_clear:
+ * @self: a #ModestHeaderView
+ *
+ * Clear the contents of a header view. It internally calls the
+ * set_folder function with last three arguments as NULL
+ **/
+void
+modest_header_view_clear (ModestHeaderView *self);
+
+/**
+ * modest_header_view_copy_selection:
+ * @self: a #ModestHeaderView
+ *
+ * Stores a #TnyList of selected headers in the own clibpoard of
+ * @self header view.
+ **/
+void
+modest_header_view_copy_selection (ModestHeaderView *header_view);
+
+/**
+ * modest_header_view_cut_selection:
+ * @self: a #ModestHeaderView
+ *
+ * Stores a #TnyList of selected headers in the own clibpoard of
+ * @self header view and filter them into headers tree model to
+ * hide these rows in treeview.
+ **/
+void
+modest_header_view_cut_selection (ModestHeaderView *header_view);
+
+
+/**
+ * modest_header_view_paste_selection:
+ * @self: a #ModestHeaderView
+ * @headers: ouput parameter with a #TnyList of headers which will be returned.
+ * @delete: output parameter with indication about delete or not the selected headers.
+ *
+ * Gets the selected headers to copy/cut.
+ **/
+void
+modest_header_view_paste_selection (ModestHeaderView *header_view,
+ TnyList **headers,
+ gboolean *delete);
+
+void modest_header_view_refilter (ModestHeaderView *header_view);
+
+/**
+ * modest_header_view_add_observer:
+ * @header_view: a #ModestHeaderView
+ * @observer: The observer to notify.
+ *
+ * Registers a new observer. Warning! Each added observer object must
+ * removed using @modest_header_view_remove_observer before destroying
+ * the observer, or at least when it is under destruction. Also you
+ * should care about that the observer's #update function might be
+ * called any time until the observer is removed.
+ **/
+void modest_header_view_add_observer(
+ ModestHeaderView *header_view,
+ ModestHeaderViewObserver *observer);
+
+/**
+ * modest_header_view_remove_observer:
+ * @header_view: a #ModestHeaderView
+ * @observer: The observer to remove.
+ *
+ * Removes exactly one observer from the notification list. If you
+ * added an observer twice, you should call this remove funtion twice
+ * as well.
+ **/
+void modest_header_view_remove_observer(
+ ModestHeaderView *header_view,
+ ModestHeaderViewObserver *observer);
G_END_DECLS