URI:
       tUse GTK3 style Box constructor - vaccinewars - be a doctor and try to vaccinate the world
  HTML git clone git://src.adamsgaard.dk/vaccinewars
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 4d0df8bf54941486eee931282daeb1f6219e22ec
   DIR parent 94e930c8dce52bedbe605505568e5055e2b0cba6
  HTML Author: Ben Webb <ben@salilab.org>
       Date:   Sun, 22 Nov 2020 22:33:11 -0800
       
       Use GTK3 style Box constructor
       
       Use GTK3 style gtk_box_new() rather
       tthan GTK2 style gtk_hbox_new() and
       gtk_vbox_new(). Provide compatibility
       wrapper so that things still work with GTK2.
       
       Diffstat:
         M src/gtkport/gtkport.c               |       9 +++++++++
         M src/gtkport/gtkport.h               |       1 +
         M src/gui_client/gtk_client.c         |      51 ++++++++++++++++---------------
         M src/gui_client/newgamedia.c         |      12 ++++++------
         M src/gui_client/optdialog.c          |      15 ++++++++-------
         M src/serverside.c                    |       4 ++--
       
       6 files changed, 52 insertions(+), 40 deletions(-)
       ---
   DIR diff --git a/src/gtkport/gtkport.c b/src/gtkport/gtkport.c
       t@@ -5197,6 +5197,15 @@ GtkWidget *gtk_button_box_new(GtkOrientation orientation)
          }
        }
        
       +GtkWidget *gtk_box_new(GtkOrientation orientation, gint spacing)
       +{
       +  if (orientation == GTK_ORIENTATION_HORIZONTAL) {
       +    return gtk_hbox_new(FALSE, spacing);
       +  } else {
       +    return gtk_vbox_new(FALSE, spacing);
       +  }
       +}
       +
        #endif
        
        guint SetAccelerator(GtkWidget *labelparent, gchar *Text,
   DIR diff --git a/src/gtkport/gtkport.h b/src/gtkport/gtkport.h
       t@@ -698,6 +698,7 @@ void MapWidgetOrigin(GtkWidget *widget, POINT *pt);
        /* Provide compatibility functions for GTK+2 so we can use GTK+3 syntax */
        #if GTK_MAJOR_VERSION == 2
        GtkWidget *gtk_button_box_new(GtkOrientation orientation);
       +GtkWidget *gtk_box_new(GtkOrientation orientation, gint spacing);
        #endif
        
        /* Defines for GtkMessageBox options */
   DIR diff --git a/src/gui_client/gtk_client.c b/src/gui_client/gtk_client.c
       t@@ -336,9 +336,9 @@ void ListInventory(GtkWidget *widget, gpointer data)
                                       GTK_WINDOW(ClientData.window));
          gtk_container_set_border_width(GTK_CONTAINER(window), 7);
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
        
       -  hbox = gtk_hbox_new(FALSE, 7);
       +  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 7);
          CreateInventory(hbox, Names.Drugs, accel_group, FALSE, FALSE,
                          &ClientData.InvenDrug, NULL);
          CreateInventory(hbox, Names.Guns, accel_group, FALSE, FALSE,
       t@@ -634,7 +634,7 @@ void PrepareHighScoreDialog(void)
          gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                       GTK_WINDOW(ClientData.window));
        
       -  HiScoreDialog.vbox = vbox = gtk_vbox_new(FALSE, 7);
       +  HiScoreDialog.vbox = vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
          HiScoreDialog.table = table = gtk_table_new(NUMHISCORE, 4, FALSE);
          gtk_table_set_row_spacings(GTK_TABLE(table), 5);
          gtk_table_set_col_spacings(GTK_TABLE(table), 30);
       t@@ -921,7 +921,7 @@ static void CreateFightDialog(void)
          gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                       GTK_WINDOW(ClientData.window));
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
        
          table = gtk_table_new(2, 4, FALSE);
          gtk_table_set_row_spacings(GTK_TABLE(table), 7);
       t@@ -1472,7 +1472,7 @@ void Jet(GtkWidget *parent)
                                       parent ? GTK_WINDOW(parent)
                                       : GTK_WINDOW(ClientData.window));
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
        
          /* Prompt in 'Jet' dialog */
          label = gtk_label_new(_("Where to, dude ? "));
       t@@ -1694,9 +1694,9 @@ void DealDrugs(GtkWidget *widget, gpointer data)
                                       GTK_WINDOW(ClientData.window));
          SetShowing(dialog, &IsShowingDealDrugs);
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
        
       -  hbox = gtk_hbox_new(FALSE, 7);
       +  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 7);
        
          label = gtk_label_new(Action);
          gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
       t@@ -1741,7 +1741,7 @@ void DealDrugs(GtkWidget *widget, gpointer data)
            label = DealDialog.afford = gtk_label_new(NULL);
            gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
          }
       -  hbox = gtk_hbox_new(FALSE, 7);
       +  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 7);
          if (data == BT_BUY) {
            /* Prompts for action in the "deal drugs" dialog */
            g_string_printf(text, _("Buy how many?"));
       t@@ -1912,7 +1912,7 @@ void QuestionDialog(char *Data, Player *From)
          gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                       GTK_WINDOW(ClientData.window));
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
          while (*LabelText == '\n')
            LabelText++;
          label = gtk_label_new(LabelText);
       t@@ -2251,7 +2251,7 @@ gboolean GtkLoop(int *argc, char **argv[],
          gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);
          menubar = dp_gtk_item_factory_get_widget(item_factory, "<main>");
        
       -  vbox2 = gtk_vbox_new(FALSE, 0);
       +  vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
          gtk_box_pack_start(GTK_BOX(vbox2), menubar, FALSE, FALSE, 0);
          gtk_widget_show_all(menubar);
          UpdateMenus();
       t@@ -2260,7 +2260,7 @@ gboolean GtkLoop(int *argc, char **argv[],
                                                  "<main>/Game/Enable sound");
          gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), UseSounds);
        
       -  vbox = ClientData.vbox = gtk_vbox_new(FALSE, 5);
       +  vbox = ClientData.vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
          frame = gtk_frame_new(_("Stats"));
          gtk_container_set_border_width(GTK_CONTAINER(frame), 3);
        
       t@@ -2279,7 +2279,7 @@ gboolean GtkLoop(int *argc, char **argv[],
          gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text), GTK_WRAP_WORD);
          gtk_paned_pack1(GTK_PANED(vpaned), hbox, TRUE, TRUE);
        
       -  hbox = gtk_hbox_new(FALSE, 7);
       +  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 7);
          CreateInventory(hbox, Names.Drugs, accel_group, TRUE, TRUE,
                          &ClientData.Drug, G_CALLBACK(DealDrugs));
          tv = ClientData.Drug.HereList;
       t@@ -2346,7 +2346,7 @@ static void PackCentredURL(GtkWidget *vbox, gchar *title, gchar *target,
        
          /* There must surely be a nicer way of making the URL centred - but I
           * can't think of one... */
       -  hbox = gtk_hbox_new(FALSE, 0);
       +  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
          label = gtk_label_new("");
          gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
        
       t@@ -2392,7 +2392,7 @@ void display_intro(GtkWidget *widget, gpointer data)
                                       GTK_WINDOW(ClientData.window));
          gtk_container_set_border_width(GTK_CONTAINER(dialog), 10);
        
       -  vbox = gtk_vbox_new(FALSE, 5);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
        
          /* Main content of GTK+ 'about' dialog */
          label = gtk_label_new(_("Based on John E. Dell's old Drug Wars game, "
       t@@ -2567,7 +2567,7 @@ void TransferDialog(gboolean Debt)
          gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                       GTK_WINDOW(ClientData.window));
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
          table = gtk_table_new(4, 3, FALSE);
          gtk_table_set_row_spacings(GTK_TABLE(table), 4);
          gtk_table_set_col_spacings(GTK_TABLE(table), 4);
       t@@ -2673,7 +2673,7 @@ void ListPlayers(GtkWidget *widget, gpointer data)
                                       GTK_WINDOW(ClientData.window));
          SetShowing(dialog, &IsShowingPlayerList);
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
        
          clist = ClientData.PlayerList = CreatePlayerList();
          UpdatePlayerList(clist, FALSE);
       t@@ -2785,7 +2785,7 @@ void TalkDialog(gboolean TalkToAll)
                                       GTK_WINDOW(ClientData.window));
          SetShowing(dialog, &IsShowingTalkList);
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
        
          clist = TalkData.clist = ClientData.TalkList = CreatePlayerList();
          UpdatePlayerList(clist, FALSE);
       t@@ -2932,7 +2932,7 @@ void ErrandDialog(gint ErrandType)
          gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                       GTK_WINDOW(ClientData.window));
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
        
          if (ErrandType == ET_SPY) {
            /* Title of dialog to select a player to spy on */
       t@@ -3073,7 +3073,8 @@ void CreateInventory(GtkWidget *hbox, gchar *Objects,
          widgets->HereList = widgets->CarriedList = NULL;
          mini = (CreateHere ? 0 : 1);
          for (i = mini; i < 2; i++) {
       -    GtkWidget *hbox2 = gtk_hbox_new(TRUE, 0);
       +    GtkWidget *hbox2 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
       +    gtk_box_set_homogeneous(GTK_BOX(hbox2), TRUE);
            gtk_container_set_border_width(GTK_CONTAINER(frame[i]), 3);
        
            tv = gtk_scrolled_tree_view_new(&scrollwin);
       t@@ -3194,7 +3195,7 @@ void NewNameDialog(void)
          g_signal_connect(G_OBJECT(window), "delete_event",
                           G_CALLBACK(DisallowDelete), NULL);
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
        
          /* Informational text to prompt the player to change his/her name */
          label = gtk_label_new(_("Unfortunately, somebody else is already "
       t@@ -3253,9 +3254,9 @@ void GunShopDialog(void)
          gtk_container_set_border_width(GTK_CONTAINER(window), 7);
          SetShowing(window, &IsShowingGunShop);
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
        
       -  hbox = gtk_hbox_new(FALSE, 7);
       +  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 7);
          CreateInventory(hbox, Names.Guns, accel_group, TRUE, TRUE,
                          &ClientData.Gun, G_CALLBACK(DealGuns));
        
       t@@ -3319,7 +3320,7 @@ static void CreateSpyReports(void)
          g_signal_connect(G_OBJECT(window), "destroy",
                           G_CALLBACK(DestroySpyReports), NULL);
        
       -  vbox = gtk_vbox_new(FALSE, 5);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
          notebook = gtk_notebook_new();
          g_object_set_data(G_OBJECT(window), "notebook", notebook);
        
       t@@ -3349,14 +3350,14 @@ void DisplaySpyReports(Player *Play)
          notebook = GTK_WIDGET(g_object_get_data(G_OBJECT(dialog), "notebook"));
          accel_group =
              (GtkAccelGroup *)(g_object_get_data(G_OBJECT(dialog), "accel_group"));
       -  vbox = gtk_vbox_new(FALSE, 5);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
          frame = gtk_frame_new("Stats");
          gtk_container_set_border_width(GTK_CONTAINER(frame), 3);
          table = CreateStatusWidgets(&Status);
          gtk_container_add(GTK_CONTAINER(frame), table);
          gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
        
       -  hbox = gtk_hbox_new(FALSE, 5);
       +  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
          CreateInventory(hbox, Names.Drugs, accel_group, FALSE, FALSE, &SpyDrugs,
                          NULL);
          CreateInventory(hbox, Names.Guns, accel_group, FALSE, FALSE, &SpyGuns,
   DIR diff --git a/src/gui_client/newgamedia.c b/src/gui_client/newgamedia.c
       t@@ -496,8 +496,8 @@ void NewGameDialog(Player *play)
          gtk_container_set_border_width(GTK_CONTAINER(dialog), 7);
          gtk_window_add_accel_group(GTK_WINDOW(dialog), accel_group);
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       -  hbox = gtk_hbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
       +  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 7);
        
          label = gtk_label_new("");
        
       t@@ -520,7 +520,7 @@ void NewGameDialog(Player *play)
        #ifdef NETWORKING
          frame = gtk_frame_new(_("Server"));
          gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
       -  vbox2 = gtk_vbox_new(FALSE, 7);
       +  vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
          gtk_container_set_border_width(GTK_CONTAINER(vbox2), 4);
          table = gtk_table_new(2, 2, FALSE);
          gtk_table_set_row_spacings(GTK_TABLE(table), 4);
       t@@ -574,7 +574,7 @@ void NewGameDialog(Player *play)
          /* Title of 'New Game' dialog notebook tab for single-player mode */
          frame = gtk_frame_new(_("Single player"));
          gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
       -  vbox2 = gtk_vbox_new(FALSE, 7);
       +  vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
          gtk_container_set_border_width(GTK_CONTAINER(vbox2), 4);
          stgam.antique = gtk_check_button_new_with_label("");
        
       t@@ -602,7 +602,7 @@ void NewGameDialog(Player *play)
          frame = gtk_frame_new(_("Metaserver"));
          gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
        
       -  vbox2 = gtk_vbox_new(FALSE, 7);
       +  vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
          gtk_container_set_border_width(GTK_CONTAINER(vbox2), 4);
        
          clist = stgam.metaserv = create_metaserver_view(&scrollwin);
       t@@ -719,7 +719,7 @@ static void SocksAuthDialog(NetworkBuffer *netbuf, gpointer data)
                                       GTK_WINDOW(MainWindow));
          gtk_container_set_border_width(GTK_CONTAINER(window), 7);
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
        
          table = gtk_table_new(2, 2, FALSE);
          gtk_table_set_row_spacings(GTK_TABLE(table), 10);
   DIR diff --git a/src/gui_client/optdialog.c b/src/gui_client/optdialog.c
       t@@ -694,9 +694,9 @@ static GtkWidget *CreateList(gchar *structname, struct ConfigMembers *members)
            nummembers++;
          }
        
       -  hbox = gtk_hbox_new(FALSE, 10);
       +  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10);
        
       -  vbox = gtk_vbox_new(FALSE, 5);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
        
          tv = gtk_scrolled_tree_view_new(&scrollwin);
          store = gtk_list_store_new(1, G_TYPE_STRING);
       t@@ -722,7 +722,8 @@ static GtkWidget *CreateList(gchar *structname, struct ConfigMembers *members)
          }
          gtk_box_pack_start(GTK_BOX(vbox), scrollwin, TRUE, TRUE, 0);
        
       -  hbbox = gtk_hbox_new(TRUE, 5);
       +  hbbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
       +  gtk_box_set_homogeneous(GTK_BOX(hbbox), TRUE);
          g_object_set_data(G_OBJECT(store), "oldsel", GINT_TO_POINTER(-1));
        
          button = gtk_button_new_with_label(_("New"));
       t@@ -851,7 +852,7 @@ void OptDialog(GtkWidget *widget, gpointer data)
          gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                       GTK_WINDOW(MainWindow));
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
        
          notebook = gtk_notebook_new();
        
       t@@ -923,7 +924,7 @@ void OptDialog(GtkWidget *widget, gpointer data)
          label = gtk_label_new(_("Locations"));
          gtk_notebook_append_page(GTK_NOTEBOOK(notebook), hbox, label);
        
       -  vbox2 = gtk_vbox_new(FALSE, 8);
       +  vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 8);
          gtk_container_set_border_width(GTK_CONTAINER(vbox2), 7);
        
          hbox = CreateList("Drug", drugmembers);
       t@@ -998,7 +999,7 @@ void OptDialog(GtkWidget *widget, gpointer data)
          gtk_notebook_append_page(GTK_NOTEBOOK(notebook), table, label);
        #endif
        
       -  vbox2 = gtk_vbox_new(FALSE, 5);
       +  vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
          gtk_container_set_border_width(GTK_CONTAINER(vbox2), 7);
        
          sound_titles[0] = _("Sound name");
       t@@ -1027,7 +1028,7 @@ void OptDialog(GtkWidget *widget, gpointer data)
        
          gtk_box_pack_start(GTK_BOX(vbox2), scrollwin, TRUE, TRUE, 0);
        
       -  hbox = gtk_hbox_new(FALSE, 5);
       +  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
          label = gtk_label_new(_("Sound file"));
          gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
        
   DIR diff --git a/src/serverside.c b/src/serverside.c
       t@@ -1670,13 +1670,13 @@ void GuiServerLoop(struct CMDLINE *cmdline, gboolean is_service)
        
          gtk_container_set_border_width(GTK_CONTAINER(window), 7);
        
       -  vbox = gtk_vbox_new(FALSE, 7);
       +  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 7);
          TextOutput = text = gtk_scrolled_text_view_new(&hbox);
          gtk_text_view_set_editable(GTK_TEXT_VIEW(text), FALSE);
          gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text), GTK_WRAP_WORD);
          gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
        
       -  hbox = gtk_hbox_new(FALSE, 4);
       +  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4);
          label = gtk_label_new(_("Command:"));
          gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
          entry = gtk_entry_new();