void project_init(void) { StashGroup *group; group = stash_group_new("indentation"); /* defaults are copied from editor indent prefs */ stash_group_set_use_defaults(group, FALSE); indent_group = group; stash_group_add_spin_button_integer(group, &indentation.width, "indent_width", 4, "spin_indent_width"); stash_group_add_radio_buttons(group, (gint*)(gpointer)&indentation.type, "indent_type", GEANY_INDENT_TYPE_TABS, "radio_indent_spaces", GEANY_INDENT_TYPE_SPACES, "radio_indent_tabs", GEANY_INDENT_TYPE_TABS, "radio_indent_both", GEANY_INDENT_TYPE_BOTH, NULL); /* This is a 'hidden' pref for backwards-compatibility */ stash_group_add_integer(group, &indentation.hard_tab_width, "indent_hard_tab_width", 8); stash_group_add_toggle_button(group, &indentation.detect_type, "detect_indent", FALSE, "check_detect_indent_type"); stash_group_add_toggle_button(group, &indentation.detect_width, "detect_indent_width", FALSE, "check_detect_indent_width"); stash_group_add_combo_box(group, (gint*)(gpointer)&indentation.auto_indent_mode, "indent_mode", GEANY_AUTOINDENT_CURRENTCHARS, "combo_auto_indent_mode"); }
static void init_stash_prefs(void) { StashGroup *group; GKeyFile *kf; group = stash_group_new("indentation"); /* copy global defaults */ indentation = *editor_get_indent_prefs(NULL); stash_group_set_use_defaults(group, FALSE); add_stash_group(group); stash_group_add_spin_button_integer(group, &indentation.width, "indent_width", 4, "spin_indent_width_project"); stash_group_add_radio_buttons(group, (gint*)(gpointer)&indentation.type, "indent_type", GEANY_INDENT_TYPE_TABS, "radio_indent_spaces_project", GEANY_INDENT_TYPE_SPACES, "radio_indent_tabs_project", GEANY_INDENT_TYPE_TABS, "radio_indent_both_project", GEANY_INDENT_TYPE_BOTH, NULL); /* This is a 'hidden' pref for backwards-compatibility */ stash_group_add_integer(group, &indentation.hard_tab_width, "indent_hard_tab_width", 8); stash_group_add_toggle_button(group, &indentation.detect_type, "detect_indent", FALSE, "check_detect_indent_type_project"); stash_group_add_toggle_button(group, &indentation.detect_width, "detect_indent_width", FALSE, "check_detect_indent_width_project"); stash_group_add_combo_box(group, (gint*)(gpointer)&indentation.auto_indent_mode, "indent_mode", GEANY_AUTOINDENT_CURRENTCHARS, "combo_auto_indent_mode_project"); group = stash_group_new("file_prefs"); stash_group_add_toggle_button(group, &priv.final_new_line, "final_new_line", file_prefs.final_new_line, "check_new_line1"); stash_group_add_toggle_button(group, &priv.ensure_convert_new_lines, "ensure_convert_new_lines", file_prefs.ensure_convert_new_lines, "check_ensure_convert_new_lines1"); stash_group_add_toggle_button(group, &priv.strip_trailing_spaces, "strip_trailing_spaces", file_prefs.strip_trailing_spaces, "check_trailing_spaces1"); stash_group_add_toggle_button(group, &priv.replace_tabs, "replace_tabs", file_prefs.replace_tabs, "check_replace_tabs1"); add_stash_group(group); /* apply defaults */ kf = g_key_file_new(); stash_group_load_from_key_file(group, kf); g_key_file_free(kf); }
static void init_pref_groups(void) { StashGroup *group; group = stash_group_new(PACKAGE); configuration_add_pref_group(group, TRUE); stash_group_add_entry(group, &prefs.default_open_path, "default_open_path", "", "startup_path_entry"); stash_group_add_toggle_button(group, &file_prefs.cmdline_new_files, "cmdline_new_files", TRUE, "check_cmdline_new_files"); stash_group_add_toggle_button(group, &interface_prefs.notebook_double_click_hides_widgets, "notebook_double_click_hides_widgets", FALSE, "check_double_click_hides_widgets"); stash_group_add_toggle_button(group, &file_prefs.tab_close_switch_to_mru, "tab_close_switch_to_mru", FALSE, "check_tab_close_switch_to_mru"); stash_group_add_integer(group, &interface_prefs.tab_pos_sidebar, "tab_pos_sidebar", GTK_POS_TOP); stash_group_add_radio_buttons(group, &interface_prefs.sidebar_pos, "sidebar_pos", GTK_POS_LEFT, "radio_sidebar_left", GTK_POS_LEFT, "radio_sidebar_right", GTK_POS_RIGHT, NULL); /* editor display */ stash_group_add_toggle_button(group, &interface_prefs.highlighting_invert_all, "highlighting_invert_all", FALSE, "check_highlighting_invert"); stash_group_add_toggle_button(group, &search_prefs.use_current_word, "pref_main_search_use_current_word", TRUE, "check_search_use_current_word"); /* editor */ stash_group_add_toggle_button(group, &editor_prefs.indentation->detect_type, "check_detect_indent", FALSE, "check_detect_indent_type"); stash_group_add_toggle_button(group, &editor_prefs.indentation->detect_width, "detect_indent_width", FALSE, "check_detect_indent_width"); stash_group_add_toggle_button(group, &editor_prefs.use_tab_to_indent, "use_tab_to_indent", TRUE, "check_tab_key_indents"); stash_group_add_spin_button_integer(group, &editor_prefs.indentation->width, "pref_editor_tab_width", 4, "spin_indent_width"); stash_group_add_combo_box(group, (gint*)(void*)&editor_prefs.indentation->auto_indent_mode, "indent_mode", GEANY_AUTOINDENT_CURRENTCHARS, "combo_auto_indent_mode"); stash_group_add_radio_buttons(group, (gint*)(void*)&editor_prefs.indentation->type, "indent_type", GEANY_INDENT_TYPE_TABS, "radio_indent_spaces", GEANY_INDENT_TYPE_SPACES, "radio_indent_tabs", GEANY_INDENT_TYPE_TABS, "radio_indent_both", GEANY_INDENT_TYPE_BOTH, NULL); stash_group_add_radio_buttons(group, (gint*)(void*)&editor_prefs.show_virtual_space, "virtualspace", GEANY_VIRTUAL_SPACE_SELECTION, "radio_virtualspace_disabled", GEANY_VIRTUAL_SPACE_DISABLED, "radio_virtualspace_selection", GEANY_VIRTUAL_SPACE_SELECTION, "radio_virtualspace_always", GEANY_VIRTUAL_SPACE_ALWAYS, NULL); stash_group_add_toggle_button(group, &editor_prefs.autocomplete_doc_words, "autocomplete_doc_words", FALSE, "check_autocomplete_doc_words"); stash_group_add_toggle_button(group, &editor_prefs.completion_drops_rest_of_word, "completion_drops_rest_of_word", FALSE, "check_completion_drops_rest_of_word"); stash_group_add_spin_button_integer(group, (gint*)&editor_prefs.autocompletion_max_entries, "autocompletion_max_entries", GEANY_MAX_AUTOCOMPLETE_WORDS, "spin_autocompletion_max_entries"); stash_group_add_spin_button_integer(group, (gint*)&editor_prefs.autocompletion_update_freq, "autocompletion_update_freq", GEANY_MAX_SYMBOLS_UPDATE_FREQ, "spin_symbol_update_freq"); stash_group_add_string(group, &editor_prefs.color_scheme, "color_scheme", NULL); /* files */ stash_group_add_spin_button_integer(group, (gint*)&file_prefs.mru_length, "mru_length", GEANY_DEFAULT_MRU_LENGTH, "spin_mru"); stash_group_add_spin_button_integer(group, &file_prefs.disk_check_timeout, "disk_check_timeout", GEANY_DISK_CHECK_TIMEOUT, "spin_disk_check"); /* various geany prefs */ group = stash_group_new(PACKAGE); configuration_add_various_pref_group(group); stash_group_add_boolean(group, &editor_prefs.show_scrollbars, "show_editor_scrollbars", TRUE); stash_group_add_boolean(group, &editor_prefs.brace_match_ltgt, "brace_match_ltgt", FALSE); stash_group_add_boolean(group, &editor_prefs.use_gtk_word_boundaries, "use_gtk_word_boundaries", TRUE); stash_group_add_boolean(group, &editor_prefs.complete_snippets_whilst_editing, "complete_snippets_whilst_editing", FALSE); stash_group_add_boolean(group, &file_prefs.use_safe_file_saving, atomic_file_saving_key, FALSE); stash_group_add_boolean(group, &file_prefs.gio_unsafe_save_backup, "gio_unsafe_save_backup", FALSE); stash_group_add_boolean(group, &file_prefs.use_gio_unsafe_file_saving, "use_gio_unsafe_file_saving", TRUE); /* for backwards-compatibility */ stash_group_add_integer(group, &editor_prefs.indentation->hard_tab_width, "indent_hard_tab_width", 8); stash_group_add_integer(group, (gint*)&search_prefs.find_selection_type, "find_selection_type", GEANY_FIND_SEL_CURRENT_WORD); stash_group_add_string(group, &file_prefs.extract_filetype_regex, "extract_filetype_regex", GEANY_DEFAULT_FILETYPE_REGEX); /* Note: Interface-related various prefs are in ui_init_prefs() */ /* various build-menu prefs */ group = stash_group_new("build-menu"); configuration_add_various_pref_group(group); stash_group_add_integer(group, &build_menu_prefs.number_ft_menu_items, "number_ft_menu_items", 0); stash_group_add_integer(group, &build_menu_prefs.number_non_ft_menu_items, "number_non_ft_menu_items", 0); stash_group_add_integer(group, &build_menu_prefs.number_exec_menu_items, "number_exec_menu_items", 0); }