c23390
From 0820053ff418bf64db56fa8e63133c3d2e504807 Mon Sep 17 00:00:00 2001
c23390
From: Debarshi Ray <debarshir@gnome.org>
c23390
Date: Fri, 23 Nov 2018 14:07:09 +0100
c23390
Subject: [PATCH] Remove Documents support
c23390
c23390
In theory, online integration for documents is still desired. However,
c23390
these days, GNOME Documents is weekly maintained and doesn't receive
c23390
much attention from designers and developers. Therefore, it needs to be
c23390
withdrawn from the set of core applications until the situation
c23390
changes.
c23390
c23390
https://pagure.io/fedora-workstation/issue/83
c23390
---
c23390
 data/dbus-interfaces.xml                |  3 +++
c23390
 src/goabackend/goabackendenums.h        |  2 +-
c23390
 src/goabackend/goagoogleprovider.c      | 12 ------------
c23390
 src/goabackend/goaobjectskeletonutils.c | 23 -----------------------
c23390
 src/goabackend/goaobjectskeletonutils.h |  3 ---
c23390
 src/goabackend/goaowncloudprovider.c    | 12 ------------
c23390
 src/goabackend/goawindowsliveprovider.c | 17 ++---------------
c23390
 7 files changed, 6 insertions(+), 66 deletions(-)
c23390
c23390
diff --git a/data/dbus-interfaces.xml b/data/dbus-interfaces.xml
c23390
index 21c42c13d003..072d6aaca3b6 100644
c23390
--- a/data/dbus-interfaces.xml
c23390
+++ b/data/dbus-interfaces.xml
c23390
@@ -668,6 +668,9 @@
c23390
 
c23390
       An account object implements this interface if it provides
c23390
       documents-like capabilities.
c23390
+
c23390
+      The #org.gnome.OnlineAccounts.Documents interface is not used
c23390
+      by any account.
c23390
   -->
c23390
   <interface name="org.gnome.OnlineAccounts.Documents">
c23390
   </interface>
c23390
diff --git a/src/goabackend/goabackendenums.h b/src/goabackend/goabackendenums.h
c23390
index 638674aaf4e0..38f46fa8c193 100644
c23390
--- a/src/goabackend/goabackendenums.h
c23390
+++ b/src/goabackend/goabackendenums.h
c23390
@@ -63,7 +63,7 @@ typedef enum
c23390
  * @GOA_PROVIDER_FEATURE_CALENDAR: Calendaring services (ie. CalDAV).
c23390
  * @GOA_PROVIDER_FEATURE_CONTACTS: Addressbook services (ie. CardDAV).
c23390
  * @GOA_PROVIDER_FEATURE_CHAT: Instant messaging services (ie. XMPP, IRC).
c23390
- * @GOA_PROVIDER_FEATURE_DOCUMENTS: Documents storage services (ie. Google Documents).
c23390
+ * @GOA_PROVIDER_FEATURE_DOCUMENTS: Documents storage services (ie. Google Documents); currently unused.
c23390
  * @GOA_PROVIDER_FEATURE_PHOTOS: Photos storage services (ie. Flickr).
c23390
  * @GOA_PROVIDER_FEATURE_FILES: Files storage services (ie. WebDAV).
c23390
  * @GOA_PROVIDER_FEATURE_TICKETING: Ticketing services (ie. Kerberos).
c23390
diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c
c23390
index 9e331c110119..9332c0fdca0b 100644
c23390
--- a/src/goabackend/goagoogleprovider.c
c23390
+++ b/src/goabackend/goagoogleprovider.c
c23390
@@ -69,7 +69,6 @@ get_provider_features (GoaProvider *provider)
c23390
          GOA_PROVIDER_FEATURE_MAIL |
c23390
          GOA_PROVIDER_FEATURE_CALENDAR |
c23390
          GOA_PROVIDER_FEATURE_CONTACTS |
c23390
-         GOA_PROVIDER_FEATURE_DOCUMENTS |
c23390
          GOA_PROVIDER_FEATURE_PHOTOS |
c23390
          GOA_PROVIDER_FEATURE_FILES |
c23390
          GOA_PROVIDER_FEATURE_PRINTERS;
c23390
@@ -281,7 +280,6 @@ build_object (GoaProvider         *provider,
c23390
   gboolean mail_enabled;
c23390
   gboolean calendar_enabled;
c23390
   gboolean contacts_enabled;
c23390
-  gboolean documents_enabled;
c23390
   gboolean files_enabled;
c23390
   gboolean photos_enabled;
c23390
   gboolean printers_enabled;
c23390
@@ -344,10 +342,6 @@ build_object (GoaProvider         *provider,
c23390
                                        contacts_enabled,
c23390
                                        FALSE);
c23390
 
c23390
-  /* Documents */
c23390
-  documents_enabled = g_key_file_get_boolean (key_file, group, "DocumentsEnabled", NULL);
c23390
-  goa_object_skeleton_attach_documents (object, documents_enabled);
c23390
-
c23390
   /* Photos */
c23390
   photos_enabled = g_key_file_get_boolean (key_file, group, "PhotosEnabled", NULL);
c23390
   goa_object_skeleton_attach_photos (object, photos_enabled);
c23390
@@ -367,7 +361,6 @@ build_object (GoaProvider         *provider,
c23390
       goa_account_set_mail_disabled (account, !mail_enabled);
c23390
       goa_account_set_calendar_disabled (account, !calendar_enabled);
c23390
       goa_account_set_contacts_disabled (account, !contacts_enabled);
c23390
-      goa_account_set_documents_disabled (account, !documents_enabled);
c23390
       goa_account_set_photos_disabled (account, !photos_enabled);
c23390
       goa_account_set_files_disabled (account, !files_enabled);
c23390
       goa_account_set_printers_disabled (account, !printers_enabled);
c23390
@@ -384,10 +377,6 @@ build_object (GoaProvider         *provider,
c23390
                         "notify::contacts-disabled",
c23390
                         G_CALLBACK (goa_util_account_notify_property_cb),
c23390
                         (gpointer) "ContactsEnabled");
c23390
-      g_signal_connect (account,
c23390
-                        "notify::documents-disabled",
c23390
-                        G_CALLBACK (goa_util_account_notify_property_cb),
c23390
-                        (gpointer) "DocumentsEnabled");
c23390
       g_signal_connect (account,
c23390
                         "notify::photos-disabled",
c23390
                         G_CALLBACK (goa_util_account_notify_property_cb),
c23390
@@ -419,7 +408,6 @@ add_account_key_values (GoaOAuth2Provider  *oauth2_provider,
c23390
   g_variant_builder_add (builder, "{ss}", "MailEnabled", "true");
c23390
   g_variant_builder_add (builder, "{ss}", "CalendarEnabled", "true");
c23390
   g_variant_builder_add (builder, "{ss}", "ContactsEnabled", "true");
c23390
-  g_variant_builder_add (builder, "{ss}", "DocumentsEnabled", "true");
c23390
   g_variant_builder_add (builder, "{ss}", "PhotosEnabled", "true");
c23390
   g_variant_builder_add (builder, "{ss}", "FilesEnabled", "true");
c23390
   g_variant_builder_add (builder, "{ss}", "PrintersEnabled", "true");
c23390
diff --git a/src/goabackend/goaobjectskeletonutils.c b/src/goabackend/goaobjectskeletonutils.c
c23390
index 657bffd712f3..610c6ee26233 100644
c23390
--- a/src/goabackend/goaobjectskeletonutils.c
c23390
+++ b/src/goabackend/goaobjectskeletonutils.c
c23390
@@ -109,29 +109,6 @@ goa_object_skeleton_attach_contacts (GoaObjectSkeleton *object,
c23390
   g_clear_object (&contacts);
c23390
 }
c23390
 
c23390
-void
c23390
-goa_object_skeleton_attach_documents (GoaObjectSkeleton *object,
c23390
-                                      gboolean           documents_enabled)
c23390
-{
c23390
-  GoaDocuments *documents;
c23390
-
c23390
-  documents = goa_object_get_documents (GOA_OBJECT (object));
c23390
-  if (documents_enabled)
c23390
-    {
c23390
-      if (documents == NULL)
c23390
-        {
c23390
-          documents = goa_documents_skeleton_new ();
c23390
-          goa_object_skeleton_set_documents (object, documents);
c23390
-        }
c23390
-    }
c23390
-  else
c23390
-    {
c23390
-      if (documents != NULL)
c23390
-        goa_object_skeleton_set_documents (object, NULL);
c23390
-    }
c23390
-  g_clear_object (&documents);
c23390
-}
c23390
-
c23390
 void
c23390
 goa_object_skeleton_attach_photos (GoaObjectSkeleton *object,
c23390
                                    gboolean           photos_enabled)
c23390
diff --git a/src/goabackend/goaobjectskeletonutils.h b/src/goabackend/goaobjectskeletonutils.h
c23390
index 699695285028..6bc413c38f55 100644
c23390
--- a/src/goabackend/goaobjectskeletonutils.h
c23390
+++ b/src/goabackend/goaobjectskeletonutils.h
c23390
@@ -38,9 +38,6 @@ void             goa_object_skeleton_attach_contacts       (GoaObjectSkeleton *o
c23390
                                                             gboolean           contacts_enabled,
c23390
                                                             gboolean           accept_ssl_errors);
c23390
 
c23390
-void             goa_object_skeleton_attach_documents      (GoaObjectSkeleton *object,
c23390
-                                                            gboolean           documents_enabled);
c23390
-
c23390
 void             goa_object_skeleton_attach_files          (GoaObjectSkeleton *object,
c23390
                                                             const gchar       *uri,
c23390
                                                             gboolean           files_enabled,
c23390
diff --git a/src/goabackend/goaowncloudprovider.c b/src/goabackend/goaowncloudprovider.c
c23390
index 29d461a880d8..d1429661fe2e 100644
c23390
--- a/src/goabackend/goaowncloudprovider.c
c23390
+++ b/src/goabackend/goaowncloudprovider.c
c23390
@@ -72,7 +72,6 @@ get_provider_features (GoaProvider *provider)
c23390
   return GOA_PROVIDER_FEATURE_BRANDED |
c23390
          GOA_PROVIDER_FEATURE_CALENDAR |
c23390
          GOA_PROVIDER_FEATURE_CONTACTS |
c23390
-         GOA_PROVIDER_FEATURE_DOCUMENTS |
c23390
          GOA_PROVIDER_FEATURE_FILES;
c23390
 }
c23390
 
c23390
@@ -145,7 +144,6 @@ build_object (GoaProvider         *provider,
c23390
   gboolean accept_ssl_errors;
c23390
   gboolean calendar_enabled;
c23390
   gboolean contacts_enabled;
c23390
-  gboolean documents_enabled;
c23390
   gboolean files_enabled;
c23390
   gboolean ret = FALSE;
c23390
   const gchar *identity;
c23390
@@ -196,10 +194,6 @@ build_object (GoaProvider         *provider,
c23390
   goa_object_skeleton_attach_contacts (object, uri_carddav, contacts_enabled, accept_ssl_errors);
c23390
   g_free (uri_carddav);
c23390
 
c23390
-  /* Documents */
c23390
-  documents_enabled = g_key_file_get_boolean (key_file, group, "DocumentsEnabled", NULL);
c23390
-  goa_object_skeleton_attach_documents (object, documents_enabled);
c23390
-
c23390
   /* Files */
c23390
   files_enabled = g_key_file_get_boolean (key_file, group, "FilesEnabled", NULL);
c23390
   uri_webdav = get_webdav_uri (uri);
c23390
@@ -210,7 +204,6 @@ build_object (GoaProvider         *provider,
c23390
     {
c23390
       goa_account_set_calendar_disabled (account, !calendar_enabled);
c23390
       goa_account_set_contacts_disabled (account, !contacts_enabled);
c23390
-      goa_account_set_documents_disabled (account, !documents_enabled);
c23390
       goa_account_set_files_disabled (account, !files_enabled);
c23390
 
c23390
       g_signal_connect (account,
c23390
@@ -221,10 +214,6 @@ build_object (GoaProvider         *provider,
c23390
                         "notify::contacts-disabled",
c23390
                         G_CALLBACK (goa_util_account_notify_property_cb),
c23390
                         (gpointer) "ContactsEnabled");
c23390
-      g_signal_connect (account,
c23390
-                        "notify::documents-disabled",
c23390
-                        G_CALLBACK (goa_util_account_notify_property_cb),
c23390
-                        (gpointer) "DocumentsEnabled");
c23390
       g_signal_connect (account,
c23390
                         "notify::files-disabled",
c23390
                         G_CALLBACK (goa_util_account_notify_property_cb),
c23390
@@ -750,7 +739,6 @@ add_account (GoaProvider    *provider,
c23390
   g_variant_builder_init (&details, G_VARIANT_TYPE ("a{ss}"));
c23390
   g_variant_builder_add (&details, "{ss}", "CalendarEnabled", "true");
c23390
   g_variant_builder_add (&details, "{ss}", "ContactsEnabled", "true");
c23390
-  g_variant_builder_add (&details, "{ss}", "DocumentsEnabled", "true");
c23390
   g_variant_builder_add (&details, "{ss}", "FilesEnabled", "true");
c23390
   g_variant_builder_add (&details, "{ss}", "Uri", uri);
c23390
   g_variant_builder_add (&details, "{ss}", "AcceptSslErrors", (accept_ssl_errors) ? "true" : "false");
c23390
diff --git a/src/goabackend/goawindowsliveprovider.c b/src/goabackend/goawindowsliveprovider.c
c23390
index 10c2dcff4738..be357465230a 100644
c23390
--- a/src/goabackend/goawindowsliveprovider.c
c23390
+++ b/src/goabackend/goawindowsliveprovider.c
c23390
@@ -73,8 +73,7 @@ static GoaProviderFeatures
c23390
 get_provider_features (GoaProvider *provider)
c23390
 {
c23390
   return GOA_PROVIDER_FEATURE_BRANDED |
c23390
-         GOA_PROVIDER_FEATURE_MAIL |
c23390
-         GOA_PROVIDER_FEATURE_DOCUMENTS;
c23390
+         GOA_PROVIDER_FEATURE_MAIL;
c23390
 }
c23390
 
c23390
 static const gchar *
c23390
@@ -102,14 +101,13 @@ get_scope (GoaOAuth2Provider *oauth2_provider)
c23390
 {
c23390
   return "wl.imap,"
c23390
          "wl.offline_access,"
c23390
-         "wl.skydrive_update,"
c23390
          "wl.emails";
c23390
 }
c23390
 
c23390
 static guint
c23390
 get_credentials_generation (GoaProvider *provider)
c23390
 {
c23390
-  return 3;
c23390
+  return 4;
c23390
 }
c23390
 
c23390
 static const gchar *
c23390
@@ -276,7 +274,6 @@ build_object (GoaProvider         *provider,
c23390
   GoaAccount *account = NULL;
c23390
   GoaMail *mail = NULL;
c23390
   gboolean mail_enabled;
c23390
-  gboolean documents_enabled;
c23390
   gboolean ret = FALSE;
c23390
   const gchar *email_address;
c23390
 
c23390
@@ -323,23 +320,14 @@ build_object (GoaProvider         *provider,
c23390
         goa_object_skeleton_set_mail (object, NULL);
c23390
     }
c23390
 
c23390
-  /* Documents */
c23390
-  documents_enabled = g_key_file_get_boolean (key_file, group, "DocumentsEnabled", NULL);
c23390
-  goa_object_skeleton_attach_documents (object, documents_enabled);
c23390
-
c23390
   if (just_added)
c23390
     {
c23390
       goa_account_set_mail_disabled (account, !mail_enabled);
c23390
-      goa_account_set_documents_disabled (account, !documents_enabled);
c23390
 
c23390
       g_signal_connect (account,
c23390
                         "notify::mail-disabled",
c23390
                         G_CALLBACK (goa_util_account_notify_property_cb),
c23390
                         (gpointer) "MailEnabled");
c23390
-      g_signal_connect (account,
c23390
-                        "notify::documents-disabled",
c23390
-                        G_CALLBACK (goa_util_account_notify_property_cb),
c23390
-                        (gpointer) "DocumentsEnabled");
c23390
     }
c23390
 
c23390
   ret = TRUE;
c23390
@@ -357,7 +345,6 @@ add_account_key_values (GoaOAuth2Provider *oauth2_provider,
c23390
                         GVariantBuilder   *builder)
c23390
 {
c23390
   g_variant_builder_add (builder, "{ss}", "MailEnabled", "true");
c23390
-  g_variant_builder_add (builder, "{ss}", "DocumentsEnabled", "true");
c23390
 }
c23390
 
c23390
 /* ---------------------------------------------------------------------------------------------------- */
c23390
-- 
c23390
2.30.2
c23390