From b4acda1aa6fbee4c79934854b382f3f43851e171 Mon Sep 17 00:00:00 2001 From: nova Date: Thu, 14 May 2026 12:07:24 +0200 Subject: [PATCH] implementation select_all and toggle_selection --- interactions.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/interactions.c b/interactions.c index 52e4c72..006a064 100644 --- a/interactions.c +++ b/interactions.c @@ -170,7 +170,11 @@ void update(){ status |= (STATUS_RUN_BACKEND | STATUS_UPDATE_SCREEN_MASK | STATUS_RELOAD_DIRECTORY ); } void select_all(){ - TODO; + unsigned long i; + for (i = 0; i < mid_dir.file_count; i++) { + mid_dir.file_list[i].status ^= FILE_STATUS_SELECTED; + } + status |= (STATUS_RUN_BACKEND); } void move_down(unsigned long passes){ @@ -251,8 +255,13 @@ void toggle_hidden_files(){ file_modifiers ^= FILE_MODIFIERS_HIDDEN_FILES; status |= (STATUS_RUN_BACKEND | STATUS_RELOAD_DIRECTORY); } -void toggle_selection(){ - TODO; +void toggle_selection(unsigned long passes){ + unsigned long i; + for (i = 0; i < passes; i++) { + mid_dir.current_file->status ^= FILE_STATUS_SELECTED; + move_down(1); + } + status |= (STATUS_RUN_BACKEND); } void jump_bottom(){ mid_dir.current_file = mid_dir.file_list + mid_dir.file_count - 1;