Fixes NB#153926, "insert image" button moved from app menu to toolbar
[modest] / src / gtk / modest-gtk-window-mgr.c
index 48e9e70..1165405 100644 (file)
@@ -33,7 +33,6 @@
 #include "modest-msg-edit-window.h"
 #include "modest-mailboxes-window.h"
 #include "modest-header-window.h"
-#include "modest-main-window.h"
 #include "modest-window-mgr-priv.h"
 #include "modest-conf.h"
 #include "modest-defs.h"
@@ -114,6 +113,8 @@ struct _ModestGtkWindowMgrPrivate {
 
        gulong        accounts_handler;
        GtkWidget    *shell;
+
+       gboolean      fullscreen;
 };
 #define MODEST_GTK_WINDOW_MGR_GET_PRIVATE(o)      (G_TYPE_INSTANCE_GET_PRIVATE((o), \
                                                                                   MODEST_TYPE_GTK_WINDOW_MGR, \
@@ -190,6 +191,7 @@ modest_gtk_window_mgr_instance_init (ModestGtkWindowMgr *obj)
 
        priv->modal_windows = g_queue_new ();
        priv->queue_lock = g_mutex_new ();
+       priv->fullscreen = FALSE;
 
        /* Could not initialize it from gconf, singletons are not
           ready yet */
@@ -752,13 +754,26 @@ modest_gtk_window_mgr_set_fullscreen_mode (ModestWindowMgr *self,
 {
        g_return_if_fail (MODEST_IS_GTK_WINDOW_MGR (self));
 
+       ModestGtkWindowMgrPrivate *priv = NULL;
+       priv = MODEST_GTK_WINDOW_MGR_GET_PRIVATE (self);
+       
+       priv->fullscreen = on;
+
+       if (on) {
+               gtk_window_fullscreen (GTK_WINDOW (priv->shell));
+       } else {
+               gtk_window_unfullscreen (GTK_WINDOW (priv->shell));
+       }
        return;
 }
 
 static gboolean
 modest_gtk_window_mgr_get_fullscreen_mode (ModestWindowMgr *self)
 {
-       return FALSE;
+       ModestGtkWindowMgrPrivate *priv = NULL;
+       priv = MODEST_GTK_WINDOW_MGR_GET_PRIVATE (self);
+       
+       return priv->fullscreen;
 }
 
 static void 
@@ -839,7 +854,7 @@ modest_gtk_window_mgr_set_modal (ModestWindowMgr *self,
        if (GTK_IS_WINDOW (parent)) {
                gtk_window_set_transient_for (window, parent);
        } else {
-               gtk_window_set_transient_for (window, priv->shell);
+               gtk_window_set_transient_for (window, GTK_WINDOW (priv->shell));
        }
        gtk_window_set_destroy_with_parent (window, TRUE);
 }
@@ -905,7 +920,7 @@ on_account_removed (TnyAccountStore *acc_store,
                       modal dialog would otherwise, prevent the
                       windows from being closed */
                    if (!strcmp (acc_name, modest_window_get_active_account (current_top)))
-                           g_idle_add (on_idle_close_all_but_first, (gpointer) priv->shell);
+                           g_idle_add (on_idle_close_all_but_first, (gpointer) user_data);
        }
 }
 
@@ -1025,3 +1040,13 @@ modest_gtk_window_mgr_close_all_but_initial (ModestWindowMgr *self)
 
        return TRUE;
 }
+
+GtkWidget *
+modest_gtk_window_mgr_get_shell (ModestGtkWindowMgr *self)
+{
+       ModestGtkWindowMgrPrivate *priv;
+
+       priv = MODEST_GTK_WINDOW_MGR_GET_PRIVATE(self);
+
+       return priv->shell;
+}