[balsa/gtk3] Port calendar widget from GtkTable to GtkGrid
- From: Peter Bloomfield <PeterB src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/gtk3] Port calendar widget from GtkTable to GtkGrid
- Date: Thu, 6 Oct 2011 20:55:47 +0000 (UTC)
commit 6f86a46e01bdf73aa0f16dab79b99b5fcca7334c
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Wed Oct 5 20:08:03 2011 -0400
Port calendar widget from GtkTable to GtkGrid
* src/balsa-mime-widget-vcalendar.c (balsa_vevent_widget):
migrate from GtkTable to GtkGrid.
ChangeLog | 5 ++
src/balsa-mime-widget-vcalendar.c | 78 +++++++++++++++++++++----------------
2 files changed, 49 insertions(+), 34 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 284f389..44d60ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2011-10-05 Peter Bloomfield
+ * src/balsa-mime-widget-vcalendar.c (balsa_vevent_widget):
+ migrate from GtkTable to GtkGrid.
+
+2011-10-05 Peter Bloomfield
+
* src/address-book-config.c (create_gpe_dialog): build with GPE
address book.
diff --git a/src/balsa-mime-widget-vcalendar.c b/src/balsa-mime-widget-vcalendar.c
index cee76de..93f37fb 100644
--- a/src/balsa-mime-widget-vcalendar.c
+++ b/src/balsa-mime-widget-vcalendar.c
@@ -101,57 +101,59 @@ balsa_mime_widget_new_vcalendar(BalsaMessage * bm,
return mw;
}
-#define TABLE_ATTACH(t,str,label) \
+#define GRID_ATTACH(g,str,label) \
do { \
if (str) { \
GtkWidget *lbl = gtk_label_new(label); \
- gtk_table_attach(t, lbl, 0, 1, row, row+1, \
- GTK_FILL, GTK_FILL, 4, 2); \
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.0); \
- gtk_table_attach(table, lbl = gtk_label_new(str), \
- 1, 2, row, row + 1, \
- GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, \
- 4, 2); \
- gtk_misc_set_alignment(GTK_MISC(lbl), 0.0, 0.0); \
+ gtk_widget_set_halign(lbl, GTK_ALIGN_START); \
+ gtk_widget_set_valign(lbl, GTK_ALIGN_START); \
+ gtk_grid_attach(g, lbl, 0, row, 1, 1); \
+ lbl = gtk_label_new(str); \
+ gtk_label_set_line_wrap(GTK_LABEL(lbl), TRUE); \
+ gtk_widget_set_halign(lbl, GTK_ALIGN_START); \
+ gtk_widget_set_valign(lbl, GTK_ALIGN_START); \
+ gtk_widget_set_hexpand(lbl, TRUE); \
+ gtk_widget_set_vexpand(lbl, TRUE); \
+ gtk_grid_attach(g, lbl, 1, row, 1, 1); \
row++; \
} \
} while (0)
-#define TABLE_ATTACH_DATE(t,date,label) \
+#define GRID_ATTACH_DATE(g,date,label) \
do { \
if (date != (time_t) -1) { \
gchar * _dstr = \
libbalsa_date_to_utf8(&date, balsa_app.date_string); \
- TABLE_ATTACH(table, _dstr, label); \
+ GRID_ATTACH(g, _dstr, label); \
g_free(_dstr); \
} \
} while (0)
-#define TABLE_ATTACH_ADDRESS(t,addr,label) \
+#define GRID_ATTACH_ADDRESS(g,addr,label) \
do { \
if (addr) { \
gchar * _astr = libbalsa_vcal_attendee_to_str(addr); \
- TABLE_ATTACH(table, _astr, label); \
+ GRID_ATTACH(g, _astr, label); \
g_free(_astr); \
} \
} while (0)
-#define TABLE_ATTACH_TEXT(t,text,label) \
+#define GRID_ATTACH_TEXT(g,text,label) \
do { \
if (text) { \
GtkWidget *lbl = gtk_label_new(label); \
GtkTextBuffer *tbuf = gtk_text_buffer_new(NULL); \
GtkWidget *tview; \
- gtk_table_attach(t, lbl, 0, 1, row, row+1, \
- GTK_FILL, GTK_FILL, 4, 2); \
- gtk_misc_set_alignment(GTK_MISC(lbl), 1.0, 0.0); \
+ gtk_widget_set_halign(lbl, GTK_ALIGN_START); \
+ gtk_widget_set_valign(lbl, GTK_ALIGN_START); \
+ gtk_grid_attach(g, lbl, 0, row, 1, 1); \
gtk_text_buffer_set_text(tbuf, text, -1); \
tview = gtk_text_view_new_with_buffer(tbuf); \
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(tview), \
- GTK_WRAP_WORD_CHAR); \
- gtk_table_attach(table, tview, 1, 2, row, row + 1, \
- GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, \
- 4, 2); \
+ GTK_WRAP_WORD_CHAR); \
+ gtk_widget_set_hexpand(tview, TRUE); \
+ gtk_widget_set_vexpand(tview, TRUE); \
+ gtk_grid_attach(g, tview, 1, row, 1, 1); \
row++; \
} \
} while (0)
@@ -160,21 +162,28 @@ static GtkWidget *
balsa_vevent_widget(LibBalsaVEvent * event, gboolean may_reply,
InternetAddress * sender)
{
- GtkTable *table;
+ GtkGrid *grid;
int row = 0;
LibBalsaIdentity *vevent_ident = NULL;
- table = GTK_TABLE(gtk_table_new(7, 2, FALSE));
- TABLE_ATTACH(table, event->summary, _("Summary"));
- TABLE_ATTACH_ADDRESS(table, event->organizer, _("Organizer"));
- TABLE_ATTACH_DATE(table, event->start, _("Start"));
- TABLE_ATTACH_DATE(table, event->end, _("End"));
- TABLE_ATTACH(table, event->location, _("Location"));
+ grid = GTK_GRID(gtk_grid_new());
+#if GTK_CHECK_VERSION(3, 2, 0)
+ gtk_grid_set_row_spacing(grid, 6);
+ gtk_grid_set_column_spacing(grid, 12);
+#else /* GTK_CHECK_VERSION(3, 2, 0) */
+ gtk_grid_set_row_spacing(grid, 12);
+ gtk_grid_set_column_spacing(grid, 6);
+#endif /* GTK_CHECK_VERSION(3, 2, 0) */
+ GRID_ATTACH(grid, event->summary, _("Summary:"));
+ GRID_ATTACH_ADDRESS(grid, event->organizer, _("Organizer:"));
+ GRID_ATTACH_DATE(grid, event->start, _("Start:"));
+ GRID_ATTACH_DATE(grid, event->end, _("End:"));
+ GRID_ATTACH(grid, event->location, _("Location:"));
if (event->attendee) {
GList *att;
GString *all_atts = NULL;
- for (att = event->attendee; att; att = g_list_next(att)) {
+ for (att = event->attendee; att; att = att->next) {
LibBalsaAddress *lba = LIBBALSA_ADDRESS(att->data);
gchar *this_att = libbalsa_vcal_attendee_to_str(lba);
@@ -200,11 +209,12 @@ balsa_vevent_widget(LibBalsaVEvent * event, gboolean may_reply,
g_object_unref(ia);
}
}
- TABLE_ATTACH(table, all_atts->str,
- event->attendee->next ? _("Attendees") : _("Attendee"));
+ GRID_ATTACH(grid, all_atts->str,
+ ngettext("Attendee:", "Attendees:",
+ g_list_length(event->attendee)));
g_string_free(all_atts, TRUE);
}
- TABLE_ATTACH_TEXT(table, event->description, _("Description"));
+ GRID_ATTACH_TEXT(grid, event->description, _("Description:"));
if (sender && vevent_ident) {
GtkWidget *box = gtk_vbox_new(FALSE, 6);
@@ -223,7 +233,7 @@ balsa_vevent_widget(LibBalsaVEvent * event, gboolean may_reply,
(GDestroyNotify) g_object_unref);
/* pack everything into a box */
- gtk_container_add(GTK_CONTAINER(box), GTK_WIDGET(table));
+ gtk_container_add(GTK_CONTAINER(box), GTK_WIDGET(grid));
label =
gtk_label_new(_("The sender asks you for a reply to this request:"));
gtk_container_add(GTK_CONTAINER(box), label);
@@ -259,7 +269,7 @@ balsa_vevent_widget(LibBalsaVEvent * event, gboolean may_reply,
return box;
} else
- return GTK_WIDGET(table);
+ return GTK_WIDGET(grid);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]