X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmaemo%2Fmodest-main-window.c;h=a39c31af0b478ad5b1d0edaf8e37b887f9a60372;hp=0e49e447705397be61fab7d1ca9fd4e09f70e7b3;hb=d8f84008fa1e26dc63a2aaf44fd37da8bdfc6207;hpb=698c83eea2e63d42b69250a88e0894cf37d3a738 diff --git a/src/maemo/modest-main-window.c b/src/maemo/modest-main-window.c index 0e49e44..a39c31a 100644 --- a/src/maemo/modest-main-window.c +++ b/src/maemo/modest-main-window.c @@ -214,6 +214,7 @@ struct _ModestMainWindowPrivate { ModestMainWindowStyle style; ModestMainWindowContentsStyle contents_style; + gboolean wait_for_settings; guint progress_bar_timeout; guint restore_paned_timeout; @@ -345,6 +346,7 @@ modest_main_window_init (ModestMainWindow *obj) priv->progress_bar = NULL; priv->current_toolbar_mode = TOOLBAR_MODE_NORMAL; priv->style = MODEST_MAIN_WINDOW_STYLE_SPLIT; + priv->wait_for_settings = TRUE; priv->contents_style = -1; /* invalid contents style. We need this to select it for the first time */ priv->merge_ids = NULL; priv->optimized_view = FALSE; @@ -1081,7 +1083,9 @@ modest_main_window_on_show (GtkWidget *self, gpointer user_data) modest_osso_load_state (); /* Restore window & widget settings */ + priv->wait_for_settings = TRUE; restore_settings (MODEST_MAIN_WINDOW(self), TRUE); + priv->wait_for_settings = FALSE; /* Check if accounts exist and show the account wizard if not */ gboolean accounts_exist = @@ -1329,6 +1333,10 @@ modest_main_window_set_style (ModestMainWindow *self, priv->style = style; switch (style) { case MODEST_MAIN_WINDOW_STYLE_SIMPLE: + + if (!priv->wait_for_settings) + modest_widget_memory_save (modest_runtime_get_conf (), G_OBJECT (priv->main_paned), + MODEST_CONF_MAIN_PANED_KEY); /* Remove main paned */ g_object_ref (priv->main_paned); gtk_container_remove (GTK_CONTAINER (priv->main_vbox), priv->main_paned); @@ -1346,6 +1354,8 @@ modest_main_window_set_style (ModestMainWindow *self, gtk_paned_add2 (GTK_PANED (priv->main_paned), priv->contents_widget); gtk_container_add (GTK_CONTAINER (priv->main_vbox), priv->main_paned); + g_timeout_add (500, (GSourceFunc) restore_paned_timeout_handler, self); + break; default: g_return_if_reached ();