static void cmd_return(key_info_t key_info, keys_info_t *keys_info) { static menu_data_t *saved_menu; vle_mode_set(NORMAL_MODE, VMT_PRIMARY); saved_menu = menu; if(menu->execute_handler != NULL && menu->execute_handler(view, menu)) { vle_mode_set(MENU_MODE, VMT_PRIMARY); menu_full_redraw(); return; } if(!vle_mode_is(MENU_MODE)) { menus_reset_data(saved_menu); } else if(menu != saved_menu) { menus_reset_data(saved_menu); menu_partial_redraw(); } update_ui_on_leaving(); }
static void cmd_ctrl_m(key_info_t key_info, keys_info_t *keys_info) { static menu_info *saved_menu; vle_mode_set(NORMAL_MODE, VMT_PRIMARY); saved_menu = menu; if(menu->execute_handler != NULL && menu->execute_handler(curr_view, menu)) { vle_mode_set(MENU_MODE, VMT_PRIMARY); menu_redraw(); return; } if(!vle_mode_is(MENU_MODE)) { reset_popup_menu(saved_menu); } else if(menu != saved_menu) { reset_popup_menu(saved_menu); update_menu(); } update_ui_on_leaving(); }
void enter_sort_mode(view_t *active_view) { if(curr_stats.load_stage < 2) { return; } if(cv_compare(active_view->custom.type)) { show_error_msg("Sorting", "Sorting of comparison view can't be changed."); return; } view = active_view; descending = (view->sort[0] < 0); vle_mode_set(SORT_MODE, VMT_SECONDARY); top = 4; bottom = top + SK_COUNT - 1; curr = top + indexes[abs(view->sort[0])]; col = 4; redraw_sort_dialog(); }
static void keys_colon(key_info_t key_info, keys_info_t *keys_info) { vle_mode_set(CMDLINE_MODE, VMT_SECONDARY); key_is_mapped = keys_info->mapped; is_in_maping_state = is_inside_mapping(); }
static void keys_v(key_info_t key_info, keys_info_t *keys_info) { vle_mode_set(vle_mode_is(NORMAL_MODE) ? VISUAL_MODE : NORMAL_MODE, VMT_PRIMARY); printf("v visual mode toggle\n"); }
void enter_change_mode(FileView *active_view) { if(curr_stats.load_stage < 2) return; view = active_view; vle_mode_set(CHANGE_MODE, VMT_SECONDARY); wattroff(view->win, COLOR_PAIR(cfg.cs.pair[CURR_LINE_COLOR]) | A_BOLD); curs_set(FALSE); update_all_windows(); top = 2; #ifndef _WIN32 bottom = 8; #else bottom = 4; #endif curr = 2; col = 6; step = 2; redraw_change_dialog(); }
/* Enters the mode, which won't be left until one of expected results specified * by the mask is picked by the user. */ static void enter(int result_mask) { const int prev_use_input_bar = curr_stats.use_input_bar; const vle_mode_t prev_mode = vle_mode_get(); accept_mask = result_mask; curr_stats.use_input_bar = 0; vle_mode_set(MSG_MODE, VMT_SECONDARY); quit = 0; event_loop(&quit); vle_mode_set(prev_mode, VMT_SECONDARY); curr_stats.use_input_bar = prev_use_input_bar; }
static void cmd_return(key_info_t key_info, keys_info_t *keys_info) { update_marks(view); if(vle_mode_is(VISUAL_MODE)) { vle_mode_set(NORMAL_MODE, VMT_PRIMARY); } }
/* leaves properties change dialog */ static void leave_attr_mode(void) { vle_mode_set(NORMAL_MODE, VMT_PRIMARY); curr_stats.use_input_bar = 1; flist_sel_stash(view); ui_view_schedule_reload(view); }
static void leave_sort_mode(void) { vle_mode_set(NORMAL_MODE, VMT_PRIMARY); ui_view_reset_selection_and_reload(view); update_all_windows(); }
void try_activate_view_mode(void) { if(curr_view->explore_mode) { vle_mode_set(VIEW_MODE, VMT_SECONDARY); pick_vi(curr_view->explore_mode); } }
/* Leaves the mode with given result. */ static void leave(Result r) { curr_stats.use_input_bar = prev_use_input_bar; result = r; vle_mode_set(prev_mode, VMT_SECONDARY); quit = 1; }
void enter_file_info_mode(FileView *v) { vle_mode_set(FILE_INFO_MODE, VMT_PRIMARY); view = v; setup_menu(); redraw_file_info_dialog(); was_redraw = 0; }
/* Switches views. */ static void cmd_ctrl_wx(key_info_t key_info, keys_info_t *keys_info) { vi->abandoned = 1; vle_mode_set(NORMAL_MODE, VMT_PRIMARY); switch_panes(); if(curr_stats.view) { change_window(); } }
SETUP() { static int mode_flags[] = { MF_USES_REGS | MF_USES_COUNT, MF_USES_INPUT, MF_USES_COUNT }; init_keys(MODES_COUNT, mode_flags); vle_mode_set(NORMAL_MODE, VMT_PRIMARY); init_builtin_keys(); }
static void leave_change_mode(int clean_selection) { vle_mode_set(NORMAL_MODE, VMT_PRIMARY); if(clean_selection) { ui_view_reset_selection_and_reload(view); } update_all_windows(); }
void modmore_enter(const char txt[]) { text = strdup(txt); curr_line = 0; curr_vline = 0; vle_mode_set(MORE_MODE, VMT_PRIMARY); modmore_redraw(); was_redraw = 0; }
/* leaves properties change dialog */ static void leave_attr_mode(void) { vle_mode_set(NORMAL_MODE, VMT_PRIMARY); curr_stats.use_input_bar = 1; clean_selected_files(view); load_dir_list(view, 1); move_to_list_pos(view, view->list_pos); update_all_windows(); }
static void leave_attr_mode(void) { vle_mode_set(NORMAL_MODE, VMT_PRIMARY); curs_set(0); curr_stats.use_input_bar = 1; clean_selected_files(view); load_dir_list(view, 1); fview_cursor_redraw(view); update_all_windows(); }
static void leave_file_info_mode(void) { vle_mode_set(NORMAL_MODE, VMT_PRIMARY); if(was_redraw) { update_screen(UT_FULL); } else { update_all_windows(); } }
/* enters properties change mode */ void enter_attr_mode(FileView *active_view) { if(curr_stats.load_stage < 2) return; view = active_view; vle_mode_set(ATTR_MODE, VMT_SECONDARY); clear_input_bar(); curr_stats.use_input_bar = 0; init(); get_attrs(); redraw_attr_dialog(); }
void enter_file_info_mode(FileView *v) { if(fentry_is_fake(get_current_entry(v))) { show_error_msg("File info", "Entry doesn't correspond to a file."); return; } vle_mode_set(FILE_INFO_MODE, VMT_PRIMARY); view = v; setup_menu(); redraw_file_info_dialog(); was_redraw = 0; }
static void cmd_ctrl_ww(key_info_t key_info, keys_info_t *keys_info) { vi->abandoned = 1; vle_mode_set(NORMAL_MODE, VMT_PRIMARY); if(curr_view->explore_mode) { go_to_other_pane(); } ui_views_update_titles(); if(curr_stats.view) { quick_view_file(curr_view); } }
/* Quits the mode restoring previously active one. */ static void leave_more_mode(void) { update_string(&text, NULL); free(data); data = NULL; vle_mode_set(NORMAL_MODE, VMT_PRIMARY); if(was_redraw) { update_screen(UT_FULL); } else { update_all_windows(); } }
void enter_menu_mode(menu_info *m, FileView *active_view) { if(curr_stats.load_stage < 2) return; assert(m->len > 0 && "Menu cannot be empty."); werase(status_bar); view = active_view; menu = m; vle_mode_set(MENU_MODE, VMT_PRIMARY); curr_stats.need_update = UT_FULL; was_redraw = 0; init_cmds(0, &cmds_conf); }
static void cmd_tab(key_info_t key_info, keys_info_t *keys_info) { if(!curr_view->explore_mode) { leave_view_mode(); return; } change_window(); if(!curr_view->explore_mode) { vle_mode_set(NORMAL_MODE, VMT_PRIMARY); } pick_vi(curr_view->explore_mode); ui_views_update_titles(); }
void enter_view_mode(FileView *view, int explore) { char full_path[PATH_MAX]; if(get_file_to_explore(curr_view, full_path, sizeof(full_path)) != 0) { show_error_msg("File exploring", "The file cannot be explored"); return; } /* Either make use of abandoned view or prune it. */ if(try_ressurect_abandoned(full_path, explore) == 0) { ui_views_update_titles(); return; } pick_vi(explore); vi->view = view; if(load_view_data(vi, "File exploring", full_path, NOSILENT) != 0) { return; } vi->filename = strdup(full_path); vle_mode_set(VIEW_MODE, VMT_SECONDARY); if(explore) { vi->view = curr_view; curr_view->explore_mode = 1; } else { vi->view = other_view; } ui_views_update_titles(); view_redraw(); }
void enter_sort_mode(FileView *active_view) { if(curr_stats.load_stage < 2) return; view = active_view; descending = (view->sort[0] < 0); vle_mode_set(SORT_MODE, VMT_SECONDARY); wattroff(view->win, COLOR_PAIR(cfg.cs.pair[CURR_LINE_COLOR]) | A_BOLD); curs_set(FALSE); update_all_windows(); top = 4; bottom = top + SK_COUNT - 1; curr = top + indexes[abs(view->sort[0])]; col = 6; redraw_sort_dialog(); }
/* Leaves menu mode, possibly resetting selection. Does nothing if current mode * isn't menu mode. */ static void leave_menu_mode(int reset_selection) { /* Some menu implementation could have switched mode from one of handlers. */ if(!vle_mode_is(MENU_MODE)) { return; } menus_reset_data(menu); if(reset_selection) { flist_sel_stash(view); redraw_view(view); } vle_mode_set(NORMAL_MODE, VMT_PRIMARY); update_ui_on_leaving(); }
/* Leaves menu mode, possibly resetting selection. Does nothing if current mode * isn't menu mode. */ static void leave_menu_mode(int reset_selection) { /* Some menu implementation could have switched mode from one of handlers. */ if(!vle_mode_is(MENU_MODE)) { return; } reset_popup_menu(menu); if(reset_selection) { clean_selected_files(view); redraw_view(view); } vle_mode_set(NORMAL_MODE, VMT_PRIMARY); update_ui_on_leaving(); }