[gnome-online-accounts] owncloud: Add support for documents
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-online-accounts] owncloud: Add support for documents
- Date: Sun, 18 Aug 2013 05:18:44 +0000 (UTC)
commit 61587e8d6854500475003fa156cd5c0c323af332
Author: Debarshi Ray <debarshir gnome org>
Date: Thu Aug 15 15:56:06 2013 +0200
owncloud: Add support for documents
Fixes: https://bugzilla.gnome.org/706074
src/goabackend/goaowncloudprovider.c | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
---
diff --git a/src/goabackend/goaowncloudprovider.c b/src/goabackend/goaowncloudprovider.c
index 8fca307..2eaa2de 100644
--- a/src/goabackend/goaowncloudprovider.c
+++ b/src/goabackend/goaowncloudprovider.c
@@ -99,6 +99,7 @@ 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;
}
@@ -121,12 +122,14 @@ build_object (GoaProvider *provider,
GoaAccount *account;
GoaCalendar *calendar;
GoaContacts *contacts;
+ GoaDocuments *documents;
GoaFiles *files;
GoaPasswordBased *password_based;
SoupURI *uri;
gboolean accept_ssl_errors;
gboolean calendar_enabled;
gboolean contacts_enabled;
+ gboolean documents_enabled;
gboolean files_enabled;
gboolean ret;
const gchar *identity;
@@ -135,6 +138,7 @@ build_object (GoaProvider *provider,
account = NULL;
calendar = NULL;
contacts = NULL;
+ documents = NULL;
files = NULL;
password_based = NULL;
uri = NULL;
@@ -245,6 +249,24 @@ build_object (GoaProvider *provider,
goa_object_skeleton_set_contacts (object, NULL);
}
+ /* Documents */
+ documents = goa_object_get_documents (GOA_OBJECT (object));
+ documents_enabled = g_key_file_get_boolean (key_file, group, "DocumentsEnabled", NULL);
+
+ 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);
+ }
+
/* Files */
files = goa_object_get_files (GOA_OBJECT (object));
files_enabled = g_key_file_get_boolean (key_file, group, "FilesEnabled", NULL);
@@ -291,6 +313,7 @@ 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,
@@ -302,6 +325,10 @@ build_object (GoaProvider *provider,
G_CALLBACK (goa_util_account_notify_property_cb),
"ContactsEnabled");
g_signal_connect (account,
+ "notify::documents-disabled",
+ G_CALLBACK (goa_util_account_notify_property_cb),
+ "DocumentsEnabled");
+ g_signal_connect (account,
"notify::files-disabled",
G_CALLBACK (goa_util_account_notify_property_cb),
"FilesEnabled");
@@ -865,6 +892,7 @@ 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");
@@ -1095,6 +1123,11 @@ show_account (GoaProvider *provider,
goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
NULL,
+ "documents-disabled",
+ _("_Documents"));
+
+ goa_util_add_row_switch_from_keyfile_with_blurb (left, right, object,
+ NULL,
"files-disabled",
_("_Files"));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]