|
|
940dadf |
diff --git a/libcinnamon-desktop/gnome-bg.c b/libcinnamon-desktop/gnome-bg.c
|
|
|
940dadf |
index fb0c46a..2716d4f 100644
|
|
|
940dadf |
--- a/libcinnamon-desktop/gnome-bg.c
|
|
|
940dadf |
+++ b/libcinnamon-desktop/gnome-bg.c
|
|
|
940dadf |
@@ -325,87 +325,6 @@ bg_gsettings_mapping (GVariant *value,
|
|
|
940dadf |
}
|
|
|
940dadf |
|
|
|
940dadf |
void
|
|
|
940dadf |
-gnome_bg_set_accountsservice_background (const gchar *background)
|
|
|
940dadf |
-{
|
|
|
940dadf |
- GDBusProxy *proxy = NULL;
|
|
|
940dadf |
- GDBusProxy *user = NULL;
|
|
|
940dadf |
- GVariant *variant = NULL;
|
|
|
940dadf |
- GError *error = NULL;
|
|
|
940dadf |
- gchar *object_path = NULL;
|
|
|
940dadf |
-
|
|
|
940dadf |
- proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
|
|
|
940dadf |
- G_DBUS_PROXY_FLAGS_NONE,
|
|
|
940dadf |
- NULL,
|
|
|
940dadf |
- "org.freedesktop.Accounts",
|
|
|
940dadf |
- "/org/freedesktop/Accounts",
|
|
|
940dadf |
- "org.freedesktop.Accounts",
|
|
|
940dadf |
- NULL,
|
|
|
940dadf |
- &error);
|
|
|
940dadf |
-
|
|
|
940dadf |
- if (proxy == NULL) {
|
|
|
940dadf |
- g_warning ("Failed to contact accounts service: %s", error->message);
|
|
|
940dadf |
- g_error_free (error);
|
|
|
940dadf |
- return;
|
|
|
940dadf |
- }
|
|
|
940dadf |
-
|
|
|
940dadf |
- variant = g_dbus_proxy_call_sync (proxy,
|
|
|
940dadf |
- "FindUserByName",
|
|
|
940dadf |
- g_variant_new ("(s)", g_get_user_name ()),
|
|
|
940dadf |
- G_DBUS_CALL_FLAGS_NONE,
|
|
|
940dadf |
- -1,
|
|
|
940dadf |
- NULL,
|
|
|
940dadf |
- &error);
|
|
|
940dadf |
-
|
|
|
940dadf |
- if (variant == NULL) {
|
|
|
940dadf |
- g_warning ("Could not contact accounts service to look up '%s': %s",
|
|
|
940dadf |
- g_get_user_name (), error->message);
|
|
|
940dadf |
- g_error_free (error);
|
|
|
940dadf |
- goto bail;
|
|
|
940dadf |
- }
|
|
|
940dadf |
-
|
|
|
940dadf |
- g_variant_get (variant, "(o)", &object_path);
|
|
|
940dadf |
- user = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
|
|
|
940dadf |
- G_DBUS_PROXY_FLAGS_NONE,
|
|
|
940dadf |
- NULL,
|
|
|
940dadf |
- "org.freedesktop.Accounts",
|
|
|
940dadf |
- object_path,
|
|
|
940dadf |
- "org.freedesktop.Accounts.User",
|
|
|
940dadf |
- NULL,
|
|
|
940dadf |
- &error);
|
|
|
940dadf |
- g_free (object_path);
|
|
|
940dadf |
-
|
|
|
940dadf |
- if (user == NULL) {
|
|
|
940dadf |
- g_warning ("Could not create proxy for user '%s': %s",
|
|
|
940dadf |
- g_variant_get_string (variant, NULL), error->message);
|
|
|
940dadf |
- g_error_free (error);
|
|
|
940dadf |
- goto bail;
|
|
|
940dadf |
- }
|
|
|
940dadf |
- g_variant_unref (variant);
|
|
|
940dadf |
-
|
|
|
940dadf |
- variant = g_dbus_proxy_call_sync (user,
|
|
|
940dadf |
- "SetBackgroundFile",
|
|
|
940dadf |
- g_variant_new ("(s)", background ? background : ""),
|
|
|
940dadf |
- G_DBUS_CALL_FLAGS_NONE,
|
|
|
940dadf |
- -1,
|
|
|
940dadf |
- NULL,
|
|
|
940dadf |
- &error);
|
|
|
940dadf |
-
|
|
|
940dadf |
- if (variant == NULL) {
|
|
|
940dadf |
- g_warning ("Failed to set the background '%s': %s", background, error->message);
|
|
|
940dadf |
- g_error_free (error);
|
|
|
940dadf |
- goto bail;
|
|
|
940dadf |
- }
|
|
|
940dadf |
-
|
|
|
940dadf |
-bail:
|
|
|
940dadf |
- if (proxy != NULL)
|
|
|
940dadf |
- g_object_unref (proxy);
|
|
|
940dadf |
- if (user != NULL)
|
|
|
940dadf |
- g_object_unref (user);
|
|
|
940dadf |
- if (variant != NULL)
|
|
|
940dadf |
- g_variant_unref (variant);
|
|
|
940dadf |
-}
|
|
|
940dadf |
-
|
|
|
940dadf |
-void
|
|
|
940dadf |
gnome_bg_load_from_preferences (GnomeBG *bg,
|
|
|
940dadf |
GSettings *settings)
|
|
|
940dadf |
{
|