X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-window-mgr.h;h=91d61b29165cf84472aceafae72bf98186b6dc29;hb=aa217bb73f75e470e94184a592701176623bcc1f;hp=bb104b84a42ec3bcd2f07cdc1301ad9be4aee504;hpb=dde66f6a3aceb78ed40d8ae247bd613ab25b8fff;p=modest diff --git a/src/widgets/modest-window-mgr.h b/src/widgets/modest-window-mgr.h index bb104b8..91d61b2 100644 --- a/src/widgets/modest-window-mgr.h +++ b/src/widgets/modest-window-mgr.h @@ -48,15 +48,13 @@ typedef struct _ModestWindowMgrClass ModestWindowMgrClass; struct _ModestWindowMgr { GObject parent; - /* insert public members, if any */ }; struct _ModestWindowMgrClass { GObjectClass parent_class; - /* insert signal callback declarations, eg. */ - /* void (* my_event) (ModestWindowMgr* obj); */ }; + /* member functions */ GType modest_window_mgr_get_type (void) G_GNUC_CONST; @@ -80,25 +78,13 @@ void modest_window_mgr_register_window (ModestWindowMgr *self, * @self: the #ModestWindowMgr * @window: a #ModestWindow * - * Unegisters a given window from the window manager. The window + * Unregisters a given window from the window manager. The window * manager will free its reference to it. **/ void modest_window_mgr_unregister_window (ModestWindowMgr *self, ModestWindow *window); -/** - * modest_window_mgr_find_window_by_msguid: - * @self: the #ModestWindowMgr - * @msgid: the message uid - * - * Looks for a #ModestWindow that shows the message specified by the - * message uid passed as argument - * - * Return value: the #ModestWindow if found, else NULL - **/ -ModestWindow* modest_window_mgr_find_window_by_msguid (ModestWindowMgr *self, - const gchar *msguid); /** * modest_window_mgr_set_fullscreen_mode: @@ -125,6 +111,7 @@ gboolean modest_window_mgr_get_fullscreen_mode (ModestWindowMgr *self); /** * modest_window_mgr_show_toolbars: * @self: a #ModestWindowMgr + * @window_type: apply the show toolbars command only to the windows of this type * @show_toolbar: whether or not the toolbars should be shown * @fullscreen: TRUE/FALSE for show/hide in fullscreen mode, otherwise * it applies to normal mode @@ -135,11 +122,129 @@ gboolean modest_window_mgr_get_fullscreen_mode (ModestWindowMgr *self); * to fullscreen mode and viceversa **/ void modest_window_mgr_show_toolbars (ModestWindowMgr *self, + GType window_type, gboolean show_toolbars, gboolean fullscreen); - +/** + * modest_window_mgr_get_main_window: + * @self: a #ModestWindowMgr + * + * get the main window, or create if it's not there. don't destroy + * it. + * + * Returns: the main window or NULL in case of error + **/ ModestWindow* modest_window_mgr_get_main_window (ModestWindowMgr *self); + +/** + * modest_window_mgr_get_easysetup_dialog: + * @self: a #ModestWindowMgr + * + * get the easysetup dialog; if it's NULL, there's no active dialog + * + * Returns: the easy setup dialog or NULL + **/ +GtkDialog* modest_window_mgr_get_easysetup_dialog (ModestWindowMgr *self); + + +/** + * modest_window_mgr_get_easysetup_dialog: + * @self: a #ModestWindowMgr + * + * set the easysetup dialog; set it to NULL after destroying the dialog + * + * Returns: the easy setup dialog just set + **/ +GtkDialog* modest_window_mgr_set_easysetup_dialog (ModestWindowMgr *self, + GtkDialog *dialog); + + +/** + * modest_window_mgr_prevent_hibernation_while_window_is_shown: + * @self: a #ModestWindowMgr + * @window: The window that should prevent hibernation while it is shown. + * + * Call this if hibernation should not be allowed because + * windows are open whose state cannot sensible be saved, such as Account + * Settings dialogs. + * This causes modest_window_mgr_get_hibernation_is_prevented() to return TRUE + * until all such windows have been closed. That means, until the windows have + * been hidden - window destruction or other memory management is not relevant. + **/ +void modest_window_mgr_prevent_hibernation_while_window_is_shown (ModestWindowMgr *self, + GtkWindow *window); + + +/** + * modest_window_mgr_find_registered_header + * @self: a #ModestWindowMgr + * @header: a valid #TnyHeader + * + * search for the given uid in both the list of preregistered uids and in the window list; + * if it's available in the window list, fill the *win out-param + * + * returns TRUE if found, FALSE otherwise + **/ +gboolean modest_window_mgr_find_registered_header (ModestWindowMgr *self, TnyHeader *header, + ModestWindow **win); + + +/** + * modest_window_mgr_close_all_windows + * @self: a #ModestWindowMgr + * + * Close all registered windows. + **/ +void modest_window_mgr_close_all_windows (ModestWindowMgr *self); + +/** + * modest_window_mgr_register_header + * @self: a #ModestWindowMgr + * @header: a valid #TnyHeader + * + * register the uid, even before the window is created. thus, we know when + * some window creation might already be underway. the uid will automatically be + * removed when the window itself will registered + * + **/ +void modest_window_mgr_register_header (ModestWindowMgr *self, TnyHeader *header); + + +/** + * modest_window_mgr_unregister_header + * @self: a #ModestWindowMgr + * @header: a valid #TnyHeader + * + * unregister the uid. We could need to do that if there is any error + * retrieving a message. In that case the window will not be + * registered and thus the header will not be removed, so we must do + * it manually + **/ +void modest_window_mgr_unregister_header (ModestWindowMgr *self, TnyHeader *header); + +/** + * modest_window_mgr_get_hibernation_is_prevented: + * @self: a #ModestWindowMgr + * @result: Whether any windows are currently preventing hibernation. + * + * Use this to discover whether hibernation should not be allowed because + * windows are open whose state cannot sensible be saved, such as Account + * Settings dialogs. This function will return true after someone has called + * modest_window_mgr_prevent_hibernation_while_window_is_shown() and before + * that window has been closed. + **/ +gboolean modest_window_mgr_get_hibernation_is_prevented (ModestWindowMgr *self); + +/** + * modest_window_mgr_save_state_for_all_windows: + * @self: a #ModestWindowMgr + * + * Save any state for all windows. For instance, call this before allowing + * application hibernation. + **/ +void modest_window_mgr_save_state_for_all_windows (ModestWindowMgr *self); + G_END_DECLS #endif /* __MODEST_WINDOW_MGR_H__ */