[Pioneers-commits] r11 - trunk/client/gtk

kemm at garage.maemo.org kemm at garage.maemo.org
Mon Feb 18 00:48:13 EET 2008


Author: kemm
Date: 2008-02-18 00:48:12 +0200 (Mon, 18 Feb 2008)
New Revision: 11

Modified:
   trunk/client/gtk/settingscreen.c
Log:
Make "Game Settings" dialog fit into the screen


Modified: trunk/client/gtk/settingscreen.c
===================================================================
--- trunk/client/gtk/settingscreen.c	2008-02-17 21:57:01 UTC (rev 10)
+++ trunk/client/gtk/settingscreen.c	2008-02-17 22:48:12 UTC (rev 11)
@@ -98,34 +98,18 @@
 			       (right_aligned ? 1.0 : 0.0), 0.5);
 }
 
-static GtkWidget *settings_create_content(void)
+static GtkWidget *build_general_tab(const GameParams *game_params)
 {
-	const GameParams *game_params;
-	GtkWidget *dlg_vbox;
+	GtkWidget *label;
+    GtkWidget *dlg_vbox;
 	GtkWidget *alignment;
-	GtkWidget *vbox;
-	GtkWidget *hbox;
 	GtkWidget *table;
-	GtkWidget *label;
 	gchar *sevens_desc;
 	gchar *island_bonus;
-	guint row;
 
-	/* Create some space inside the dialog */
-	dlg_vbox = gtk_vbox_new(FALSE, 6);
-	gtk_container_set_border_width(GTK_CONTAINER(dlg_vbox), 6);
-	gtk_widget_show(dlg_vbox);
+    dlg_vbox = gtk_vbox_new(FALSE, 6);
+    gtk_container_set_border_width(GTK_CONTAINER(dlg_vbox), 3);
 
-	game_params = get_game_params();
-	if (game_params == NULL) {
-		label = gtk_label_new(_("No game in progress..."));
-		gtk_box_pack_start(GTK_BOX(dlg_vbox), label, TRUE, TRUE,
-				   6);
-		gtk_widget_show(label);
-
-		return dlg_vbox;
-	}
-
 	label = gtk_label_new(NULL);
 	gtk_label_set_markup(GTK_LABEL(label),
 			     _("<b>General Settings</b>"));
@@ -210,6 +194,22 @@
 	add_setting_val(table, 8, 1, TYPE_STRING, 0, island_bonus, FALSE);
 	g_free(island_bonus);
 
+    return dlg_vbox;
+}
+
+static GtkWidget *build_quotas_tab(const GameParams *game_params)
+{
+	GtkWidget *label;
+	GtkWidget *vbox;
+	GtkWidget *hbox;
+    GtkWidget *dlg_vbox;
+	GtkWidget *alignment;
+	GtkWidget *table;
+	guint row;
+
+    dlg_vbox = gtk_vbox_new(FALSE, 6);
+    gtk_container_set_border_width(GTK_CONTAINER(dlg_vbox), 3);
+
 	/* Double space, otherwise the columns are too close */
 	hbox = gtk_hbox_new(FALSE, 24);
 	gtk_widget_show(hbox);
@@ -338,6 +338,49 @@
 	return dlg_vbox;
 }
 
+static GtkWidget *settings_create_content(void)
+{
+	const GameParams *game_params;
+	GtkWidget *dlg_vbox;
+	GtkWidget *label;
+    GtkWidget *notebook;
+    GtkWidget *general;
+    GtkWidget *quotas;
+
+	game_params = get_game_params();
+    if (game_params == NULL) {
+        /* Create some space inside the dialog */
+        dlg_vbox = gtk_vbox_new(FALSE, 6);
+        gtk_container_set_border_width(GTK_CONTAINER(dlg_vbox), 6);
+        gtk_widget_show(dlg_vbox);
+
+        label = gtk_label_new(_("No game in progress..."));
+        gtk_box_pack_start(GTK_BOX(dlg_vbox), label, TRUE, TRUE,
+                           6);
+        gtk_widget_show(label);
+
+        return dlg_vbox;
+    }
+
+    notebook = gtk_notebook_new();
+    gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_TOP);
+    gtk_widget_show(notebook);
+
+    label = gtk_label_new(_("General"));
+    gtk_widget_show(label);
+    general = build_general_tab(game_params);
+    gtk_widget_show(general);
+    gtk_notebook_append_page(GTK_NOTEBOOK(notebook), general, label);
+
+    label = gtk_label_new(_("Quotas & Deck"));
+    gtk_widget_show(label);
+    quotas = build_quotas_tab(game_params);
+    gtk_widget_show(quotas);
+    gtk_notebook_append_page(GTK_NOTEBOOK(notebook), quotas, label);
+
+	return notebook;
+}
+
 static void settings_rules_changed(void)
 {
 	if (settings_dlg) {



More information about the Pioneers-commits mailing list