[gnome-online-accounts] providers: Use default implementation of ::show_account()



commit 6111c9695f218918a91d18c57c816ba7e4a1594a
Author: Christophe Fergeau <cfergeau redhat com>
Date:   Sat May 2 00:20:16 2015 +0200

    providers: Use default implementation of ::show_account()
    
    This commit removes quite a bit of duplicated code from the various
    providers now that we have a generic default GoaProvider::show_account()
    implementation.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=752941

 src/goabackend/goaexchangeprovider.c    |   35 ------------------
 src/goabackend/goafacebookprovider.c    |   30 ---------------
 src/goabackend/goaflickrprovider.c      |   25 -------------
 src/goabackend/goafoursquareprovider.c  |   25 -------------
 src/goabackend/goagoogleprovider.c      |   60 -------------------------------
 src/goabackend/goakerberosprovider.c    |   23 ------------
 src/goabackend/goamediaserverprovider.c |   21 -----------
 src/goabackend/goaowncloudprovider.c    |   40 --------------------
 src/goabackend/goapocketprovider.c      |   25 -------------
 src/goabackend/goatelepathyprovider.c   |   20 ++++-------
 src/goabackend/goawindowsliveprovider.c |   30 ---------------
 11 files changed, 7 insertions(+), 327 deletions(-)
---
diff --git a/src/goabackend/goaexchangeprovider.c b/src/goabackend/goaexchangeprovider.c
index c425be1..466cade 100644
--- a/src/goabackend/goaexchangeprovider.c
+++ b/src/goabackend/goaexchangeprovider.c
@@ -920,40 +920,6 @@ refresh_account (GoaProvider    *provider,
 /* ---------------------------------------------------------------------------------------------------- */
 
 static void
-show_account (GoaProvider         *provider,
-              GoaClient           *client,
-              GoaObject           *object,
-              GtkBox              *vbox,
-              GtkGrid             *grid,
-              G_GNUC_UNUSED GtkGrid *dummy)
-{
-  gint row;
-
-  row = 0;
-
-  goa_util_add_account_info (grid, row++, object);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   /* Translators: This is a label for a series of
-                                                    * options switches. For example: “Use for Mail”. */
-                                                   _("Use for"),
-                                                   "mail-disabled",
-                                                   _("_Mail"));
-
-  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 (grid, row++, object,
-                                                   NULL,
-                                                   "contacts-disabled",
-                                                   _("_Contacts"));
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
 goa_exchange_provider_init (GoaExchangeProvider *self)
 {
 }
@@ -971,7 +937,6 @@ goa_exchange_provider_class_init (GoaExchangeProviderClass *klass)
   provider_class->add_account                = add_account;
   provider_class->refresh_account            = refresh_account;
   provider_class->build_object               = build_object;
-  provider_class->show_account               = show_account;
   provider_class->ensure_credentials_sync    = ensure_credentials_sync;
 }
 
diff --git a/src/goabackend/goafacebookprovider.c b/src/goabackend/goafacebookprovider.c
index 15d184c..34e1ccf 100644
--- a/src/goabackend/goafacebookprovider.c
+++ b/src/goabackend/goafacebookprovider.c
@@ -408,35 +408,6 @@ build_object (GoaProvider         *provider,
 /* ---------------------------------------------------------------------------------------------------- */
 
 static void
-show_account (GoaProvider         *provider,
-              GoaClient           *client,
-              GoaObject           *object,
-              GtkBox              *vbox,
-              GtkGrid             *grid,
-              G_GNUC_UNUSED GtkGrid *dummy)
-{
-  gint row;
-
-  row = 0;
-
-  goa_util_add_account_info (grid, row++, object);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   /* Translators: This is a label for a series of
-                                                    * options switches. For example: “Use for Mail”. */
-                                                   _("Use for"),
-                                                   "photos-disabled",
-                                                   _("_Photos"));
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   NULL,
-                                                   "maps-disabled",
-                                                   _("_Maps"));
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
 add_account_key_values (GoaOAuth2Provider *oauth2_provider,
                         GVariantBuilder   *builder)
 {
@@ -463,7 +434,6 @@ goa_facebook_provider_class_init (GoaFacebookProviderClass *klass)
   provider_class->get_provider_group         = get_provider_group;
   provider_class->get_provider_features      = get_provider_features;
   provider_class->build_object               = build_object;
-  provider_class->show_account               = show_account;
   provider_class->get_credentials_generation = get_credentials_generation;
 
   oauth2_class = GOA_OAUTH2_PROVIDER_CLASS (klass);
diff --git a/src/goabackend/goaflickrprovider.c b/src/goabackend/goaflickrprovider.c
index cc664e9..d087320 100644
--- a/src/goabackend/goaflickrprovider.c
+++ b/src/goabackend/goaflickrprovider.c
@@ -394,30 +394,6 @@ build_object (GoaProvider         *provider,
 /* ---------------------------------------------------------------------------------------------------- */
 
 static void
-show_account (GoaProvider         *provider,
-              GoaClient           *client,
-              GoaObject           *object,
-              GtkBox              *vbox,
-              GtkGrid             *grid,
-              G_GNUC_UNUSED GtkGrid *dummy)
-{
-  gint row;
-
-  row = 0;
-
-  goa_util_add_account_info (grid, row++, object);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   /* Translators: This is a label for a series of
-                                                    * options switches. For example: “Use for Mail”. */
-                                                   _("Use for"),
-                                                   "photos-disabled",
-                                                   _("_Photos"));
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
 add_account_key_values (GoaOAuthProvider  *oauth_provider,
                         GVariantBuilder   *builder)
 {
@@ -443,7 +419,6 @@ goa_flickr_provider_class_init (GoaFlickrProviderClass *klass)
   provider_class->get_provider_group         = get_provider_group;
   provider_class->get_provider_features      = get_provider_features;
   provider_class->build_object          = build_object;
-  provider_class->show_account          = show_account;
 
   oauth_class = GOA_OAUTH_PROVIDER_CLASS (klass);
   oauth_class->get_identity_sync        = get_identity_sync;
diff --git a/src/goabackend/goafoursquareprovider.c b/src/goabackend/goafoursquareprovider.c
index b162b55..a0f4b50 100644
--- a/src/goabackend/goafoursquareprovider.c
+++ b/src/goabackend/goafoursquareprovider.c
@@ -386,30 +386,6 @@ get_use_mobile_browser (GoaOAuth2Provider *oauth2_provider)
 /* ---------------------------------------------------------------------------------------------------- */
 
 static void
-show_account (GoaProvider         *provider,
-              GoaClient           *client,
-              GoaObject           *object,
-              GtkBox              *vbox,
-              GtkGrid             *grid,
-              G_GNUC_UNUSED GtkGrid *dummy)
-{
-  gint row;
-
-  row = 0;
-
-  goa_util_add_account_info (grid, row++, object);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   /* Translators: This is a label for a series of
-                                                    * options switches. For example: “Use for Mail”. */
-                                                   _("Use for"),
-                                                   "maps-disabled",
-                                                   _("_Maps"));
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
 add_account_key_values (GoaOAuth2Provider *oauth2_provider,
                         GVariantBuilder   *builder)
 {
@@ -435,7 +411,6 @@ goa_foursquare_provider_class_init (GoaFoursquareProviderClass *klass)
   provider_class->get_provider_group         = get_provider_group;
   provider_class->get_provider_features      = get_provider_features;
   provider_class->build_object               = build_object;
-  provider_class->show_account               = show_account;
 
   oauth2_class = GOA_OAUTH2_PROVIDER_CLASS (klass);
   oauth2_class->get_authorization_uri    = get_authorization_uri;
diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c
index 23e9d3f..f1cc078 100644
--- a/src/goabackend/goagoogleprovider.c
+++ b/src/goabackend/goagoogleprovider.c
@@ -596,65 +596,6 @@ build_object (GoaProvider         *provider,
 /* ---------------------------------------------------------------------------------------------------- */
 
 static void
-show_account (GoaProvider         *provider,
-              GoaClient           *client,
-              GoaObject           *object,
-              GtkBox              *vbox,
-              GtkGrid             *grid,
-              G_GNUC_UNUSED GtkGrid *dummy)
-{
-  gint row;
-
-  row = 0;
-
-  goa_util_add_account_info (grid, row++, object);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   /* Translators: This is a label for a series of
-                                                    * options switches. For example: “Use for Mail”. */
-                                                   _("Use for"),
-                                                   "mail-disabled",
-                                                   _("_Mail"));
-
-  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 (grid, row++, object,
-                                                   NULL,
-                                                   "contacts-disabled",
-                                                   _("_Contacts"));
-
-  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 (grid, row++, object,
-                                                   NULL,
-                                                   "documents-disabled",
-                                                   _("_Documents"));
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   NULL,
-                                                   "photos-disabled",
-                                                   _("_Photos"));
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   NULL,
-                                                   "files-disabled",
-                                                   _("_Files"));
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   NULL,
-                                                   "printers-disabled",
-                                                   _("Prin_ters"));
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
 add_account_key_values (GoaOAuth2Provider  *oauth2_provider,
                         GVariantBuilder   *builder)
 {
@@ -687,7 +628,6 @@ goa_google_provider_class_init (GoaGoogleProviderClass *klass)
   provider_class->get_provider_group         = get_provider_group;
   provider_class->get_provider_features      = get_provider_features;
   provider_class->build_object               = build_object;
-  provider_class->show_account               = show_account;
   provider_class->get_credentials_generation = get_credentials_generation;
 
   oauth2_class = GOA_OAUTH2_PROVIDER_CLASS (klass);
diff --git a/src/goabackend/goakerberosprovider.c b/src/goabackend/goakerberosprovider.c
index 4dd5a1b..2a13158 100644
--- a/src/goabackend/goakerberosprovider.c
+++ b/src/goabackend/goakerberosprovider.c
@@ -1305,28 +1305,6 @@ start_over:
   return object;
 }
 
-static void
-show_account (GoaProvider *provider,
-              GoaClient   *client,
-              GoaObject   *object,
-              GtkBox      *vbox,
-              GtkGrid     *grid,
-              G_GNUC_UNUSED GtkGrid *dummy)
-{
-  gint row;
-
-  row = 0;
-
-  goa_util_add_account_info (grid, row++, object);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   /* Translators: This is a label for a series of
-                                                    * options switches. For example: “Use for Mail”. */
-                                                   _("Use for"),
-                                                   "ticketing-disabled",
-                                                   _("Network _Resources"));
-}
-
 static gboolean
 dbus_proxy_reload_properties_sync (GDBusProxy    *proxy,
                                    GCancellable  *cancellable)
@@ -1693,6 +1671,5 @@ goa_kerberos_provider_class_init (GoaKerberosProviderClass *kerberos_class)
   provider_class->build_object               = build_object;
   provider_class->add_account                = add_account;
   provider_class->refresh_account            = refresh_account;
-  provider_class->show_account               = show_account;
   provider_class->ensure_credentials_sync    = ensure_credentials_sync;
 }
diff --git a/src/goabackend/goamediaserverprovider.c b/src/goabackend/goamediaserverprovider.c
index eded24c..67c572d 100644
--- a/src/goabackend/goamediaserverprovider.c
+++ b/src/goabackend/goamediaserverprovider.c
@@ -571,26 +571,6 @@ refresh_account (GoaProvider  *provider,
 /* ---------------------------------------------------------------------------------------------------- */
 
 static void
-show_account (GoaProvider         *provider,
-              GoaClient           *client,
-              GoaObject           *object,
-              GtkBox              *vbox,
-              GtkGrid             *grid,
-              GtkGrid             *right)
-{
-  gint 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"));
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
 goa_media_server_provider_dispose (GObject *object)
 {
   GoaMediaServerProvider *self = GOA_MEDIA_SERVER_PROVIDER (object);
@@ -621,6 +601,5 @@ goa_media_server_provider_class_init (GoaMediaServerProviderClass *klass)
   provider_class->add_account             = add_account;
   provider_class->refresh_account         = refresh_account;
   provider_class->build_object            = build_object;
-  provider_class->show_account            = show_account;
   provider_class->ensure_credentials_sync = ensure_credentials_sync;
 }
diff --git a/src/goabackend/goaowncloudprovider.c b/src/goabackend/goaowncloudprovider.c
index ea3f521..0e46132 100644
--- a/src/goabackend/goaowncloudprovider.c
+++ b/src/goabackend/goaowncloudprovider.c
@@ -1063,45 +1063,6 @@ refresh_account (GoaProvider    *provider,
 /* ---------------------------------------------------------------------------------------------------- */
 
 static void
-show_account (GoaProvider         *provider,
-              GoaClient           *client,
-              GoaObject           *object,
-              GtkBox              *vbox,
-              GtkGrid             *grid,
-              G_GNUC_UNUSED GtkGrid *dummy)
-{
-  gint row;
-
-  row = 0;
-
-  goa_util_add_account_info (grid, row++, object);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   /* Translators: This is a label for a series of
-                                                    * options switches. For example: “Use for Mail”. */
-                                                   _("Use for"),
-                                                   "calendar-disabled",
-                                                   _("Cale_ndar"));
-
-  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 (grid, row++, object,
-                                                   NULL,
-                                                   "documents-disabled",
-                                                   _("_Documents"));
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   NULL,
-                                                   "files-disabled",
-                                                   _("_Files"));
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
 goa_owncloud_provider_init (GoaOwncloudProvider *self)
 {
 }
@@ -1119,7 +1080,6 @@ goa_owncloud_provider_class_init (GoaOwncloudProviderClass *klass)
   provider_class->add_account                = add_account;
   provider_class->refresh_account            = refresh_account;
   provider_class->build_object               = build_object;
-  provider_class->show_account               = show_account;
   provider_class->ensure_credentials_sync    = ensure_credentials_sync;
 }
 
diff --git a/src/goabackend/goapocketprovider.c b/src/goabackend/goapocketprovider.c
index b26ecff..30b4cee 100644
--- a/src/goabackend/goapocketprovider.c
+++ b/src/goabackend/goapocketprovider.c
@@ -387,30 +387,6 @@ build_object (GoaProvider         *provider,
 /* ---------------------------------------------------------------------------------------------------- */
 
 static void
-show_account (GoaProvider         *provider,
-              GoaClient           *client,
-              GoaObject           *object,
-              GtkBox              *vbox,
-              GtkGrid             *grid,
-              G_GNUC_UNUSED GtkGrid *dummy)
-{
-  gint row;
-
-  row = 0;
-
-  goa_util_add_account_info (grid, row++, object);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   /* Translators: This is a label for a series of
-                                                    * options switches. For example: “Use for Mail”. */
-                                                   _("Use for"),
-                                                   "read-later-disabled",
-                                                   _("_Read Later"));
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
 add_account_key_values (GoaOAuth2Provider *oauth2_provider,
                         GVariantBuilder   *builder)
 {
@@ -449,7 +425,6 @@ goa_pocket_provider_class_init (GoaPocketProviderClass *klass)
   provider_class->get_provider_group         = get_provider_group;
   provider_class->get_provider_features      = get_provider_features;
   provider_class->build_object               = build_object;
-  provider_class->show_account               = show_account;
 
   oauth2_class->build_authorization_uri   = build_authorization_uri;
   oauth2_class->get_authorization_uri     = get_authorization_uri;
diff --git a/src/goabackend/goatelepathyprovider.c b/src/goabackend/goatelepathyprovider.c
index 7c50455..323d733 100644
--- a/src/goabackend/goatelepathyprovider.c
+++ b/src/goabackend/goatelepathyprovider.c
@@ -878,19 +878,13 @@ show_account (GoaProvider         *provider,
   GtkWidget *params_button = NULL;
   GtkWidget *details_button = NULL;
   GtkWidget *button_box = NULL;
-  gint row;
-
-  row = 0;
-
-  goa_util_add_account_info (grid, row++, object);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   /* Translators: This is a label for a series of
-                                                    * options switches. For example: “Use for Mail”. */
-                                                   _("Use for"),
-                                                   "chat-disabled",
-                                                   _("C_hat"));
 
+  GOA_PROVIDER_CLASS (goa_telepathy_provider_parent_class)->show_account (provider,
+                                                                          client,
+                                                                          object,
+                                                                          vbox,
+                                                                          grid,
+                                                                          dummy);
   data = edit_data_new (object, tpaw_get_toplevel_window (GTK_WIDGET (vbox)));
 
   /* Connection Settings button */
@@ -908,7 +902,7 @@ show_account (GoaProvider         *provider,
   gtk_box_pack_start (GTK_BOX (button_box), details_button,
       FALSE, FALSE, 0);
 
-  goa_util_add_row_widget (grid, row++, NULL, button_box);
+  goa_util_add_row_widget (grid, 2, NULL, button_box);
 
   edit_data_unref (data);
 }
diff --git a/src/goabackend/goawindowsliveprovider.c b/src/goabackend/goawindowsliveprovider.c
index f75c21a..5e810cb 100644
--- a/src/goabackend/goawindowsliveprovider.c
+++ b/src/goabackend/goawindowsliveprovider.c
@@ -403,35 +403,6 @@ build_object (GoaProvider         *provider,
 /* ---------------------------------------------------------------------------------------------------- */
 
 static void
-show_account (GoaProvider         *provider,
-              GoaClient           *client,
-              GoaObject           *object,
-              GtkBox              *vbox,
-              GtkGrid             *grid,
-              G_GNUC_UNUSED GtkGrid *dummy)
-{
-  gint row;
-
-  row = 0;
-
-  goa_util_add_account_info (grid, row++, object);
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   /* Translators: This is a label for a series of
-                                                    * options switches. For example: “Use for Mail”. */
-                                                   _("Use for"),
-                                                   "mail-disabled",
-                                                   _("_Mail"));
-
-  goa_util_add_row_switch_from_keyfile_with_blurb (grid, row++, object,
-                                                   NULL,
-                                                   "documents-disabled",
-                                                   _("_Documents"));
-}
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-static void
 add_account_key_values (GoaOAuth2Provider *oauth2_provider,
                         GVariantBuilder   *builder)
 {
@@ -459,7 +430,6 @@ goa_windows_live_provider_class_init (GoaWindowsLiveProviderClass *klass)
   provider_class->get_provider_group         = get_provider_group;
   provider_class->get_provider_features      = get_provider_features;
   provider_class->build_object               = build_object;
-  provider_class->show_account               = show_account;
   provider_class->get_credentials_generation = get_credentials_generation;
 
   oauth2_class = GOA_OAUTH2_PROVIDER_CLASS (klass);



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