- modest_window_mgr_register_window (modest_runtime_get_window_mgr (), msg_view);
- gtk_widget_show_all (GTK_WIDGET (msg_view));
+ if (modest_window_mgr_find_registered_header (win_mgr, header, &msg_view)) {
+ g_debug ("window for this msg is open already");
+ if (!MODEST_IS_MSG_VIEW_WINDOW(msg_view))
+ g_debug ("not a msg view");
+ else {
+ gtk_window_present (GTK_WINDOW(msg_view));
+ }
+ } else {
+ g_debug ("creating new window for this msg");
+ modest_window_mgr_register_header (win_mgr, header);
+ msg_view = modest_msg_view_window_new (msg,account_name,
+ msg_uid);
+ modest_window_mgr_register_window (win_mgr, msg_view);
+ gtk_widget_show_all (GTK_WIDGET (msg_view));
+ }