X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-main-window.h;h=710a41d5959f16d7865d62ed4e47b666161a0b35;hb=e4cf75a85dd8b33093ed9ddbc86a1d54428fb9bf;hp=a77688f1801ef5d411bff84059d03f1da0dd7d9a;hpb=eb07602a96ef4964049368495d37dec543ffcb4a;p=modest diff --git a/src/widgets/modest-main-window.h b/src/widgets/modest-main-window.h index a77688f..710a41d 100644 --- a/src/widgets/modest-main-window.h +++ b/src/widgets/modest-main-window.h @@ -31,8 +31,12 @@ #ifndef __MODEST_MAIN_WINDOW_H__ #define __MODEST_MAIN_WINDOW_H__ -#include "modest-widget-factory.h" -#include "modest-window.h" +#include +#include +#include +#include +#include +#include G_BEGIN_DECLS @@ -56,34 +60,165 @@ struct _ModestMainWindowClass { ModestWindowClass parent_class; }; -/* member functions */ +/* + * MODEST_MAIN_WINDOW_STYLE_SIMPLE: shows only the header list + * MODEST_MAIN_WINDOW_STYLE_SPLIT: shows a right pane with the folder + * tree and a left pane with the header list + */ +typedef enum _ModestMainWindowStyle { + MODEST_MAIN_WINDOW_STYLE_SIMPLE, + MODEST_MAIN_WINDOW_STYLE_SPLIT +} ModestMainWindowStyle; + +/* + * MODEST_MAIN_WINDOW_FOLDER_CONTENTS_STYLE_HEADERS + * MODEST_MAIN_WINDOW_FOLDER_CONTENTS_STYLE_HEADERS + */ +typedef enum _ModestMainWindowContentsStyle { + MODEST_MAIN_WINDOW_CONTENTS_STYLE_HEADERS, + MODEST_MAIN_WINDOW_CONTENTS_STYLE_DETAILS, + MODEST_MAIN_WINDOW_CONTENTS_STYLE_EMPTY, +} ModestMainWindowContentsStyle; + +/* toolbar modes */ +typedef enum _ModestToolBarModes { + TOOLBAR_MODE_NORMAL, + TOOLBAR_MODE_TRANSFER, +} ModestToolBarModes; + +/** + * modest_main_window_get_type: + * + * get the GType for the ModestMainWindow class + * + * Returns: a GType for ModestMainWindow + */ GType modest_main_window_get_type (void) G_GNUC_CONST; -ModestWindow* modest_main_window_new (ModestWidgetFactory *factory, - TnyAccountStore *account_store); +/** + * modest_main_window_new + * + * instantiates a new ModestMainWindow widget + * + * Returns: a new ModestMainWindow, or NULL in case of error + */ +ModestWindow* modest_main_window_new (void); + +/* + * we could use the GType instead, but that would require + * that there only on widget of a certain type; that is + * true now, but might not be. Therefore, these types + */ +typedef enum { + MODEST_WIDGET_TYPE_HEADER_VIEW, + MODEST_WIDGET_TYPE_FOLDER_VIEW, + MODEST_WIDGET_TYPE_MSG_PREVIEW, + + MODEST_WIDGET_TYPE_NUM, +} ModestWidgetType; + + +/** + * modest_main_window_get_child_widget + * + * get a child window for this window + * + * Returns: a child window or NULL + */ +GtkWidget* modest_main_window_get_child_widget (ModestMainWindow *self, + ModestWidgetType widget_type); + +/** + * modest_main_window_close_all: + * @self: + * + * this function will ask the user about if the user wants to close + * all the windows or just the main one + * + * Returns: TRUE if the user selected to close all the windows, otherwise FALSE + **/ +gboolean modest_main_window_close_all (ModestMainWindow *self); + + +/** + * modest_main_window_set_style: + * @self: the #ModestMainWindow + * @style: a #ModestMainWindowStyle that will be set + * + * sets the style of the main window, a splitview with folders at + * the left and messages at the right, or the simple view, with just + * messages. + **/ +void modest_main_window_set_style (ModestMainWindow *self, + ModestMainWindowStyle style); /** - * modest_main_window_get_widget_factory: - * @edit_window: a #ModestMainWindow + * modest_main_window_get_style: + * @self: * - * gets a new reference to the #ModestWidgetFactory associated with - * the main window + * gets the current show style of the main window * - * Returns: the widget factory + * Return value: the current #ModestWindowStyle **/ -ModestWidgetFactory * modest_main_window_get_widget_factory (ModestMainWindow *main_window); +ModestMainWindowStyle modest_main_window_get_style (ModestMainWindow *self); /** - * modest_main_window_get_account_store: - * @edit_window: a #ModestMainWindow + * modest_main_window_set_contents_style: + * @self: the #ModestMainWindow + * @style: a #ModestMainWindowContentsStyle that will be set. Either headers or details. * - * gets a new reference to the account store associated with the main - * window + * Shows either the folder details, or the header list of the current + * selected folder. + **/ +void modest_main_window_set_contents_style (ModestMainWindow *self, + ModestMainWindowContentsStyle style); + +/** + * modest_main_window_get_contents_style: + * @self: the #ModestMainWindow * - * Returns: the account store + * Gets the currently selected #ModestMainWindowContentsStyle + * + * Returns: the #ModestMainWindowContentsStyle of the main window **/ -TnyAccountStore * modest_main_window_get_account_store (ModestMainWindow *main_window); +ModestMainWindowContentsStyle modest_main_window_get_contents_style (ModestMainWindow *self); + + + +/** + * modest_main_window_notify_send_receive_initied: + * @self: the #ModestMainWindow + * + * Determines if send&receive operaiton is currently in + * progress. + * + * Returns: TRUE if send$receive operaton is in + * progress, FALSE otherwise. + **/ +gboolean modest_main_window_send_receive_in_progress (ModestMainWindow *self); + +/** + * modest_main_window_notify_send_receive_initied: + * @self: the #ModestMainWindow + * + * Notifies main window that send/receive operaiton was just started. + **/ +void modest_main_window_notify_send_receive_initied (ModestMainWindow *self); + +/** + * modest_main_window_notify_send_receive_completed: + * @self: the #ModestMainWindow + * + * Notifies main window that send/receive operaiton was completed. + **/ +void modest_main_window_notify_send_receive_completed (ModestMainWindow *self); + + +gboolean modest_main_window_on_msg_view_window_msg_changed (ModestMsgViewWindow *view_window, + GtkTreeModel *model, + GtkTreeRowReference *row_reference, + ModestMainWindow *self); G_END_DECLS