[frogr] Allow configuring the option to send location information.
- From: Mario Sanchez Prada <msanchez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [frogr] Allow configuring the option to send location information.
- Date: Sun, 14 Aug 2011 23:56:45 +0000 (UTC)
commit 45737eb32870f2f3af8fb870b72e03fc226c078d
Author: Mario Sanchez Prada <msanchez igalia com>
Date: Sun Aug 14 20:08:32 2011 +0200
Allow configuring the option to send location information.
Added needed bits in frogr's configuration system and a new option in
the settings dialog. Still needing to add code to the details dialog.
src/frogr-config.c | 31 +++++++++++++++++++++++++++++++
src/frogr-config.h | 4 ++++
src/frogr-settings-dialog.c | 24 +++++++++++++++++++++---
3 files changed, 56 insertions(+), 3 deletions(-)
---
diff --git a/src/frogr-config.c b/src/frogr-config.c
index a2f7602..64e661f 100644
--- a/src/frogr-config.c
+++ b/src/frogr-config.c
@@ -52,6 +52,7 @@ struct _FrogrConfigPrivate
gboolean public;
gboolean family;
gboolean friend;
+ gboolean send_geolocation_data;
gboolean show_in_search;
FspLicense license;
@@ -330,6 +331,12 @@ _load_visibility_xml (FrogrConfig *self,
priv->friend = !xmlStrcmp (content, (const xmlChar*) "1");
}
+ if (!xmlStrcmp (node->name, (const xmlChar*) "send-geolocation-data"))
+ {
+ content = xmlNodeGetContent (node);
+ priv->send_geolocation_data = !xmlStrcmp (content, (const xmlChar*) "1");
+ }
+
if (!xmlStrcmp (node->name, (const xmlChar*) "show-in-search"))
{
content = xmlNodeGetContent (node);
@@ -633,6 +640,7 @@ _save_settings (FrogrConfig *self)
_xml_add_bool_child (node, "public", priv->public);
_xml_add_bool_child (node, "family", priv->family);
_xml_add_bool_child (node, "friend", priv->friend);
+ _xml_add_bool_child (node, "send-geolocation-data", priv->send_geolocation_data);
_xml_add_bool_child (node, "show-in-search", priv->show_in_search);
xmlAddChild (root, node);
@@ -899,6 +907,7 @@ frogr_config_init (FrogrConfig *self)
priv->public = FALSE;
priv->family = FALSE;
priv->friend = FALSE;
+ priv->send_geolocation_data = FALSE;
priv->show_in_search = TRUE;
priv->license = FSP_LICENSE_NONE;
priv->safety_level = FSP_SAFETY_LEVEL_SAFE;
@@ -1211,6 +1220,28 @@ frogr_config_get_default_content_type (FrogrConfig *self)
}
void
+frogr_config_set_default_send_geolocation_data (FrogrConfig *self, gboolean value)
+{
+ FrogrConfigPrivate * priv = NULL;
+
+ g_return_if_fail (FROGR_IS_CONFIG (self));
+
+ priv = FROGR_CONFIG_GET_PRIVATE (self);
+ priv->send_geolocation_data = value;
+}
+
+gboolean
+frogr_config_get_default_send_geolocation_data (FrogrConfig *self)
+{
+ FrogrConfigPrivate *priv = NULL;
+
+ g_return_val_if_fail (FROGR_IS_CONFIG (self), FALSE);
+
+ priv = FROGR_CONFIG_GET_PRIVATE (self);
+ return priv->send_geolocation_data;
+}
+
+void
frogr_config_set_default_show_in_search (FrogrConfig *self, gboolean value)
{
FrogrConfigPrivate * priv = NULL;
diff --git a/src/frogr-config.h b/src/frogr-config.h
index 2b59506..6f806e7 100644
--- a/src/frogr-config.h
+++ b/src/frogr-config.h
@@ -112,6 +112,10 @@ void frogr_config_set_default_show_in_search (FrogrConfig *self, gboolean value)
gboolean frogr_config_get_default_show_in_search (FrogrConfig *self);
+void frogr_config_set_default_send_geolocation_data (FrogrConfig *self, gboolean value);
+
+gboolean frogr_config_get_default_send_geolocation_data (FrogrConfig *self);
+
void frogr_config_set_tags_autocompletion (FrogrConfig *self, gboolean value);
gboolean frogr_config_get_tags_autocompletion (FrogrConfig *self);
diff --git a/src/frogr-settings-dialog.c b/src/frogr-settings-dialog.c
index 176cb5c..e6925d6 100644
--- a/src/frogr-settings-dialog.c
+++ b/src/frogr-settings-dialog.c
@@ -45,6 +45,7 @@ typedef struct _FrogrSettingsDialogPrivate {
GtkWidget *friend_cb;
GtkWidget *family_cb;
GtkWidget *show_in_search_cb;
+ GtkWidget *send_geolocation_data_cb;
GtkWidget *license_cb;
GtkWidget *photo_content_rb;
GtkWidget *sshot_content_rb;
@@ -52,8 +53,6 @@ typedef struct _FrogrSettingsDialogPrivate {
GtkWidget *safe_rb;
GtkWidget *moderate_rb;
GtkWidget *restricted_rb;
- GtkWidget *disable_tags_autocompletion_cb;
- GtkWidget *keep_file_extensions_cb;
GtkWidget *use_proxy_cb;
GtkWidget *proxy_host_label;
@@ -66,10 +65,14 @@ typedef struct _FrogrSettingsDialogPrivate {
GtkWidget *proxy_password_entry;
GtkWidget *use_gnome_proxy_cb;
+ GtkWidget *disable_tags_autocompletion_cb;
+ GtkWidget *keep_file_extensions_cb;
+
gboolean public_visibility;
gboolean family_visibility;
gboolean friend_visibility;
gboolean show_in_search;
+ gboolean send_geolocation_data;
gboolean disable_tags_autocompletion;
gboolean keep_file_extensions;
FspLicense license;
@@ -224,6 +227,9 @@ _add_general_page (FrogrSettingsDialog *self, GtkNotebook *notebook)
gtk_box_pack_start (GTK_BOX (box1), padding_hbox, FALSE, FALSE, 0);
_add_togleabble_item (self, GTK_BOX (box1), NULL, FALSE,
+ _("Send _location aware information if present"),
+ &priv->send_geolocation_data_cb);
+ _add_togleabble_item (self, GTK_BOX (box1), NULL, FALSE,
_("_Show up in Global Search Results"),
&priv->show_in_search_cb);
@@ -485,7 +491,7 @@ _add_misc_page (FrogrSettingsDialog *self, GtkNotebook *notebook)
vbox = gtk_vbox_new (FALSE, 6);
#endif
- /* Misc */
+ /* Other Stuff */
label = gtk_label_new (NULL);
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
@@ -527,6 +533,7 @@ _fill_dialog_with_data (FrogrSettingsDialog *self)
priv->public_visibility = frogr_config_get_default_public (priv->config);
priv->family_visibility = frogr_config_get_default_family (priv->config);
priv->friend_visibility = frogr_config_get_default_friend (priv->config);
+ priv->send_geolocation_data = frogr_config_get_default_send_geolocation_data (priv->config);
priv->show_in_search = frogr_config_get_default_show_in_search (priv->config);
priv->license = frogr_config_get_default_license (priv->config);
priv->content_type = frogr_config_get_default_content_type (priv->config);
@@ -568,6 +575,8 @@ _fill_dialog_with_data (FrogrSettingsDialog *self)
priv->family_visibility);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->friend_cb),
priv->friend_visibility);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->send_geolocation_data_cb),
+ priv->send_geolocation_data);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->show_in_search_cb),
priv->show_in_search);
@@ -629,6 +638,7 @@ _save_data (FrogrSettingsDialog *self)
frogr_config_set_default_public (priv->config, priv->public_visibility);
frogr_config_set_default_family (priv->config, priv->family_visibility);
frogr_config_set_default_friend (priv->config, priv->friend_visibility);
+ frogr_config_set_default_send_geolocation_data (priv->config, priv->send_geolocation_data);
frogr_config_set_default_show_in_search (priv->config, priv->show_in_search);
frogr_config_set_default_license (priv->config, priv->license);
@@ -733,6 +743,12 @@ _on_button_toggled (GtkToggleButton *button, gpointer data)
DEBUG ("friend visibility set to %s", active ? "TRUE" : "FALSE");
}
+ if (GTK_WIDGET (button) == priv->send_geolocation_data_cb)
+ {
+ priv->send_geolocation_data = active;
+ DEBUG ("Send geolocation data set to %s", active ? "TRUE" : "FALSE");
+ }
+
if (GTK_WIDGET (button) == priv->show_in_search_cb)
{
priv->show_in_search = active;
@@ -929,6 +945,7 @@ frogr_settings_dialog_init (FrogrSettingsDialog *self)
priv->private_rb = NULL;
priv->friend_cb = NULL;
priv->family_cb = NULL;
+ priv->send_geolocation_data_cb = NULL;
priv->show_in_search_cb = NULL;
priv->license_cb = NULL;
priv->photo_content_rb = NULL;
@@ -952,6 +969,7 @@ frogr_settings_dialog_init (FrogrSettingsDialog *self)
priv->public_visibility = FALSE;
priv->family_visibility = FALSE;
priv->friend_visibility = FALSE;
+ priv->send_geolocation_data = FALSE;
priv->show_in_search = FALSE;
priv->license = FSP_LICENSE_NONE;
priv->safety_level = FSP_SAFETY_LEVEL_NONE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]