GnuCash c935c2f+
Loading...
Searching...
No Matches
gnc-prefs.h
Go to the documentation of this file.
1/********************************************************************\
2 * gnc-prefs.h -- Api to load and store preferences to a *
3 * configurable backend *
4 * *
5 * Copyright (C) 2013 Geert Janssens <geert@kobaltwit.be> *
6 * *
7 * This program is free software; you can redistribute it and/or *
8 * modify it under the terms of the GNU General Public License as *
9 * published by the Free Software Foundation; either version 2 of *
10 * the License, or (at your option) any later version. *
11 * *
12 * This program is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License*
18 * along with this program; if not, contact: *
19 * *
20 * Free Software Foundation Voice: +1-617-542-5942 *
21 * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
22 * Boston, MA 02110-1301, USA gnu@gnu.org *
23 * *
24 ********************************************************************/
25
45#ifndef GNC_PREFS_H
46#define GNC_PREFS_H
47
48#include <glib.h>
49
50/* Preference groups used across multiple modules */
51#define GNC_PREFS_GROUP_GENERAL "general"
52#define GNC_PREFS_GROUP_GENERAL_REGISTER "general.register"
53#define GNC_PREFS_GROUP_GENERAL_REPORT "general.report"
54#define GNC_PREFS_GROUP_WARNINGS "general.warnings"
55#define GNC_PREFS_GROUP_WARNINGS_TEMP "warnings.temporary"
56#define GNC_PREFS_GROUP_WARNINGS_PERM "warnings.permanent"
57#define GNC_PREFS_GROUP_ACCT_SUMMARY "window.pages.account-tree.summary"
58
59/* Preference names used across multiple modules */
60#define GNC_PREF_VERSION "prefs-version"
61#define GNC_PREF_SAVE_GEOMETRY "save-window-geometry"
62#define GNC_PREF_LAST_PATH "last-path"
63#define GNC_PREF_USE_NEW "use-new-window"
64#define GNC_PREF_ACCOUNTING_LABELS "use-accounting-labels"
65#define GNC_PREF_ACCOUNT_SEPARATOR "account-separator"
66#define GNC_PREF_NEGATIVE_IN_RED "negative-in-red"
67#define GNC_PREF_NUM_SOURCE "num-source"
68#define GNC_PREF_DATE_FORMAT "date-format"
69#define GNC_PREF_DATE_COMPL_THISYEAR "date-completion-thisyear"
70#define GNC_PREF_DATE_COMPL_SLIDING "date-completion-sliding"
71#define GNC_PREF_DATE_BACKMONTHS "date-backmonths"
72#define GNC_PREF_SHOW_LEAF_ACCT_NAMES "show-leaf-account-names"
73#define GNC_PREF_ENTER_MOVES_TO_END "enter-moves-to-end"
74/* Register preferences */
75#define GNC_PREF_DRAW_HOR_LINES "draw-horizontal-lines"
76#define GNC_PREF_DRAW_VERT_LINES "draw-vertical-lines"
77#define GNC_PREF_ALT_COLOR_BY_TRANS "alternate-color-by-transaction"
78#define GNC_PREF_USE_THEME_COLORS "use-theme-colors" // Obsolete, to remove in a future major version (> 2.8)
79#define GNC_PREF_USE_GNUCASH_COLOR_THEME "use-gnucash-color-theme"
80#define GNC_PREF_TAB_TRANS_MEMORISED "tab-to-transfer-on-memorised"
81#define GNC_PREF_FUTURE_AFTER_BLANK "future-after-blank-transaction"
82#define GNC_PREF_JUMP_MULT_SPLITS "jump-multiple-splits"
83/* Date preferences */
84#define GNC_PREF_START_CHOICE_ABS "start-choice-absolute"
85#define GNC_PREF_START_CHOICE_REL "start-choice-relative"
86#define GNC_PREF_START_DATE "start-date"
87#define GNC_PREF_START_PERIOD "start-period"
88#define GNC_PREF_END_CHOICE_ABS "end-choice-absolute"
89#define GNC_PREF_END_CHOICE_REL "end-choice-relative"
90#define GNC_PREF_END_DATE "end-date"
91#define GNC_PREF_END_PERIOD "end-period"
92/* Currency preferences */
93#define GNC_PREF_CURRENCY_OTHER "currency-other"
94#define GNC_PREF_CURRENCY_CHOICE_LOCALE "currency-choice-locale"
95#define GNC_PREF_CURRENCY_CHOICE_OTHER "currency-choice-other"
96
97#ifdef __cplusplus
98extern "C" {
99#endif
100
105const gchar *gnc_prefs_get_namespace_regexp(void);
106void gnc_prefs_set_namespace_regexp(const gchar *str);
107
108gboolean gnc_prefs_is_debugging_enabled(void);
109void gnc_prefs_set_debugging(gboolean d);
110
111gboolean gnc_prefs_is_extra_enabled(void);
112void gnc_prefs_set_extra(gboolean enabled);
113
114gboolean gnc_prefs_get_file_save_compressed(void);
115void gnc_prefs_set_file_save_compressed(gboolean compressed);
116
117gint gnc_prefs_get_file_retention_policy(void);
118void gnc_prefs_set_file_retention_policy(gint policy);
119
120gint gnc_prefs_get_file_retention_days(void);
121void gnc_prefs_set_file_retention_days(gint days);
122
123guint gnc_prefs_get_long_version( void );
124
130gboolean gnc_prefs_is_set_up (void);
131
134void gnc_prefs_block_all (void);
135
138void gnc_prefs_unblock_all (void);
139
164gulong gnc_prefs_register_cb (const char *group,
165 const gchar *pref_name,
166 gpointer func,
167 gpointer user_data);
168
169
187void gnc_prefs_remove_cb_by_func (const gchar *group,
188 const gchar *pref_name,
189 gpointer func,
190 gpointer user_data);
191
192
204void gnc_prefs_remove_cb_by_id (const gchar *group,
205 guint id);
206
207
222guint gnc_prefs_register_group_cb (const gchar *group,
223 gpointer func,
224 gpointer user_data);
225
226
247void gnc_prefs_remove_group_cb_by_func (const gchar *group,
248 gpointer func,
249 gpointer user_data);
250
251
267void gnc_prefs_bind (const gchar *group,
268 /*@ null @*/ const gchar *pref_name,
269 /*@ null @*/ const gchar *pref_value,
270 gpointer object,
271 const gchar *property);
272
291gboolean gnc_prefs_get_bool (const gchar *group,
292 /*@ null @*/ const gchar *pref_name);
293
306gint gnc_prefs_get_int (const gchar *group,
307 const gchar *pref_name);
308
321gint64 gnc_prefs_get_int64 (const gchar *group,
322 const gchar *pref_name);
323
336gdouble gnc_prefs_get_float (const gchar *group,
337 const gchar *pref_name);
338
351gchar *gnc_prefs_get_string (const gchar *group,
352 const gchar *pref_name);
353
366gint gnc_prefs_get_enum (const gchar *group,
367 const gchar *pref_name);
368
382void gnc_prefs_get_coords (const gchar *group,
383 const gchar *pref_name,
384 gdouble *x, gdouble *y);
385
403GVariant *gnc_prefs_get_value (const gchar *group,
404 const gchar *pref_name);
405
425gboolean gnc_prefs_set_bool (const gchar *group,
426 const gchar *pref_name,
427 gboolean value);
428
441gboolean gnc_prefs_set_int (const gchar *group,
442 const gchar *pref_name,
443 gint value);
444
457gboolean gnc_prefs_set_int64 (const gchar *group,
458 const gchar *pref_name,
459 gint64 value);
460
473gboolean gnc_prefs_set_float (const gchar *group,
474 const gchar *pref_name,
475 gdouble value);
476
477
492gboolean gnc_prefs_set_string (const gchar *group,
493 const gchar *pref_name,
494 const gchar *value);
495
508gboolean gnc_prefs_set_enum (const gchar *group,
509 const gchar *pref_name,
510 gint value);
511
527gboolean gnc_prefs_set_coords (const gchar *group,
528 const gchar *pref_name,
529 gdouble x, gdouble y);
530
544gboolean gnc_prefs_set_value (const gchar *group,
545 const gchar *pref_name,
546 GVariant *value);
547
555void gnc_prefs_reset (const gchar *group,
556 const gchar *pref_name);
557
562void gnc_prefs_reset_group (const gchar *group);
563
567void gnc_prefs_set_reg_auto_raise_lists_id (gulong id);
568
572void gnc_prefs_set_reg_negative_color_pref_id (gulong id);
573
576#ifdef __cplusplus
577}
578#endif
579
580
581#endif /* GNC_PREFS_H */
582
gulong gnc_prefs_get_reg_negative_color_pref_id(void)
Get and Set registered preference id for register negative_color_pref.
gulong gnc_prefs_get_reg_auto_raise_lists_id(void)
Get and Set registered preference id for register auto_raise_lists.
gboolean gnc_prefs_set_float(const gchar *group, const gchar *pref_name, gdouble value)
Store a float value into the preferences backend.
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.
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.
void gnc_prefs_unblock_all(void)
Unblock all preferences callbacks.
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.
gboolean gnc_prefs_set_enum(const gchar *group, const gchar *pref_name, gint value)
Store an enum value into the preferences backend.
gboolean gnc_prefs_is_set_up(void)
Test if preferences backend is set up.
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_set_bool(const gchar *group, const gchar *pref_name, gboolean value)
Store a boolean value into the preferences backend.
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 ...
gint gnc_prefs_get_int(const gchar *group, const gchar *pref_name)
Get an integer value from 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.
gint gnc_prefs_get_enum(const gchar *group, const gchar *pref_name)
Get an enum value from the preferences backend.
GVariant * gnc_prefs_get_value(const gchar *group, const gchar *pref_name)
Get an arbitrary combination of values from 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.
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_coords(const gchar *group, const gchar *pref_name, gdouble x, gdouble y)
Store coordinates into 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.
gchar * gnc_prefs_get_string(const gchar *group, const gchar *pref_name)
Get a string value from the preferences backend.
void gnc_prefs_block_all(void)
Block all preference callbacks.
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_get_bool(const gchar *group, const gchar *pref_name)
Get a boolean value from the preferences backend.
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_string(const gchar *group, const gchar *pref_name, const gchar *value)
Store a string into the preferences backend.
gboolean gnc_prefs_set_int(const gchar *group, const gchar *pref_name, gint value)
Store an integer value 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.