2007-05-23 Christian Kellner <ckellner@openismus.com>
[modest] / src / widgets / modest-window-mgr.h
index 5a19ede..1a70a90 100644 (file)
@@ -80,7 +80,7 @@ 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, 
@@ -102,13 +102,81 @@ ModestWindow*  modest_window_mgr_find_window_by_msguid (ModestWindowMgr *self,
 
 /**
  * modest_window_mgr_set_fullscreen_mode:
- * @self: 
- * @on: 
+ * @self: a #ModestWindowMgr
+ * @on: a #gboolean
  * 
  * sets/unsets the application windows in fullscreen mode
  **/
 void           modest_window_mgr_set_fullscreen_mode   (ModestWindowMgr *self,
                                                        gboolean on);
+
+/**
+ * modest_window_mgr_get_fullscreen_mode:
+ * @self: a #ModestWindowMgr
+ * 
+ * gets the application current fullscreen mode
+ *
+ * Return value: TRUE is the application is in fullscrenn mode,
+ * otherwise FALSE
+ **/
+gboolean       modest_window_mgr_get_fullscreen_mode   (ModestWindowMgr *self);
+
+
+/**
+ * modest_window_mgr_show_toolbars:
+ * @self: a #ModestWindowMgr
+ * @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
+ * 
+ * shows or hides the toolbars of the registered windows. Note that if
+ * the #fullscreen attribute is TRUE and the application is in normal
+ * mode, you will not see the changes until the application switches
+ * to fullscreen mode and viceversa
+ **/
+void           modest_window_mgr_show_toolbars         (ModestWindowMgr *self,
+                                                       gboolean show_toolbars,
+                                                       gboolean fullscreen);
+
+ModestWindow*  modest_window_mgr_get_main_window       (ModestWindowMgr *self);
+
+/**
+ * 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_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__ */