diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-11-01 22:45:06 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-11-01 23:02:46 +0800 |
commit | 96144defe29269f9eec1d487effebc1a9ca50f52 (patch) | |
tree | 7e39a80f3013e366046dc51d7c613b4e86a6cbc8 /libempathy-gtk/empathy-contact-widget.c | |
parent | b26b85d3bddf2afd23b621a817cd5041c5e2ef17 (diff) | |
download | gsoc2013-empathy-96144defe29269f9eec1d487effebc1a9ca50f52.tar gsoc2013-empathy-96144defe29269f9eec1d487effebc1a9ca50f52.tar.gz gsoc2013-empathy-96144defe29269f9eec1d487effebc1a9ca50f52.tar.bz2 gsoc2013-empathy-96144defe29269f9eec1d487effebc1a9ca50f52.tar.lz gsoc2013-empathy-96144defe29269f9eec1d487effebc1a9ca50f52.tar.xz gsoc2013-empathy-96144defe29269f9eec1d487effebc1a9ca50f52.tar.zst gsoc2013-empathy-96144defe29269f9eec1d487effebc1a9ca50f52.zip |
contact-widget: port to GtkGrid
https://bugzilla.gnome.org/show_bug.cgi?id=662903
Diffstat (limited to 'libempathy-gtk/empathy-contact-widget.c')
-rw-r--r-- | libempathy-gtk/empathy-contact-widget.c | 98 |
1 files changed, 52 insertions, 46 deletions
diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c index a99697521..8e5666520 100644 --- a/libempathy-gtk/empathy-contact-widget.c +++ b/libempathy-gtk/empathy-contact-widget.c @@ -102,14 +102,14 @@ typedef struct GtkWidget *hbox_presence; GtkWidget *image_state; GtkWidget *label_status; - GtkWidget *table_contact; + GtkWidget *grid_contact; GtkWidget *vbox_avatar; GtkWidget *favourite_checkbox; /* Location */ GtkWidget *vbox_location; GtkWidget *subvbox_location; - GtkWidget *table_location; + GtkWidget *grid_location; GtkWidget *label_location; #ifdef HAVE_LIBCHAMPLAIN GtkWidget *viewport_map; @@ -122,7 +122,7 @@ typedef struct /* Details */ GtkWidget *vbox_details; - GtkWidget *table_details; + GtkWidget *grid_details; GtkWidget *hbox_details_requested; GtkWidget *spinner_details; GList *details_to_set; @@ -131,7 +131,7 @@ typedef struct /* Client */ GtkWidget *vbox_client; - GtkWidget *table_client; + GtkWidget *grid_client; GtkWidget *hbox_client_requested; } EmpathyContactWidget; @@ -418,8 +418,9 @@ contact_widget_details_update_edit (EmpathyContactWidget *information) w = gtk_label_new (title); g_free (title); - gtk_table_attach (GTK_TABLE (information->table_details), - w, 0, 1, n_rows, n_rows + 1, GTK_FILL, 0, 0, 0); + gtk_grid_attach (GTK_GRID (information->grid_details), + w, 0, n_rows, 1, 1); + gtk_misc_set_alignment (GTK_MISC (w), 0, 0.5); gtk_widget_show (w); @@ -442,8 +443,9 @@ contact_widget_details_update_edit (EmpathyContactWidget *information) g_date_get_day (&date)); } } - gtk_table_attach_defaults (GTK_TABLE (information->table_details), - w, 1, 2, n_rows, n_rows + 1); + + gtk_grid_attach (GTK_GRID (information->grid_details), + w, 1, n_rows, 1, 1); gtk_widget_show (w); g_object_set_data ((GObject *) w, DATA_FIELD, field); @@ -458,8 +460,8 @@ contact_widget_details_update_edit (EmpathyContactWidget *information) w = gtk_entry_new (); gtk_entry_set_text (GTK_ENTRY (w), field->field_value[0] ? field->field_value[0] : ""); - gtk_table_attach_defaults (GTK_TABLE (information->table_details), - w, 1, 2, n_rows, n_rows + 1); + gtk_grid_attach (GTK_GRID (information->grid_details), + w, 1, n_rows, 1, 1); gtk_widget_show (w); g_object_set_data ((GObject *) w, DATA_FIELD, field); @@ -500,8 +502,8 @@ add_channel_list ( guint i; w = gtk_label_new (_("Channels:")); - gtk_table_attach (GTK_TABLE (information->table_details), - w, 0, 1, row, row + 1, GTK_FILL, 0, 0, 0); + gtk_grid_attach (GTK_GRID (information->grid_details), + w, 0, row, 1, 1); gtk_misc_set_alignment (GTK_MISC (w), 0, 0.5); gtk_widget_show (w); @@ -529,8 +531,8 @@ add_channel_list ( gtk_label_set_line_wrap (GTK_LABEL (w), TRUE); g_signal_connect (w, "activate-link", (GCallback) channel_name_activated_cb, information); - gtk_table_attach_defaults (GTK_TABLE (information->table_details), - w, 1, 2, row, row + 1); + gtk_grid_attach (GTK_GRID (information->grid_details), + w, 1, row, 1, 1); gtk_misc_set_alignment (GTK_MISC (w), 0, 0.5); gtk_widget_show (w); @@ -591,8 +593,8 @@ contact_widget_details_update_show (EmpathyContactWidget *information) w = gtk_label_new (title); g_free (title); - gtk_table_attach (GTK_TABLE (information->table_details), - w, 0, 1, n_rows, n_rows + 1, GTK_FILL, 0, 0, 0); + gtk_grid_attach (GTK_GRID (information->grid_details), + w, 0, n_rows, 1, 1); gtk_misc_set_alignment (GTK_MISC (w), 0, 0.5); gtk_widget_show (w); @@ -607,8 +609,8 @@ contact_widget_details_update_show (EmpathyContactWidget *information) if ((information->flags & EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP) == 0) gtk_label_set_selectable (GTK_LABEL (w), TRUE); - gtk_table_attach_defaults (GTK_TABLE (information->table_details), - w, 1, 2, n_rows, n_rows + 1); + gtk_grid_attach (GTK_GRID (information->grid_details), + w, 1, n_rows, 1, 1); gtk_misc_set_alignment (GTK_MISC (w), 0, 0.5); gtk_widget_show (w); @@ -632,7 +634,7 @@ contact_widget_details_notify_cb (EmpathyContactWidget *information) { guint n_rows; - gtk_container_foreach (GTK_CONTAINER (information->table_details), + gtk_container_foreach (GTK_CONTAINER (information->grid_details), (GtkCallback) gtk_widget_destroy, NULL); if ((information->flags & EMPATHY_CONTACT_WIDGET_EDIT_DETAILS) != 0) @@ -643,7 +645,7 @@ contact_widget_details_notify_cb (EmpathyContactWidget *information) if (n_rows > 0) { gtk_widget_show (information->vbox_details); - gtk_widget_show (information->table_details); + gtk_widget_show (information->grid_details); } else { @@ -717,7 +719,7 @@ fetch_contact_information (EmpathyContactWidget *information, /* Request the contact's info */ gtk_widget_show (information->vbox_details); gtk_widget_show (information->hbox_details_requested); - gtk_widget_hide (information->table_details); + gtk_widget_hide (information->grid_details); gtk_spinner_start (GTK_SPINNER (information->spinner_details)); contact = empathy_contact_get_tp_contact (information->contact); @@ -918,15 +920,15 @@ contact_widget_location_update (EmpathyContactWidget *information) } - /* Prepare the location information table */ - if (information->table_location != NULL) + /* Prepare the location information grid */ + if (information->grid_location != NULL) { - gtk_widget_destroy (information->table_location); + gtk_widget_destroy (information->grid_location); } - information->table_location = gtk_table_new (1, 2, FALSE); + information->grid_location = gtk_grid_new (); gtk_box_pack_start (GTK_BOX (information->subvbox_location), - information->table_location, FALSE, FALSE, 5); + information->grid_location, FALSE, FALSE, 5); for (i = 0; (skey = ordered_geolocation_keys[i]); i++) @@ -943,8 +945,8 @@ contact_widget_location_update (EmpathyContactWidget *information) label = gtk_label_new (user_label); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); - gtk_table_attach (GTK_TABLE (information->table_location), - label, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 10, 0); + gtk_grid_attach (GTK_GRID (information->grid_location), + label, 0, row, 1, 1); gtk_widget_show (label); if (G_VALUE_TYPE (gvalue) == G_TYPE_DOUBLE) @@ -968,8 +970,8 @@ contact_widget_location_update (EmpathyContactWidget *information) if (svalue != NULL) { label = gtk_label_new (svalue); - gtk_table_attach_defaults (GTK_TABLE (information->table_location), - label, 1, 2, row, row + 1); + gtk_grid_attach (GTK_GRID (information->grid_location), + label, 1, row, 1, 1); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); gtk_widget_show (label); @@ -994,7 +996,7 @@ contact_widget_location_update (EmpathyContactWidget *information) if (row > 0) { /* We can display some fields */ - gtk_widget_show (information->table_location); + gtk_widget_show (information->grid_location); } else if (!display_map) { @@ -1688,9 +1690,11 @@ contact_widget_contact_setup (EmpathyContactWidget *information) gtk_box_pack_start (GTK_BOX (information->widget_account), information->label_account, FALSE, TRUE, 0); } - gtk_table_attach_defaults (GTK_TABLE (information->table_contact), - information->widget_account, - 1, 2, 0, 1); + + gtk_grid_attach (GTK_GRID (information->grid_contact), + information->widget_account, + 1, 0, 1, 1); + gtk_widget_show (information->widget_account); /* Set up avatar chooser/display */ @@ -1745,9 +1749,10 @@ contact_widget_contact_setup (EmpathyContactWidget *information) } gtk_misc_set_alignment (GTK_MISC (information->widget_id), 0, 0.5); } - gtk_table_attach_defaults (GTK_TABLE (information->table_contact), - information->widget_id, - 1, 2, 1, 2); + + gtk_grid_attach (GTK_GRID (information->grid_contact), information->widget_id, + 1, 1, 1, 1); + gtk_widget_show (information->widget_id); /* Setup alias label/entry */ @@ -1772,9 +1777,10 @@ contact_widget_contact_setup (EmpathyContactWidget *information) } gtk_misc_set_alignment (GTK_MISC (information->widget_alias), 0, 0.5); } - gtk_table_attach_defaults (GTK_TABLE (information->table_contact), - information->widget_alias, - 1, 2, 2, 3); + + gtk_grid_attach (GTK_GRID (information->grid_contact), + information->widget_alias, 1, 2, 1, 1); + if (information->flags & EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP) { gtk_label_set_selectable (GTK_LABEL (information->label_status), FALSE); } @@ -1789,8 +1795,8 @@ contact_widget_contact_setup (EmpathyContactWidget *information) g_signal_connect (information->favourite_checkbox, "toggled", G_CALLBACK (favourite_toggled_cb), information); - gtk_table_attach_defaults (GTK_TABLE (information->table_contact), - information->favourite_checkbox, 0, 2, 3, 4); + gtk_grid_attach (GTK_GRID (information->grid_contact), + information->favourite_checkbox, 0, 3, 1, 1); information->fav_sig_id = g_signal_connect (information->manager, "favourites-changed", @@ -1849,7 +1855,7 @@ empathy_contact_widget_new (EmpathyContact *contact, "hbox_presence", &information->hbox_presence, "label_alias", &information->label_alias, "image_state", &information->image_state, - "table_contact", &information->table_contact, + "grid_contact", &information->grid_contact, "vbox_avatar", &information->vbox_avatar, "vbox_location", &information->vbox_location, "subvbox_location", &information->subvbox_location, @@ -1859,10 +1865,10 @@ empathy_contact_widget_new (EmpathyContact *contact, #endif "groups_widget", &information->groups_widget, "vbox_details", &information->vbox_details, - "table_details", &information->table_details, + "grid_details", &information->grid_details, "hbox_details_requested", &information->hbox_details_requested, "vbox_client", &information->vbox_client, - "table_client", &information->table_client, + "grid_client", &information->grid_client, "hbox_client_requested", &information->hbox_client_requested, NULL); g_free (filename); @@ -1870,7 +1876,7 @@ empathy_contact_widget_new (EmpathyContact *contact, empathy_builder_connect (gui, information, "vbox_contact_widget", "destroy", contact_widget_destroy_cb, NULL); - information->table_location = NULL; + information->grid_location = NULL; g_object_set_data (G_OBJECT (information->vbox_contact_widget), "EmpathyContactWidget", |