aboutsummaryrefslogtreecommitdiff
path: root/gtk.c
diff options
context:
space:
mode:
authorJacob Nevins <jacobn@chiark.greenend.org.uk>2007-03-03 22:05:05 +0000
committerJacob Nevins <jacobn@chiark.greenend.org.uk>2007-03-03 22:05:05 +0000
commitd916cd7ff9972163e187484ff23380cb76ee99c4 (patch)
treec3046e6d0f638b3db585adfee7a52342b977e062 /gtk.c
parent39d299f579da3e91308d63acc78c68ab74666989 (diff)
downloadpuzzles-d916cd7ff9972163e187484ff23380cb76ee99c4.zip
puzzles-d916cd7ff9972163e187484ff23380cb76ee99c4.tar.gz
puzzles-d916cd7ff9972163e187484ff23380cb76ee99c4.tar.bz2
puzzles-d916cd7ff9972163e187484ff23380cb76ee99c4.tar.xz
Refactoring patch from Ben Hutchings: move all the Gtk resize code into one
place. (From Debian bug#379452) [originally from svn r7366]
Diffstat (limited to 'gtk.c')
-rw-r--r--gtk.c41
1 files 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)