summaryrefslogtreecommitdiff
path: root/src/hig.c
diff options
context:
space:
mode:
authorGravatar Alan F <ajf@eth0.org.uk>2014-03-12 19:28:54 +0000
committerGravatar Alan F <ajf@eth0.org.uk>2014-03-12 19:28:54 +0000
commita348e739c004f544f4c7ae129b61aed905d49621 (patch)
tree99f33b86c7e374dd25ab5f6ebe19c44eedc28107 /src/hig.c
parent4504aabdfa2bd8612753d16dffaeb02b30218f39 (diff)
sync hig.c from transmission-gtk to use GtkGrid instead of deprecated GtkTable, and remove most other usage of GtkTable.
Diffstat (limited to 'src/hig.c')
-rw-r--r--src/hig.c258
1 files changed, 107 insertions, 151 deletions
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 <gtk/gtk.h>
#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), "<b>%s</b>", 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), "<b>%s</b>", 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);
-}