[frogr] Allow loading/saving default license type into config
- From: Mario Sanchez Prada <msanchez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [frogr] Allow loading/saving default license type into config
- Date: Sat, 9 Jul 2011 01:17:55 +0000 (UTC)
commit cdc58c2e19875cce8dc6fbc28d52aab6ac5d99fd
Author: Mario Sanchez Prada <msanchez igalia com>
Date: Sat Jul 9 02:41:59 2011 +0200
Allow loading/saving default license type into config
src/frogr-config.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++
src/frogr-config.h | 5 ++++
2 files changed, 58 insertions(+), 0 deletions(-)
---
diff --git a/src/frogr-config.c b/src/frogr-config.c
index 2eee732..ca8207d 100644
--- a/src/frogr-config.c
+++ b/src/frogr-config.c
@@ -54,6 +54,7 @@ struct _FrogrConfigPrivate
gboolean friend;
gboolean show_in_search;
+ FspLicense license;
FspSafetyLevel safety_level;
FspContentType content_type;
@@ -169,6 +170,26 @@ _load_settings (FrogrConfig *self, const gchar *config_dir)
if (node->type != XML_ELEMENT_NODE)
continue;
+ if (!xmlStrcmp (node->name, (const xmlChar*) "default-license"))
+ {
+ xmlChar *content = NULL;
+
+ content = xmlNodeGetContent (node);
+ if (content)
+ {
+ gint code = 0;
+
+ code = (gint) g_ascii_strtoll ((gchar *) content, NULL, 10);
+
+ if (code < FSP_LICENSE_NONE || code >= FSP_LICENSE_LAST)
+ priv->license = FSP_LICENSE_NONE;
+ else
+ priv->license = (FspLicense) code;
+
+ xmlFree (content);
+ }
+ }
+
if (!xmlStrcmp (node->name, (const xmlChar*) "default-content-type"))
{
xmlChar *content = NULL;
@@ -615,6 +636,9 @@ _save_settings (FrogrConfig *self)
_xml_add_bool_child (node, "show-in-search", priv->show_in_search);
xmlAddChild (root, node);
+ /* Default license */
+ _xml_add_int_child (root, "default-license", priv->license);
+
/* Default content type and safety level */
_xml_add_int_child (root, "default-content-type", priv->content_type);
_xml_add_int_child (root, "default-safety-level", priv->safety_level);
@@ -876,6 +900,7 @@ frogr_config_init (FrogrConfig *self)
priv->family = FALSE;
priv->friend = FALSE;
priv->show_in_search = TRUE;
+ priv->license = FSP_LICENSE_NONE;
priv->safety_level = FSP_SAFETY_LEVEL_SAFE;
priv->content_type = FSP_CONTENT_TYPE_PHOTO;
priv->tags_autocompletion = TRUE;
@@ -1102,6 +1127,34 @@ frogr_config_get_default_friend (FrogrConfig *self)
}
void
+frogr_config_set_default_license (FrogrConfig *self,
+ FspLicense license)
+{
+ FrogrConfigPrivate * priv = NULL;
+
+ g_return_if_fail (FROGR_IS_CONFIG (self));
+
+ priv = FROGR_CONFIG_GET_PRIVATE (self);
+
+ /* Check out of bounds values */
+ if (license < FSP_LICENSE_NONE || license >= FSP_LICENSE_LAST)
+ priv->license = FSP_LICENSE_NONE;
+ else
+ priv->license = license;
+}
+
+FspLicense
+frogr_config_get_default_license (FrogrConfig *self)
+{
+ FrogrConfigPrivate *priv = NULL;
+
+ g_return_val_if_fail (FROGR_IS_CONFIG (self), FALSE);
+
+ priv = FROGR_CONFIG_GET_PRIVATE (self);
+ return priv->license;
+}
+
+void
frogr_config_set_default_safety_level (FrogrConfig *self,
FspSafetyLevel safety_level)
{
diff --git a/src/frogr-config.h b/src/frogr-config.h
index 88b2846..2b59506 100644
--- a/src/frogr-config.h
+++ b/src/frogr-config.h
@@ -93,6 +93,11 @@ void frogr_config_set_default_friend (FrogrConfig *self, gboolean value);
gboolean frogr_config_get_default_friend (FrogrConfig *self);
+void frogr_config_set_default_license (FrogrConfig *self,
+ FspLicense license);
+
+FspLicense frogr_config_get_default_license (FrogrConfig *self);
+
void frogr_config_set_default_safety_level (FrogrConfig *self,
FspSafetyLevel safety_level);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]