r41407 - in /desktop/unstable/gnome-control-center/debian: changelog control control.in patches/0001-online-accounts-Accept-requests-for-account-creation.patch patches/0001-online-accounts-use-the-async-function-to-get-all-th.patch patches/series
pochu at users.alioth.debian.org
pochu at users.alioth.debian.org
Sat Apr 26 09:36:05 UTC 2014
Author: pochu
Date: Sat Apr 26 09:36:05 2014
New Revision: 41407
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=41407
Log:
* d/p/0001-online-accounts-Accept-requests-for-account-creation.patch,
d/p/0001-online-accounts-use-the-async-function-to-get-all-th.patch:
+ Backport patches from upstream, modified to apply on 3.8, to fix
the build with gnome-online-accounts 3.12.
* debian/control.in:
+ Build depend on goa 3.12.
Added:
desktop/unstable/gnome-control-center/debian/patches/0001-online-accounts-Accept-requests-for-account-creation.patch
desktop/unstable/gnome-control-center/debian/patches/0001-online-accounts-use-the-async-function-to-get-all-th.patch
Modified:
desktop/unstable/gnome-control-center/debian/changelog
desktop/unstable/gnome-control-center/debian/control
desktop/unstable/gnome-control-center/debian/control.in
desktop/unstable/gnome-control-center/debian/patches/series
Modified: desktop/unstable/gnome-control-center/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-control-center/debian/changelog?rev=41407&op=diff
==============================================================================
--- desktop/unstable/gnome-control-center/debian/changelog [utf-8] (original)
+++ desktop/unstable/gnome-control-center/debian/changelog [utf-8] Sat Apr 26 09:36:05 2014
@@ -1,3 +1,14 @@
+gnome-control-center (1:3.8.3-6) UNRELEASED; urgency=medium
+
+ * d/p/0001-online-accounts-Accept-requests-for-account-creation.patch,
+ d/p/0001-online-accounts-use-the-async-function-to-get-all-th.patch:
+ + Backport patches from upstream, modified to apply on 3.8, to fix
+ the build with gnome-online-accounts 3.12.
+ * debian/control.in:
+ + Build depend on goa 3.12.
+
+ -- Emilio Pozuelo Monfort <pochu at debian.org> Thu, 03 Apr 2014 21:51:42 +0200
+
gnome-control-center (1:3.8.3-5) unstable; urgency=medium
* debian/patches/07-vpn-plugin-properties-paths.patch:
Modified: desktop/unstable/gnome-control-center/debian/control
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-control-center/debian/control?rev=41407&op=diff
==============================================================================
--- desktop/unstable/gnome-control-center/debian/control [utf-8] (original)
+++ desktop/unstable/gnome-control-center/debian/control [utf-8] Sat Apr 26 09:36:05 2014
@@ -37,7 +37,7 @@
libgnome-menu-3-dev,
libgnomekbd-dev (>= 2.91.91),
libibus-1.0-dev (>= 1.5.2),
- libgoa-1.0-dev (>= 3.8.1),
+ libgoa-1.0-dev (>= 3.12),
libgtk-3-dev (>= 3.7.7),
libgtop2-dev,
libnm-glib-dev (>= 0.9.8) [linux-any],
Modified: desktop/unstable/gnome-control-center/debian/control.in
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-control-center/debian/control.in?rev=41407&op=diff
==============================================================================
--- desktop/unstable/gnome-control-center/debian/control.in [utf-8] (original)
+++ desktop/unstable/gnome-control-center/debian/control.in [utf-8] Sat Apr 26 09:36:05 2014
@@ -32,7 +32,7 @@
libgnome-menu-3-dev,
libgnomekbd-dev (>= 2.91.91),
libibus-1.0-dev (>= 1.5.2),
- libgoa-1.0-dev (>= 3.8.1),
+ libgoa-1.0-dev (>= 3.12),
libgtk-3-dev (>= 3.7.7),
libgtop2-dev,
libnm-glib-dev (>= 0.9.8) [linux-any],
Added: desktop/unstable/gnome-control-center/debian/patches/0001-online-accounts-Accept-requests-for-account-creation.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-control-center/debian/patches/0001-online-accounts-Accept-requests-for-account-creation.patch?rev=41407&op=file
==============================================================================
--- desktop/unstable/gnome-control-center/debian/patches/0001-online-accounts-Accept-requests-for-account-creation.patch (added)
+++ desktop/unstable/gnome-control-center/debian/patches/0001-online-accounts-Accept-requests-for-account-creation.patch [utf-8] Sat Apr 26 09:36:05 2014
@@ -0,0 +1,258 @@
+From 8762e2f8dc16e169986be7d6630e0814834c5d15 Mon Sep 17 00:00:00 2001
+From: Emanuele Aina <emanuele.aina at collabora.com>
+Date: Fri, 1 Mar 2013 12:11:14 +0100
+Subject: [PATCH] online-accounts: Accept requests for account creation on
+ DBus/cmdline
+
+Also accepts additional data to pre-seed the GOA dialog, in particular
+the provider name (eg. 'google') and provider-specific data encoded in a
+a GVariant dict ('a{sv}') to eg. pass cookies from an existing web
+session (this is only available from DBus activation).
+
+It can be run from the command line as:
+ $ gnome-control-center online-accounts add google
+
+https://bugzilla.gnome.org/show_bug.cgi?id=694315
+---
+ .../cc-online-accounts-add-account-dialog.c | 33 ++++++++-
+ .../cc-online-accounts-add-account-dialog.h | 4 ++
+ panels/online-accounts/cc-online-accounts-panel.c | 81 ++++++++++++++++++----
+ 3 files changed, 101 insertions(+), 17 deletions(-)
+
+diff --git a/panels/online-accounts/cc-online-accounts-add-account-dialog.c b/panels/online-accounts/cc-online-accounts-add-account-dialog.c
+index 5c2e9c8..c0b0e0b 100644
+--- a/panels/online-accounts/cc-online-accounts-add-account-dialog.c
++++ b/panels/online-accounts/cc-online-accounts-add-account-dialog.c
+@@ -45,6 +45,7 @@ struct _GoaPanelAddAccountDialogPrivate
+ GError *error;
+ GoaClient *client;
+ GoaObject *object;
++ GoaProvider *provider;
+ GtkListStore *list_store;
+ GtkWidget *contacts_grid;
+ GtkWidget *mail_grid;
+@@ -72,7 +73,8 @@ enum
+ G_DEFINE_TYPE (GoaPanelAddAccountDialog, goa_panel_add_account_dialog, GTK_TYPE_DIALOG)
+
+ static void
+-add_account_dialog_add_account (GoaPanelAddAccountDialog *add_account, GoaProvider *provider)
++add_account_dialog_add_account (GoaPanelAddAccountDialog *add_account,
++ GoaProvider *provider)
+ {
+ GoaPanelAddAccountDialogPrivate *priv = add_account->priv;
+ GList *children;
+@@ -91,6 +93,7 @@ add_account_dialog_add_account (GoaPanelAddAccountDialog *add_account, GoaProvid
+ }
+ g_list_free (children);
+
++ /* This spins gtk_dialog_run() */
+ priv->object = goa_provider_add_account (provider,
+ priv->client,
+ GTK_DIALOG (add_account),
+@@ -111,7 +114,6 @@ list_box_child_activated_cb (GoaPanelAddAccountDialog *add_account, GtkWidget *c
+ }
+
+ add_account_dialog_add_account (add_account, provider);
+- gtk_dialog_response (GTK_DIALOG (add_account), GTK_RESPONSE_OK);
+ }
+
+ static void
+@@ -240,6 +242,7 @@ goa_panel_add_account_dialog_dispose (GObject *object)
+
+ g_clear_object (&priv->object);
+ g_clear_object (&priv->client);
++ g_clear_object (&priv->provider);
+
+ G_OBJECT_CLASS (goa_panel_add_account_dialog_parent_class)->dispose (object);
+ }
+@@ -378,6 +381,22 @@ goa_panel_add_account_dialog_new (GoaClient *client)
+ }
+
+ void
++goa_panel_add_account_dialog_set_preseed_data (GoaPanelAddAccountDialog *add_account,
++ GoaProvider *provider,
++ GVariant *preseed)
++{
++ GoaPanelAddAccountDialogPrivate *priv = add_account->priv;
++
++ g_clear_object (&priv->provider);
++
++ if (provider != NULL)
++ {
++ priv->provider = g_object_ref (provider);
++ goa_provider_set_preseed_data (provider, preseed);
++ }
++}
++
++void
+ goa_panel_add_account_dialog_add_provider (GoaPanelAddAccountDialog *add_account, GoaProvider *provider)
+ {
+ GoaPanelAddAccountDialogPrivate *priv = add_account->priv;
+@@ -431,6 +450,16 @@ goa_panel_add_account_dialog_add_provider (GoaPanelAddAccountDialog *add_account
+ }
+ }
+
++void
++goa_panel_add_account_dialog_run (GoaPanelAddAccountDialog *add_account)
++{
++ GoaPanelAddAccountDialogPrivate *priv = add_account->priv;
++ if (priv->provider != NULL)
++ add_account_dialog_add_account (add_account, priv->provider);
++ else
++ gtk_dialog_run (GTK_DIALOG (add_account));
++}
++
+ GoaObject *
+ goa_panel_add_account_dialog_get_account (GoaPanelAddAccountDialog *add_account, GError **error)
+ {
+diff --git a/panels/online-accounts/cc-online-accounts-add-account-dialog.h b/panels/online-accounts/cc-online-accounts-add-account-dialog.h
+index 0f503cb..9338575 100644
+--- a/panels/online-accounts/cc-online-accounts-add-account-dialog.h
++++ b/panels/online-accounts/cc-online-accounts-add-account-dialog.h
+@@ -54,6 +54,10 @@ GType goa_panel_add_account_dialog_get_type (void
+ GtkWidget *goa_panel_add_account_dialog_new (GoaClient *client);
+ void goa_panel_add_account_dialog_add_provider (GoaPanelAddAccountDialog *add_account,
+ GoaProvider *provider);
++void goa_panel_add_account_dialog_set_preseed_data (GoaPanelAddAccountDialog *add_account,
++ GoaProvider *provider,
++ GVariant *preseed);
++void goa_panel_add_account_dialog_run (GoaPanelAddAccountDialog *add_account);
+ GoaObject *goa_panel_add_account_dialog_get_account (GoaPanelAddAccountDialog *add_account,
+ GError **error);
+
+diff --git a/panels/online-accounts/cc-online-accounts-panel.c b/panels/online-accounts/cc-online-accounts-panel.c
+index 52fb054..acaff10 100644
+--- a/panels/online-accounts/cc-online-accounts-panel.c
++++ b/panels/online-accounts/cc-online-accounts-panel.c
+@@ -86,6 +86,9 @@ static void on_account_changed (GoaClient *client,
+
+ static gboolean select_account_by_id (CcGoaPanel *panel,
+ const gchar *account_id);
++static void add_account (CcGoaPanel *panel,
++ GoaProvider *provider,
++ GVariant *preseed);
+
+ CC_PANEL_REGISTER (CcGoaPanel, cc_goa_panel);
+
+@@ -95,6 +98,56 @@ enum {
+ };
+
+ static void
++command_add (CcGoaPanel *panel,
++ GVariant *parameters)
++{
++ GVariant *v, *preseed = NULL;
++ GoaProvider *provider = NULL;
++ const gchar *provider_name = NULL;
++
++ g_assert (panel != NULL);
++ g_assert (parameters != NULL);
++
++ switch (g_variant_n_children (parameters))
++ {
++ case 4:
++ g_variant_get_child (parameters, 3, "v", &preseed);
++ case 3:
++ g_variant_get_child (parameters, 2, "v", &v);
++ if (g_variant_is_of_type (v, G_VARIANT_TYPE_STRING))
++ provider_name = g_variant_get_string (v, NULL);
++ else
++ g_warning ("Wrong type for the second argument (provider name) GVariant, expected 's' but got '%s'",
++ (gchar *)g_variant_get_type (v));
++ g_variant_unref (v);
++ case 2:
++ /* Nothing to see here, move along */
++ case 1:
++ /* No flag to handle here */
++ break;
++ default:
++ g_warning ("Unexpected parameters found, ignore request");
++ goto out;
++ }
++
++ if (provider_name != NULL)
++ {
++ provider = goa_provider_get_for_provider_type (provider_name);
++ if (provider == NULL)
++ {
++ g_warning ("Unable to get a provider for type '%s'", provider_name);
++ goto out;
++ }
++ }
++
++ add_account (panel, provider, preseed);
++
++out:
++ g_clear_object (&provider);
++ g_clear_pointer (&preseed, g_variant_unref);
++}
++
++static void
+ cc_goa_panel_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+@@ -628,18 +683,17 @@ on_model_row_inserted (GtkTreeModel *tree_model,
+ /* ---------------------------------------------------------------------------------------------------- */
+
+ static void
+-add_account (CcGoaPanel *panel)
++add_account (CcGoaPanel *panel,
++ GoaProvider *provider,
++ GVariant *preseed)
+ {
+ GtkWindow *parent;
+ GtkWidget *dialog;
+- gint response;
+ GList *providers;
+ GList *l;
+ GoaObject *object;
+ GError *error;
+
+- providers = NULL;
+-
+ parent = GTK_WINDOW (cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (panel))));
+
+ dialog = goa_panel_add_account_dialog_new (panel->client);
+@@ -649,18 +703,16 @@ add_account (CcGoaPanel *panel)
+ for (l = providers; l != NULL; l = l->next)
+ {
+ GoaProvider *provider;
+-
+ provider = GOA_PROVIDER (l->data);
++
+ goa_panel_add_account_dialog_add_provider (GOA_PANEL_ADD_ACCOUNT_DIALOG (dialog), provider);
+ }
+
++ goa_panel_add_account_dialog_set_preseed_data (GOA_PANEL_ADD_ACCOUNT_DIALOG (dialog),
++ provider, preseed);
++
+ gtk_widget_show_all (dialog);
+- response = gtk_dialog_run (GTK_DIALOG (dialog));
+- if (response != GTK_RESPONSE_OK)
+- {
+- gtk_widget_destroy (dialog);
+- goto out;
+- }
++ goa_panel_add_account_dialog_run (GOA_PANEL_ADD_ACCOUNT_DIALOG (dialog));
+
+ error = NULL;
+ object = goa_panel_add_account_dialog_get_account (GOA_PANEL_ADD_ACCOUNT_DIALOG (dialog), &error);
+@@ -714,7 +765,7 @@ on_toolbar_add_button_clicked (GtkToolButton *button,
+ gpointer user_data)
+ {
+ CcGoaPanel *panel = CC_GOA_PANEL (user_data);
+- add_account (panel);
++ add_account (panel, NULL, NULL);
+ }
+
+ static void
+@@ -795,5 +846,5 @@ on_add_button_clicked (GtkButton *button,
+ gpointer user_data)
+ {
+ CcGoaPanel *panel = CC_GOA_PANEL (user_data);
+- add_account (panel);
++ add_account (panel, NULL, NULL);
+ }
+--
+1.9.0
+
Added: desktop/unstable/gnome-control-center/debian/patches/0001-online-accounts-use-the-async-function-to-get-all-th.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-control-center/debian/patches/0001-online-accounts-use-the-async-function-to-get-all-th.patch?rev=41407&op=file
==============================================================================
--- desktop/unstable/gnome-control-center/debian/patches/0001-online-accounts-use-the-async-function-to-get-all-th.patch (added)
+++ desktop/unstable/gnome-control-center/debian/patches/0001-online-accounts-use-the-async-function-to-get-all-th.patch [utf-8] Sat Apr 26 09:36:05 2014
@@ -0,0 +1,108 @@
+From 82e6777cb1a32edb9c85b85c0c3768f9ca62c4c2 Mon Sep 17 00:00:00 2001
+From: Marco Barisione <marco.barisione at collabora.co.uk>
+Date: Wed, 21 Aug 2013 11:48:25 +0100
+Subject: [PATCH] online-accounts: use the async function to get all the
+ providers
+
+https://bugzilla.gnome.org/show_bug.cgi?id=706148
+---
+ panels/online-accounts/cc-online-accounts-panel.c | 49 ++++++++++++++++++-----
+ 1 file changed, 40 insertions(+), 9 deletions(-)
+
+--- a/panels/online-accounts/cc-online-accounts-panel.c
++++ b/panels/online-accounts/cc-online-accounts-panel.c
+@@ -669,11 +669,19 @@
+
+ /* ---------------------------------------------------------------------------------------------------- */
+
++typedef struct
++{
++ CcGoaPanel *panel;
++ GoaProvider *provider;
++ GVariant *preseed;
++} AddAccountData;
++
+ static void
+-add_account (CcGoaPanel *panel,
+- GoaProvider *provider,
+- GVariant *preseed)
++get_all_providers_cb (GObject *source,
++ GAsyncResult *res,
++ gpointer user_data)
+ {
++ AddAccountData *data = user_data;
+ GtkWindow *parent;
+ GtkWidget *dialog;
+ GList *providers;
+@@ -681,12 +689,15 @@
+ GoaObject *object;
+ GError *error;
+
+- parent = GTK_WINDOW (cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (panel))));
++ providers = NULL;
++ if (!goa_provider_get_all_finish (&providers, res, NULL))
++ goto out;
++
++ parent = GTK_WINDOW (cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (data->panel))));
+
+- dialog = goa_panel_add_account_dialog_new (panel->client);
++ dialog = goa_panel_add_account_dialog_new (data->panel->client);
+ gtk_window_set_transient_for (GTK_WINDOW (dialog), parent);
+
+- providers = goa_provider_get_all ();
+ for (l = providers; l != NULL; l = l->next)
+ {
+ GoaProvider *provider;
+@@ -696,7 +707,7 @@
+ }
+
+ goa_panel_add_account_dialog_set_preseed_data (GOA_PANEL_ADD_ACCOUNT_DIALOG (dialog),
+- provider, preseed);
++ data->provider, data->preseed);
+
+ gtk_widget_show_all (dialog);
+ goa_panel_add_account_dialog_run (GOA_PANEL_ADD_ACCOUNT_DIALOG (dialog));
+@@ -713,11 +724,11 @@
+ {
+ GtkTreeIter iter;
+ /* navigate to newly created object */
+- if (goa_panel_accounts_model_get_iter_for_object (panel->accounts_model,
++ if (goa_panel_accounts_model_get_iter_for_object (data->panel->accounts_model,
+ object,
+ &iter))
+ {
+- gtk_tree_selection_select_iter (gtk_tree_view_get_selection (GTK_TREE_VIEW (panel->accounts_treeview)),
++ gtk_tree_selection_select_iter (gtk_tree_view_get_selection (GTK_TREE_VIEW (data->panel->accounts_treeview)),
+ &iter);
+ }
+ g_object_unref (object);
+@@ -742,9 +753,28 @@
+ g_error_free (error);
+ }
+
+- out:
+ g_list_foreach (providers, (GFunc) g_object_unref, NULL);
+ g_list_free (providers);
++
++out:
++ g_clear_object (&data->panel);
++ g_clear_object (&data->provider);
++ g_clear_pointer (&data->preseed, g_variant_unref);
++ g_slice_free (AddAccountData, data);
++}
++
++static void
++add_account (CcGoaPanel *panel,
++ GoaProvider *provider,
++ GVariant *preseed)
++{
++ AddAccountData *data;
++
++ data = g_slice_new0 (AddAccountData);
++ data->panel = g_object_ref_sink (panel);
++ data->provider = (provider != NULL ? g_object_ref (provider) : NULL);
++ data->preseed = (preseed != NULL ? g_variant_ref (preseed) : NULL);
++ goa_provider_get_all (get_all_providers_cb, data);
+ }
+
+ /* ---------------------------------------------------------------------------------------------------- */
Modified: desktop/unstable/gnome-control-center/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-control-center/debian/patches/series?rev=41407&op=diff
==============================================================================
--- desktop/unstable/gnome-control-center/debian/patches/series [utf-8] (original)
+++ desktop/unstable/gnome-control-center/debian/patches/series [utf-8] Sat Apr 26 09:36:05 2014
@@ -1,3 +1,5 @@
01_menu_category.patch
06_handle_passwd_with_ldap.patch
07-vpn-plugin-properties-paths.patch
+0001-online-accounts-Accept-requests-for-account-creation.patch
+0001-online-accounts-use-the-async-function-to-get-all-th.patch
More information about the pkg-gnome-commits
mailing list