28 #include "gnc-prefs-p.h" 31 static gchar *namespace_regexp = NULL;
32 static gboolean is_debugging = FALSE;
33 static gboolean extras_enabled = FALSE;
34 static gboolean use_compression = TRUE;
35 static gint file_retention_policy = 1;
36 static gint file_retention_days = 30;
41 static gulong reg_auto_raise_lists_id;
42 static gulong reg_negative_color_pref_id;
47 gnc_prefs_get_namespace_regexp(
void)
49 return namespace_regexp;
53 gnc_prefs_set_namespace_regexp(
const gchar *str)
56 g_free(namespace_regexp);
59 namespace_regexp = g_strdup(str);
63 gnc_prefs_is_debugging_enabled(
void)
69 gnc_prefs_set_debugging(gboolean d)
75 gnc_prefs_is_extra_enabled(
void)
77 return extras_enabled;
81 gnc_prefs_set_extra(gboolean enabled)
83 extras_enabled = enabled;
87 gnc_prefs_get_file_save_compressed(
void)
89 return use_compression;
93 gnc_prefs_set_file_save_compressed(gboolean compressed)
95 use_compression = compressed;
99 gnc_prefs_get_file_retention_policy(
void)
101 return file_retention_policy;
105 gnc_prefs_set_file_retention_policy(gint policy)
107 file_retention_policy = policy;
111 gnc_prefs_get_file_retention_days(
void)
113 return file_retention_days;
117 gnc_prefs_set_file_retention_days(gint days)
119 file_retention_days = days;
123 gnc_prefs_get_long_version()
125 return PROJECT_VERSION_MAJOR * 1000000 + PROJECT_VERSION_MINOR;
129 const gchar *pref_name,
133 if (prefsbackend && prefsbackend->register_cb)
134 return (prefsbackend->register_cb) (group, pref_name, func, user_data);
137 g_warning (
"no preferences backend loaded, or the backend doesn't define register_cb, returning 0");
144 const gchar *pref_name,
148 if (prefsbackend && prefsbackend->remove_cb_by_func)
149 (prefsbackend->remove_cb_by_func) (group, pref_name, func, user_data);
156 if (prefsbackend && prefsbackend->remove_cb_by_id)
157 (prefsbackend->remove_cb_by_id) (group,
id);
165 if (prefsbackend && prefsbackend->register_group_cb)
166 return (prefsbackend->register_group_cb) (group, func, user_data);
176 if (prefsbackend && prefsbackend->remove_group_cb_by_func)
177 (prefsbackend->remove_group_cb_by_func) (group, func, user_data);
182 const gchar *pref_name,
183 const gchar *pref_value,
185 const gchar *property)
187 if (prefsbackend && prefsbackend->bind)
188 (prefsbackend->bind) (group, pref_name, pref_value,
object, property);
193 const gchar *pref_name)
195 if (prefsbackend && prefsbackend->get_bool)
196 return (prefsbackend->get_bool) (group, pref_name);
203 const gchar *pref_name)
205 if (prefsbackend && prefsbackend->get_int)
206 return (prefsbackend->get_int) (group, pref_name);
213 const gchar *pref_name)
217 result = g_variant_get_int64 (var);
218 g_variant_unref (var);
224 const gchar *pref_name)
226 if (prefsbackend && prefsbackend->get_float)
227 return (prefsbackend->get_float) (group, pref_name);
234 const gchar *pref_name)
236 if (prefsbackend && prefsbackend->get_string)
237 return (prefsbackend->get_string) (group, pref_name);
244 const gchar *pref_name)
246 if (prefsbackend && prefsbackend->get_enum)
247 return (prefsbackend->get_enum) (group, pref_name);
254 const gchar *pref_name,
255 gdouble *x, gdouble *y)
262 if (g_variant_is_of_type (coords, (
const GVariantType *)
"(dd)") )
263 g_variant_get (coords,
"(dd)", x, y);
264 g_variant_unref (coords);
269 const gchar *pref_name)
271 if (prefsbackend && prefsbackend->get_value)
272 return (prefsbackend->get_value) (group,pref_name);
279 const gchar *pref_name,
282 if (prefsbackend && prefsbackend->set_bool)
283 return (prefsbackend->set_bool) (group, pref_name, value);
290 const gchar *pref_name,
293 if (prefsbackend && prefsbackend->set_int)
294 return (prefsbackend->set_int) (group, pref_name, value);
301 const gchar *pref_name,
304 GVariant *var = g_variant_new (
"x",value);
310 const gchar *pref_name,
313 if (prefsbackend && prefsbackend->set_float)
314 return (prefsbackend->set_float) (group, pref_name, value);
321 const gchar *pref_name,
324 if (prefsbackend && prefsbackend->set_string)
325 return (prefsbackend->set_string) (group, pref_name, value);
332 const gchar *pref_name,
335 if (prefsbackend && prefsbackend->set_enum)
336 return (prefsbackend->set_enum) (group, pref_name, value);
343 const gchar *pref_name,
344 gdouble x, gdouble y)
346 GVariant *var = g_variant_new (
"(dd)",x, y);
352 const gchar *pref_name,
355 if (prefsbackend && prefsbackend->set_value)
356 return (prefsbackend->set_value) (group, pref_name, value);
363 const gchar *pref_name)
365 if (prefsbackend && prefsbackend->reset)
366 (prefsbackend->reset) (group, pref_name);
371 if (prefsbackend && prefsbackend->reset_group)
372 (prefsbackend->reset_group) (group);
377 return (prefsbackend !=NULL);
382 if (prefsbackend && prefsbackend->block_all)
383 (prefsbackend->block_all) ();
388 if (prefsbackend && prefsbackend->unblock_all)
389 (prefsbackend->unblock_all) ();
394 return reg_auto_raise_lists_id;
397 void gnc_prefs_set_reg_auto_raise_lists_id (gulong
id)
399 reg_auto_raise_lists_id = id;
404 return reg_negative_color_pref_id;
407 void gnc_prefs_set_reg_negative_color_pref_id (gulong
id)
409 reg_negative_color_pref_id = id;
void gnc_prefs_reset_group(const gchar *group)
Reset all preferences in a group to their default values in the preferences backend.
gboolean gnc_prefs_set_value(const gchar *group, const gchar *pref_name, GVariant *value)
Store an arbitrary combination of values into the preferences backend.
gchar * gnc_prefs_get_string(const gchar *group, const gchar *pref_name)
Get a string value from the preferences backend.
gulong gnc_prefs_register_cb(const char *group, const gchar *pref_name, gpointer func, gpointer user_data)
Register a callback that gets triggered when the given preference changes.
functions to query various version related strings that were set at build time.
gulong gnc_prefs_get_reg_negative_color_pref_id(void)
Get and Set registered preference id for register negative_color_pref.
gboolean gnc_prefs_set_int(const gchar *group, const gchar *pref_name, gint value)
Store an integer value into the preferences backend.
void gnc_prefs_reset(const gchar *group, const gchar *pref_name)
Reset a preference to its default value in the preferences backend.
gboolean gnc_prefs_set_string(const gchar *group, const gchar *pref_name, const gchar *value)
Store a string into the preferences backend.
gint64 gnc_prefs_get_int64(const gchar *group, const gchar *pref_name)
Get an 64 bit integer value from the preferences backend.
gint gnc_prefs_get_int(const gchar *group, const gchar *pref_name)
Get an integer value from the preferences backend.
void gnc_prefs_remove_cb_by_id(const gchar *group, guint id)
Remove a function that was registered for a callback when a specific preference in the settings group...
gboolean gnc_prefs_set_bool(const gchar *group, const gchar *pref_name, gboolean value)
Store a boolean value into the preferences backend.
gboolean gnc_prefs_set_enum(const gchar *group, const gchar *pref_name, gint value)
Store an enum value into the preferences backend.
gint gnc_prefs_get_enum(const gchar *group, const gchar *pref_name)
Get an enum value from the preferences backend.
gboolean gnc_prefs_set_float(const gchar *group, const gchar *pref_name, gdouble value)
Store a float value into the preferences backend.
gboolean gnc_prefs_set_coords(const gchar *group, const gchar *pref_name, gdouble x, gdouble y)
Store coordinates into the preferences backend.
void gnc_prefs_get_coords(const gchar *group, const gchar *pref_name, gdouble *x, gdouble *y)
Get a pair of coordinates from the preferences backend.
void gnc_prefs_bind(const gchar *group, const gchar *pref_name, const gchar *pref_value, gpointer object, const gchar *property)
Bind a setting to a g_object property.
void gnc_prefs_remove_group_cb_by_func(const gchar *group, gpointer func, gpointer user_data)
Remove a function that was registered for a callback when any preference in the given settings group ...
GVariant * gnc_prefs_get_value(const gchar *group, const gchar *pref_name)
Get an arbitrary combination of values from the preferences backend.
Generic api to store and retrieve preferences.
guint gnc_prefs_register_group_cb(const gchar *group, gpointer func, gpointer user_data)
Register a callback for when any preference in the settings group is changed.
gboolean gnc_prefs_get_bool(const gchar *group, const gchar *pref_name)
Get a boolean value from the preferences backend.
gulong gnc_prefs_get_reg_auto_raise_lists_id(void)
Get and Set registered preference id for register auto_raise_lists.
void gnc_prefs_block_all(void)
Block all preference callbacks.
void gnc_prefs_unblock_all(void)
Unblock all preferences callbacks.
gboolean gnc_prefs_is_set_up(void)
Test if preferences backend is set up.
void gnc_prefs_remove_cb_by_func(const gchar *group, const gchar *pref_name, gpointer func, gpointer user_data)
Remove a function that was registered for a callback when the given preference changed.
gdouble gnc_prefs_get_float(const gchar *group, const gchar *pref_name)
Get an float value from the preferences backend.
gboolean gnc_prefs_set_int64(const gchar *group, const gchar *pref_name, gint64 value)
Store a 64 bit integer value into the preferences backend.