void load_keymap_defs (gboolean load_from_file) { /* * Load keymap from GLOBAL_KEYMAP_FILE before ${XDG_CONFIG_HOME}/mc/mc.keymap, so that the user * definitions override global settings. */ mc_config_t *mc_global_keymap; mc_global_keymap = load_setup_get_keymap_profile_config (load_from_file); if (mc_global_keymap != NULL) { main_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_MAIN, main_keymap, mc_global_keymap); main_x_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_MAIN_EXT, main_x_keymap, mc_global_keymap); panel_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_PANEL, panel_keymap, mc_global_keymap); dialog_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_DIALOG, dialog_keymap, mc_global_keymap); input_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_INPUT, input_keymap, mc_global_keymap); listbox_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_LISTBOX, listbox_keymap, mc_global_keymap); tree_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_TREE, tree_keymap, mc_global_keymap); help_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_HELP, help_keymap, mc_global_keymap); #ifdef USE_INTERNAL_EDIT editor_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_EDITOR, editor_keymap, mc_global_keymap); editor_x_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_EDITOR_EXT, editor_x_keymap, mc_global_keymap); #endif viewer_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_VIEWER, viewer_keymap, mc_global_keymap); viewer_hex_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_VIEWER_HEX, viewer_hex_keymap, mc_global_keymap); #ifdef USE_DIFF_VIEW diff_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section (KEYMAP_SECTION_DIFFVIEWER, diff_keymap, mc_global_keymap); #endif mc_config_deinit (mc_global_keymap); } main_map = (global_keymap_t *) main_keymap->data; main_x_map = (global_keymap_t *) main_x_keymap->data; panel_map = (global_keymap_t *) panel_keymap->data; dialog_map = (global_keymap_t *) dialog_keymap->data; input_map = (global_keymap_t *) input_keymap->data; listbox_map = (global_keymap_t *) listbox_keymap->data; tree_map = (global_keymap_t *) tree_keymap->data; help_map = (global_keymap_t *) help_keymap->data; #ifdef USE_INTERNAL_EDIT editor_map = (global_keymap_t *) editor_keymap->data; editor_x_map = (global_keymap_t *) editor_x_keymap->data; #endif viewer_map = (global_keymap_t *) viewer_keymap->data; viewer_hex_map = (global_keymap_t *) viewer_hex_keymap->data; #ifdef USE_DIFF_VIEW diff_map = (global_keymap_t *) diff_keymap->data; #endif }
void load_keymap_defs (void) { /* * Load keymap from GLOBAL_KEYMAP_FILE before ${XDG_DATA_HOME}/mc/keymap, so that the user * definitions override global settings. */ mc_config_t *mc_global_keymap; mc_global_keymap = load_setup_get_keymap_profile_config (); if (mc_global_keymap != NULL) { #ifdef USE_INTERNAL_EDIT editor_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("editor", editor_keymap, mc_global_keymap); editor_x_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("editor:xmap", editor_x_keymap, mc_global_keymap); #endif viewer_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("viewer", viewer_keymap, mc_global_keymap); viewer_hex_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("viewer:hex", viewer_hex_keymap, mc_global_keymap); main_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("main", main_keymap, mc_global_keymap); main_x_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("main:xmap", main_x_keymap, mc_global_keymap); panel_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("panel", panel_keymap, mc_global_keymap); input_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("input", input_keymap, mc_global_keymap); listbox_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("listbox", listbox_keymap, mc_global_keymap); tree_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("tree", tree_keymap, mc_global_keymap); help_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("help", help_keymap, mc_global_keymap); dialog_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("dialog", dialog_keymap, mc_global_keymap); #ifdef USE_DIFF_VIEW diff_keymap = g_array_new (TRUE, FALSE, sizeof (global_keymap_t)); load_keymap_from_section ("diffviewer", diff_keymap, mc_global_keymap); #endif mc_config_deinit (mc_global_keymap); } main_map = default_main_map; if (main_keymap && main_keymap->len > 0) main_map = (global_keymap_t *) main_keymap->data; main_x_map = default_main_x_map; if (main_x_keymap && main_x_keymap->len > 0) main_x_map = (global_keymap_t *) main_x_keymap->data; panel_map = default_panel_keymap; if (panel_keymap && panel_keymap->len > 0) panel_map = (global_keymap_t *) panel_keymap->data; input_map = default_input_keymap; if (input_keymap && input_keymap->len > 0) input_map = (global_keymap_t *) input_keymap->data; listbox_map = default_listbox_keymap; if (listbox_keymap && listbox_keymap->len > 0) listbox_map = (global_keymap_t *) listbox_keymap->data; tree_map = default_tree_keymap; if (tree_keymap && tree_keymap->len > 0) tree_map = (global_keymap_t *) tree_keymap->data; help_map = default_help_keymap; if (help_keymap && help_keymap->len > 0) help_map = (global_keymap_t *) help_keymap->data; dialog_map = default_dialog_keymap; if (dialog_keymap && dialog_keymap->len > 0) dialog_map = (global_keymap_t *) dialog_keymap->data; #ifdef USE_DIFF_VIEW diff_map = default_diff_keymap; if (diff_keymap && diff_keymap->len > 0) diff_map = (global_keymap_t *) diff_keymap->data; #endif }