* Change save_settings call of main and viewer windows to
[modest] / src / widgets / modest-window-mgr.c
index 1d768e0..c49b026 100644 (file)
@@ -239,7 +239,23 @@ modest_window_mgr_register_header (ModestWindowMgr *self,  TnyHeader *header)
        g_free (uid);
 }
 
+void 
+modest_window_mgr_unregister_header (ModestWindowMgr *self,  TnyHeader *header)
+{
+       ModestWindowMgrPrivate *priv;
+       gchar* uid;
+       
+       g_return_if_fail (MODEST_IS_WINDOW_MGR (self));
+       g_return_if_fail (TNY_IS_HEADER(header));
+               
+       priv = MODEST_WINDOW_MGR_GET_PRIVATE (self);
+       uid = modest_tny_folder_get_header_unique_id (header);
+       
+       if (has_uid (priv->preregistered_uids, uid))
+               priv->preregistered_uids = remove_uid (priv->preregistered_uids, uid);
 
+       g_free (uid);
+}
 
 static gint
 compare_msguids (ModestWindow *win,
@@ -421,6 +437,11 @@ on_window_destroy (ModestWindow *window,
                }
        }
 
+       /* Save configuration state (TODO: why edit window does not require this function ?) */
+       if (!MODEST_IS_MSG_EDIT_WINDOW (window)) 
+               modest_window_save_state (MODEST_WINDOW(window));
+
+
        /* Unregister window */
        modest_window_mgr_unregister_window (self, window);