mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-06-16 20:09:44 -07:00
Add hidden files and internal tab settings
This commit is contained in:
@@ -471,10 +471,14 @@ void archive_switch_tab(ArchiveBrowserView* browser, InputKey key) {
|
||||
|
||||
browser->last_tab_switch_dir = key;
|
||||
|
||||
if(key == InputKeyLeft) {
|
||||
tab = ((tab - 1) + ArchiveTabTotal) % ArchiveTabTotal;
|
||||
} else {
|
||||
tab = (tab + 1) % ArchiveTabTotal;
|
||||
for(int i = 0; i < 2; i++) {
|
||||
if(key == InputKeyLeft) {
|
||||
tab = ((tab - 1) + ArchiveTabTotal) % ArchiveTabTotal;
|
||||
} else {
|
||||
tab = (tab + 1) % ArchiveTabTotal;
|
||||
}
|
||||
if(tab == ArchiveTabInternal && !XTREME_SETTINGS()->show_internal_tab) continue;
|
||||
break;
|
||||
}
|
||||
|
||||
browser->is_root = true;
|
||||
@@ -503,14 +507,14 @@ void archive_switch_tab(ArchiveBrowserView* browser, InputKey key) {
|
||||
bool hide_dot_files = !is_browser ? true :
|
||||
tab == ArchiveTabInternal ?
|
||||
false :
|
||||
!furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug);
|
||||
!XTREME_SETTINGS()->show_hidden_files;
|
||||
archive_file_browser_set_path(
|
||||
browser, browser->path, archive_get_tab_ext(tab), skip_assets, hide_dot_files);
|
||||
tab_empty = false; // Empty check will be performed later
|
||||
}
|
||||
}
|
||||
|
||||
if((tab_empty) && (tab != ArchiveTabBrowser) && (tab != ArchiveTabInternal)) {
|
||||
if(tab_empty && tab != ArchiveTabBrowser && tab != ArchiveTabInternal) {
|
||||
archive_switch_tab(browser, key);
|
||||
} else {
|
||||
with_view_model(
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
enum VarItemListIndex {
|
||||
VarItemListIndexSortDirsFirst,
|
||||
VarItemListIndexShowHiddenFiles,
|
||||
VarItemListIndexShowInternalTab,
|
||||
VarItemListIndexFavoriteTimeout,
|
||||
};
|
||||
|
||||
@@ -18,6 +20,22 @@ static void xtreme_app_scene_interface_filebrowser_sort_dirs_first_changed(Varia
|
||||
app->save_settings = true;
|
||||
}
|
||||
|
||||
static void xtreme_app_scene_interface_filebrowser_show_hidden_files_changed(VariableItem* item) {
|
||||
XtremeApp* app = variable_item_get_context(item);
|
||||
bool value = variable_item_get_current_value_index(item);
|
||||
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
|
||||
XTREME_SETTINGS()->show_hidden_files = value;
|
||||
app->save_settings = true;
|
||||
}
|
||||
|
||||
static void xtreme_app_scene_interface_filebrowser_show_internal_tab_changed(VariableItem* item) {
|
||||
XtremeApp* app = variable_item_get_context(item);
|
||||
bool value = variable_item_get_current_value_index(item);
|
||||
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
|
||||
XTREME_SETTINGS()->show_internal_tab = value;
|
||||
app->save_settings = true;
|
||||
}
|
||||
|
||||
static void xtreme_app_scene_interface_filebrowser_favorite_timeout_changed(VariableItem* item) {
|
||||
XtremeApp* app = variable_item_get_context(item);
|
||||
uint32_t value = variable_item_get_current_value_index(item);
|
||||
@@ -43,6 +61,24 @@ void xtreme_app_scene_interface_filebrowser_on_enter(void* context) {
|
||||
variable_item_set_current_value_index(item, xtreme_settings->sort_dirs_first);
|
||||
variable_item_set_current_value_text(item, xtreme_settings->sort_dirs_first ? "ON" : "OFF");
|
||||
|
||||
item = variable_item_list_add(
|
||||
var_item_list,
|
||||
"Show Hidden Files",
|
||||
2,
|
||||
xtreme_app_scene_interface_filebrowser_show_hidden_files_changed,
|
||||
app);
|
||||
variable_item_set_current_value_index(item, xtreme_settings->show_hidden_files);
|
||||
variable_item_set_current_value_text(item, xtreme_settings->show_hidden_files ? "ON" : "OFF");
|
||||
|
||||
item = variable_item_list_add(
|
||||
var_item_list,
|
||||
"Show Internal Tab",
|
||||
2,
|
||||
xtreme_app_scene_interface_filebrowser_show_internal_tab_changed,
|
||||
app);
|
||||
variable_item_set_current_value_index(item, xtreme_settings->show_internal_tab);
|
||||
variable_item_set_current_value_text(item, xtreme_settings->show_internal_tab ? "ON" : "OFF");
|
||||
|
||||
item = variable_item_list_add(
|
||||
var_item_list,
|
||||
"Favorite Timeout",
|
||||
|
||||
+13
-1
@@ -6,7 +6,7 @@
|
||||
#define TAG "XtremeSettings"
|
||||
|
||||
XtremeSettings xtreme_settings = {
|
||||
.asset_pack = "",
|
||||
.asset_pack = "", // SFW
|
||||
.anim_speed = 100, // 100%
|
||||
.cycle_anims = 0, // Meta.txt
|
||||
.unlock_anims = false, // OFF
|
||||
@@ -24,6 +24,8 @@ XtremeSettings xtreme_settings = {
|
||||
.bar_borders = true, // ON
|
||||
.bar_background = false, // OFF
|
||||
.sort_dirs_first = true, // ON
|
||||
.show_hidden_files = false, // OFF
|
||||
.show_internal_tab = false, // OFF
|
||||
.favorite_timeout = 0, // OFF
|
||||
.bad_bt = false, // USB
|
||||
.bad_bt_remember = false, // OFF
|
||||
@@ -117,6 +119,14 @@ void XTREME_SETTINGS_LOAD() {
|
||||
x->sort_dirs_first = b;
|
||||
}
|
||||
flipper_format_rewind(file);
|
||||
if(flipper_format_read_bool(file, "show_hidden_files", &b, 1)) {
|
||||
x->show_hidden_files = b;
|
||||
}
|
||||
flipper_format_rewind(file);
|
||||
if(flipper_format_read_bool(file, "show_internal_tab", &b, 1)) {
|
||||
x->show_internal_tab = b;
|
||||
}
|
||||
flipper_format_rewind(file);
|
||||
if(flipper_format_read_uint32(file, "favorite_timeout", &u, 1)) {
|
||||
x->favorite_timeout = CLAMP(u, 60U, 0U);
|
||||
}
|
||||
@@ -174,6 +184,8 @@ void XTREME_SETTINGS_SAVE() {
|
||||
flipper_format_write_bool(file, "bar_borders", &x->bar_borders, 1);
|
||||
flipper_format_write_bool(file, "bar_background", &x->bar_background, 1);
|
||||
flipper_format_write_bool(file, "sort_dirs_first", &x->sort_dirs_first, 1);
|
||||
flipper_format_write_bool(file, "show_hidden_files", &x->show_hidden_files, 1);
|
||||
flipper_format_write_bool(file, "show_internal_tab", &x->show_internal_tab, 1);
|
||||
flipper_format_write_uint32(file, "favorite_timeout", &x->favorite_timeout, 1);
|
||||
flipper_format_write_bool(file, "bad_bt", &x->bad_bt, 1);
|
||||
flipper_format_write_bool(file, "bad_bt_remember", &x->bad_bt_remember, 1);
|
||||
|
||||
@@ -33,6 +33,8 @@ typedef struct {
|
||||
bool bar_borders;
|
||||
bool bar_background;
|
||||
bool sort_dirs_first;
|
||||
bool show_hidden_files;
|
||||
bool show_internal_tab;
|
||||
uint32_t favorite_timeout;
|
||||
bool bad_bt;
|
||||
bool bad_bt_remember;
|
||||
|
||||
Reference in New Issue
Block a user