[balsa/gtk3] Migrate from GtkTable to GtkGrid



commit e323296a8965d0bc0e559822b986c1115fee4738
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Mon Oct 3 22:13:10 2011 -0400

    Migrate from GtkTable to GtkGrid
    
    	* libinit_balsa/assistant_helper.c (balsa_init_add_grid_entry),
    	(balsa_init_add_grid_option), (balsa_init_add_grid_checkbox):
    	* libinit_balsa/assistant_helper.h:
    	* libinit_balsa/assistant_page_directory.c
    	(balsa_druid_page_directory_init):
    	* libinit_balsa/assistant_page_user.c (balsa_druid_page_user_init):

 ChangeLog                                |   11 +++++++
 libinit_balsa/assistant_helper.c         |   44 ++++++++++++++---------------
 libinit_balsa/assistant_helper.h         |   20 +++++++-------
 libinit_balsa/assistant_page_directory.c |   28 ++++++++++---------
 libinit_balsa/assistant_page_user.c      |   40 ++++++++++++++++-----------
 5 files changed, 81 insertions(+), 62 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index f7571ca..4b90a52 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2011-10-03  Peter Bloomfield
 
+	Migrate from GtkTable to GtkGrid
+
+	* libinit_balsa/assistant_helper.c (balsa_init_add_grid_entry),
+	(balsa_init_add_grid_option), (balsa_init_add_grid_checkbox):
+	* libinit_balsa/assistant_helper.h:
+	* libinit_balsa/assistant_page_directory.c
+	(balsa_druid_page_directory_init):
+	* libinit_balsa/assistant_page_user.c (balsa_druid_page_user_init):
+
+2011-10-03  Peter Bloomfield
+
 	* libbalsa/smtp-server.c (smtp_server_add_widget),
 	(libbalsa_smtp_server_dialog): migrate from GtkTable to GtkGrid.
 
diff --git a/libinit_balsa/assistant_helper.c b/libinit_balsa/assistant_helper.c
index 4ed199c..e972ebd 100644
--- a/libinit_balsa/assistant_helper.c
+++ b/libinit_balsa/assistant_helper.c
@@ -74,23 +74,23 @@ balsa_init_get_png(const gchar * fname)
 }
 
 void
-balsa_init_add_table_entry(GtkTable * table, guint num, const gchar * ltext,
-                           const gchar * etext, EntryData * ed,
-                           GtkAssistant * druid, GtkWidget *page,
-                           GtkWidget ** dest)
+balsa_init_add_grid_entry(GtkGrid * grid, guint num, const gchar * ltext,
+                          const gchar * etext, EntryData * ed,
+                          GtkAssistant * druid, GtkWidget *page,
+                          GtkWidget ** dest)
 {
     GtkWidget *l, *e;
 
     l = gtk_label_new_with_mnemonic(ltext);
     gtk_label_set_justify(GTK_LABEL(l), GTK_JUSTIFY_RIGHT);
-    gtk_misc_set_alignment(GTK_MISC(l), 1.0, 0.5);
-    gtk_table_attach(table, GTK_WIDGET(l), 0, 1, num + 1, num + 2,
-                     GTK_FILL, GTK_FILL, 5, 2);
+    gtk_widget_set_halign(l, GTK_ALIGN_END);
+    gtk_grid_attach(grid, l, 0, num + 1, 1, 1);
 
     e = gtk_entry_new();
     gtk_label_set_mnemonic_widget(GTK_LABEL(l), e);
-    gtk_table_attach(table, GTK_WIDGET(e), 1, 2, num + 1, num + 2,
-                     GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 2);
+    gtk_widget_set_hexpand(e, TRUE);
+    gtk_widget_set_vexpand(e, TRUE);
+    gtk_grid_attach(grid, e, 1, num + 1, 1, 1);
     (*dest) = e;
     if(ed) {
         g_signal_connect(G_OBJECT(e), "changed",
@@ -135,7 +135,7 @@ entry_changed_cb(GtkEntry * entry, EntryData * ed)
 
 
 void
-balsa_init_add_table_option(GtkTable *table, guint num,
+balsa_init_add_grid_option(GtkGrid *grid, guint num,
                             const gchar *ltext, const gchar **optns,
                             GtkAssistant *druid, GtkWidget **dest)
 {
@@ -143,17 +143,17 @@ balsa_init_add_table_option(GtkTable *table, guint num,
     int i;
     l = gtk_label_new_with_mnemonic(ltext);
     gtk_label_set_justify(GTK_LABEL(l), GTK_JUSTIFY_RIGHT);
-    gtk_misc_set_alignment(GTK_MISC(l), 1.0, 0.5);
-    gtk_table_attach(table, l, 0, 1, num + 1, num + 2,
-                     GTK_FILL, GTK_FILL, 5, 2);
+    gtk_widget_set_halign(l, GTK_ALIGN_END);
+    gtk_grid_attach(grid, l, 0, num + 1, 1, 1);
 
     *dest = om = gtk_combo_box_text_new();
     for(i=0; optns[i]; i++)
         gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(om), _(optns[i]));
     gtk_label_set_mnemonic_widget(GTK_LABEL(l), om);
     gtk_combo_box_set_active(GTK_COMBO_BOX(om), 0);
-    gtk_table_attach(table, om, 1, 2, num + 1, num + 2,
-                     GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 2);
+    gtk_widget_set_hexpand(om, TRUE);
+    gtk_widget_set_vexpand(om, TRUE);
+    gtk_grid_attach(grid, om, 1, num + 1, 1, 1);
 }
 
 gint
@@ -163,21 +163,19 @@ balsa_option_get_active(GtkWidget *option_widget)
 }
 
 void
-balsa_init_add_table_checkbox(GtkTable *table, guint num,
-                              const gchar *ltext, gboolean defval,
-                              GtkAssistant *druid, GtkWidget **dest)
+balsa_init_add_grid_checkbox(GtkGrid *grid, guint num,
+                             const gchar *ltext, gboolean defval,
+                             GtkAssistant *druid, GtkWidget **dest)
 {
     GtkWidget *l;
 
     l = gtk_label_new_with_mnemonic(ltext);
     gtk_label_set_justify(GTK_LABEL(l), GTK_JUSTIFY_RIGHT);
-    gtk_misc_set_alignment(GTK_MISC(l), 1.0, 0.5);
-    gtk_table_attach(table, l, 0, 1, num + 1, num + 2,
-                     GTK_FILL, GTK_FILL, 5, 2);
+    gtk_widget_set_halign(l, GTK_ALIGN_END);
+    gtk_grid_attach(grid, l, 0, num + 1, 1, 1);
 
     *dest = gtk_check_button_new();
-    gtk_table_attach(table, *dest, 1, 2, num + 1, num + 2,
-                     GTK_FILL, GTK_FILL, 5, 2);
+    gtk_grid_attach(grid, *dest, 1, num + 1, 1, 1);
     if(defval)
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(*dest), TRUE);
     gtk_label_set_mnemonic_widget(GTK_LABEL(l), *dest);
diff --git a/libinit_balsa/assistant_helper.h b/libinit_balsa/assistant_helper.h
index 5ad1576..902a9d0 100644
--- a/libinit_balsa/assistant_helper.h
+++ b/libinit_balsa/assistant_helper.h
@@ -48,16 +48,16 @@ struct EntryMaster_s {
 
 GdkPixbuf *balsa_init_get_png(const gchar * fname);
 
-void balsa_init_add_table_entry(GtkTable * table, guint num, const gchar * ltext,
-                                const gchar * etext, EntryData * ed,
-                                GtkAssistant * druid, GtkWidget *page,
-                                GtkWidget ** dest);
-void balsa_init_add_table_option(GtkTable *table, guint num,
-                                 const gchar *ltext, const gchar **optns,
-                                 GtkAssistant *druid, GtkWidget **dest);
-void balsa_init_add_table_checkbox(GtkTable *table, guint num,
-                                   const gchar *ltext, gboolean defval,
-                                   GtkAssistant *druid, GtkWidget **dest);
+void balsa_init_add_grid_entry(GtkGrid * grid, guint num, const gchar * ltext,
+                               const gchar * etext, EntryData * ed,
+                               GtkAssistant * druid, GtkWidget *page,
+                               GtkWidget ** dest);
+void balsa_init_add_grid_option(GtkGrid *grid, guint num,
+                                const gchar *ltext, const gchar **optns,
+                                GtkAssistant *druid, GtkWidget **dest);
+void balsa_init_add_grid_checkbox(GtkGrid *grid, guint num,
+                                  const gchar *ltext, gboolean defval,
+                                  GtkAssistant *druid, GtkWidget **dest);
 gint balsa_option_get_active(GtkWidget *option_widget);
 
 gboolean balsa_init_create_to_directory(const gchar * dir,
diff --git a/libinit_balsa/assistant_page_directory.c b/libinit_balsa/assistant_page_directory.c
index f06ead8..4abbf7b 100644
--- a/libinit_balsa/assistant_page_directory.c
+++ b/libinit_balsa/assistant_page_directory.c
@@ -183,7 +183,8 @@ balsa_druid_page_directory_init(BalsaDruidPageDirectory * dir,
                                 GtkWidget * page,
                                 GtkAssistant * druid)
 {
-    GtkTable *table;
+    GtkGrid *grid;
+    GtkWidget *label_widget;
     GtkLabel *label;
     int i;
     GtkWidget **init_widgets[NUM_EDs];
@@ -196,18 +197,19 @@ balsa_druid_page_directory_init(BalsaDruidPageDirectory * dir,
     dir->emaster.numentries = 0;
     dir->emaster.donemask = 0;
 
-    table = GTK_TABLE(gtk_table_new(NUM_EDs + 1, 2, FALSE));
+    grid = GTK_GRID(gtk_grid_new());
+    gtk_grid_set_column_spacing(grid, 6);
 
-    label =
-        GTK_LABEL(gtk_label_new
-                  (_
-                   ("Please verify the locations of your default mail files.\n"
-                    "These will be created if necessary.")));
+    label_widget = gtk_label_new(_("Please verify the locations "
+                                   "of your default mail files. "
+                                   "These will be created if necessary."));
+    label = GTK_LABEL(label_widget);
     gtk_label_set_justify(label, GTK_JUSTIFY_RIGHT);
     gtk_label_set_line_wrap(label, TRUE);
+    gtk_widget_set_hexpand(label_widget, TRUE);
+    gtk_widget_set_vexpand(label_widget, TRUE);
 
-    gtk_table_attach(table, GTK_WIDGET(label), 0, 2, 0, 1,
-                     GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 8, 4);
+    gtk_grid_attach(grid, GTK_WIDGET(label), 0, 0, 2, 1);
 
     if (0 /* FIXME: libbalsa_mailbox_exists(imap_inbox) */ )
         init_presets[INBOX] = imap_inbox;
@@ -233,19 +235,19 @@ balsa_druid_page_directory_init(BalsaDruidPageDirectory * dir,
             preset = g_strdup("[Dummy value]");
 
 #if defined(ENABLE_TOUCH_UI)
-        balsa_init_add_table_entry(table, i, init_mbnames[i], preset,
+        balsa_init_add_grid_entry(grid, i, init_mbnames[i], preset,
                                    &(dir->ed[i]), druid, page, init_widgets[i]);
 #else
-        balsa_init_add_table_entry(table, i, _(init_mbnames[i]), preset,
+        balsa_init_add_grid_entry(grid, i, _(init_mbnames[i]), preset,
                                    &(dir->ed[i]), druid, page, init_widgets[i]);
 #endif
 
         g_free(preset);
     }
 
-    gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(table), FALSE, TRUE,
+    gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(grid), FALSE, TRUE,
                        8);
-    gtk_widget_show_all(GTK_WIDGET(table));
+    gtk_widget_show_all(GTK_WIDGET(grid));
 
     g_signal_connect(G_OBJECT(druid), "prepare",
                      G_CALLBACK(balsa_druid_page_directory_prepare),
diff --git a/libinit_balsa/assistant_page_user.c b/libinit_balsa/assistant_page_user.c
index 8635538..578a582 100644
--- a/libinit_balsa/assistant_page_user.c
+++ b/libinit_balsa/assistant_page_user.c
@@ -57,7 +57,7 @@ balsa_druid_page_user_init(BalsaDruidPageUser * user,
         N_("The following settings are also needed "
            "(and you can find them later, if need be, in the Email "
            "application in the 'Preferences' and 'Identities' "
-           "commands on the 'Tools' menu)");
+           "menu items)");
 #if 0
     static const char *header21 =
         N_(" Whoever provides your email account should be able "
@@ -68,7 +68,7 @@ balsa_druid_page_user_init(BalsaDruidPageUser * user,
     static const char* server_types[] = { "POP3", "IMAP", NULL };
     static const char* remember_passwd[] = {
         N_("Yes, remember it"), N_("No, type it in every time"), NULL };
-    GtkTable *table;
+    GtkGrid *grid;
     GtkLabel *label;
     gchar *preset;
     int row = 0;
@@ -89,33 +89,41 @@ balsa_druid_page_user_init(BalsaDruidPageUser * user,
     gtk_label_set_line_wrap(label, TRUE);
     gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(label), FALSE, TRUE, 0);
 
-    table = GTK_TABLE(gtk_table_new(10, 2, FALSE));
+    grid = GTK_GRID(gtk_grid_new());
+#if GTK_CHECK_VERSION(3, 0, 2)
+    gtk_grid_set_row_spacing(grid, 2);
+    gtk_grid_set_column_spacing(grid, 5);
+#else                   /* GTK_CHECK_VERSION(3, 0, 2) */
+    /* work around row <=> column spacing bug */
+    gtk_grid_set_row_spacing(grid, 5);
+    gtk_grid_set_column_spacing(grid, 2);
+#endif                  /* GTK_CHECK_VERSION(3, 0, 2) */
 
 #if 0
     label = GTK_LABEL(gtk_label_new(_(header21)));
     gtk_label_set_justify(label, GTK_JUSTIFY_CENTER);
     gtk_label_set_line_wrap(label, TRUE);
-    gtk_table_attach(table, GTK_WIDGET(label), 0, 2, 0, 1,
+    gtk_grid_attach(grid, GTK_WIDGET(label), 0, 2, 0, 1,
                      GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 8, 4);
 #endif
     /* 2.1 */
-    balsa_init_add_table_entry(table, row++,
+    balsa_init_add_grid_entry(grid, row++,
                                _("Name of mail server for incoming _mail:"),
                                "", /* no guessing here */
                                NULL, druid, page, &(user->incoming_srv));
 
-    balsa_init_add_table_option(table, row++,
+    balsa_init_add_grid_option(grid, row++,
                                 _("_Type of mail server:"),
                                server_types, druid, &(user->incoming_type));
 
-    balsa_init_add_table_checkbox(table, row++,
+    balsa_init_add_grid_checkbox(grid, row++,
                                   _("Connect using _SSL:"), FALSE,
                                   druid, &(user->using_ssl));
 
-    balsa_init_add_table_entry(table, row++, _("Your email _login name:"),
+    balsa_init_add_grid_entry(grid, row++, _("Your email _login name:"),
                                g_get_user_name(),
                                NULL, druid, page, &(user->login));
-    balsa_init_add_table_entry(table, row++, _("Your _password:"),
+    balsa_init_add_grid_entry(grid, row++, _("Your _password:"),
                                "",
                                NULL, druid, page, &(user->passwd));
     gtk_entry_set_visibility(GTK_ENTRY(user->passwd), FALSE);
@@ -123,35 +131,35 @@ balsa_druid_page_user_init(BalsaDruidPageUser * user,
 
 #if ENABLE_ESMTP
     preset = "localhost:25";
-    balsa_init_add_table_entry(table, row++, _("_SMTP Server:"), preset,
+    balsa_init_add_grid_entry(grid, row++, _("_SMTP Server:"), preset,
                                &(user->ed2), druid, page, &(user->smtp));
 #endif
 
     /* 2.1 */
-    balsa_init_add_table_entry(table, row++, _("Your real _name:"),
+    balsa_init_add_grid_entry(grid, row++, _("Your real _name:"),
                                g_get_real_name(),
                                &(user->ed0), druid, page, &(user->name));
 
     preset = libbalsa_guess_email_address();
-    balsa_init_add_table_entry
-        (table, row++, _("Your _Email Address, for this email account:"),
+    balsa_init_add_grid_entry
+        (grid, row++, _("Your _Email Address, for this email account:"),
          preset, &(user->ed1), druid, page, &(user->email));
     g_free(preset);
 
-    balsa_init_add_table_option(table, row++,
+    balsa_init_add_grid_option(grid, row++,
                                 _("_Remember your password:"),
                                 remember_passwd, druid,
                                 &(user->remember_passwd));
 
 #if !defined(ENABLE_TOUCH_UI)
     preset = g_strconcat(g_get_home_dir(), "/mail", NULL);
-    balsa_init_add_table_entry(table, row++, _("_Local mail directory:"),
+    balsa_init_add_grid_entry(grid, row++, _("_Local mail directory:"),
                                preset,
                                &(user->ed4), druid, page,
                                &(user->localmaildir));
     g_free(preset);
 #endif
-    gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(table), FALSE, FALSE, 8);
+    gtk_box_pack_start(GTK_BOX(page), GTK_WIDGET(grid), FALSE, FALSE, 3);
 
     user->need_set = FALSE;
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]