Blob Blame History Raw
From 0820053ff418bf64db56fa8e63133c3d2e504807 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Fri, 23 Nov 2018 14:07:09 +0100
Subject: [PATCH] Remove Documents support

In theory, online integration for documents is still desired. However,
these days, GNOME Documents is weekly maintained and doesn't receive
much attention from designers and developers. Therefore, it needs to be
withdrawn from the set of core applications until the situation
changes.

https://pagure.io/fedora-workstation/issue/83
---
 data/dbus-interfaces.xml                |  3 +++
 src/goabackend/goabackendenums.h        |  2 +-
 src/goabackend/goagoogleprovider.c      | 12 ------------
 src/goabackend/goaobjectskeletonutils.c | 23 -----------------------
 src/goabackend/goaobjectskeletonutils.h |  3 ---
 src/goabackend/goaowncloudprovider.c    | 12 ------------
 src/goabackend/goawindowsliveprovider.c | 17 ++---------------
 7 files changed, 6 insertions(+), 66 deletions(-)

diff --git a/data/dbus-interfaces.xml b/data/dbus-interfaces.xml
index 21c42c13d003..072d6aaca3b6 100644
--- a/data/dbus-interfaces.xml
+++ b/data/dbus-interfaces.xml
@@ -668,6 +668,9 @@
 
       An account object implements this interface if it provides
       documents-like capabilities.
+
+      The #org.gnome.OnlineAccounts.Documents interface is not used
+      by any account.
   -->
   <interface name="org.gnome.OnlineAccounts.Documents">
   </interface>
diff --git a/src/goabackend/goabackendenums.h b/src/goabackend/goabackendenums.h
index 638674aaf4e0..38f46fa8c193 100644
--- a/src/goabackend/goabackendenums.h
+++ b/src/goabackend/goabackendenums.h
@@ -63,7 +63,7 @@ typedef enum
  * @GOA_PROVIDER_FEATURE_CALENDAR: Calendaring services (ie. CalDAV).
  * @GOA_PROVIDER_FEATURE_CONTACTS: Addressbook services (ie. CardDAV).
  * @GOA_PROVIDER_FEATURE_CHAT: Instant messaging services (ie. XMPP, IRC).
- * @GOA_PROVIDER_FEATURE_DOCUMENTS: Documents storage services (ie. Google Documents).
+ * @GOA_PROVIDER_FEATURE_DOCUMENTS: Documents storage services (ie. Google Documents); currently unused.
  * @GOA_PROVIDER_FEATURE_PHOTOS: Photos storage services (ie. Flickr).
  * @GOA_PROVIDER_FEATURE_FILES: Files storage services (ie. WebDAV).
  * @GOA_PROVIDER_FEATURE_TICKETING: Ticketing services (ie. Kerberos).
diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c
index 9e331c110119..9332c0fdca0b 100644
--- a/src/goabackend/goagoogleprovider.c
+++ b/src/goabackend/goagoogleprovider.c
@@ -69,7 +69,6 @@ get_provider_features (GoaProvider *provider)
          GOA_PROVIDER_FEATURE_MAIL |
          GOA_PROVIDER_FEATURE_CALENDAR |
          GOA_PROVIDER_FEATURE_CONTACTS |
-         GOA_PROVIDER_FEATURE_DOCUMENTS |
          GOA_PROVIDER_FEATURE_PHOTOS |
          GOA_PROVIDER_FEATURE_FILES |
          GOA_PROVIDER_FEATURE_PRINTERS;
@@ -281,7 +280,6 @@ build_object (GoaProvider         *provider,
   gboolean mail_enabled;
   gboolean calendar_enabled;
   gboolean contacts_enabled;
-  gboolean documents_enabled;
   gboolean files_enabled;
   gboolean photos_enabled;
   gboolean printers_enabled;
@@ -344,10 +342,6 @@ build_object (GoaProvider         *provider,
                                        contacts_enabled,
                                        FALSE);
 
-  /* Documents */
-  documents_enabled = g_key_file_get_boolean (key_file, group, "DocumentsEnabled", NULL);
-  goa_object_skeleton_attach_documents (object, documents_enabled);
-
   /* Photos */
   photos_enabled = g_key_file_get_boolean (key_file, group, "PhotosEnabled", NULL);
   goa_object_skeleton_attach_photos (object, photos_enabled);
@@ -367,7 +361,6 @@ build_object (GoaProvider         *provider,
       goa_account_set_mail_disabled (account, !mail_enabled);
       goa_account_set_calendar_disabled (account, !calendar_enabled);
       goa_account_set_contacts_disabled (account, !contacts_enabled);
-      goa_account_set_documents_disabled (account, !documents_enabled);
       goa_account_set_photos_disabled (account, !photos_enabled);
       goa_account_set_files_disabled (account, !files_enabled);
       goa_account_set_printers_disabled (account, !printers_enabled);
@@ -384,10 +377,6 @@ build_object (GoaProvider         *provider,
                         "notify::contacts-disabled",
                         G_CALLBACK (goa_util_account_notify_property_cb),
                         (gpointer) "ContactsEnabled");
-      g_signal_connect (account,
-                        "notify::documents-disabled",
-                        G_CALLBACK (goa_util_account_notify_property_cb),
-                        (gpointer) "DocumentsEnabled");
       g_signal_connect (account,
                         "notify::photos-disabled",
                         G_CALLBACK (goa_util_account_notify_property_cb),
@@ -419,7 +408,6 @@ add_account_key_values (GoaOAuth2Provider  *oauth2_provider,
   g_variant_builder_add (builder, "{ss}", "MailEnabled", "true");
   g_variant_builder_add (builder, "{ss}", "CalendarEnabled", "true");
   g_variant_builder_add (builder, "{ss}", "ContactsEnabled", "true");
-  g_variant_builder_add (builder, "{ss}", "DocumentsEnabled", "true");
   g_variant_builder_add (builder, "{ss}", "PhotosEnabled", "true");
   g_variant_builder_add (builder, "{ss}", "FilesEnabled", "true");
   g_variant_builder_add (builder, "{ss}", "PrintersEnabled", "true");
diff --git a/src/goabackend/goaobjectskeletonutils.c b/src/goabackend/goaobjectskeletonutils.c
index 657bffd712f3..610c6ee26233 100644
--- a/src/goabackend/goaobjectskeletonutils.c
+++ b/src/goabackend/goaobjectskeletonutils.c
@@ -109,29 +109,6 @@ goa_object_skeleton_attach_contacts (GoaObjectSkeleton *object,
   g_clear_object (&contacts);
 }
 
-void
-goa_object_skeleton_attach_documents (GoaObjectSkeleton *object,
-                                      gboolean           documents_enabled)
-{
-  GoaDocuments *documents;
-
-  documents = goa_object_get_documents (GOA_OBJECT (object));
-  if (documents_enabled)
-    {
-      if (documents == NULL)
-        {
-          documents = goa_documents_skeleton_new ();
-          goa_object_skeleton_set_documents (object, documents);
-        }
-    }
-  else
-    {
-      if (documents != NULL)
-        goa_object_skeleton_set_documents (object, NULL);
-    }
-  g_clear_object (&documents);
-}
-
 void
 goa_object_skeleton_attach_photos (GoaObjectSkeleton *object,
                                    gboolean           photos_enabled)
diff --git a/src/goabackend/goaobjectskeletonutils.h b/src/goabackend/goaobjectskeletonutils.h
index 699695285028..6bc413c38f55 100644
--- a/src/goabackend/goaobjectskeletonutils.h
+++ b/src/goabackend/goaobjectskeletonutils.h
@@ -38,9 +38,6 @@ void             goa_object_skeleton_attach_contacts       (GoaObjectSkeleton *o
                                                             gboolean           contacts_enabled,
                                                             gboolean           accept_ssl_errors);
 
-void             goa_object_skeleton_attach_documents      (GoaObjectSkeleton *object,
-                                                            gboolean           documents_enabled);
-
 void             goa_object_skeleton_attach_files          (GoaObjectSkeleton *object,
                                                             const gchar       *uri,
                                                             gboolean           files_enabled,
diff --git a/src/goabackend/goaowncloudprovider.c b/src/goabackend/goaowncloudprovider.c
index 29d461a880d8..d1429661fe2e 100644
--- a/src/goabackend/goaowncloudprovider.c
+++ b/src/goabackend/goaowncloudprovider.c
@@ -72,7 +72,6 @@ get_provider_features (GoaProvider *provider)
   return GOA_PROVIDER_FEATURE_BRANDED |
          GOA_PROVIDER_FEATURE_CALENDAR |
          GOA_PROVIDER_FEATURE_CONTACTS |
-         GOA_PROVIDER_FEATURE_DOCUMENTS |
          GOA_PROVIDER_FEATURE_FILES;
 }
 
@@ -145,7 +144,6 @@ build_object (GoaProvider         *provider,
   gboolean accept_ssl_errors;
   gboolean calendar_enabled;
   gboolean contacts_enabled;
-  gboolean documents_enabled;
   gboolean files_enabled;
   gboolean ret = FALSE;
   const gchar *identity;
@@ -196,10 +194,6 @@ build_object (GoaProvider         *provider,
   goa_object_skeleton_attach_contacts (object, uri_carddav, contacts_enabled, accept_ssl_errors);
   g_free (uri_carddav);
 
-  /* Documents */
-  documents_enabled = g_key_file_get_boolean (key_file, group, "DocumentsEnabled", NULL);
-  goa_object_skeleton_attach_documents (object, documents_enabled);
-
   /* Files */
   files_enabled = g_key_file_get_boolean (key_file, group, "FilesEnabled", NULL);
   uri_webdav = get_webdav_uri (uri);
@@ -210,7 +204,6 @@ build_object (GoaProvider         *provider,
     {
       goa_account_set_calendar_disabled (account, !calendar_enabled);
       goa_account_set_contacts_disabled (account, !contacts_enabled);
-      goa_account_set_documents_disabled (account, !documents_enabled);
       goa_account_set_files_disabled (account, !files_enabled);
 
       g_signal_connect (account,
@@ -221,10 +214,6 @@ build_object (GoaProvider         *provider,
                         "notify::contacts-disabled",
                         G_CALLBACK (goa_util_account_notify_property_cb),
                         (gpointer) "ContactsEnabled");
-      g_signal_connect (account,
-                        "notify::documents-disabled",
-                        G_CALLBACK (goa_util_account_notify_property_cb),
-                        (gpointer) "DocumentsEnabled");
       g_signal_connect (account,
                         "notify::files-disabled",
                         G_CALLBACK (goa_util_account_notify_property_cb),
@@ -750,7 +739,6 @@ add_account (GoaProvider    *provider,
   g_variant_builder_init (&details, G_VARIANT_TYPE ("a{ss}"));
   g_variant_builder_add (&details, "{ss}", "CalendarEnabled", "true");
   g_variant_builder_add (&details, "{ss}", "ContactsEnabled", "true");
-  g_variant_builder_add (&details, "{ss}", "DocumentsEnabled", "true");
   g_variant_builder_add (&details, "{ss}", "FilesEnabled", "true");
   g_variant_builder_add (&details, "{ss}", "Uri", uri);
   g_variant_builder_add (&details, "{ss}", "AcceptSslErrors", (accept_ssl_errors) ? "true" : "false");
diff --git a/src/goabackend/goawindowsliveprovider.c b/src/goabackend/goawindowsliveprovider.c
index 10c2dcff4738..be357465230a 100644
--- a/src/goabackend/goawindowsliveprovider.c
+++ b/src/goabackend/goawindowsliveprovider.c
@@ -73,8 +73,7 @@ static GoaProviderFeatures
 get_provider_features (GoaProvider *provider)
 {
   return GOA_PROVIDER_FEATURE_BRANDED |
-         GOA_PROVIDER_FEATURE_MAIL |
-         GOA_PROVIDER_FEATURE_DOCUMENTS;
+         GOA_PROVIDER_FEATURE_MAIL;
 }
 
 static const gchar *
@@ -102,14 +101,13 @@ get_scope (GoaOAuth2Provider *oauth2_provider)
 {
   return "wl.imap,"
          "wl.offline_access,"
-         "wl.skydrive_update,"
          "wl.emails";
 }
 
 static guint
 get_credentials_generation (GoaProvider *provider)
 {
-  return 3;
+  return 4;
 }
 
 static const gchar *
@@ -276,7 +274,6 @@ build_object (GoaProvider         *provider,
   GoaAccount *account = NULL;
   GoaMail *mail = NULL;
   gboolean mail_enabled;
-  gboolean documents_enabled;
   gboolean ret = FALSE;
   const gchar *email_address;
 
@@ -323,23 +320,14 @@ build_object (GoaProvider         *provider,
         goa_object_skeleton_set_mail (object, NULL);
     }
 
-  /* Documents */
-  documents_enabled = g_key_file_get_boolean (key_file, group, "DocumentsEnabled", NULL);
-  goa_object_skeleton_attach_documents (object, documents_enabled);
-
   if (just_added)
     {
       goa_account_set_mail_disabled (account, !mail_enabled);
-      goa_account_set_documents_disabled (account, !documents_enabled);
 
       g_signal_connect (account,
                         "notify::mail-disabled",
                         G_CALLBACK (goa_util_account_notify_property_cb),
                         (gpointer) "MailEnabled");
-      g_signal_connect (account,
-                        "notify::documents-disabled",
-                        G_CALLBACK (goa_util_account_notify_property_cb),
-                        (gpointer) "DocumentsEnabled");
     }
 
   ret = TRUE;
@@ -357,7 +345,6 @@ add_account_key_values (GoaOAuth2Provider *oauth2_provider,
                         GVariantBuilder   *builder)
 {
   g_variant_builder_add (builder, "{ss}", "MailEnabled", "true");
-  g_variant_builder_add (builder, "{ss}", "DocumentsEnabled", "true");
 }
 
 /* ---------------------------------------------------------------------------------------------------- */
-- 
2.30.2