sled

Једноставни уређивач текста
git clone https://git.sr.ht/~strahinja/sled
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување b8fb6e4a5a84411da6c9582628d78ce2b2cc2288
родитељ a66ef27a0aa195e08265a5a040f9298058216ffa
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Sun, 13 Feb 2022 22:15:05 +0100

Correctly reset DrawState.saved_column

Signed-off-by: Страхиња Радић <contact@strahinja.org>

Diffstat:
Msled.c | 71+++++++++++------------------------------------------------------------
измењених датотека: 1, додавања: 11(+), брисања: 60(-)

diff --git a/sled.c b/sled.c @@ -60,19 +60,10 @@ int load_file(struct DrawState* dstate, long* lineno, long* col); int save_file(struct DrawState* state); void save_msgstr(struct DrawState* state); void cancel_msgstr(struct DrawState* state); -// struct DrawState* copy_msgid_to_input(struct DrawState* state); -// struct DrawState* yank_msgstr_to_paste_buffer(struct DrawState* state); -// struct DrawState* paste_paste_buffer_to_input(struct DrawState* state); void goto_msgid(struct DrawState* state, const size_t msgid_number); -// void next_match(struct DrawState* state); -// void prev_match(struct DrawState* state); -// void next_untranslated(struct DrawState* state); -// void next_fuzzy(struct DrawState* state); void show_edit(struct DrawState* state); void move_up(struct DrawState* state); void move_down(struct DrawState* state); -void edit_page_up(struct DrawState* state); -void edit_page_down(struct DrawState* state); void move_start(struct DrawState* state); void move_left(struct DrawState* state); void move_right(struct DrawState* state); @@ -548,9 +539,9 @@ move_up(struct DrawState* state) state->display_column); if (state->first_shown_column > state->display_column) state->first_shown_column = state->display_column; - if (state->first_shown_column + state->maxx - 4 < state->display_column) + if (state->first_shown_column + state->maxx - 1 < state->display_column) state->first_shown_column - = state->display_column - state->maxx + 4; + = state->display_column - state->maxx + 1; state->display_column = display_length(state, state->buffer[state->row].text, state->column); } @@ -574,59 +565,14 @@ move_down(struct DrawState* state) state->display_column); if (state->first_shown_column > state->display_column) state->first_shown_column = state->display_column; - if (state->first_shown_column + state->maxx - 4 < state->display_column) + if (state->first_shown_column + state->maxx - 1 < state->display_column) state->first_shown_column - = state->display_column - state->maxx + 4; + = state->display_column - state->maxx + 1; state->display_column = display_length(state, state->buffer[state->row].text, state->column); } void -edit_page_up(struct DrawState* state) -{ - /* - if (state->edit_info_focused) - { - if (state->info_first_shown_row > (EDIT_HEIGHT - 3) / 2) - state->info_first_shown_row -= (EDIT_HEIGHT - 3) / 2; - else - move_start(state); - return; - } - - if (state->dirty) - save_msgstr(state); - else / No need to call cancel_msgstr / - state->dirty = state->dirty_before_edit; - move_list_up(state); - state->msgstr_index = 0; - show_edit(state); - */ -} - -void -edit_page_down(struct DrawState* state) -{ - /* - if (state->edit_info_focused) - { - if (state->info_first_shown_row + (EDIT_HEIGHT - 3) / 2 - < state->info_rows_count - 1) - state->info_first_shown_row += (EDIT_HEIGHT - 3) / 2; - return; - } - - if (state->dirty) - save_msgstr(state); - else / No need to call cancel_msgstr / - state->dirty = state->dirty_before_edit; - move_list_down(state); - state->msgstr_index = 0; - show_edit(state); - */ -} - -void move_top(struct DrawState* state) { state->row = 0; @@ -1224,9 +1170,9 @@ handle_editbox_key_event(struct tb_event* ev, struct DrawState* state) else if (ev->key == TB_KEY_HOME || ev->key == TB_KEY_CTRL_A) move_start(state); else if (ev->key == TB_KEY_PGDN || ev->key == TB_KEY_CTRL_F) - edit_page_down(state); + ;//edit_page_down(state); else if (ev->key == TB_KEY_PGUP || ev->key == TB_KEY_CTRL_B) - edit_page_up(state); + ;//edit_page_up(state); else if (ev->key == TB_KEY_SPACE) insert_char(state, ' '); else if (ev->key == TB_KEY_TAB) @@ -1247,6 +1193,11 @@ handle_key_event(struct tb_event* ev, struct DrawState* state) else if (state->show_search) handle_search_key_event(ev, state); else */ + + if (ev->key != TB_KEY_ARROW_DOWN && ev->key != TB_KEY_ARROW_UP + && ev->ch != 'j' && ev->ch != 'k') + state->saved_column = -1; + if (ev->key == TB_KEY_ESC) { if (state->error[0])