* toys/mug: mu-msg-header-view: use GtkGrid instead of GtkTable

This commit is contained in:
djcb 2013-03-17 16:25:10 +02:00
parent 8c55858499
commit 06e5559b19
1 changed files with 24 additions and 27 deletions

View File

@ -39,7 +39,7 @@ enum {
}; };
struct _MuMsgHeaderViewPrivate { struct _MuMsgHeaderViewPrivate {
GtkWidget *_table; GtkWidget *_grid;
}; };
#define MU_MSG_HEADER_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \ #define MU_MSG_HEADER_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
MU_TYPE_MSG_HEADER_VIEW, \ MU_TYPE_MSG_HEADER_VIEW, \
@ -91,7 +91,7 @@ mu_msg_header_view_init (MuMsgHeaderView *obj)
obj->_priv = MU_MSG_HEADER_VIEW_GET_PRIVATE(obj); obj->_priv = MU_MSG_HEADER_VIEW_GET_PRIVATE(obj);
obj->_priv->_table = NULL; obj->_priv->_grid = NULL;
} }
static void static void
@ -129,7 +129,7 @@ get_label (const gchar *txt, gboolean istitle)
} }
static gboolean static gboolean
add_row (GtkWidget *table, guint row, const char* fieldname, const char *value, add_row (GtkWidget *grid, guint row, const char* fieldname, const char *value,
gboolean showempty) gboolean showempty)
{ {
GtkWidget *label, *al; GtkWidget *label, *al;
@ -137,52 +137,49 @@ add_row (GtkWidget *table, guint row, const char* fieldname, const char *value,
if (!value && !showempty) if (!value && !showempty)
return FALSE; return FALSE;
gtk_grid_insert_row (GTK_GRID(grid), row);
label = get_label (fieldname, TRUE); label = get_label (fieldname, TRUE);
al = gtk_alignment_new (0.0, 0.0, 0.0, 0.0); al = gtk_alignment_new (0.0, 0.0, 0.0, 0.0);
gtk_container_add (GTK_CONTAINER (al), label); gtk_container_add (GTK_CONTAINER (al), label);
gtk_table_attach ( gtk_grid_attach (GTK_GRID(grid), al, 0, row, 1, 1);
GTK_TABLE(table), al,
0, 1, row, row + 1, GTK_FILL, 0, 0, 0);
al = gtk_alignment_new (0.0, 1.0, 0.0, 0.0); al = gtk_alignment_new (0.0, 1.0, 0.0, 0.0);
label = get_label (value, FALSE); label = get_label (value, FALSE);
gtk_container_add (GTK_CONTAINER (al), label); gtk_container_add (GTK_CONTAINER (al), label);
gtk_grid_attach (GTK_GRID(grid), al, 1, row, 1, 1);
gtk_table_attach (
GTK_TABLE(table), al, 1, 2, row, row + 1, GTK_FILL,
0, 0, 0);
return TRUE; return TRUE;
} }
GtkWidget * GtkWidget *
get_table (MuMsg *msg) get_grid (MuMsg *msg)
{ {
GtkWidget *table; GtkWidget *grid;
int row; int row;
row = 0; row = 0;
grid = gtk_grid_new (); /* 5 2 */
table = gtk_table_new (5, 2, FALSE); gtk_grid_insert_column (GTK_GRID(grid), 0);
gtk_grid_insert_column (GTK_GRID(grid), 1);
if (add_row (table, row, "From", mu_msg_get_from (msg), TRUE)) if (add_row (grid, row, "From", mu_msg_get_from (msg), TRUE))
++row; ++row;
if (add_row (table, row, "To", mu_msg_get_to (msg), FALSE)) if (add_row (grid, row, "To", mu_msg_get_to (msg), FALSE))
++row; ++row;
if (add_row (table, row, "Cc", mu_msg_get_cc (msg), FALSE)) if (add_row (grid, row, "Cc", mu_msg_get_cc (msg), FALSE))
++row; ++row;
if (add_row (table, row, "Subject", mu_msg_get_subject (msg), TRUE)) if (add_row (grid, row, "Subject", mu_msg_get_subject (msg), TRUE))
++row; ++row;
if (add_row (table, row, "Date", mu_date_str_s if (add_row (grid, row, "Date", mu_date_str_s
("%c", mu_msg_get_date (msg)),TRUE)) ("%c", mu_msg_get_date (msg)),TRUE))
++row; ++row;
gtk_table_resize (GTK_TABLE(table), row, 2); return grid;
return table;
} }
void void
@ -190,15 +187,15 @@ mu_msg_header_view_set_message (MuMsgHeaderView *self, MuMsg *msg)
{ {
g_return_if_fail (MU_IS_MSG_HEADER_VIEW(self)); g_return_if_fail (MU_IS_MSG_HEADER_VIEW(self));
if (self->_priv->_table) { if (self->_priv->_grid) {
gtk_container_remove (GTK_CONTAINER(self), self->_priv->_table); gtk_container_remove (GTK_CONTAINER(self), self->_priv->_grid);
self->_priv->_table = NULL; self->_priv->_grid = NULL;
} }
if (msg) { if (msg) {
self->_priv->_table = get_table (msg); self->_priv->_grid = get_grid (msg);
gtk_box_pack_start (GTK_BOX(self), self->_priv->_table, gtk_box_pack_start (GTK_BOX(self), self->_priv->_grid,
TRUE, TRUE, 0); TRUE, TRUE, 0);
gtk_widget_show_all (self->_priv->_table); gtk_widget_show_all (self->_priv->_grid);
} }
} }