From a08169d412a1239820aa67ad6dda27124778f135 Mon Sep 17 00:00:00 2001 From: Mikael Hallendal Date: Fri, 15 Aug 2003 04:55:57 +0000 Subject: - Save size from last window. Patch by Shaun McCance. - Fixes bug #90451 2003-08-15 Mikael Hallendal * src/yelp-window.c: (window_init), (window_configure_cb): - Save size from last window. Patch by Shaun McCance. - Fixes bug #90451 --- ChangeLog | 6 ++++-- src/yelp-window.c | 34 ++++++++++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7726b806..e2c23ace 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,11 +1,13 @@ 2003-08-15 Mikael Hallendal + * src/yelp-window.c: (window_init), (window_configure_cb): + - Save size from last window. Patch by Shaun McCance. + - Fixes bug #90451 + * configure.in: - Applied patch from Steve Chaplin that fixes the CFLAGS. - Fixes bug #118984 -2003-08-15 Mikael Hallendal - * src/yelp-main.c: (main_restore_session): Return FALSE, otherwise we'll try to start Yelp from the session over and over again. Reported by Jody earlier. diff --git a/src/yelp-window.c b/src/yelp-window.c index 6bed7fdd..af83f6c9 100644 --- a/src/yelp-window.c +++ b/src/yelp-window.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include "yelp-error.h" @@ -49,6 +50,11 @@ #define RESPONSE_PREV 1 #define RESPONSE_NEXT 2 +#define YELP_CONFIG_WIDTH "/yelp/Geometry/width" +#define YELP_CONFIG_HEIGHT "/yelp/Geometry/height" +#define YELP_CONFIG_WIDTH_DEFAULT "600" +#define YELP_CONFIG_HEIGHT_DEFAULT "420" + typedef enum { YELP_WINDOW_ACTION_BACK = 1, YELP_WINDOW_ACTION_FORWARD @@ -117,7 +123,9 @@ static void window_find_response_cb (GtkWidget *dialog , static YelpView * window_get_active_view (YelpWindow *window); static GtkWidget * window_create_toolbar (YelpWindow *window); static GdkPixbuf * window_load_icon (void); - +static gboolean window_configure_cb (GtkWidget *widget, + GdkEventConfigure *event, + gpointer data); enum { @@ -233,7 +241,16 @@ window_init (YelpWindow *window) G_CALLBACK (window_toggle_history_forward), window); - gtk_window_set_default_size (GTK_WINDOW (window), 600, 420); + gint width, height; + width = gnome_config_get_int (YELP_CONFIG_WIDTH + "=" YELP_CONFIG_WIDTH_DEFAULT); + height = gnome_config_get_int (YELP_CONFIG_HEIGHT + "=" YELP_CONFIG_HEIGHT_DEFAULT); + gtk_window_set_default_size (GTK_WINDOW (window), width, height); + g_signal_connect (window, + "configure-event", + G_CALLBACK (window_configure_cb), + NULL); gtk_window_set_title (GTK_WINDOW (window), _("Help Browser")); } @@ -864,6 +881,19 @@ window_load_icon (void) return pixbuf; } +static gboolean +window_configure_cb (GtkWidget *widget, + GdkEventConfigure *event, + gpointer data) +{ + gint width, height; + gtk_window_get_size (GTK_WINDOW (widget), &width, &height); + gnome_config_set_int (YELP_CONFIG_WIDTH, width); + gnome_config_set_int (YELP_CONFIG_HEIGHT, height); + gnome_config_sync (); + + return FALSE; +} GtkWidget * yelp_window_new (GNode *doc_tree, GList *index) -- cgit v1.2.1