X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fgtk2%2Fmodest-ui.c;h=834b0dcbce762060c649bb61c521fc3195b47584;hb=e3f09367b620559811ebf738ff701f2703c9534f;hp=9c221dc944791e8f86946324140a8d3a2fc197d1;hpb=bc05794553fcec813da11e3ac979b45b491e1b45;p=modest diff --git a/src/gtk2/modest-ui.c b/src/gtk2/modest-ui.c index 9c221dc..834b0dc 100644 --- a/src/gtk2/modest-ui.c +++ b/src/gtk2/modest-ui.c @@ -56,6 +56,8 @@ struct _ModestUIPrivate { ModestAccountMgr *account_mgr; ModestWidgetFactory *widget_factory; ModestTnyAccountStore *account_store; + + GtkWidget *main_window; }; #define MODEST_UI_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \ @@ -124,6 +126,8 @@ modest_ui_init (ModestUI *obj) priv->account_mgr = NULL; priv->conf = NULL; priv->widget_factory = NULL; + + priv->main_window = NULL; } @@ -192,22 +196,33 @@ modest_ui_new (ModestConf *modest_conf) return MODEST_UI(obj); } +static gboolean +on_main_window_delete_event (GtkWidget *widget, GdkEvent *event, ModestUI *self) +{ + g_warning (__FUNCTION__); + gtk_main_quit (); + return FALSE; +} + GtkWidget* modest_ui_main_window (ModestUI *modest_ui) { - GtkWidget* win; ModestUIPrivate *priv; g_return_val_if_fail (modest_ui, NULL); priv = MODEST_UI_GET_PRIVATE(modest_ui); - win = modest_main_window_new (priv->conf, priv->account_mgr, - priv->widget_factory); - if (!win) + if (!priv->main_window) { + priv->main_window = + modest_main_window_new (priv->conf, priv->account_mgr, + priv->widget_factory); + g_signal_connect (G_OBJECT(priv->main_window), "delete-event", + G_CALLBACK(on_main_window_delete_event), modest_ui); + } + + if (!priv->main_window) g_printerr ("modest: could not create main window\n"); - - return win; + + return priv->main_window; } - -