vaccinewars

be a doctor and try to vaccinate the world
git clone git://src.adamsgaard.dk/vaccinewars # fast
git clone https://src.adamsgaard.dk/vaccinewars.git # slow
Log | Files | Refs | README | LICENSE Back to index

commit 2b728ce2426ae400644741890b611504d64ebc67
parent 0fa5bb3c048ad11188e5f3832ac2622a369f121c
Author: Ben Webb <ben@salilab.org>
Date:   Mon, 25 Mar 2002 16:54:51 +0000

Buttons in dialogs now have a slightly more GTK-consistent "look" - i.e.
they do not expand, and are right-aligned.


Diffstat:
Msrc/gui_client/gtk_client.c | 59+++++++++++++++++++++++++++++++++++++++--------------------
1 file changed, 39 insertions(+), 20 deletions(-)

diff --git a/src/gui_client/gtk_client.c b/src/gui_client/gtk_client.c @@ -184,6 +184,19 @@ static void LogMessage(const gchar *log_domain, GLogLevelFlags log_level, MB_OK | (gtk_main_level() > 0 ? MB_IMMRETURN : 0)); } +/* + * Creates an hbutton_box widget, and sets a sensible spacing. + * N.B. Should use gtk_hbutton_box_set_spacing_default() instead, but + * I can't get this to actually work... + */ +GtkWidget *my_hbbox_new(void) +{ + GtkWidget *hbbox = gtk_hbutton_box_new(); + + gtk_box_set_spacing(GTK_BOX(hbbox), 8); + return hbbox; +} + void QuitGame(GtkWidget *widget, gpointer data) { if (!InGame || GtkMessageBox(ClientData.window, @@ -246,7 +259,7 @@ void ListScores(GtkWidget *widget, gpointer data) void ListInventory(GtkWidget *widget, gpointer data) { - GtkWidget *window, *button, *hsep, *vbox, *hbox; + GtkWidget *window, *button, *hsep, *vbox, *hbox, *hbbox; GtkAccelGroup *accel_group; if (IsShowingInventory) @@ -283,11 +296,13 @@ void ListInventory(GtkWidget *widget, gpointer data) hsep = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0); + hbbox = my_hbbox_new(); button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); gtk_signal_connect_object(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), (gpointer)window); - gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), button); + gtk_box_pack_start(GTK_BOX(vbox), hbbox, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(window), vbox); @@ -871,7 +886,7 @@ static void CreateFightDialog(void) gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0); gtk_widget_show(hsep); - hbbox = gtk_hbutton_box_new(); + hbbox = my_hbbox_new(); /* Button for closing the "Fight" dialog and going back to dealing drugs * (%Tde = "Drugs" by default) */ @@ -1654,19 +1669,19 @@ void DealDrugs(GtkWidget *widget, gpointer data) hsep = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0); - hbbox = gtk_hbutton_box_new(); + hbbox = my_hbbox_new(); button = gtk_button_new_from_stock(GTK_STOCK_OK); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(DealOKCallback), data); GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); defbutton = button; - gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), button); button = gtk_button_new_from_stock(GTK_STOCK_CANCEL); gtk_signal_connect_object(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), (gpointer)dialog); - gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), button); gtk_box_pack_start(GTK_BOX(vbox), hbbox, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(dialog), vbox); @@ -1821,7 +1836,7 @@ void QuestionDialog(char *Data, Player *From) hsep = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0); - hbbox = gtk_hbutton_box_new(); + hbbox = my_hbbox_new(); for (i = 0; i < strlen(Responses); i++) { for (j = 0, trword = NULL; j < numWords && !trword; j++) { @@ -1842,7 +1857,7 @@ void QuestionDialog(char *Data, Player *From) gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(QuestionCallback), GINT_TO_POINTER((gint)Responses[i])); - gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), button); } gtk_box_pack_start(GTK_BOX(vbox), hbbox, TRUE, TRUE, 0); gtk_container_add(GTK_CONTAINER(dialog), vbox); @@ -2095,6 +2110,8 @@ gboolean GtkLoop(int *argc, char **argv[], gboolean ReturnOnFail) ClientData.Play = g_new(Player, 1); FirstClient = AddPlayer(0, ClientData.Play, FirstClient); + gtk_hbutton_box_set_layout_default(GTK_BUTTONBOX_END); + window = MainWindow = ClientData.window = gtk_window_new(GTK_WINDOW_TOPLEVEL); /* Title of main window in GTK+ client */ @@ -2204,7 +2221,7 @@ static void PackCentredURL(GtkWidget *vbox, gchar *title, gchar *target, void display_intro(GtkWidget *widget, gpointer data) { - GtkWidget *dialog, *label, *table, *OKButton, *vbox, *hsep; + GtkWidget *dialog, *label, *table, *OKButton, *vbox, *hsep, *hbbox; gchar *VersionStr, *docindex; const int rows = 6, cols = 3; int i, j; @@ -2287,12 +2304,14 @@ void display_intro(GtkWidget *widget, gpointer data) hsep = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0); + hbbox = my_hbbox_new(); OKButton = gtk_button_new_from_stock(GTK_STOCK_OK); gtk_signal_connect_object(GTK_OBJECT(OKButton), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), (gpointer)dialog); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), OKButton); - gtk_box_pack_start(GTK_BOX(vbox), OKButton, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), hbbox, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(dialog), vbox); GTK_WIDGET_SET_FLAGS(OKButton, GTK_CAN_DEFAULT); @@ -2448,24 +2467,24 @@ void TransferDialog(gboolean Debt) hsep = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0); - hbbox = gtk_hbutton_box_new(); + hbbox = my_hbbox_new(); button = gtk_button_new_from_stock(GTK_STOCK_OK); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(TransferOK), dialog); - gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), button); if (Debt && ClientData.Play->Cash >= ClientData.Play->Debt) { /* Button to pay back the entire loan/debt */ button = gtk_button_new_with_label(_("Pay all")); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(TransferPayAll), dialog); - gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), button); } button = gtk_button_new_with_label(_("Cancel")); gtk_signal_connect_object(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), (gpointer)dialog); - gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), button); gtk_box_pack_start(GTK_BOX(vbox), hbbox, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(dialog), vbox); @@ -2626,20 +2645,20 @@ void TalkDialog(gboolean TalkToAll) hsep = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0); - hbbox = gtk_hbutton_box_new(); + hbbox = my_hbbox_new(); /* Button to send a message to other players */ button = gtk_button_new_with_label(_("Send")); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(TalkSend), (gpointer)&TalkData); - gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), button); button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); gtk_signal_connect_object(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), (gpointer)dialog); - gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), button); gtk_box_pack_start(GTK_BOX(vbox), hbbox, FALSE, FALSE, 0); @@ -2774,19 +2793,19 @@ void ErrandDialog(gint ErrandType) hsep = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0); - hbbox = gtk_hbutton_box_new(); + hbbox = my_hbbox_new(); button = gtk_button_new_from_stock(GTK_STOCK_OK); gtk_object_set_data(GTK_OBJECT(button), "dialog", dialog); gtk_object_set_data(GTK_OBJECT(button), "errandtype", GINT_TO_POINTER(ErrandType)); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(ErrandOK), (gpointer)clist); - gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), button); button = gtk_button_new_with_label(_("Cancel")); gtk_signal_connect_object(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), (gpointer)dialog); - gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0); + gtk_box_pack_start_defaults(GTK_BOX(hbbox), button); gtk_box_pack_start(GTK_BOX(vbox), hbbox, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(dialog), vbox);