From a348e739c004f544f4c7ae129b61aed905d49621 Mon Sep 17 00:00:00 2001 From: Alan F Date: Wed, 12 Mar 2014 19:28:54 +0000 Subject: sync hig.c from transmission-gtk to use GtkGrid instead of deprecated GtkTable, and remove most other usage of GtkTable. --- src/hig.c | 258 ++++++++++++++++++++++++++------------------------------------ 1 file changed, 107 insertions(+), 151 deletions(-) (limited to 'src/hig.c') diff --git a/src/hig.c b/src/hig.c index 32432fe..be32a9b 100644 --- a/src/hig.c +++ b/src/hig.c @@ -1,213 +1,169 @@ /* - * This file Copyright (C) 2007-2010 Mnemosyne LLC + * This file Copyright (C) Mnemosyne LLC * - * This file is licensed by the GPL version 2. Works owned by the - * Transmission project are granted a special exemption to clause 2(b) + * This file is licensed by the GPL version 2. Works owned by the + * Transmission project are granted a special exemption to clause 2 (b) * so that the bulk of its code can remain under the MIT license. * This exemption does not extend to derived works not owned by * the Transmission project. * - * $Id: hig.c 9868 2010-01-04 21:00:47Z charles $ + * $Id: hig.c 13677 2012-12-16 22:51:29Z jordan $ */ #include #include "hig.h" -#include "util.h" -GtkWidget *hig_workarea_create(void) +GtkWidget* +hig_workarea_create (void) { - GtkWidget *t = gtk_table_new(1, 2, FALSE); + GtkWidget * grid = gtk_grid_new (); - gtk_container_set_border_width(GTK_CONTAINER(t), GUI_PAD_BIG); - gtk_table_set_col_spacing(GTK_TABLE(t), 0, GUI_PAD_BIG); - gtk_table_set_row_spacings(GTK_TABLE(t), GUI_PAD); - return t; + gtk_container_set_border_width (GTK_CONTAINER (grid), GUI_PAD_BIG); + gtk_grid_set_row_spacing (GTK_GRID (grid), GUI_PAD); + gtk_grid_set_column_spacing (GTK_GRID (grid), GUI_PAD_BIG); + + return grid; } -void hig_workarea_add_section_divider(GtkWidget * t, guint * row) +void +hig_workarea_add_section_divider (GtkWidget * t, guint * row) { - GtkWidget *w = gtk_alignment_new(0.0f, 0.0f, 0.0f, 0.0f); + GtkWidget * w = gtk_alignment_new (0.0f, 0.0f, 0.0f, 0.0f); - gtk_widget_set_size_request(w, 0u, 6u); - gtk_table_attach(GTK_TABLE(t), w, 0, 2, *row, *row + 1, 0, 0, 0, 0); - ++*row; + gtk_widget_set_size_request (w, 0u, 6u); + gtk_grid_attach (GTK_GRID (t), w, 0, *row, 2, 1); + ++ * row; } void -hig_workarea_add_section_title_widget(GtkWidget * t, guint * row, - GtkWidget * w) +hig_workarea_add_section_title_widget (GtkWidget * t, guint * row, GtkWidget * w) { - gtk_table_attach(GTK_TABLE(t), w, 0, 2, *row, *row + 1, ~0, 0, 0, 0); - ++*row; + gtk_widget_set_hexpand (w, TRUE); + gtk_grid_attach (GTK_GRID (t), w, 0, *row, 2, 1); + ++ * row; } void -hig_workarea_add_section_title(GtkWidget * t, - guint * row, const char *section_title) +hig_workarea_add_section_title (GtkWidget * t, guint * row, const char * section_title) { char buf[512]; - GtkWidget *l; - - g_snprintf(buf, sizeof(buf), "%s", section_title); - l = gtk_label_new(buf); - gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f); - gtk_label_set_use_markup(GTK_LABEL(l), TRUE); - hig_workarea_add_section_title_widget(t, row, l); -} + GtkWidget * l; -static GtkWidget *rowNew(GtkWidget * w) -{ - GtkWidget *a; - GtkWidget *h = trg_hbox_new(FALSE, 0); - - /* spacer */ - a = gtk_alignment_new(0.0f, 0.0f, 0.0f, 0.0f); - gtk_widget_set_size_request(a, 18u, 0u); - gtk_box_pack_start(GTK_BOX(h), a, FALSE, FALSE, 0); - - /* lhs widget */ - if (GTK_IS_MISC(w)) - gtk_misc_set_alignment(GTK_MISC(w), 0.0f, 0.5f); - if (GTK_IS_LABEL(w)) - gtk_label_set_use_markup(GTK_LABEL(w), TRUE); - gtk_box_pack_start(GTK_BOX(h), w, TRUE, TRUE, 0); - - return h; + g_snprintf (buf, sizeof (buf), "%s", section_title); + l = gtk_label_new (buf); + gtk_misc_set_alignment (GTK_MISC (l), 0.0f, 0.5f); + gtk_label_set_use_markup (GTK_LABEL (l), TRUE); + hig_workarea_add_section_title_widget (t, row, l); } -void hig_workarea_add_wide_control(GtkWidget * t, guint * row, - GtkWidget * w) +void +hig_workarea_add_wide_control (GtkWidget * t, guint * row, GtkWidget * w) { - GtkWidget *r = rowNew(w); - - gtk_table_attach(GTK_TABLE(t), r, 0, 2, *row, *row + 1, GTK_FILL, - 0, 0, 0); - ++*row; + gtk_widget_set_hexpand (w, TRUE); + gtk_widget_set_margin_left (w, 18); + gtk_grid_attach (GTK_GRID (t), w, 0, *row, 2, 1); + ++ * row; } - void -hig_workarea_add_wide_tall_control(GtkWidget * t, guint * row, - GtkWidget * w) +hig_workarea_add_wide_tall_control (GtkWidget * t, guint * row, GtkWidget * w) { - GtkWidget *r = rowNew(w); - - gtk_table_attach(GTK_TABLE(t), r, 0, 2, *row, *row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); - - ++*row; + gtk_widget_set_hexpand (w, TRUE); + gtk_widget_set_vexpand (w, TRUE); + hig_workarea_add_wide_control (t, row, w); } -GtkWidget *hig_workarea_add_wide_checkbutton(GtkWidget * t, - guint * row, - const char *mnemonic_string, - gboolean is_active) +GtkWidget * +hig_workarea_add_wide_checkbutton (GtkWidget * t, + guint * row, + const char * mnemonic_string, + gboolean is_active) { - GtkWidget *w = gtk_check_button_new_with_mnemonic(mnemonic_string); + GtkWidget * w = gtk_check_button_new_with_mnemonic (mnemonic_string); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), is_active); - hig_workarea_add_wide_control(t, row, w); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), is_active); + hig_workarea_add_wide_control (t, row, w); return w; } -void hig_workarea_add_label_w(GtkWidget * t, guint row, GtkWidget * l) -{ - GtkWidget *w = rowNew(l); - - gtk_table_attach(GTK_TABLE(t), w, 0, 1, row, row + 1, GTK_FILL, - GTK_FILL, 0, 0); -} - -GtkWidget *hig_workarea_add_label(GtkWidget * t, guint row, - const char *mnemonic_string) +void +hig_workarea_add_label_w (GtkWidget * t, guint row, GtkWidget * w) { - GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); - - hig_workarea_add_label_w(t, row, l); - return l; + gtk_widget_set_margin_left (w, 18); + if (GTK_IS_MISC (w)) + gtk_misc_set_alignment (GTK_MISC (w), 0.0f, 0.5f); + if (GTK_IS_LABEL (w)) + gtk_label_set_use_markup (GTK_LABEL (w), TRUE); + gtk_grid_attach (GTK_GRID (t), w, 0, row, 1, 1); } static void -hig_workarea_add_tall_control(GtkWidget * t, guint row, - GtkWidget * control) +hig_workarea_add_tall_control (GtkWidget * t, guint row, GtkWidget * control) { - if (GTK_IS_MISC(control)) - gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); + if (GTK_IS_MISC (control)) + gtk_misc_set_alignment (GTK_MISC (control), 0.0f, 0.5f); - gtk_table_attach(GTK_TABLE(t), control, - 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); + g_object_set (control, "expand", TRUE, NULL); + gtk_grid_attach (GTK_GRID (t), control, 1, row, 1, 1); } -void hig_workarea_add_control(GtkWidget * t, guint row, - GtkWidget * control) +static void +hig_workarea_add_control (GtkWidget * t, guint row, GtkWidget * control) { - if (GTK_IS_MISC(control)) - gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); + if (GTK_IS_MISC (control)) + gtk_misc_set_alignment (GTK_MISC (control), 0.0f, 0.5f); - gtk_table_attach(GTK_TABLE(t), control, - 1, 2, row, row + 1, - GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); + gtk_widget_set_hexpand (control, TRUE); + gtk_grid_attach (GTK_GRID (t), control, 1, row, 1, 1); } void -hig_workarea_add_row_w(GtkWidget * t, - guint * row, - GtkWidget * label, - GtkWidget * control, GtkWidget * mnemonic) -{ - hig_workarea_add_label_w(t, *row, label); - hig_workarea_add_control(t, *row, control); - if (GTK_IS_LABEL(label)) - gtk_label_set_mnemonic_widget(GTK_LABEL(label), - mnemonic ? mnemonic : control); - ++*row; -} - -GtkWidget *hig_workarea_add_row(GtkWidget * t, - guint * row, - const char *mnemonic_string, - GtkWidget * control, GtkWidget * mnemonic) -{ - GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); - - hig_workarea_add_row_w(t, row, l, control, mnemonic); +hig_workarea_add_row_w (GtkWidget * t, + guint * row, + GtkWidget * label, + GtkWidget * control, + GtkWidget * mnemonic) +{ + hig_workarea_add_label_w (t, *row, label); + hig_workarea_add_control (t, *row, control); + if (GTK_IS_LABEL (label)) + gtk_label_set_mnemonic_widget (GTK_LABEL (label), + mnemonic ? mnemonic : control); + ++ * row; +} + +GtkWidget* +hig_workarea_add_row (GtkWidget * t, + guint * row, + const char * mnemonic_string, + GtkWidget * control, + GtkWidget * mnemonic) +{ + GtkWidget * l = gtk_label_new_with_mnemonic (mnemonic_string); + + hig_workarea_add_row_w (t, row, l, control, mnemonic); return l; } -GtkWidget *hig_workarea_add_tall_row(GtkWidget * table, - guint * row, - const char *mnemonic_string, - GtkWidget * control, - GtkWidget * mnemonic) +GtkWidget* +hig_workarea_add_tall_row (GtkWidget * table, + guint * row, + const char * mnemonic_string, + GtkWidget * control, + GtkWidget * mnemonic) { - GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); - GtkWidget *h = trg_hbox_new(FALSE, 0); - GtkWidget *v = trg_vbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(h), l, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(v), h, FALSE, FALSE, GUI_PAD_SMALL); + GtkWidget * l = gtk_label_new_with_mnemonic (mnemonic_string); + GtkWidget * h = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + GtkWidget * v = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_box_pack_start (GTK_BOX (h), l, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (v), h, FALSE, FALSE, GUI_PAD_SMALL); - hig_workarea_add_label_w(table, *row, v); - hig_workarea_add_tall_control(table, *row, control); + hig_workarea_add_label_w (table, *row, v); + hig_workarea_add_tall_control (table, *row, control); - if (GTK_IS_LABEL(l)) - gtk_label_set_mnemonic_widget(GTK_LABEL(l), - mnemonic ? mnemonic : control); + if (GTK_IS_LABEL (l)) + gtk_label_set_mnemonic_widget (GTK_LABEL (l), + mnemonic ? mnemonic : control); - ++*row; + ++ * row; return l; } - -void hig_workarea_finish(GtkWidget * t, guint * row) -{ - gtk_table_resize(GTK_TABLE(t), *row, 2); -} - -void -hig_message_dialog_set_text(GtkMessageDialog * dialog, - const char *primary, const char *secondary) -{ - gtk_message_dialog_set_markup(dialog, primary); - gtk_message_dialog_format_secondary_text(dialog, "%s", secondary); -} -- cgit v1.2.3