summaryrefslogtreecommitdiff
path: root/panels/background/cc-background-item.c
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2011-02-11 12:48:28 +0000
committerBastien Nocera <hadess@hadess.net>2011-02-11 12:48:28 +0000
commit85b2cad706dcc5145622dff5e44cef348ce1c39d (patch)
tree204a995bfe303da5c914e6b281973351acfde494 /panels/background/cc-background-item.c
parent9b55bb20e3bcc229ce74a46dbda942c7c0f9dd14 (diff)
downloadgnome-control-center-85b2cad706dcc5145622dff5e44cef348ce1c39d.tar.gz
background: Add function to copy a background item
Diffstat (limited to 'panels/background/cc-background-item.c')
-rw-r--r--panels/background/cc-background-item.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/panels/background/cc-background-item.c b/panels/background/cc-background-item.c
index 14d5a4b68..fbf857cf0 100644
--- a/panels/background/cc-background-item.c
+++ b/panels/background/cc-background-item.c
@@ -754,6 +754,27 @@ cc_background_item_new (const char *filename)
return CC_BACKGROUND_ITEM (object);
}
+CcBackgroundItem *
+cc_background_item_copy (CcBackgroundItem *item)
+{
+ CcBackgroundItem *ret;
+
+ ret = cc_background_item_new (item->priv->filename);
+ ret->priv->name = g_strdup (item->priv->name);
+ ret->priv->filename = g_strdup (item->priv->filename);
+ ret->priv->size = g_strdup (item->priv->size);
+ ret->priv->placement = item->priv->placement;
+ ret->priv->shading = item->priv->shading;
+ ret->priv->primary_color = g_strdup (item->priv->primary_color);
+ ret->priv->secondary_color = g_strdup (item->priv->secondary_color);
+ ret->priv->source_url = g_strdup (item->priv->source_url);
+ ret->priv->source_xml = g_strdup (item->priv->source_xml);
+ ret->priv->is_deleted = item->priv->is_deleted;
+ ret->priv->flags = item->priv->flags;
+
+ return ret;
+}
+
static const char *
flags_to_str (CcBackgroundItemFlags flag)
{