From 854a4f51614eb4a6a23e15204d30d1e57ef83c6f Mon Sep 17 00:00:00 2001 From: jacob Date: Sat, 3 Mar 2007 22:05:05 +0000 Subject: [PATCH] Refactoring patch from Ben Hutchings: move all the Gtk resize code into one place. (From Debian bug#379452) git-svn-id: svn://svn.tartarus.org/sgt/puzzles@7366 cda61777-01e9-0310-a592-d414129be87e --- gtk.c | 41 ++++++++++++++--------------------------- 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/gtk.c b/gtk.c index 4335a07..30389e9 100644 --- a/gtk.c +++ b/gtk.c @@ -1100,15 +1100,10 @@ static void get_size(frontend *fe, int *px, int *py) gdk_window_resize(GTK_WIDGET(win)->window, x, y) #endif -static void menu_preset_event(GtkMenuItem *menuitem, gpointer data) +static void resize_fe(frontend *fe) { - frontend *fe = (frontend *)data; - game_params *params = - (game_params *)gtk_object_get_data(GTK_OBJECT(menuitem), "user-data"); int x, y; - midend_set_params(fe->me, params); - midend_new_game(fe->me); get_size(fe, &x, &y); fe->w = x; fe->h = y; @@ -1120,6 +1115,17 @@ static void menu_preset_event(GtkMenuItem *menuitem, gpointer data) } } +static void menu_preset_event(GtkMenuItem *menuitem, gpointer data) +{ + frontend *fe = (frontend *)data; + game_params *params = + (game_params *)gtk_object_get_data(GTK_OBJECT(menuitem), "user-data"); + + midend_set_params(fe->me, params); + midend_new_game(fe->me); + resize_fe(fe); +} + GdkAtom compound_text_atom, utf8_string_atom; int paste_initialised = FALSE; @@ -1325,7 +1331,6 @@ static void menu_load_event(GtkMenuItem *menuitem, gpointer data) { frontend *fe = (frontend *)data; char *name, *err; - int x, y; name = file_selector(fe, "Enter name of saved game file to load", FALSE); @@ -1347,16 +1352,7 @@ static void menu_load_event(GtkMenuItem *menuitem, gpointer data) return; } - get_size(fe, &x, &y); - fe->w = x; - fe->h = y; - gtk_drawing_area_size(GTK_DRAWING_AREA(fe->area), x, y); - { - GtkRequisition req; - gtk_widget_size_request(GTK_WIDGET(fe->window), &req); - gtk_window_resize(GTK_WINDOW(fe->window), req.width, req.height); - } - + resize_fe(fe); } } @@ -1383,21 +1379,12 @@ static void menu_config_event(GtkMenuItem *menuitem, gpointer data) frontend *fe = (frontend *)data; int which = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(menuitem), "user-data")); - int x, y; if (!get_config(fe, which)) return; midend_new_game(fe->me); - get_size(fe, &x, &y); - fe->w = x; - fe->h = y; - gtk_drawing_area_size(GTK_DRAWING_AREA(fe->area), x, y); - { - GtkRequisition req; - gtk_widget_size_request(GTK_WIDGET(fe->window), &req); - gtk_window_resize(GTK_WINDOW(fe->window), req.width, req.height); - } + resize_fe(fe); } static void menu_about_event(GtkMenuItem *menuitem, gpointer data) -- 2.11.0