Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-metadata-manager.c
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <set EMAIL_ADDRESS environment variable>2005-07-06 10:36:28 (GMT)
committer Marco Pesenti Gritti <marco@src.gnome.org>2005-07-06 10:36:28 (GMT)
commit938636d838432d71cd8ed1c2aa1604faa6f8d083 (patch)
treea5321bd00b2ad4a793a8aca13f0570f3a0c437ab /shell/ev-metadata-manager.c
parent5c7621f5c00e82a787d3cdbc038cf833e581cfa7 (diff)
Add support for some more types
2005-07-06 Marco Pesenti Gritti <set EMAIL_ADDRESS environment variable> * shell/ev-metadata-manager.c: (parse_value), (save_values), (ev_metadata_manager_set_int), (ev_metadata_manager_set_double), (ev_metadata_manager_set_string), (ev_metadata_manager_set_boolean): * shell/ev-metadata-manager.h: Add support for some more types * shell/ev-view.c: (scroll_to_current_page), (ev_view_get_continuous), (ev_view_set_continuous), (ev_view_get_dual_page): * shell/ev-view.h: * shell/ev-window.c: (page_changed_cb), (setup_document_from_metadata), (ev_window_setup_document), (setup_view_from_metadata), (ev_window_open_uri), (ev_window_run_fullscreen), (ev_window_stop_fullscreen), (ev_window_run_presentation), (ev_window_stop_presentation), (save_sizing_mode), (ev_window_sizing_mode_changed_cb), (ev_window_zoom_changed_cb), (ev_window_update_continuous_action), (ev_window_update_dual_page_action), (ev_window_continuous_changed_cb), (ev_window_dual_mode_changed_cb), (ev_window_init): Remember a bunch of view/document properties. Prolly some are still missing but it's getting interesting.
Diffstat (limited to 'shell/ev-metadata-manager.c')
-rw-r--r--shell/ev-metadata-manager.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/shell/ev-metadata-manager.c b/shell/ev-metadata-manager.c
index bbf5f76..6e709e3 100644
--- a/shell/ev-metadata-manager.c
+++ b/shell/ev-metadata-manager.c
@@ -149,6 +149,12 @@ parse_value (xmlChar *value, xmlChar *type)
case G_TYPE_INT:
g_value_set_int (ret, atoi ((char *)value));
break;
+ case G_TYPE_DOUBLE:
+ g_value_set_double (ret, atof ((char *)value));
+ break;
+ case G_TYPE_BOOLEAN:
+ g_value_set_boolean (ret, atoi ((char *)value));
+ break;
}
return ret;
@@ -426,6 +432,12 @@ save_values (const gchar *key, GValue *value, xmlNodePtr parent)
case G_TYPE_INT:
string_value = g_strdup_printf ("%d", g_value_get_int (value));
break;
+ case G_TYPE_DOUBLE:
+ string_value = g_strdup_printf ("%f", g_value_get_double (value));
+ break;
+ case G_TYPE_BOOLEAN:
+ string_value = g_strdup_printf ("%d", g_value_get_boolean (value));
+ break;
default:
string_value = NULL;
g_assert_not_reached ();
@@ -549,3 +561,36 @@ ev_metadata_manager_set_int (const gchar *uri, const gchar *key, int value)
ev_metadata_manager_set (uri, key, &val);
}
+
+void
+ev_metadata_manager_set_double (const gchar *uri, const gchar *key, double value)
+{
+ GValue val = { 0, };
+
+ g_value_init (&val, G_TYPE_DOUBLE);
+ g_value_set_double (&val, value);
+
+ ev_metadata_manager_set (uri, key, &val);
+}
+
+void
+ev_metadata_manager_set_string (const gchar *uri, const gchar *key, const gchar *value)
+{
+ GValue val = { 0, };
+
+ g_value_init (&val, G_TYPE_STRING);
+ g_value_set_string (&val, value);
+
+ ev_metadata_manager_set (uri, key, &val);
+}
+
+void
+ev_metadata_manager_set_boolean (const gchar *uri, const gchar *key, gboolean value)
+{
+ GValue val = { 0, };
+
+ g_value_init (&val, G_TYPE_BOOLEAN);
+ g_value_set_boolean (&val, value);
+
+ ev_metadata_manager_set (uri, key, &val);
+}