feat(Archive): Adds multiple file selection

Allows selecting both files and folders at the same time to perform
actions on. Selected files are either moved to clipboard for the
`Cut`/`Copy` and `Paste` actions, or deleted with `Delete`. `Rename`
action still only works on single file, but that file can be in the
multi selection.
This commit is contained in:
Alexander Bays
2024-12-20 12:19:25 -06:00
parent ef05ee44c9
commit 04e6eb251d
11 changed files with 411 additions and 100 deletions
+2
View File
@@ -29,6 +29,7 @@ MomentumSettings momentum_settings = {
.sort_dirs_first = true, // ON
.show_hidden_files = false, // OFF
.show_internal_tab = false, // OFF
.selection_indicator_style = SelectionIndicatorStylePlus, // +
.favorite_timeout = 0, // OFF
.dark_mode = false, // OFF
.rgb_backlight = false, // OFF
@@ -98,6 +99,7 @@ static const struct {
{setting_bool(sort_dirs_first)},
{setting_bool(show_hidden_files)},
{setting_bool(show_internal_tab)},
{setting_enum(selection_indicator_style, SelectionIndicatorStyleCount)},
{setting_uint(favorite_timeout, 0, 60)},
{setting_bool(dark_mode)},
{setting_bool(rgb_backlight)},
+8
View File
@@ -54,6 +54,13 @@ typedef union __attribute__((packed)) {
uint32_t value;
} ScreenFrameColor;
typedef enum {
SelectionIndicatorStylePlus,
SelectionIndicatorStyleStar,
SelectionIndicatorStyleDash,
SelectionIndicatorStyleCount,
} SelectionIndicatorStyle;
typedef struct {
char asset_pack[ASSET_PACKS_NAME_LEN];
uint32_t anim_speed;
@@ -77,6 +84,7 @@ typedef struct {
bool sort_dirs_first;
bool show_hidden_files;
bool show_internal_tab;
SelectionIndicatorStyle selection_indicator_style;
uint32_t favorite_timeout;
bool dark_mode;
bool rgb_backlight;