[gnome-online-accounts] Fix and simplify the use of GtkGrid inside show_account



commit 8fe49f5cb49ea6c415cc0b2f58c3284b787518fb
Author: Debarshi Ray <debarshir gnome org>
Date:   Fri Aug 23 15:56:20 2013 +0200

    Fix and simplify the use of GtkGrid inside show_account
    
    There is no need to use two grids -- only one should be enough.
    To avoid breaking API and ABI during the freeze, we turn one of the
    GtkGrid* arguments passed to goa_provider_show_account into a dummy.
    
    One side-effect of this is that show_account is now a pure virtual
    method without any default implementation. But that is fine, since
    the default implementation was relatively trivial, and this is
    supposed to be internal to libgoa-backend.so.
    
    Fixes: https://bugzilla.gnome.org/706664

 src/goabackend/goaexchangeprovider.c    |   24 +++++------
 src/goabackend/goafacebookprovider.c    |   22 ++++-----
 src/goabackend/goaflickrprovider.c      |   20 ++++-----
 src/goabackend/goagoogleprovider.c      |   30 ++++++-------
 src/goabackend/goaimapsmtpprovider.c    |   29 ++++--------
 src/goabackend/goakerberosprovider.c    |   20 ++++----
 src/goabackend/goaowncloudprovider.c    |   26 +++++------
 src/goabackend/goaprovider.c            |   71 ++++++++++---------------------
 src/goabackend/goaprovider.h            |   26 ++++++------
 src/goabackend/goatelepathyprovider.c   |   21 ++++-----
 src/goabackend/goatwitterprovider.c     |   18 ++++----
 src/goabackend/goawindowsliveprovider.c |   24 +++++------
 src/goabackend/goayahooprovider.c       |   18 ++++----
 13 files changed, 148 insertions(+), 201 deletions(-)
---
diff --git a/src/goabackend/goaexchangeprovider.c b/src/goabackend/goaexchangeprovider.c
index 406629a..d32ffc9 100644
--- a/src/goabackend/goaexchangeprovider.c
+++ b/src/goabackend/goaexchangeprovider.c
@@ -932,28 +932,26 @@ show_account (GoaProvider         *provider,
               GoaClient           *client,
               GoaObject           *object,
               GtkBox              *vbox,
-              GtkGrid             *left,
-              GtkGrid             *right)
+              GtkGrid             *grid,
+              G_GNUC_UNUSED GtkGrid *dummy)
 {
-  /* Chain up */
-  GOA_PROVIDER_CLASS (goa_exchange_provider_parent_class)->show_account (provider,
-                                                                         client,
-                                                                         object,
-                                                                         vbox,
-                                                                         left,
-                                                                         right);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  gint row;
+
+  row = 0;
+
+  goa_util_add_account_info (grid, row++, object);
+
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    _("Use for"),
                                                    "mail-disabled",
                                                    _("_Mail"));
 
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    NULL,
                                                    "calendar-disabled",
                                                    _("Cale_ndar"));
 
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    NULL,
                                                    "contacts-disabled",
                                                    _("_Contacts"));
diff --git a/src/goabackend/goafacebookprovider.c b/src/goabackend/goafacebookprovider.c
index 442195d..56947ef 100644
--- a/src/goabackend/goafacebookprovider.c
+++ b/src/goabackend/goafacebookprovider.c
@@ -1,6 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 /*
- * Copyright (C) 2011, 2012 Red Hat, Inc.
+ * Copyright (C) 2011, 2012, 2013 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -402,18 +402,16 @@ show_account (GoaProvider         *provider,
               GoaClient           *client,
               GoaObject           *object,
               GtkBox              *vbox,
-              GtkGrid             *left,
-              GtkGrid             *right)
+              GtkGrid             *grid,
+              G_GNUC_UNUSED GtkGrid *dummy)
 {
-  /* Chain up */
-  GOA_PROVIDER_CLASS (goa_facebook_provider_parent_class)->show_account (provider,
-                                                                         client,
-                                                                         object,
-                                                                         vbox,
-                                                                         left,
-                                                                         right);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  gint row;
+
+  row = 0;
+
+  goa_util_add_account_info (grid, row++, object);
+
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    _("Use for"),
                                                    "chat-disabled",
                                                    _("C_hat"));
diff --git a/src/goabackend/goaflickrprovider.c b/src/goabackend/goaflickrprovider.c
index 0f02e70..66396ba 100644
--- a/src/goabackend/goaflickrprovider.c
+++ b/src/goabackend/goaflickrprovider.c
@@ -412,18 +412,16 @@ show_account (GoaProvider         *provider,
               GoaClient           *client,
               GoaObject           *object,
               GtkBox              *vbox,
-              GtkGrid             *left,
-              GtkGrid             *right)
+              GtkGrid             *grid,
+              G_GNUC_UNUSED GtkGrid *dummy)
 {
-  /* Chain up */
-  GOA_PROVIDER_CLASS (goa_flickr_provider_parent_class)->show_account (provider,
-                                                                       client,
-                                                                       object,
-                                                                       vbox,
-                                                                       left,
-                                                                       right);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  gint row;
+
+  row = 0;
+
+  goa_util_add_account_info (grid, row++, object);
+
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    _("Use for"),
                                                    "photos-disabled",
                                                    _("_Photos"));
diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c
index 75cb748..ef28cf6 100644
--- a/src/goabackend/goagoogleprovider.c
+++ b/src/goabackend/goagoogleprovider.c
@@ -1,6 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 /*
- * Copyright (C) 2011, 2012 Red Hat, Inc.
+ * Copyright (C) 2011, 2012, 2013 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -531,38 +531,36 @@ show_account (GoaProvider         *provider,
               GoaClient           *client,
               GoaObject           *object,
               GtkBox              *vbox,
-              GtkGrid             *left,
-              GtkGrid             *right)
+              GtkGrid             *grid,
+              G_GNUC_UNUSED GtkGrid *dummy)
 {
-  /* Chain up */
-  GOA_PROVIDER_CLASS (goa_google_provider_parent_class)->show_account (provider,
-                                                                       client,
-                                                                       object,
-                                                                       vbox,
-                                                                       left,
-                                                                       right);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  gint row;
+
+  row = 0;
+
+  goa_util_add_account_info (grid, row++, object);
+
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    _("Use for"),
                                                    "mail-disabled",
                                                    _("_Mail"));
 
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    NULL,
                                                    "calendar-disabled",
                                                    _("Cale_ndar"));
 
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    NULL,
                                                    "contacts-disabled",
                                                    _("_Contacts"));
 
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    NULL,
                                                    "chat-disabled",
                                                    _("C_hat"));
 
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    NULL,
                                                    "documents-disabled",
                                                    _("_Documents"));
diff --git a/src/goabackend/goaimapsmtpprovider.c b/src/goabackend/goaimapsmtpprovider.c
index b483651..6c83a87 100644
--- a/src/goabackend/goaimapsmtpprovider.c
+++ b/src/goabackend/goaimapsmtpprovider.c
@@ -1500,34 +1500,25 @@ show_account (GoaProvider         *provider,
               GoaClient           *client,
               GoaObject           *object,
               GtkBox              *vbox,
-              GtkGrid             *left,
-              GtkGrid             *right)
+              GtkGrid             *grid,
+              G_GNUC_UNUSED GtkGrid *dummy)
 {
-  GtkWidget *grid;
   const gchar *username;
   gchar *value_str;
   gchar *value_str_1;
   gint row;
 
-  goa_util_add_account_info (left, right, object);
-
-  grid = gtk_grid_new ();
-  gtk_widget_set_halign (grid, GTK_ALIGN_CENTER);
-  gtk_widget_set_hexpand (grid, TRUE);
-  gtk_widget_set_margin_left (grid, 9);
-  gtk_grid_set_column_spacing (GTK_GRID (grid), 12);
-  gtk_grid_set_row_spacing (GTK_GRID (grid), 6);
-  gtk_box_pack_end (vbox, grid, TRUE, TRUE, 0);
+  row = 0;
+  goa_util_add_account_info (grid, row++, object);
 
   username = g_get_user_name ();
-  row = 0;
 
   value_str = goa_util_lookup_keyfile_string (object, "EmailAddress");
-  show_label (grid, row++, _("E-mail"), value_str);
+  show_label (GTK_WIDGET (grid), row++, _("E-mail"), value_str);
   g_free (value_str);
 
   value_str = goa_util_lookup_keyfile_string (object, "Name");
-  show_label (grid, row++, _("Name"), value_str);
+  show_label (GTK_WIDGET (grid), row++, _("Name"), value_str);
   g_free (value_str);
 
   value_str = goa_util_lookup_keyfile_string (object, "ImapHost");
@@ -1537,10 +1528,10 @@ show_account (GoaProvider         *provider,
       gchar *tmp;
 
       tmp = g_strconcat (value_str_1, "@", value_str, NULL);
-      show_label (grid, row++, _("IMAP"), tmp);
+      show_label (GTK_WIDGET (grid), row++, _("IMAP"), tmp);
     }
   else
-      show_label (grid, row++, _("IMAP"), value_str);
+      show_label (GTK_WIDGET (grid), row++, _("IMAP"), value_str);
   g_free (value_str_1);
   g_free (value_str);
 
@@ -1551,10 +1542,10 @@ show_account (GoaProvider         *provider,
       gchar *tmp;
 
       tmp = g_strconcat (value_str_1, "@", value_str, NULL);
-      show_label (grid, row++, _("SMTP"), tmp);
+      show_label (GTK_WIDGET (grid), row++, _("SMTP"), tmp);
     }
   else
-      show_label (grid, row++, _("SMTP"), value_str);
+      show_label (GTK_WIDGET (grid), row++, _("SMTP"), value_str);
   g_free (value_str_1);
   g_free (value_str);
 }
diff --git a/src/goabackend/goakerberosprovider.c b/src/goabackend/goakerberosprovider.c
index 261f144..7423e25 100644
--- a/src/goabackend/goakerberosprovider.c
+++ b/src/goabackend/goakerberosprovider.c
@@ -1,6 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 /*
- * Copyright (C) 2012 Red Hat, Inc.
+ * Copyright (C) 2012, 2013 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -1718,16 +1718,16 @@ show_account (GoaProvider *provider,
               GoaClient   *client,
               GoaObject   *object,
               GtkBox      *vbox,
-              GtkGrid     *left,
-              GtkGrid     *right)
+              GtkGrid     *grid,
+              G_GNUC_UNUSED GtkGrid *dummy)
 {
-  GOA_PROVIDER_CLASS (goa_kerberos_provider_parent_class)->show_account (provider,
-                                                                         client,
-                                                                         object,
-                                                                         vbox,
-                                                                         left,
-                                                                         right);
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  gint row;
+
+  row = 0;
+
+  goa_util_add_account_info (grid, row++, object);
+
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    _("Use for"),
                                                    "ticketing-disabled",
                                                    _("Network _Resources"));
diff --git a/src/goabackend/goaowncloudprovider.c b/src/goabackend/goaowncloudprovider.c
index 9224c0d..b4d8178 100644
--- a/src/goabackend/goaowncloudprovider.c
+++ b/src/goabackend/goaowncloudprovider.c
@@ -1089,33 +1089,31 @@ show_account (GoaProvider         *provider,
               GoaClient           *client,
               GoaObject           *object,
               GtkBox              *vbox,
-              GtkGrid             *left,
-              GtkGrid             *right)
+              GtkGrid             *grid,
+              G_GNUC_UNUSED GtkGrid *dummy)
 {
-  /* Chain up */
-  GOA_PROVIDER_CLASS (goa_owncloud_provider_parent_class)->show_account (provider,
-                                                                         client,
-                                                                         object,
-                                                                         vbox,
-                                                                         left,
-                                                                         right);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  gint row;
+
+  row = 0;
+
+  goa_util_add_account_info (grid, row++, object);
+
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    _("Use for"),
                                                    "calendar-disabled",
                                                    _("Cale_ndar"));
 
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    NULL,
                                                    "contacts-disabled",
                                                    _("_Contacts"));
 
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    NULL,
                                                    "documents-disabled",
                                                    _("_Documents"));
 
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    NULL,
                                                    "files-disabled",
                                                    _("_Files"));
diff --git a/src/goabackend/goaprovider.c b/src/goabackend/goaprovider.c
index 22372ac..5d4385e 100644
--- a/src/goabackend/goaprovider.c
+++ b/src/goabackend/goaprovider.c
@@ -82,13 +82,6 @@ static gboolean goa_provider_build_object_real (GoaProvider         *provider,
                                                 gboolean             just_added,
                                                 GError             **error);
 
-static void goa_provider_show_account_real (GoaProvider         *provider,
-                                            GoaClient           *client,
-                                            GoaObject           *object,
-                                            GtkBox              *vbox,
-                                            GtkGrid             *left,
-                                            GtkGrid             *right);
-
 static guint goa_provider_get_credentials_generation_real (GoaProvider *provider);
 
 static GIcon *goa_provider_get_provider_icon_default (GoaProvider *provider,
@@ -163,7 +156,6 @@ goa_provider_class_init (GoaProviderClass *klass)
 
   klass->build_object = goa_provider_build_object_real;
   klass->ensure_credentials_sync = goa_provider_ensure_credentials_sync_real;
-  klass->show_account = goa_provider_show_account_real;
   klass->get_credentials_generation = goa_provider_get_credentials_generation_real;
   klass->get_provider_icon = goa_provider_get_provider_icon_default;
 
@@ -443,48 +435,30 @@ goa_provider_refresh_account (GoaProvider  *provider,
  * @client: A #GoaClient.
  * @object: A #GoaObject with a #GoaAccount interface.
  * @vbox: A vertically oriented #GtkBox to put content in.
- * @left: A vertically oriented #GtkGrid to put left-aligned content
- * in.
- * @right: A vertically oriented #GtkGrid to put right-aligned content
- * in.
+ * @grid: A #GtkGrid to put content in.
+ * @dummy: Unused.
  *
  * Method used to add widgets in the control panel for the account
  * represented by @object.
  *
- * This is a virtual method with an implementation that (currently)
- * does nothing. A subclass should chain up (before adding their own
- * widgets to @vbox, @left and @right) if they want to expose such
- * functionality.
+ * This is a pure virtual method - a subclass must provide an
+ * implementation.
  */
 void
 goa_provider_show_account (GoaProvider         *provider,
                            GoaClient           *client,
                            GoaObject           *object,
                            GtkBox              *vbox,
-                           GtkGrid             *left,
-                           GtkGrid             *right)
+                           GtkGrid             *grid,
+                           GtkGrid             *dummy)
 {
   g_return_if_fail (GOA_IS_PROVIDER (provider));
   g_return_if_fail (GOA_IS_CLIENT (client));
   g_return_if_fail (GOA_IS_OBJECT (object) && goa_object_peek_account (object) != NULL);
   g_return_if_fail (GTK_IS_BOX (vbox));
-  g_return_if_fail (GTK_IS_GRID (left));
-  g_return_if_fail (GTK_IS_GRID (right));
-
-  GOA_PROVIDER_GET_CLASS (provider)->show_account (provider, client, object, vbox, left, right);
-}
+  g_return_if_fail (GTK_IS_GRID (grid));
 
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
-goa_provider_show_account_real (GoaProvider         *provider,
-                                GoaClient           *client,
-                                GoaObject           *object,
-                                GtkBox              *vbox,
-                                GtkGrid             *left,
-                                GtkGrid             *right)
-{
-  goa_util_add_account_info (left, right, object);
+  GOA_PROVIDER_GET_CLASS (provider)->show_account (provider, client, object, vbox, grid, dummy);
 }
 
 /* ---------------------------------------------------------------------------------------------------- */
@@ -1154,15 +1128,14 @@ goa_provider_get_preseed_data (GoaProvider *provider)
  * Returns: (transfer none): The #GtkWidget that was inserted (e.g. @widget itself).
  */
 GtkWidget *
-goa_util_add_row_widget (GtkGrid      *left,
-                         GtkGrid      *right,
+goa_util_add_row_widget (GtkGrid      *grid,
+                         gint          row,
                          const gchar  *label_text,
                          GtkWidget    *widget)
 {
   GtkWidget *label;
 
-  g_return_val_if_fail (GTK_IS_GRID (left), NULL);
-  g_return_val_if_fail (GTK_IS_GRID (right), NULL);
+  g_return_val_if_fail (GTK_IS_GRID (grid), NULL);
   g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
 
   if (label_text != NULL)
@@ -1172,11 +1145,12 @@ goa_util_add_row_widget (GtkGrid      *left,
       label = gtk_label_new (label_text);
       context = gtk_widget_get_style_context (label);
       gtk_style_context_add_class (context, GTK_STYLE_CLASS_DIM_LABEL);
-      gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5);
-      gtk_container_add (GTK_CONTAINER (left), label);
+      gtk_widget_set_halign (label, GTK_ALIGN_END);
+      gtk_widget_set_hexpand (label, TRUE);
+      gtk_grid_attach (grid, label, 0, row, 1, 1);
     }
 
-  gtk_container_add (GTK_CONTAINER (right), widget);
+  gtk_grid_attach (grid, widget, 1, row, 3, 1);
   return widget;
 }
 
@@ -1309,7 +1283,7 @@ goa_util_account_notify_property_cb (GObject *object, GParamSpec *pspec, gpointe
 /* ---------------------------------------------------------------------------------------------------- */
 
 void
-goa_util_add_account_info (GtkGrid *left, GtkGrid *right, GoaObject *object)
+goa_util_add_account_info (GtkGrid *grid, gint row, GoaObject *object)
 {
   GIcon *icon;
   GoaAccount *account;
@@ -1326,9 +1300,10 @@ goa_util_add_account_info (GtkGrid *left, GtkGrid *right, GoaObject *object)
   icon = g_icon_new_for_string (icon_str, NULL);
   image = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_DIALOG);
   g_object_unref (icon);
-  gtk_misc_set_alignment (GTK_MISC (image), 1.0, 0.5);
+  gtk_widget_set_halign (image, GTK_ALIGN_END);
+  gtk_widget_set_hexpand (image, TRUE);
   gtk_widget_set_margin_bottom (image, 12);
-  gtk_container_add (GTK_CONTAINER (left), image);
+  gtk_grid_attach (grid, image, 0, row, 1, 1);
 
   name = goa_account_get_provider_name (account);
   identity = goa_account_get_presentation_identity (account);
@@ -1343,7 +1318,7 @@ goa_util_add_account_info (GtkGrid *left, GtkGrid *right, GoaObject *object)
   gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
   gtk_widget_set_margin_bottom (label, 12);
   g_free (markup);
-  gtk_container_add (GTK_CONTAINER (right), label);
+  gtk_grid_attach (grid, label, 1, row, 3, 1);
 
   return;
 }
@@ -1351,8 +1326,8 @@ goa_util_add_account_info (GtkGrid *left, GtkGrid *right, GoaObject *object)
 /* ---------------------------------------------------------------------------------------------------- */
 
 GtkWidget *
-goa_util_add_row_switch_from_keyfile_with_blurb (GtkGrid      *left,
-                                                 GtkGrid      *right,
+goa_util_add_row_switch_from_keyfile_with_blurb (GtkGrid      *grid,
+                                                 gint          row,
                                                  GoaObject    *object,
                                                  const gchar  *label_text,
                                                  const gchar  *property,
@@ -1394,6 +1369,6 @@ goa_util_add_row_switch_from_keyfile_with_blurb (GtkGrid      *left,
     }
 
   gtk_box_pack_end (GTK_BOX (hbox), switch_, FALSE, FALSE, 0);
-  goa_util_add_row_widget (left, right, label_text, hbox);
+  goa_util_add_row_widget (grid, row, label_text, hbox);
   return switch_;
 }
diff --git a/src/goabackend/goaprovider.h b/src/goabackend/goaprovider.h
index 67aa5fd..c108fe0 100644
--- a/src/goabackend/goaprovider.h
+++ b/src/goabackend/goaprovider.h
@@ -93,6 +93,12 @@ struct _GoaProviderClass
                                      GoaObject          *object,
                                      GtkWindow          *parent,
                                      GError            **error);
+  void         (*show_account)      (GoaProvider         *provider,
+                                     GoaClient           *client,
+                                     GoaObject           *object,
+                                     GtkBox              *vbox,
+                                     GtkGrid             *grid,
+                                     GtkGrid             *dummy);
   gboolean     (*build_object)      (GoaProvider        *provider,
                                      GoaObjectSkeleton  *object,
                                      GKeyFile           *key_file,
@@ -106,12 +112,6 @@ struct _GoaProviderClass
                                        gint                *out_expires_in,
                                        GCancellable        *cancellable,
                                        GError             **error);
-  void     (*show_account)            (GoaProvider         *provider,
-                                       GoaClient           *client,
-                                       GoaObject           *object,
-                                       GtkBox              *vbox,
-                                       GtkGrid             *left,
-                                       GtkGrid             *right);
   guint    (*get_credentials_generation) (GoaProvider   *provider);
 
   /* pure virtual */
@@ -149,8 +149,8 @@ void         goa_provider_show_account              (GoaProvider         *provid
                                                      GoaClient           *client,
                                                      GoaObject           *object,
                                                      GtkBox              *vbox,
-                                                     GtkGrid             *left,
-                                                     GtkGrid             *right);
+                                                     GtkGrid             *grid,
+                                                     GtkGrid             *dummy);
 gboolean     goa_provider_build_object              (GoaProvider         *provider,
                                                      GoaObjectSkeleton   *object,
                                                      GKeyFile            *key_file,
@@ -184,8 +184,8 @@ GoaProvider  *goa_provider_get_for_provider_type (const gchar *provider_type);
 
 /* ---------------------------------------------------------------------------------------------------- */
 
-GtkWidget *goa_util_add_row_widget (GtkGrid      *left,
-                                    GtkGrid      *right,
+GtkWidget *goa_util_add_row_widget (GtkGrid      *grid,
+                                    gint          row,
                                     const gchar  *label_text,
                                     GtkWidget    *widget);
 
@@ -200,10 +200,10 @@ goa_util_lookup_keyfile_boolean (GoaObject    *object,
 void
 goa_util_account_notify_property_cb (GObject *object, GParamSpec *pspec, gpointer user_data);
 
-void       goa_util_add_account_info (GtkGrid *left, GtkGrid *right, GoaObject *object);
+void       goa_util_add_account_info (GtkGrid *grid, gint row, GoaObject *object);
 
-GtkWidget *goa_util_add_row_switch_from_keyfile_with_blurb (GtkGrid      *left,
-                                                            GtkGrid      *right,
+GtkWidget *goa_util_add_row_switch_from_keyfile_with_blurb (GtkGrid      *grid,
+                                                            gint          row,
                                                             GoaObject    *object,
                                                             const gchar  *label_text,
                                                             const gchar  *key,
diff --git a/src/goabackend/goatelepathyprovider.c b/src/goabackend/goatelepathyprovider.c
index 2b53667..9e9d744 100644
--- a/src/goabackend/goatelepathyprovider.c
+++ b/src/goabackend/goatelepathyprovider.c
@@ -877,23 +877,20 @@ show_account (GoaProvider         *provider,
               GoaClient           *client,
               GoaObject           *object,
               GtkBox              *vbox,
-              GtkGrid             *left,
-              GtkGrid             *right)
+              GtkGrid             *grid,
+              G_GNUC_UNUSED GtkGrid *dummy)
 {
   EditData *data = NULL;
   GtkWidget *params_button = NULL;
   GtkWidget *details_button = NULL;
   GtkWidget *button_box = NULL;
+  gint row;
 
-  /* Chain up */
-  GOA_PROVIDER_CLASS (goa_telepathy_provider_parent_class)->show_account (provider,
-                                                                          client,
-                                                                          object,
-                                                                          vbox,
-                                                                          left,
-                                                                          right);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  row = 0;
+
+  goa_util_add_account_info (grid, row++, object);
+
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    _("Use for"),
                                                    "chat-disabled",
                                                    _("C_hat"));
@@ -915,7 +912,7 @@ show_account (GoaProvider         *provider,
   gtk_box_pack_start (GTK_BOX (button_box), details_button,
       FALSE, FALSE, 0);
 
-  goa_util_add_row_widget (left, right, NULL, button_box);
+  goa_util_add_row_widget (grid, row++, NULL, button_box);
 
   edit_data_unref (data);
 }
diff --git a/src/goabackend/goatwitterprovider.c b/src/goabackend/goatwitterprovider.c
index 0cd24b5..f38840a 100644
--- a/src/goabackend/goatwitterprovider.c
+++ b/src/goabackend/goatwitterprovider.c
@@ -1,6 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 /*
- * Copyright (C) 2011, 2012 Red Hat, Inc.
+ * Copyright (C) 2011, 2012, 2013 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -273,16 +273,14 @@ show_account (GoaProvider         *provider,
               GoaClient           *client,
               GoaObject           *object,
               GtkBox              *vbox,
-              GtkGrid             *left,
-              GtkGrid             *right)
+              GtkGrid             *grid,
+              G_GNUC_UNUSED GtkGrid *dummy)
 {
-  /* Chain up */
-  GOA_PROVIDER_CLASS (goa_twitter_provider_parent_class)->show_account (provider,
-                                                                        client,
-                                                                        object,
-                                                                        vbox,
-                                                                        left,
-                                                                        right);
+  gint row;
+
+  row = 0;
+
+  goa_util_add_account_info (grid, row++, object);
 }
 
 /* ---------------------------------------------------------------------------------------------------- */
diff --git a/src/goabackend/goawindowsliveprovider.c b/src/goabackend/goawindowsliveprovider.c
index bcfb460..264d630 100644
--- a/src/goabackend/goawindowsliveprovider.c
+++ b/src/goabackend/goawindowsliveprovider.c
@@ -1,6 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 /*
- * Copyright (C) 2011 Red Hat, Inc.
+ * Copyright (C) 2011, 2012, 2013 Red Hat, Inc.
  * Copyright (C) 2011 Collabora Ltd.
  *
  * This library is free software; you can redistribute it and/or
@@ -417,23 +417,21 @@ show_account (GoaProvider         *provider,
               GoaClient           *client,
               GoaObject           *object,
               GtkBox              *vbox,
-              GtkGrid             *left,
-              GtkGrid             *right)
+              GtkGrid             *grid,
+              G_GNUC_UNUSED GtkGrid *dummy)
 {
-  /* Chain up */
-  GOA_PROVIDER_CLASS (goa_windows_live_provider_parent_class)->show_account (provider,
-                                                                             client,
-                                                                             object,
-                                                                             vbox,
-                                                                             left,
-                                                                             right);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  gint row;
+
+  row = 0;
+
+  goa_util_add_account_info (grid, row++, object);
+
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    _("Use for"),
                                                    "chat-disabled",
                                                    _("C_hat"));
 
-  goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
                                                    NULL,
                                                    "documents-disabled",
                                                    _("_Documents"));
diff --git a/src/goabackend/goayahooprovider.c b/src/goabackend/goayahooprovider.c
index f3b4373..da59986 100644
--- a/src/goabackend/goayahooprovider.c
+++ b/src/goabackend/goayahooprovider.c
@@ -1,6 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 /*
- * Copyright (C) 2011, 2012 Red Hat, Inc.
+ * Copyright (C) 2011, 2012, 2013 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -396,16 +396,14 @@ show_account (GoaProvider         *provider,
               GoaClient           *client,
               GoaObject           *object,
               GtkBox              *vbox,
-              GtkGrid             *left,
-              GtkGrid             *right)
+              GtkGrid             *grid,
+              G_GNUC_UNUSED GtkGrid *dummy)
 {
-  /* Chain up */
-  GOA_PROVIDER_CLASS (goa_yahoo_provider_parent_class)->show_account (provider,
-                                                                      client,
-                                                                      object,
-                                                                      vbox,
-                                                                      left,
-                                                                      right);
+  gint row;
+
+  row = 0;
+
+  goa_util_add_account_info (grid, row++, object);
 
   /* TODO: look up email address / screenname from GUID */
 }


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