Mercurial > geeqie.yaz
diff src/info.c @ 764:ae618ebec3e9
Save properties window width and height to rc file and restore
them on next session if layout.save_window_positions is set to TRUE.
author | zas_ |
---|---|
date | Thu, 29 May 2008 07:52:05 +0000 |
parents | a7289f9e8d29 |
children | 339db85846da |
line wrap: on
line diff
--- a/src/info.c Wed May 28 22:12:10 2008 +0000 +++ b/src/info.c Thu May 29 07:52:05 2008 +0000 @@ -33,8 +33,6 @@ #define IMAGE_SIZE_W 200 #define IMAGE_SIZE_H 200 -#define DEF_PROPERTY_WIDTH 600 -#define DEF_PROPERTY_HEIGHT 400 typedef struct _TabData TabData; struct _TabData @@ -716,9 +714,6 @@ *------------------------------------------------------------------- */ -static gint info_window_last_width = DEF_PROPERTY_WIDTH; -static gint info_window_last_height = DEF_PROPERTY_HEIGHT; - static void info_window_image_update_cb(ImageWindow *imd, gpointer data) { InfoData *id = data; @@ -798,9 +793,9 @@ static void info_window_close(InfoData *id) { - gdk_drawable_get_size(id->window->window, &info_window_last_width, &info_window_last_height); - info_window_last_width = MAX(info_window_last_width, DEF_PROPERTY_WIDTH); - info_window_last_height = MAX(info_window_last_height, DEF_PROPERTY_HEIGHT); + gdk_drawable_get_size(id->window->window, &options->layout.properties_window.w, &options->layout.properties_window.h); + options->layout.properties_window.w = MAX(options->layout.properties_window.w, DEF_PROPERTY_WIDTH); + options->layout.properties_window.h = MAX(options->layout.properties_window.h, DEF_PROPERTY_HEIGHT); gtk_widget_destroy(id->window); } @@ -871,8 +866,11 @@ gtk_window_set_geometry_hints(GTK_WINDOW(id->window), NULL, &geometry, GDK_HINT_MIN_SIZE | GDK_HINT_BASE_SIZE); + if (options->layout.save_window_positions) + gtk_window_set_default_size(GTK_WINDOW(id->window), options->layout.properties_window.w, options->layout.properties_window.h); + else + gtk_window_set_default_size(GTK_WINDOW(id->window), DEF_PROPERTY_WIDTH, DEF_PROPERTY_HEIGHT); - gtk_window_set_default_size(GTK_WINDOW(id->window), info_window_last_width, info_window_last_height); gtk_container_set_border_width(GTK_CONTAINER(id->window), PREF_PAD_BORDER); g_signal_connect(G_OBJECT(id->window), "delete_event",