чување 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:
| M | sled.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])