From 272948b3094192f47070319af7cc97dff7a3ee79 Mon Sep 17 00:00:00 2001 From: Jesse van den Kieboom Date: Wed, 29 Mar 2006 22:56:10 +0000 Subject: [PATCH] Added position saving --- gnoemoe/widgets/gm-app-view.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gnoemoe/widgets/gm-app-view.c b/gnoemoe/widgets/gm-app-view.c index 296873e..58c8379 100644 --- a/gnoemoe/widgets/gm-app-view.c +++ b/gnoemoe/widgets/gm-app-view.c @@ -145,6 +145,9 @@ struct _GmAppViewPrivate { GdkCursor *cursor; guint tray_idle_create; + + gint position_left; + gint position_top; }; /* Signals */ @@ -615,7 +618,19 @@ gm_app_view_init(GmAppView *view) { gm_app_view_create_tray(view); } -void +static void +gm_app_view_store_position(GmAppView *view) { + gtk_window_get_position(GTK_WINDOW(view), &(view->priv->position_left), + &(view->priv->position_top)); +} + +static void +gm_app_view_restore_position(GmAppView *view) { + gtk_window_move(GTK_WINDOW(view), view->priv->position_left, + view->priv->position_top); +} + +static void gm_app_view_restore_size(GmAppView *view) { gint width, height; @@ -855,6 +870,7 @@ gm_app_view_toggle_visibility(GmAppView *view) { if (!visible || !gtk_window_is_active(GTK_WINDOW(view))) { if (!visible) { gm_app_view_restore_size(view); + gm_app_view_restore_position(view); } gtk_widget_show(GTK_WIDGET(view)); @@ -866,6 +882,7 @@ gm_app_view_toggle_visibility(GmAppView *view) { gm_tray_normal(view->priv->tray); } } else if (view->priv->tray) { + gm_app_view_store_position(view); gtk_widget_hide(GTK_WIDGET(view)); } }