Added #if HAVE_GTK3 / #elif !HAVE_GTK3 branches around gtk_hbox_new / gtk_vbox_new call sites in the GTK front-end, using gtk_box_new(GTK_ORIENTATION_*, spacing) for GTK3 while keeping the GTK2 constructors explicitly gated under !HAVE_GTK3.

Applied gtk_box_set_homogeneous() in GTK3 branches where the GTK2 code requested homogeneous layout (e.g., dialog hboxes).
Updated remaining helpers and setup/preferences UI box constructors (including the shared mg_box_new helper) to follow the same GTK3/GTK2 branching approach consistently across src/fe-gtk/
This commit is contained in:
2026-01-23 21:28:32 -07:00
parent 5b1a58195e
commit ab3bdf219f
11 changed files with 154 additions and 3 deletions

View File

@@ -137,7 +137,11 @@ ascii_open (void)
if (table_pos[0] == '\n' || i == 0)
{
table_pos++;
#if HAVE_GTK3
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
hbox = gtk_hbox_new (0, 0);
#endif
gtk_container_add (GTK_CONTAINER (vbox), hbox);
gtk_widget_show (hbox);
i++;

View File

@@ -102,7 +102,7 @@ chanlist_box_new (void)
gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
return box;
#else
#elif !HAVE_GTK3
return gtk_hbox_new (FALSE, 0);
#endif
}

View File

@@ -289,9 +289,21 @@ cv_tabs_init (chanview *cv)
GtkWidget *button;
if (cv->vertical)
{
#if HAVE_GTK3
outer = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#elif !HAVE_GTK3
outer = gtk_vbox_new (0, 0);
#endif
}
else
{
#if HAVE_GTK3
outer = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
outer = gtk_hbox_new (0, 0);
#endif
}
((tabview *)cv)->outer = outer;
g_signal_connect (G_OBJECT (outer), "size_allocate",
G_CALLBACK (cv_tabs_sizealloc), cv);
@@ -308,9 +320,21 @@ cv_tabs_init (chanview *cv)
gtk_widget_show (viewport);
if (cv->vertical)
{
#if HAVE_GTK3
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#elif !HAVE_GTK3
box = gtk_vbox_new (FALSE, 0);
#endif
}
else
{
#if HAVE_GTK3
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
box = gtk_hbox_new (FALSE, 0);
#endif
}
((tabview *)cv)->inner = box;
gtk_container_add (GTK_CONTAINER (viewport), box);
gtk_widget_show (box);
@@ -318,7 +342,11 @@ cv_tabs_init (chanview *cv)
/* if vertical, the buttons can be side by side */
if (cv->vertical)
{
#if HAVE_GTK3
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
hbox = gtk_hbox_new (FALSE, 0);
#endif
gtk_box_pack_start (GTK_BOX (outer), hbox, 0, 0, 0);
gtk_widget_show (hbox);
}
@@ -486,12 +514,20 @@ tab_add_real (chanview *cv, GtkWidget *tab, chan *ch)
if (cv->vertical)
{
/* vertical */
#if HAVE_GTK3
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#elif !HAVE_GTK3
box = gtk_vbox_new (FALSE, 0);
#endif
sep = gtk_hseparator_new ();
} else
{
/* horiz */
#if HAVE_GTK3
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
box = gtk_hbox_new (FALSE, 0);
#endif
sep = gtk_vseparator_new ();
}

View File

@@ -302,7 +302,11 @@ chanview_new (int type, int trunc_len, gboolean sort, gboolean use_icons,
cv->store = gtk_tree_store_new (4, G_TYPE_STRING, G_TYPE_POINTER,
PANGO_TYPE_ATTR_LIST, GDK_TYPE_PIXBUF);
cv->style = style;
#if HAVE_GTK3
cv->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
cv->box = gtk_hbox_new (0, 0);
#endif
cv->trunc_len = trunc_len;
cv->sorted = sort;
cv->use_icons = use_icons;

View File

@@ -438,7 +438,12 @@ fe_get_str (char *msg, char *def, void *callback, void *userdata)
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE);
}
#if HAVE_GTK3
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE);
#elif !HAVE_GTK3
hbox = gtk_hbox_new (TRUE, 0);
#endif
g_object_set_data (G_OBJECT (dialog), "cb", callback);
g_object_set_data (G_OBJECT (dialog), "ud", userdata);
@@ -524,7 +529,12 @@ fe_get_int (char *msg, int def, void *callback, void *userdata)
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE);
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window));
#if HAVE_GTK3
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE);
#elif !HAVE_GTK3
hbox = gtk_hbox_new (TRUE, 0);
#endif
g_object_set_data (G_OBJECT (dialog), "cb", callback);
g_object_set_data (G_OBJECT (dialog), "ud", userdata);
@@ -606,7 +616,11 @@ gtkutil_button (GtkWidget *box, char *stock, char *tip, void *callback,
}
else
{
#if HAVE_GTK3
bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
bbox = gtk_hbox_new (0, 0);
#endif
gtk_container_add (GTK_CONTAINER (wid), bbox);
gtk_widget_show (bbox);

View File

@@ -360,7 +360,11 @@ ignore_gui_open ()
frame = gtk_frame_new (_("Ignore Stats:"));
gtk_widget_show (frame);
#if HAVE_GTK3
stat_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
#elif !HAVE_GTK3
stat_box = gtk_hbox_new (0, 2);
#endif
gtk_container_set_border_width (GTK_CONTAINER (stat_box), 6);
gtk_container_add (GTK_CONTAINER (frame), stat_box);
gtk_widget_show (stat_box);

View File

@@ -141,11 +141,19 @@ joind_show_dialog (server *serv)
dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (dialog1));
gtk_widget_show (dialog_vbox1);
#if HAVE_GTK3
vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#elif !HAVE_GTK3
vbox1 = gtk_vbox_new (FALSE, 0);
#endif
gtk_widget_show (vbox1);
gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0);
#if HAVE_GTK3
hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
hbox1 = gtk_hbox_new (FALSE, 0);
#endif
gtk_widget_show (hbox1);
gtk_box_pack_start (GTK_BOX (vbox1), hbox1, TRUE, TRUE, 0);
@@ -160,7 +168,11 @@ joind_show_dialog (server *serv)
gtk_misc_set_alignment (GTK_MISC (image1), 0.5f, 0.06f);
#endif
#if HAVE_GTK3
vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
#elif !HAVE_GTK3
vbox2 = gtk_vbox_new (FALSE, 10);
#endif
gtk_container_set_border_width (GTK_CONTAINER (vbox2), 6);
gtk_widget_show (vbox2);
gtk_box_pack_start (GTK_BOX (hbox1), vbox2, TRUE, TRUE, 0);
@@ -205,7 +217,11 @@ joind_show_dialog (server *serv)
gtk_box_pack_start (GTK_BOX (vbox2), radiobutton1, FALSE, FALSE, 0);
radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton1));
#if HAVE_GTK3
hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
hbox2 = gtk_hbox_new (FALSE, 0);
#endif
gtk_widget_show (hbox2);
gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);

View File

@@ -121,7 +121,7 @@ mg_box_new (GtkOrientation orientation, gboolean homogeneous, gint spacing)
gtk_box_set_homogeneous (GTK_BOX (box), homogeneous);
return box;
#else
#elif !HAVE_GTK3
if (orientation == GTK_ORIENTATION_HORIZONTAL)
return gtk_hbox_new (homogeneous, spacing);

View File

@@ -1492,7 +1492,12 @@ menu_join (GtkWidget * wid, gpointer none)
#endif
gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (dialog)->vbox), TRUE);
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE);
#if HAVE_GTK3
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE);
#elif !HAVE_GTK3
hbox = gtk_hbox_new (TRUE, 0);
#endif
entry = gtk_entry_new ();
GTK_ENTRY (entry)->editable = 0; /* avoid auto-selection */

View File

@@ -1763,12 +1763,20 @@ servlist_open_edit (GtkWidget *parent, ircnet *net)
gtk_window_set_type_hint (GTK_WINDOW (editwindow), GDK_WINDOW_TYPE_HINT_DIALOG);
gtk_window_set_role (GTK_WINDOW (editwindow), "editserv");
#if HAVE_GTK3
vbox5 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#elif !HAVE_GTK3
vbox5 = gtk_vbox_new (FALSE, 0);
#endif
gtk_container_add (GTK_CONTAINER (editwindow), vbox5);
/* Tabs and buttons */
#if HAVE_GTK3
hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
hbox1 = gtk_hbox_new (FALSE, 0);
#endif
gtk_box_pack_start (GTK_BOX (vbox5), hbox1, TRUE, TRUE, 4);
scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
@@ -2040,7 +2048,11 @@ servlist_open_networks (void)
if (current_sess)
gtk_window_set_transient_for (GTK_WINDOW (servlist), GTK_WINDOW (current_sess->gui->window));
#if HAVE_GTK3
vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#elif !HAVE_GTK3
vbox1 = gtk_vbox_new (FALSE, 0);
#endif
gtk_widget_show (vbox1);
gtk_container_add (GTK_CONTAINER (servlist), vbox1);
@@ -2144,7 +2156,11 @@ servlist_open_networks (void)
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0); */
#if HAVE_GTK3
vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#elif !HAVE_GTK3
vbox2 = gtk_vbox_new (FALSE, 0);
#endif
gtk_widget_show (vbox2);
gtk_box_pack_start (GTK_BOX (vbox1), vbox2, TRUE, TRUE, 0);
@@ -2189,7 +2205,11 @@ servlist_open_networks (void)
"weight", 2,
NULL);
#if HAVE_GTK3
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
hbox = gtk_hbox_new (0, FALSE);
#endif
gtk_table_attach (GTK_TABLE (table4), hbox, 0, 2, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);

View File

@@ -882,7 +882,7 @@ setup_create_spin (GtkWidget *table, int row, const setting *set)
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0);
#if HAVE_GTK3
rbox = gtk_hbox_new (0, 0);
rbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_set_halign (rbox, GTK_ALIGN_START);
gtk_widget_set_valign (rbox, GTK_ALIGN_CENTER);
gtk_table_attach (GTK_TABLE (table), rbox, 3, 4, row, row + 1,
@@ -1023,7 +1023,11 @@ setup_create_radio (GtkWidget *table, int row, const setting *set)
gtk_table_attach (GTK_TABLE (table), wid, 2, 3, row, row + 1,
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0);
#if HAVE_GTK3
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
hbox = gtk_hbox_new (0, 0);
#endif
gtk_table_attach (GTK_TABLE (table), hbox, 3, 4, row, row + 1,
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
@@ -1152,7 +1156,11 @@ setup_create_menu (GtkWidget *table, int row, const setting *set)
g_signal_connect (G_OBJECT (cbox), "changed",
G_CALLBACK (setup_menu_cb), (gpointer)set);
#if HAVE_GTK3
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
box = gtk_hbox_new (0, 0);
#endif
gtk_box_pack_start (GTK_BOX (box), cbox, 0, 0, 0);
gtk_table_attach (GTK_TABLE (table), box, 3, 4, row, row + 1,
GTK_EXPAND | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
@@ -1534,7 +1542,11 @@ setup_create_dark_mode_menu (GtkWidget *table, int row, const setting *set)
g_signal_connect (G_OBJECT (cbox), "changed",
G_CALLBACK (setup_dark_mode_menu_cb), (gpointer)set);
#if HAVE_GTK3
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#elif !HAVE_GTK3
box = gtk_hbox_new (0, 0);
#endif
gtk_box_pack_start (GTK_BOX (box), cbox, 0, 0, 0);
gtk_table_attach (GTK_TABLE (table), box, 3, 4, row, row + 1,
GTK_EXPAND | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
@@ -1809,7 +1821,11 @@ setup_create_color_page (void)
GtkWidget *tab, *box, *label;
int i;
#if HAVE_GTK3
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#elif !HAVE_GTK3
box = gtk_vbox_new (FALSE, 0);
#endif
gtk_container_set_border_width (GTK_CONTAINER (box), 6);
tab = gtk_table_new (9, 2, FALSE);
@@ -2074,7 +2090,11 @@ setup_create_theme_page (void)
ui = g_new0 (setup_theme_ui, 1);
#if HAVE_GTK3
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
#elif !HAVE_GTK3
box = gtk_vbox_new (FALSE, 6);
#endif
gtk_container_set_border_width (GTK_CONTAINER (box), 6);
themes_dir = g_build_filename (get_xdir (), "themes", NULL);
@@ -2092,7 +2112,11 @@ setup_create_theme_page (void)
g_free (markup);
g_free (themes_dir);
#if HAVE_GTK3
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
#elif !HAVE_GTK3
hbox = gtk_hbox_new (FALSE, 6);
#endif
gtk_box_pack_start (GTK_BOX (box), hbox, FALSE, FALSE, 0);
ui->combo = gtk_combo_box_text_new ();
@@ -2100,7 +2124,11 @@ setup_create_theme_page (void)
g_signal_connect (G_OBJECT (ui->combo), "changed",
G_CALLBACK (setup_theme_selection_changed), ui);
#if HAVE_GTK3
button_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
#elif !HAVE_GTK3
button_box = gtk_hbox_new (FALSE, 6);
#endif
gtk_box_pack_start (GTK_BOX (hbox), button_box, FALSE, FALSE, 0);
ui->apply_button = gtk_button_new_with_mnemonic (_("_Apply Theme"));
@@ -2317,11 +2345,19 @@ setup_create_sound_page (void)
GtkWidget *sound_play;
GtkTreeSelection *sel;
#if HAVE_GTK3
vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#elif !HAVE_GTK3
vbox1 = gtk_vbox_new (FALSE, 0);
#endif
gtk_container_set_border_width (GTK_CONTAINER (vbox1), 6);
gtk_widget_show (vbox1);
#if HAVE_GTK3
vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#elif !HAVE_GTK3
vbox2 = gtk_vbox_new (FALSE, 0);
#endif
gtk_widget_show (vbox2);
gtk_container_add (GTK_CONTAINER (vbox1), vbox2);
@@ -2402,7 +2438,11 @@ setup_add_page (const char *title, GtkWidget *book, GtkWidget *tab)
GtkScrolledWindow *sw;
char buf[128];
#if HAVE_GTK3
vvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#elif !HAVE_GTK3
vvbox = gtk_vbox_new (FALSE, 0);
#endif
/* label */
label = gtk_label_new (NULL);
@@ -2960,11 +3000,19 @@ setup_window_open (void)
g_snprintf(buf, sizeof(buf), _("Preferences - %s"), _(DISPLAY_NAME));
win = gtkutil_window_new (buf, "prefs", 0, 600, 2);
#if HAVE_GTK3
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
#elif !HAVE_GTK3
vbox = gtk_vbox_new (FALSE, 5);
#endif
gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
gtk_container_add (GTK_CONTAINER (win), vbox);
#if HAVE_GTK3
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
#elif !HAVE_GTK3
hbox = gtk_hbox_new (FALSE, 4);
#endif
gtk_container_add (GTK_CONTAINER (vbox), hbox);
setup_create_tree (hbox, setup_create_pages (hbox));