Skip to content

Commit

Permalink
Improve file selection scene
Browse files Browse the repository at this point in the history
  • Loading branch information
gsurkov committed Oct 24, 2023
1 parent e355fab commit 2248b39
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions applications/main/infrared/scenes/infrared_scene_remote_list.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,30 @@ void infrared_scene_remote_list_on_enter(void* context) {
SceneManager* scene_manager = infrared->scene_manager;
ViewDispatcher* view_dispatcher = infrared->view_dispatcher;

view_set_orientation(view_stack_get_view(infrared->view_stack), ViewOrientationVertical);
view_dispatcher_switch_to_view(view_dispatcher, InfraredViewStack);

DialogsFileBrowserOptions browser_options;
dialog_file_browser_set_basic_options(&browser_options, INFRARED_APP_EXTENSION, &I_ir_10px);
browser_options.base_path = INFRARED_APP_FOLDER;

if(!dialog_file_browser_show(
infrared->dialogs, infrared->file_path, infrared->file_path, &browser_options)) {
return;
}
while(dialog_file_browser_show(
infrared->dialogs, infrared->file_path, infrared->file_path, &browser_options)) {
const char* file_path = furi_string_get_cstr(infrared->file_path);

const char* file_path = furi_string_get_cstr(infrared->file_path);
infrared_show_loading_popup(infrared, true);
const bool remote_loaded = infrared_remote_load(infrared->remote, file_path);
infrared_show_loading_popup(infrared, false);

view_set_orientation(view_stack_get_view(infrared->view_stack), ViewOrientationVertical);
view_dispatcher_switch_to_view(view_dispatcher, InfraredViewStack);

infrared_show_loading_popup(infrared, true);
const bool remote_loaded = infrared_remote_load(infrared->remote, file_path);
infrared_show_loading_popup(infrared, false);

if(remote_loaded) {
scene_manager_next_scene(scene_manager, InfraredSceneRemote);
} else {
infrared_show_error_message(infrared, "Failed to load\n\"%s\"", file_path);
scene_manager_previous_scene(scene_manager);
if(remote_loaded) {
scene_manager_next_scene(scene_manager, InfraredSceneRemote);
return;
} else {
infrared_show_error_message(infrared, "Failed to load\n\"%s\"", file_path);
}
}

scene_manager_previous_scene(scene_manager);
}

bool infrared_scene_remote_list_on_event(void* context, SceneManagerEvent event) {
Expand Down

0 comments on commit 2248b39

Please sign in to comment.