mirror of https://github.com/Gnucash/gnucash
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
215 lines
7.5 KiB
215 lines
7.5 KiB
#ifndef GNM_CONF_H
|
|
#define GNM_CONF_H
|
|
|
|
#include <numbers.h>
|
|
#include <gnumeric.h>
|
|
//#include <print-info.h>
|
|
|
|
typedef struct {
|
|
struct {
|
|
GSList const *extra_dirs;
|
|
char *sys_dir;
|
|
char *usr_dir;
|
|
} autoformat;
|
|
|
|
struct {
|
|
char const *name;
|
|
float size;
|
|
gboolean is_bold, is_italic;
|
|
} default_font;
|
|
|
|
gint file_history_max;
|
|
GSList const *file_history_files;
|
|
guint num_of_recent_funcs;
|
|
GSList const *recent_funcs;
|
|
|
|
GSList const *plugin_file_states;
|
|
GSList const *plugin_extra_dirs;
|
|
GSList const *active_plugins;
|
|
gboolean activate_new_plugins;
|
|
|
|
gboolean show_sheet_name;
|
|
guint max_descriptor_width;
|
|
gint undo_size;
|
|
gint undo_max_number;
|
|
|
|
gint initial_sheet_number;
|
|
float horizontal_window_fraction;
|
|
float vertical_window_fraction;
|
|
float zoom;
|
|
|
|
gint xml_compression_level;
|
|
gboolean file_overwrite_default_answer;
|
|
gboolean file_ask_single_sheet_save;
|
|
|
|
gboolean sort_default_by_case;
|
|
gboolean sort_default_retain_formats;
|
|
gboolean sort_default_ascending;
|
|
gint sort_max_initial_clauses;
|
|
|
|
gboolean print_all_sheets; /* vs print only selected */
|
|
gchar *printer_config;
|
|
GSList const *printer_header;
|
|
GSList const *printer_footer;
|
|
GSList const *printer_header_formats_left;
|
|
GSList const *printer_header_formats_middle;
|
|
GSList const *printer_header_formats_right;
|
|
GnmStyle *printer_decoration_font;
|
|
gboolean print_center_horizontally;
|
|
gboolean print_center_vertically;
|
|
gboolean print_grid_lines;
|
|
gboolean print_even_if_only_styles;
|
|
gboolean print_black_and_white;
|
|
gboolean print_titles;
|
|
gboolean print_order_right_then_down;
|
|
gboolean print_scale_percentage;
|
|
float print_scale_percentage_value;
|
|
gint print_scale_width;
|
|
gint print_scale_height;
|
|
gchar *print_repeat_top;
|
|
gchar *print_repeat_left;
|
|
//PrintMargins print_tb_margins;
|
|
|
|
float horizontal_dpi;
|
|
float vertical_dpi;
|
|
gboolean auto_complete;
|
|
gboolean transition_keys;
|
|
gboolean live_scrolling;
|
|
gint recalc_lag;
|
|
gboolean unfocused_range_selection;
|
|
gboolean prefer_clipboard_selection; /* As opposed to "primary". */
|
|
gboolean latex_use_utf8;
|
|
} GnmAppPrefs;
|
|
extern GnmAppPrefs const *gnm_app_prefs;
|
|
|
|
void gnm_conf_init (gboolean fast);
|
|
void gnm_conf_shutdown (void);
|
|
void gnm_conf_sync (void);
|
|
|
|
/* autocorrect */
|
|
void gnm_gconf_set_autocorrect_init_caps (gboolean val);
|
|
void gnm_gconf_set_autocorrect_first_letter (gboolean val);
|
|
void gnm_gconf_set_autocorrect_names_of_days (gboolean val);
|
|
void gnm_gconf_set_autocorrect_replace (gboolean val);
|
|
|
|
/* autocomplete */
|
|
void gnm_gconf_set_autocomplete (gboolean val);
|
|
|
|
/* autoformat */
|
|
void gnm_gconf_set_autoformat_sys_dirs (char const * string);
|
|
void gnm_gconf_set_autoformat_usr_dirs (char const * string);
|
|
|
|
/* file history */
|
|
void gnm_gconf_set_file_history_files (GSList *list);
|
|
void gnm_gconf_set_file_history_number (gint value);
|
|
|
|
/* plugins */
|
|
void gnm_gconf_set_plugin_file_states (GSList *list);
|
|
void gnm_gconf_set_plugin_extra_dirs (GSList *list);
|
|
void gnm_gconf_set_active_plugins (GSList *list);
|
|
void gnm_gconf_set_activate_new_plugins (gboolean val);
|
|
|
|
/* undo */
|
|
void gnm_gconf_set_show_sheet_name (gboolean val);
|
|
void gnm_gconf_set_max_descriptor_width (gint val);
|
|
void gnm_gconf_set_undo_size (gint val);
|
|
void gnm_gconf_set_undo_max_number (gint val);
|
|
|
|
/* xml/files */
|
|
void gnm_gconf_set_recent_funcs (GSList *list);
|
|
void gnm_gconf_set_xml_compression (gint value);
|
|
void gnm_gconf_set_file_overwrite (gboolean value);
|
|
void gnm_gconf_set_file_single_sheet_save (gboolean value);
|
|
|
|
/* print-setup & printing */
|
|
void gnm_gconf_set_all_sheets (gboolean val);
|
|
void gnm_gconf_set_printer_config (gchar *str);
|
|
void gnm_gconf_set_printer_header (gchar const *left, gchar const *middle,
|
|
gchar const *right);
|
|
void gnm_gconf_set_printer_footer (gchar const *left, gchar const *middle,
|
|
gchar const *right);
|
|
void gnm_gconf_set_print_center_horizontally (gboolean val);
|
|
void gnm_gconf_set_print_center_vertically (gboolean val);
|
|
void gnm_gconf_set_print_grid_lines (gboolean val);
|
|
void gnm_gconf_set_print_even_if_only_styles (gboolean val);
|
|
void gnm_gconf_set_print_black_and_white (gboolean val);
|
|
void gnm_gconf_set_print_titles (gboolean val);
|
|
void gnm_gconf_set_print_order_right_then_down (gboolean val);
|
|
void gnm_gconf_set_print_scale_percentage (gboolean val);
|
|
void gnm_gconf_set_print_scale_percentage_value (gnm_float val);
|
|
//void gnm_gconf_set_print_tb_margins (PrintMargins const *pm);
|
|
void gnm_gconf_set_print_header_formats (GSList *left, GSList *middle,
|
|
GSList *right);
|
|
|
|
/* gui */
|
|
void gnm_gconf_set_gui_window_x (gnm_float val);
|
|
void gnm_gconf_set_gui_window_y (gnm_float val);
|
|
void gnm_gconf_set_gui_zoom (gnm_float val);
|
|
void gnm_gconf_set_gui_transition_keys (gboolean value);
|
|
void gnm_gconf_set_gui_livescrolling (gboolean value);
|
|
void gnm_gconf_set_gui_resolution_h (gnm_float val);
|
|
void gnm_gconf_set_gui_resolution_v (gnm_float val);
|
|
|
|
/* default font */
|
|
void gnm_gconf_set_default_font_size (gnm_float val);
|
|
void gnm_gconf_set_default_font_name (char const *str);
|
|
void gnm_gconf_set_default_font_bold (gboolean val);
|
|
void gnm_gconf_set_default_font_italic (gboolean val);
|
|
|
|
/* hf font */
|
|
void gnm_gconf_set_hf_font (GnmStyle const *mstyle);
|
|
|
|
/* sorting */
|
|
void gnm_gconf_set_sort_dialog_max_initial (gint value);
|
|
void gnm_gconf_set_sort_retain_form (gboolean value);
|
|
void gnm_gconf_set_sort_by_case (gboolean value);
|
|
void gnm_gconf_set_sort_ascending (gboolean value);
|
|
|
|
/* workbook */
|
|
void gnm_gconf_set_workbook_nsheets (gint value);
|
|
void gnm_gconf_set_unfocused_rs (gboolean value);
|
|
|
|
/* function selector and formula guru */
|
|
void gnm_gconf_set_num_recent_functions (gint value);
|
|
|
|
/* standard plugins */
|
|
void gnm_gconf_set_latex_use_utf8 (gboolean value);
|
|
|
|
/* application interface */
|
|
void gnm_gconf_set_prefer_clipboard (gboolean value);
|
|
|
|
/**************************************************************/
|
|
|
|
char *go_conf_get_short_desc (char const *key);
|
|
char *go_conf_get_long_desc (char const *key);
|
|
GType go_conf_get_type (char const *key);
|
|
char *go_conf_get_value_as_str (char const *key);
|
|
gboolean go_conf_set_value_from_str (char const *key, char const *val_str);
|
|
|
|
gboolean go_conf_get_bool (char const *key);
|
|
int go_conf_get_int (char const *key);
|
|
double go_conf_get_double (char const *key);
|
|
char *go_conf_get_string (char const *key);
|
|
GSList *go_conf_get_str_list (char const *key);
|
|
|
|
gboolean go_conf_load_bool (char const *key, gboolean default_val);
|
|
int go_conf_load_int (char const *key, int minima, int maxima, int default_val);
|
|
double go_conf_load_double (char const *key, double minima, double maxima, double default_val);
|
|
char *go_conf_load_string (char const *key);
|
|
GSList *go_conf_load_str_list (char const *key);
|
|
|
|
void go_conf_set_bool (char const *key, gboolean val);
|
|
void go_conf_set_int (char const *key, gint val);
|
|
void go_conf_set_double (char const *key, gnm_float val);
|
|
void go_conf_set_string (char const *key, char const *str);
|
|
void go_conf_set_str_list (char const *key, GSList *list);
|
|
|
|
void go_conf_sync (void);
|
|
|
|
typedef void (*GOConfMonitorFunc) (char const *key, gpointer data);
|
|
void go_conf_remove_monitor (guint monitor_id);
|
|
guint go_conf_add_monitor (char const *key,
|
|
GOConfMonitorFunc monitor, gpointer data);
|
|
|
|
#endif /* GNM_CONF_H */
|