mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-23 05:50:18 +00:00
Added a Meson option to enable building the GTK frontend against GTK 3.
Switched the GTK frontend build logic to select GTK2/GTK3 dependencies and emit corresponding preprocessor defines. Added GTK3 GtkGrid/alignment handling and GTK3 GtkBox replacements for the channel list controls while preserving GTK2 table behavior behind guards. Switched the ban list layout to use GtkGrid under GTK3 with GTK2 table fallback for checkbox placement. Updated main GTK UI layouts to use GTK3 GtkGrid/GtkBox and alignment/attachment logic (quit dialog, topic bar, search/entry, chanview placement, main window table) while keeping GTK2 behavior via HAVE_GTK3 guards.
This commit is contained in:
@@ -2,6 +2,9 @@
|
|||||||
option('gtk-frontend', type: 'boolean',
|
option('gtk-frontend', type: 'boolean',
|
||||||
description: 'Main graphical interface'
|
description: 'Main graphical interface'
|
||||||
)
|
)
|
||||||
|
option('gtk3', type: 'boolean', value: false,
|
||||||
|
description: 'Build GTK frontend against GTK 3'
|
||||||
|
)
|
||||||
option('text-frontend', type: 'boolean', value: false,
|
option('text-frontend', type: 'boolean', value: false,
|
||||||
description: 'Text interface (not generally useful)'
|
description: 'Text interface (not generally useful)'
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -818,8 +818,13 @@ banlist_opengui (struct session *sess)
|
|||||||
/* create banlist view */
|
/* create banlist view */
|
||||||
banl->treeview = banlist_treeview_new (vbox, banl);
|
banl->treeview = banlist_treeview_new (vbox, banl);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
table = gtk_grid_new ();
|
||||||
|
gtk_grid_set_column_spacing (GTK_GRID (table), 16);
|
||||||
|
#else
|
||||||
table = gtk_table_new (1, MODE_CT, FALSE);
|
table = gtk_table_new (1, MODE_CT, FALSE);
|
||||||
gtk_table_set_col_spacings (GTK_TABLE (table), 16);
|
gtk_table_set_col_spacings (GTK_TABLE (table), 16);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start (GTK_BOX (vbox), table, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (vbox), table, 0, 0, 0);
|
||||||
|
|
||||||
for (i = 0; i < MODE_CT; i++)
|
for (i = 0; i < MODE_CT; i++)
|
||||||
@@ -830,7 +835,11 @@ banlist_opengui (struct session *sess)
|
|||||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (banl->checkboxes[i]), (banl->checked & 1<<i? TRUE: FALSE));
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (banl->checkboxes[i]), (banl->checked & 1<<i? TRUE: FALSE));
|
||||||
g_signal_connect (G_OBJECT (banl->checkboxes[i]), "toggled",
|
g_signal_connect (G_OBJECT (banl->checkboxes[i]), "toggled",
|
||||||
G_CALLBACK (banlist_toggle), banl);
|
G_CALLBACK (banlist_toggle), banl);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table), banl->checkboxes[i], i + 1, 0, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table), banl->checkboxes[i], i+1, i+2, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
|
gtk_table_attach (GTK_TABLE (table), banl->checkboxes[i], i+1, i+2, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bbox = gtk_hbutton_box_new ();
|
bbox = gtk_hbutton_box_new ();
|
||||||
|
|||||||
@@ -784,48 +784,85 @@ chanlist_opengui (server *serv, int do_refresh)
|
|||||||
|
|
||||||
/* ============================================================= */
|
/* ============================================================= */
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
table = gtk_grid_new ();
|
||||||
|
gtk_grid_set_column_spacing (GTK_GRID (table), 12);
|
||||||
|
gtk_grid_set_row_spacing (GTK_GRID (table), 3);
|
||||||
|
#else
|
||||||
table = gtk_table_new (4, 4, FALSE);
|
table = gtk_table_new (4, 4, FALSE);
|
||||||
gtk_table_set_col_spacings (GTK_TABLE (table), 12);
|
gtk_table_set_col_spacings (GTK_TABLE (table), 12);
|
||||||
gtk_table_set_row_spacings (GTK_TABLE (table), 3);
|
gtk_table_set_row_spacings (GTK_TABLE (table), 3);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start (GTK_BOX (vbox), table, 0, 1, 0);
|
gtk_box_pack_start (GTK_BOX (vbox), table, 0, 1, 0);
|
||||||
gtk_widget_show (table);
|
gtk_widget_show (table);
|
||||||
|
|
||||||
wid = gtkutil_button (NULL, GTK_STOCK_FIND, 0, chanlist_search_pressed, serv,
|
wid = gtkutil_button (NULL, GTK_STOCK_FIND, 0, chanlist_search_pressed, serv,
|
||||||
_("_Search"));
|
_("_Search"));
|
||||||
serv->gui->chanlist_search = wid;
|
serv->gui->chanlist_search = wid;
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table), wid, 3, 3, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 3, 4,
|
gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 3, 4,
|
||||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
wid = gtkutil_button (NULL, GTK_STOCK_REFRESH, 0, chanlist_refresh, serv,
|
wid = gtkutil_button (NULL, GTK_STOCK_REFRESH, 0, chanlist_refresh, serv,
|
||||||
_("_Download List"));
|
_("_Download List"));
|
||||||
serv->gui->chanlist_refresh = wid;
|
serv->gui->chanlist_refresh = wid;
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table), wid, 3, 2, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 2, 3,
|
gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 2, 3,
|
||||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
wid = gtkutil_button (NULL, GTK_STOCK_SAVE_AS, 0, chanlist_save, serv,
|
wid = gtkutil_button (NULL, GTK_STOCK_SAVE_AS, 0, chanlist_save, serv,
|
||||||
_("Save _List..."));
|
_("Save _List..."));
|
||||||
serv->gui->chanlist_savelist = wid;
|
serv->gui->chanlist_savelist = wid;
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table), wid, 3, 1, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 1, 2,
|
gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 1, 2,
|
||||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
wid = gtkutil_button (NULL, GTK_STOCK_JUMP_TO, 0, chanlist_join, serv,
|
wid = gtkutil_button (NULL, GTK_STOCK_JUMP_TO, 0, chanlist_join, serv,
|
||||||
_("_Join Channel"));
|
_("_Join Channel"));
|
||||||
serv->gui->chanlist_join = wid;
|
serv->gui->chanlist_join = wid;
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table), wid, 3, 0, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 0, 1,
|
gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 0, 1,
|
||||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* ============================================================= */
|
/* ============================================================= */
|
||||||
|
|
||||||
wid = gtk_label_new (_("Show only:"));
|
wid = gtk_label_new (_("Show only:"));
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_widget_set_halign (wid, GTK_ALIGN_START);
|
||||||
|
gtk_widget_set_valign (wid, GTK_ALIGN_CENTER);
|
||||||
|
gtk_grid_attach (GTK_GRID (table), wid, 0, 3, 1, 1);
|
||||||
|
#else
|
||||||
gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5);
|
gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5);
|
||||||
gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 3, 4,
|
gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 3, 4,
|
||||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
gtk_widget_show (wid);
|
gtk_widget_show (wid);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
|
||||||
|
#else
|
||||||
hbox = gtk_hbox_new (0, 0);
|
hbox = gtk_hbox_new (0, 0);
|
||||||
|
#endif
|
||||||
gtk_box_set_spacing (GTK_BOX (hbox), 9);
|
gtk_box_set_spacing (GTK_BOX (hbox), 9);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table), hbox, 1, 3, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 3, 4,
|
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 3, 4,
|
||||||
GTK_FILL, GTK_FILL, 0, 0);
|
GTK_FILL, GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
gtk_widget_show (hbox);
|
gtk_widget_show (hbox);
|
||||||
|
|
||||||
wid = gtk_label_new (_("channels with"));
|
wid = gtk_label_new (_("channels with"));
|
||||||
@@ -860,15 +897,30 @@ chanlist_opengui (server *serv, int do_refresh)
|
|||||||
/* ============================================================= */
|
/* ============================================================= */
|
||||||
|
|
||||||
wid = gtk_label_new (_("Look in:"));
|
wid = gtk_label_new (_("Look in:"));
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_widget_set_halign (wid, GTK_ALIGN_START);
|
||||||
|
gtk_widget_set_valign (wid, GTK_ALIGN_CENTER);
|
||||||
|
gtk_grid_attach (GTK_GRID (table), wid, 0, 2, 1, 1);
|
||||||
|
#else
|
||||||
gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5);
|
gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5);
|
||||||
gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 2, 3,
|
gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 2, 3,
|
||||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
gtk_widget_show (wid);
|
gtk_widget_show (wid);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
|
||||||
|
#else
|
||||||
hbox = gtk_hbox_new (0, 0);
|
hbox = gtk_hbox_new (0, 0);
|
||||||
|
#endif
|
||||||
gtk_box_set_spacing (GTK_BOX (hbox), 12);
|
gtk_box_set_spacing (GTK_BOX (hbox), 12);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table), hbox, 1, 2, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 2, 3,
|
gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 2, 3,
|
||||||
GTK_FILL, GTK_FILL, 0, 0);
|
GTK_FILL, GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
gtk_widget_show (hbox);
|
gtk_widget_show (hbox);
|
||||||
|
|
||||||
wid = gtk_check_button_new_with_label (_("Channel name"));
|
wid = gtk_check_button_new_with_label (_("Channel name"));
|
||||||
@@ -892,9 +944,15 @@ chanlist_opengui (server *serv, int do_refresh)
|
|||||||
/* ============================================================= */
|
/* ============================================================= */
|
||||||
|
|
||||||
wid = gtk_label_new (_("Search type:"));
|
wid = gtk_label_new (_("Search type:"));
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_widget_set_halign (wid, GTK_ALIGN_START);
|
||||||
|
gtk_widget_set_valign (wid, GTK_ALIGN_CENTER);
|
||||||
|
gtk_grid_attach (GTK_GRID (table), wid, 0, 1, 1, 1);
|
||||||
|
#else
|
||||||
gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5);
|
gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5);
|
||||||
gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 1, 2,
|
gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 1, 2,
|
||||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
gtk_widget_show (wid);
|
gtk_widget_show (wid);
|
||||||
|
|
||||||
wid = gtk_combo_box_text_new ();
|
wid = gtk_combo_box_text_new ();
|
||||||
@@ -902,8 +960,12 @@ chanlist_opengui (server *serv, int do_refresh)
|
|||||||
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (wid), _("Pattern Match (Wildcards)"));
|
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (wid), _("Pattern Match (Wildcards)"));
|
||||||
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (wid), _("Regular Expression"));
|
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (wid), _("Regular Expression"));
|
||||||
gtk_combo_box_set_active (GTK_COMBO_BOX (wid), serv->gui->chanlist_search_type);
|
gtk_combo_box_set_active (GTK_COMBO_BOX (wid), serv->gui->chanlist_search_type);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table), wid, 1, 1, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table), wid, 1, 2, 1, 2,
|
gtk_table_attach (GTK_TABLE (table), wid, 1, 2, 1, 2,
|
||||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
g_signal_connect (G_OBJECT (wid), "changed",
|
g_signal_connect (G_OBJECT (wid), "changed",
|
||||||
G_CALLBACK (chanlist_combo_cb), serv);
|
G_CALLBACK (chanlist_combo_cb), serv);
|
||||||
gtk_widget_show (wid);
|
gtk_widget_show (wid);
|
||||||
@@ -911,9 +973,15 @@ chanlist_opengui (server *serv, int do_refresh)
|
|||||||
/* ============================================================= */
|
/* ============================================================= */
|
||||||
|
|
||||||
wid = gtk_label_new (_("Find:"));
|
wid = gtk_label_new (_("Find:"));
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_widget_set_halign (wid, GTK_ALIGN_START);
|
||||||
|
gtk_widget_set_valign (wid, GTK_ALIGN_CENTER);
|
||||||
|
gtk_grid_attach (GTK_GRID (table), wid, 0, 0, 1, 1);
|
||||||
|
#else
|
||||||
gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5);
|
gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5);
|
||||||
gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 0, 1,
|
gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 0, 1,
|
||||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
gtk_widget_show (wid);
|
gtk_widget_show (wid);
|
||||||
|
|
||||||
wid = gtk_entry_new ();
|
wid = gtk_entry_new ();
|
||||||
@@ -923,8 +991,13 @@ chanlist_opengui (server *serv, int do_refresh)
|
|||||||
g_signal_connect (G_OBJECT (wid), "activate",
|
g_signal_connect (G_OBJECT (wid), "activate",
|
||||||
G_CALLBACK (chanlist_search_pressed),
|
G_CALLBACK (chanlist_search_pressed),
|
||||||
(gpointer) serv);
|
(gpointer) serv);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table), wid, 1, 0, 1, 1);
|
||||||
|
gtk_widget_set_hexpand (wid, TRUE);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table), wid, 1, 2, 0, 1,
|
gtk_table_attach (GTK_TABLE (table), wid, 1, 2, 0, 1,
|
||||||
GTK_EXPAND | GTK_FILL, 0, 0, 0);
|
GTK_EXPAND | GTK_FILL, 0, 0, 0);
|
||||||
|
#endif
|
||||||
gtk_widget_show (wid);
|
gtk_widget_show (wid);
|
||||||
serv->gui->chanlist_wild = wid;
|
serv->gui->chanlist_wild = wid;
|
||||||
|
|
||||||
@@ -933,8 +1006,12 @@ chanlist_opengui (server *serv, int do_refresh)
|
|||||||
/* ============================================================= */
|
/* ============================================================= */
|
||||||
|
|
||||||
wid = gtk_vseparator_new ();
|
wid = gtk_vseparator_new ();
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table), wid, 2, 0, 1, 5);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table), wid, 2, 3, 0, 5,
|
gtk_table_attach (GTK_TABLE (table), wid, 2, 3, 0, 5,
|
||||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
gtk_widget_show (wid);
|
gtk_widget_show (wid);
|
||||||
|
|
||||||
g_signal_connect (G_OBJECT (serv->gui->chanlist_window), "destroy",
|
g_signal_connect (G_OBJECT (serv->gui->chanlist_window), "destroy",
|
||||||
|
|||||||
@@ -1337,24 +1337,42 @@ mg_open_quit_dialog (gboolean minimize_button)
|
|||||||
dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
|
dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
|
||||||
gtk_widget_show (dialog_vbox1);
|
gtk_widget_show (dialog_vbox1);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
table1 = gtk_grid_new ();
|
||||||
|
gtk_widget_show (table1);
|
||||||
|
gtk_box_pack_start (GTK_BOX (dialog_vbox1), table1, TRUE, TRUE, 0);
|
||||||
|
gtk_container_set_border_width (GTK_CONTAINER (table1), 6);
|
||||||
|
gtk_grid_set_row_spacing (GTK_GRID (table1), 12);
|
||||||
|
gtk_grid_set_column_spacing (GTK_GRID (table1), 12);
|
||||||
|
#else
|
||||||
table1 = gtk_table_new (2, 2, FALSE);
|
table1 = gtk_table_new (2, 2, FALSE);
|
||||||
gtk_widget_show (table1);
|
gtk_widget_show (table1);
|
||||||
gtk_box_pack_start (GTK_BOX (dialog_vbox1), table1, TRUE, TRUE, 0);
|
gtk_box_pack_start (GTK_BOX (dialog_vbox1), table1, TRUE, TRUE, 0);
|
||||||
gtk_container_set_border_width (GTK_CONTAINER (table1), 6);
|
gtk_container_set_border_width (GTK_CONTAINER (table1), 6);
|
||||||
gtk_table_set_row_spacings (GTK_TABLE (table1), 12);
|
gtk_table_set_row_spacings (GTK_TABLE (table1), 12);
|
||||||
gtk_table_set_col_spacings (GTK_TABLE (table1), 12);
|
gtk_table_set_col_spacings (GTK_TABLE (table1), 12);
|
||||||
|
#endif
|
||||||
|
|
||||||
image = gtk_image_new_from_stock ("gtk-dialog-warning", GTK_ICON_SIZE_DIALOG);
|
image = gtk_image_new_from_stock ("gtk-dialog-warning", GTK_ICON_SIZE_DIALOG);
|
||||||
gtk_widget_show (image);
|
gtk_widget_show (image);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table1), image, 0, 0, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table1), image, 0, 1, 0, 1,
|
gtk_table_attach (GTK_TABLE (table1), image, 0, 1, 0, 1,
|
||||||
(GtkAttachOptions) (GTK_FILL),
|
(GtkAttachOptions) (GTK_FILL),
|
||||||
(GtkAttachOptions) (GTK_FILL), 0, 0);
|
(GtkAttachOptions) (GTK_FILL), 0, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
checkbutton1 = gtk_check_button_new_with_mnemonic (_("Don't ask next time."));
|
checkbutton1 = gtk_check_button_new_with_mnemonic (_("Don't ask next time."));
|
||||||
gtk_widget_show (checkbutton1);
|
gtk_widget_show (checkbutton1);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table1), checkbutton1, 0, 1, 2, 1);
|
||||||
|
gtk_widget_set_hexpand (checkbutton1, TRUE);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table1), checkbutton1, 0, 2, 1, 2,
|
gtk_table_attach (GTK_TABLE (table1), checkbutton1, 0, 2, 1, 2,
|
||||||
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
|
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
|
||||||
(GtkAttachOptions) (0), 0, 4);
|
(GtkAttachOptions) (0), 0, 4);
|
||||||
|
#endif
|
||||||
|
|
||||||
connecttext = g_strdup_printf (_("You are connected to %i IRC networks."), cons);
|
connecttext = g_strdup_printf (_("You are connected to %i IRC networks."), cons);
|
||||||
text = g_strdup_printf ("<span weight=\"bold\" size=\"larger\">%s</span>\n\n%s\n%s",
|
text = g_strdup_printf ("<span weight=\"bold\" size=\"larger\">%s</span>\n\n%s\n%s",
|
||||||
@@ -1365,11 +1383,19 @@ mg_open_quit_dialog (gboolean minimize_button)
|
|||||||
label = gtk_label_new (text);
|
label = gtk_label_new (text);
|
||||||
g_free (text);
|
g_free (text);
|
||||||
gtk_widget_show (label);
|
gtk_widget_show (label);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table1), label, 1, 0, 1, 1);
|
||||||
|
gtk_widget_set_hexpand (label, TRUE);
|
||||||
|
gtk_widget_set_vexpand (label, TRUE);
|
||||||
|
gtk_widget_set_halign (label, GTK_ALIGN_START);
|
||||||
|
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table1), label, 1, 2, 0, 1,
|
gtk_table_attach (GTK_TABLE (table1), label, 1, 2, 0, 1,
|
||||||
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
|
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
|
||||||
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), 0, 0);
|
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), 0, 0);
|
||||||
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
|
|
||||||
gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
|
gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
|
||||||
|
#endif
|
||||||
|
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
|
||||||
|
|
||||||
dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG (dialog));
|
dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG (dialog));
|
||||||
gtk_widget_show (dialog_action_area1);
|
gtk_widget_show (dialog_action_area1);
|
||||||
@@ -1873,7 +1899,15 @@ mg_userlist_button (GtkWidget * box, char *label, char *cmd,
|
|||||||
GtkWidget *wid = gtk_button_new_with_label (label);
|
GtkWidget *wid = gtk_button_new_with_label (label);
|
||||||
g_signal_connect (G_OBJECT (wid), "clicked",
|
g_signal_connect (G_OBJECT (wid), "clicked",
|
||||||
G_CALLBACK (userlist_button_cb), cmd);
|
G_CALLBACK (userlist_button_cb), cmd);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (box), wid, a, c, b - a, d - c);
|
||||||
|
gtk_widget_set_hexpand (wid, TRUE);
|
||||||
|
gtk_widget_set_vexpand (wid, TRUE);
|
||||||
|
gtk_widget_set_halign (wid, GTK_ALIGN_FILL);
|
||||||
|
gtk_widget_set_valign (wid, GTK_ALIGN_FILL);
|
||||||
|
#else
|
||||||
gtk_table_attach_defaults (GTK_TABLE (box), wid, a, b, c, d);
|
gtk_table_attach_defaults (GTK_TABLE (box), wid, a, b, c, d);
|
||||||
|
#endif
|
||||||
show_and_unfocus (wid);
|
show_and_unfocus (wid);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1885,7 +1919,11 @@ mg_create_userlistbuttons (GtkWidget *box)
|
|||||||
int a = 0, b = 0;
|
int a = 0, b = 0;
|
||||||
GtkWidget *tab;
|
GtkWidget *tab;
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
tab = gtk_grid_new ();
|
||||||
|
#else
|
||||||
tab = gtk_table_new (5, 2, FALSE);
|
tab = gtk_table_new (5, 2, FALSE);
|
||||||
|
#endif
|
||||||
gtk_box_pack_end (GTK_BOX (box), tab, FALSE, FALSE, 0);
|
gtk_box_pack_end (GTK_BOX (box), tab, FALSE, FALSE, 0);
|
||||||
|
|
||||||
while (list)
|
while (list)
|
||||||
@@ -2323,7 +2361,12 @@ mg_create_topicbar (session *sess, GtkWidget *box)
|
|||||||
GtkWidget *hbox, *topic, *bbox;
|
GtkWidget *hbox, *topic, *bbox;
|
||||||
session_gui *gui = sess->gui;
|
session_gui *gui = sess->gui;
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gui->topic_bar = hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
|
||||||
|
#else
|
||||||
gui->topic_bar = hbox = gtk_hbox_new (FALSE, 0);
|
gui->topic_bar = hbox = gtk_hbox_new (FALSE, 0);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start (GTK_BOX (box), hbox, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (box), hbox, 0, 0, 0);
|
||||||
|
|
||||||
if (!gui->is_tab)
|
if (!gui->is_tab)
|
||||||
@@ -2340,11 +2383,21 @@ mg_create_topicbar (session *sess, GtkWidget *box)
|
|||||||
if (prefs.hex_gui_input_style)
|
if (prefs.hex_gui_input_style)
|
||||||
mg_apply_entry_style (topic);
|
mg_apply_entry_style (topic);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gui->topicbutton_box = bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (bbox), FALSE);
|
||||||
|
#else
|
||||||
gui->topicbutton_box = bbox = gtk_hbox_new (FALSE, 0);
|
gui->topicbutton_box = bbox = gtk_hbox_new (FALSE, 0);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), bbox, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), bbox, 0, 0, 0);
|
||||||
mg_create_chanmodebuttons (gui, bbox);
|
mg_create_chanmodebuttons (gui, bbox);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gui->dialogbutton_box = bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (bbox), FALSE);
|
||||||
|
#else
|
||||||
gui->dialogbutton_box = bbox = gtk_hbox_new (FALSE, 0);
|
gui->dialogbutton_box = bbox = gtk_hbox_new (FALSE, 0);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), bbox, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), bbox, 0, 0, 0);
|
||||||
mg_create_dialogbuttons (bbox);
|
mg_create_dialogbuttons (bbox);
|
||||||
}
|
}
|
||||||
@@ -2493,9 +2546,19 @@ mg_create_textarea (session *sess, GtkWidget *box)
|
|||||||
{"HEXCHAT_USERLIST", GTK_TARGET_SAME_APP, 75 }
|
{"HEXCHAT_USERLIST", GTK_TARGET_SAME_APP, 75 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
|
||||||
|
#else
|
||||||
vbox = gtk_vbox_new (FALSE, 0);
|
vbox = gtk_vbox_new (FALSE, 0);
|
||||||
|
#endif
|
||||||
gtk_container_add (GTK_CONTAINER (box), vbox);
|
gtk_container_add (GTK_CONTAINER (box), vbox);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
inbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (inbox), FALSE);
|
||||||
|
#else
|
||||||
inbox = gtk_hbox_new (FALSE, 2);
|
inbox = gtk_hbox_new (FALSE, 2);
|
||||||
|
#endif
|
||||||
gtk_container_add (GTK_CONTAINER (vbox), inbox);
|
gtk_container_add (GTK_CONTAINER (vbox), inbox);
|
||||||
|
|
||||||
frame = gtk_frame_new (NULL);
|
frame = gtk_frame_new (NULL);
|
||||||
@@ -2545,7 +2608,12 @@ mg_create_infoframe (GtkWidget *box)
|
|||||||
gtk_frame_set_shadow_type ((GtkFrame*)frame, GTK_SHADOW_OUT);
|
gtk_frame_set_shadow_type ((GtkFrame*)frame, GTK_SHADOW_OUT);
|
||||||
gtk_container_add (GTK_CONTAINER (box), frame);
|
gtk_container_add (GTK_CONTAINER (box), frame);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
|
||||||
|
#else
|
||||||
hbox = gtk_hbox_new (0, 0);
|
hbox = gtk_hbox_new (0, 0);
|
||||||
|
#endif
|
||||||
gtk_container_add (GTK_CONTAINER (frame), hbox);
|
gtk_container_add (GTK_CONTAINER (frame), hbox);
|
||||||
|
|
||||||
label = gtk_label_new (NULL);
|
label = gtk_label_new (NULL);
|
||||||
@@ -2559,12 +2627,22 @@ mg_create_meters (session_gui *gui, GtkWidget *parent_box)
|
|||||||
{
|
{
|
||||||
GtkWidget *infbox, *wid, *box;
|
GtkWidget *infbox, *wid, *box;
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gui->meter_box = infbox = box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
|
||||||
|
#else
|
||||||
gui->meter_box = infbox = box = gtk_vbox_new (0, 1);
|
gui->meter_box = infbox = box = gtk_vbox_new (0, 1);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start (GTK_BOX (parent_box), box, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (parent_box), box, 0, 0, 0);
|
||||||
|
|
||||||
if ((prefs.hex_gui_lagometer & 2) || (prefs.hex_gui_throttlemeter & 2))
|
if ((prefs.hex_gui_lagometer & 2) || (prefs.hex_gui_throttlemeter & 2))
|
||||||
{
|
{
|
||||||
|
#if HAVE_GTK3
|
||||||
|
infbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (infbox), FALSE);
|
||||||
|
#else
|
||||||
infbox = gtk_hbox_new (0, 0);
|
infbox = gtk_hbox_new (0, 0);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start (GTK_BOX (box), infbox, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (box), infbox, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2625,7 +2703,12 @@ mg_create_userlist (session_gui *gui, GtkWidget *box)
|
|||||||
{
|
{
|
||||||
GtkWidget *frame, *ulist, *vbox;
|
GtkWidget *frame, *ulist, *vbox;
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
|
||||||
|
#else
|
||||||
vbox = gtk_vbox_new (0, 1);
|
vbox = gtk_vbox_new (0, 1);
|
||||||
|
#endif
|
||||||
gtk_container_add (GTK_CONTAINER (box), vbox);
|
gtk_container_add (GTK_CONTAINER (box), vbox);
|
||||||
|
|
||||||
frame = gtk_frame_new (NULL);
|
frame = gtk_frame_new (NULL);
|
||||||
@@ -2737,13 +2820,23 @@ mg_create_center (session *sess, session_gui *gui, GtkWidget *box)
|
|||||||
gtk_notebook_set_show_border (GTK_NOTEBOOK (book), FALSE);
|
gtk_notebook_set_show_border (GTK_NOTEBOOK (book), FALSE);
|
||||||
gtk_paned_pack1 (GTK_PANED (gui->hpane_right), book, TRUE, TRUE);
|
gtk_paned_pack1 (GTK_PANED (gui->hpane_right), book, TRUE, TRUE);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
|
||||||
|
#else
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
|
#endif
|
||||||
gtk_paned_pack1 (GTK_PANED (gui->vpane_right), hbox, FALSE, TRUE);
|
gtk_paned_pack1 (GTK_PANED (gui->vpane_right), hbox, FALSE, TRUE);
|
||||||
mg_create_userlist (gui, hbox);
|
mg_create_userlist (gui, hbox);
|
||||||
|
|
||||||
gui->user_box = hbox;
|
gui->user_box = hbox;
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
|
||||||
|
#else
|
||||||
vbox = gtk_vbox_new (FALSE, 3);
|
vbox = gtk_vbox_new (FALSE, 3);
|
||||||
|
#endif
|
||||||
gtk_notebook_append_page (GTK_NOTEBOOK (book), vbox, NULL);
|
gtk_notebook_append_page (GTK_NOTEBOOK (book), vbox, NULL);
|
||||||
mg_create_topicbar (sess, vbox);
|
mg_create_topicbar (sess, vbox);
|
||||||
|
|
||||||
@@ -2833,8 +2926,13 @@ mg_place_userlist_and_chanview_real (session_gui *gui, GtkWidget *userlist, GtkW
|
|||||||
/* incase the previous pos was POS_HIDDEN */
|
/* incase the previous pos was POS_HIDDEN */
|
||||||
gtk_widget_show (chanview);
|
gtk_widget_show (chanview);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_widget_set_margin_top (chanview, 0);
|
||||||
|
gtk_widget_set_margin_bottom (chanview, 0);
|
||||||
|
#else
|
||||||
gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 1, 0);
|
gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 1, 0);
|
||||||
gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 2, 2);
|
gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 2, 2);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* then place them back in their new positions */
|
/* then place them back in their new positions */
|
||||||
switch (prefs.hex_gui_tab_pos)
|
switch (prefs.hex_gui_tab_pos)
|
||||||
@@ -2852,25 +2950,47 @@ mg_place_userlist_and_chanview_real (session_gui *gui, GtkWidget *userlist, GtkW
|
|||||||
gtk_paned_pack2 (GTK_PANED (gui->vpane_right), chanview, FALSE, TRUE);
|
gtk_paned_pack2 (GTK_PANED (gui->vpane_right), chanview, FALSE, TRUE);
|
||||||
break;
|
break;
|
||||||
case POS_TOP:
|
case POS_TOP:
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_widget_set_margin_bottom (chanview, GUI_SPACING - 1);
|
||||||
|
gtk_grid_attach (GTK_GRID (gui->main_table), chanview,
|
||||||
|
1, 1, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 1, GUI_SPACING-1);
|
gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 1, GUI_SPACING-1);
|
||||||
gtk_table_attach (GTK_TABLE (gui->main_table), chanview,
|
gtk_table_attach (GTK_TABLE (gui->main_table), chanview,
|
||||||
1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
|
1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case POS_HIDDEN:
|
case POS_HIDDEN:
|
||||||
gtk_widget_hide (chanview);
|
gtk_widget_hide (chanview);
|
||||||
/* always attach it to something to avoid ref_count=0 */
|
/* always attach it to something to avoid ref_count=0 */
|
||||||
if (prefs.hex_gui_ulist_pos == POS_TOP)
|
if (prefs.hex_gui_ulist_pos == POS_TOP)
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (gui->main_table), chanview,
|
||||||
|
1, 3, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (gui->main_table), chanview,
|
gtk_table_attach (GTK_TABLE (gui->main_table), chanview,
|
||||||
1, 2, 3, 4, GTK_FILL, GTK_FILL, 0, 0);
|
1, 2, 3, 4, GTK_FILL, GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
else
|
else
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (gui->main_table), chanview,
|
||||||
|
1, 1, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (gui->main_table), chanview,
|
gtk_table_attach (GTK_TABLE (gui->main_table), chanview,
|
||||||
1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
|
1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
default:/* POS_BOTTOM */
|
default:/* POS_BOTTOM */
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_widget_set_margin_top (chanview, 3);
|
||||||
|
gtk_grid_attach (GTK_GRID (gui->main_table), chanview,
|
||||||
|
1, 3, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 2, 3);
|
gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 2, 3);
|
||||||
gtk_table_attach (GTK_TABLE (gui->main_table), chanview,
|
gtk_table_attach (GTK_TABLE (gui->main_table), chanview,
|
||||||
1, 2, 3, 4, GTK_FILL, GTK_FILL, 0, 0);
|
1, 2, 3, 4, GTK_FILL, GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3274,7 +3394,12 @@ mg_create_search(session *sess, GtkWidget *box)
|
|||||||
GtkWidget *entry, *label, *next, *previous, *highlight, *matchcase, *regex, *close;
|
GtkWidget *entry, *label, *next, *previous, *highlight, *matchcase, *regex, *close;
|
||||||
session_gui *gui = sess->gui;
|
session_gui *gui = sess->gui;
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gui->shbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (gui->shbox), FALSE);
|
||||||
|
#else
|
||||||
gui->shbox = gtk_hbox_new(FALSE, 5);
|
gui->shbox = gtk_hbox_new(FALSE, 5);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start(GTK_BOX(box), gui->shbox, FALSE, FALSE, 0);
|
gtk_box_pack_start(GTK_BOX(box), gui->shbox, FALSE, FALSE, 0);
|
||||||
|
|
||||||
close = gtk_button_new ();
|
close = gtk_button_new ();
|
||||||
@@ -3340,10 +3465,20 @@ mg_create_entry (session *sess, GtkWidget *box)
|
|||||||
GtkWidget *hbox, *but, *entry, *emoji_button;
|
GtkWidget *hbox, *but, *entry, *emoji_button;
|
||||||
session_gui *gui = sess->gui;
|
session_gui *gui = sess->gui;
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
|
||||||
|
#else
|
||||||
hbox = gtk_hbox_new (FALSE, 0);
|
hbox = gtk_hbox_new (FALSE, 0);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start (GTK_BOX (box), hbox, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (box), hbox, 0, 0, 0);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gui->nick_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (gui->nick_box), FALSE);
|
||||||
|
#else
|
||||||
gui->nick_box = gtk_hbox_new (FALSE, 0);
|
gui->nick_box = gtk_hbox_new (FALSE, 0);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), gui->nick_box, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), gui->nick_box, 0, 0, 0);
|
||||||
|
|
||||||
gui->nick_label = but = gtk_button_new_with_label (sess->server->nick);
|
gui->nick_label = but = gtk_button_new_with_label (sess->server->nick);
|
||||||
@@ -3489,8 +3624,14 @@ mg_create_menu (session_gui *gui, GtkWidget *table, int away_state)
|
|||||||
|
|
||||||
gui->menu = menu_create_main (accel_group, TRUE, away_state, !gui->is_tab,
|
gui->menu = menu_create_main (accel_group, TRUE, away_state, !gui->is_tab,
|
||||||
gui->menu_item);
|
gui->menu_item);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gtk_grid_attach (GTK_GRID (table), gui->menu, 0, 0, 3, 1);
|
||||||
|
gtk_widget_set_hexpand (gui->menu, TRUE);
|
||||||
|
gtk_widget_set_halign (gui->menu, GTK_ALIGN_FILL);
|
||||||
|
#else
|
||||||
gtk_table_attach (GTK_TABLE (table), gui->menu, 0, 3, 0, 1,
|
gtk_table_attach (GTK_TABLE (table), gui->menu, 0, 3, 0, 1,
|
||||||
GTK_EXPAND | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
GTK_EXPAND | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -3499,9 +3640,17 @@ mg_create_irctab (session *sess, GtkWidget *table)
|
|||||||
GtkWidget *vbox;
|
GtkWidget *vbox;
|
||||||
session_gui *gui = sess->gui;
|
session_gui *gui = sess->gui;
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
|
||||||
|
gtk_grid_attach (GTK_GRID (table), vbox, 1, 2, 1, 1);
|
||||||
|
gtk_widget_set_hexpand (vbox, TRUE);
|
||||||
|
gtk_widget_set_vexpand (vbox, TRUE);
|
||||||
|
#else
|
||||||
vbox = gtk_vbox_new (FALSE, 0);
|
vbox = gtk_vbox_new (FALSE, 0);
|
||||||
gtk_table_attach (GTK_TABLE (table), vbox, 1, 2, 2, 3,
|
gtk_table_attach (GTK_TABLE (table), vbox, 1, 2, 2, 3,
|
||||||
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
||||||
|
#endif
|
||||||
mg_create_center (sess, gui, vbox);
|
mg_create_center (sess, gui, vbox);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3534,12 +3683,20 @@ mg_create_topwindow (session *sess)
|
|||||||
|
|
||||||
palette_alloc (win);
|
palette_alloc (win);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
table = gtk_grid_new ();
|
||||||
|
/* spacing under the menubar */
|
||||||
|
gtk_grid_set_row_spacing (GTK_GRID (table), GUI_SPACING);
|
||||||
|
/* left and right borders */
|
||||||
|
gtk_grid_set_column_spacing (GTK_GRID (table), 1);
|
||||||
|
#else
|
||||||
table = gtk_table_new (4, 3, FALSE);
|
table = gtk_table_new (4, 3, FALSE);
|
||||||
/* spacing under the menubar */
|
/* spacing under the menubar */
|
||||||
gtk_table_set_row_spacing (GTK_TABLE (table), 0, GUI_SPACING);
|
gtk_table_set_row_spacing (GTK_TABLE (table), 0, GUI_SPACING);
|
||||||
/* left and right borders */
|
/* left and right borders */
|
||||||
gtk_table_set_col_spacing (GTK_TABLE (table), 0, 1);
|
gtk_table_set_col_spacing (GTK_TABLE (table), 0, 1);
|
||||||
gtk_table_set_col_spacing (GTK_TABLE (table), 1, 1);
|
gtk_table_set_col_spacing (GTK_TABLE (table), 1, 1);
|
||||||
|
#endif
|
||||||
gtk_container_add (GTK_CONTAINER (win), table);
|
gtk_container_add (GTK_CONTAINER (win), table);
|
||||||
|
|
||||||
mg_create_irctab (sess, table);
|
mg_create_irctab (sess, table);
|
||||||
@@ -3695,12 +3852,20 @@ mg_create_tabwindow (session *sess)
|
|||||||
|
|
||||||
palette_alloc (win);
|
palette_alloc (win);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
sess->gui->main_table = table = gtk_grid_new ();
|
||||||
|
/* spacing under the menubar */
|
||||||
|
gtk_grid_set_row_spacing (GTK_GRID (table), GUI_SPACING);
|
||||||
|
/* left and right borders */
|
||||||
|
gtk_grid_set_column_spacing (GTK_GRID (table), 1);
|
||||||
|
#else
|
||||||
sess->gui->main_table = table = gtk_table_new (4, 3, FALSE);
|
sess->gui->main_table = table = gtk_table_new (4, 3, FALSE);
|
||||||
/* spacing under the menubar */
|
/* spacing under the menubar */
|
||||||
gtk_table_set_row_spacing (GTK_TABLE (table), 0, GUI_SPACING);
|
gtk_table_set_row_spacing (GTK_TABLE (table), 0, GUI_SPACING);
|
||||||
/* left and right borders */
|
/* left and right borders */
|
||||||
gtk_table_set_col_spacing (GTK_TABLE (table), 0, 1);
|
gtk_table_set_col_spacing (GTK_TABLE (table), 0, 1);
|
||||||
gtk_table_set_col_spacing (GTK_TABLE (table), 1, 1);
|
gtk_table_set_col_spacing (GTK_TABLE (table), 1, 1);
|
||||||
|
#endif
|
||||||
gtk_container_add (GTK_CONTAINER (win), table);
|
gtk_container_add (GTK_CONTAINER (win), table);
|
||||||
|
|
||||||
mg_create_irctab (sess, table);
|
mg_create_irctab (sess, table);
|
||||||
@@ -3855,7 +4020,12 @@ fe_dlgbuttons_update (session *sess)
|
|||||||
|
|
||||||
gtk_widget_destroy (gui->dialogbutton_box);
|
gtk_widget_destroy (gui->dialogbutton_box);
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
gui->dialogbutton_box = box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
|
||||||
|
#else
|
||||||
gui->dialogbutton_box = box = gtk_hbox_new (0, 0);
|
gui->dialogbutton_box = box = gtk_hbox_new (0, 0);
|
||||||
|
#endif
|
||||||
gtk_box_pack_start (GTK_BOX (gui->topic_bar), box, 0, 0, 0);
|
gtk_box_pack_start (GTK_BOX (gui->topic_bar), box, 0, 0, 0);
|
||||||
gtk_box_reorder_child (GTK_BOX (gui->topic_bar), box, 3);
|
gtk_box_reorder_child (GTK_BOX (gui->topic_bar), box, 3);
|
||||||
mg_create_dialogbuttons (box);
|
mg_create_dialogbuttons (box);
|
||||||
@@ -4008,7 +4178,12 @@ mg_create_generic_tab (char *name, char *title, int force_toplevel,
|
|||||||
if (force_toplevel || !prefs.hex_gui_tab_utils)
|
if (force_toplevel || !prefs.hex_gui_tab_utils)
|
||||||
{
|
{
|
||||||
win = gtkutil_window_new (title, name, width, height, 2);
|
win = gtkutil_window_new (title, name, width, height, 2);
|
||||||
|
#if HAVE_GTK3
|
||||||
|
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
|
||||||
|
#else
|
||||||
vbox = gtk_vbox_new (0, 0);
|
vbox = gtk_vbox_new (0, 0);
|
||||||
|
#endif
|
||||||
*vbox_ret = vbox;
|
*vbox_ret = vbox;
|
||||||
gtk_container_add (GTK_CONTAINER (win), vbox);
|
gtk_container_add (GTK_CONTAINER (win), vbox);
|
||||||
gtk_widget_show (vbox);
|
gtk_widget_show (vbox);
|
||||||
@@ -4018,7 +4193,12 @@ mg_create_generic_tab (char *name, char *title, int force_toplevel,
|
|||||||
return win;
|
return win;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if HAVE_GTK3
|
||||||
|
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
|
||||||
|
gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
|
||||||
|
#else
|
||||||
vbox = gtk_vbox_new (0, 2);
|
vbox = gtk_vbox_new (0, 2);
|
||||||
|
#endif
|
||||||
g_object_set_data (G_OBJECT (vbox), "w", GINT_TO_POINTER (width));
|
g_object_set_data (G_OBJECT (vbox), "w", GINT_TO_POINTER (width));
|
||||||
g_object_set_data (G_OBJECT (vbox), "h", GINT_TO_POINTER (height));
|
g_object_set_data (G_OBJECT (vbox), "h", GINT_TO_POINTER (height));
|
||||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 3);
|
gtk_container_set_border_width (GTK_CONTAINER (vbox), 3);
|
||||||
|
|||||||
@@ -28,7 +28,16 @@ zoitechat_gtk_sources = [
|
|||||||
'xtext.c'
|
'xtext.c'
|
||||||
]
|
]
|
||||||
|
|
||||||
gtk_dep = dependency('gtk+-2.0', version: '>= 2.24.0')
|
zoitechat_gtk_cflags = []
|
||||||
|
|
||||||
|
if get_option('gtk3')
|
||||||
|
gtk_dep = dependency('gtk+-3.0', version: '>= 3.22')
|
||||||
|
zoitechat_gtk_cflags += '-DHAVE_GTK3'
|
||||||
|
else
|
||||||
|
gtk_dep = dependency('gtk+-2.0', version: '>= 2.24.0')
|
||||||
|
zoitechat_gtk_cflags += '-DHAVE_GTK2'
|
||||||
|
endif
|
||||||
|
|
||||||
zoitechat_gtk_deps = [
|
zoitechat_gtk_deps = [
|
||||||
zoitechat_common_dep,
|
zoitechat_common_dep,
|
||||||
libgmodule_dep, # used by libsexy
|
libgmodule_dep, # used by libsexy
|
||||||
@@ -39,8 +48,6 @@ if gtk_dep.get_pkgconfig_variable('target') == 'x11'
|
|||||||
zoitechat_gtk_deps += dependency('x11')
|
zoitechat_gtk_deps += dependency('x11')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
zoitechat_gtk_cflags = []
|
|
||||||
|
|
||||||
zoitechat_gtk_ldflags = []
|
zoitechat_gtk_ldflags = []
|
||||||
|
|
||||||
if host_machine.system() == 'windows'
|
if host_machine.system() == 'windows'
|
||||||
|
|||||||
Reference in New Issue
Block a user