mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-22 05:14:46 -07:00
fix storage settings scene exit via favs
This commit is contained in:
@@ -156,14 +156,26 @@ bool storage_settings_scene_benchmark_on_event(void* context, SceneManagerEvent
|
|||||||
if(event.type == SceneManagerEventTypeCustom) {
|
if(event.type == SceneManagerEventTypeCustom) {
|
||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
case DialogExResultCenter:
|
case DialogExResultCenter:
|
||||||
consumed = scene_manager_search_and_switch_to_previous_scene(
|
if(app->from_favorites) {
|
||||||
app->scene_manager, StorageSettingsStart);
|
storage_settings_scene_benchmark_on_exit(app);
|
||||||
|
view_dispatcher_stop(app->view_dispatcher);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
consumed = scene_manager_search_and_switch_to_previous_scene(
|
||||||
|
app->scene_manager, StorageSettingsStart);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if(event.type == SceneManagerEventTypeBack) {
|
} else if(event.type == SceneManagerEventTypeBack) {
|
||||||
if(sd_status == FSE_OK) {
|
if(sd_status == FSE_OK) {
|
||||||
consumed = scene_manager_search_and_switch_to_previous_scene(
|
if(app->from_favorites) {
|
||||||
app->scene_manager, StorageSettingsStart);
|
storage_settings_scene_benchmark_on_exit(app);
|
||||||
|
view_dispatcher_stop(app->view_dispatcher);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
consumed = scene_manager_search_and_switch_to_previous_scene(
|
||||||
|
app->scene_manager, StorageSettingsStart);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
consumed = true;
|
consumed = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,13 @@ bool storage_settings_scene_benchmark_confirm_on_event(void* context, SceneManag
|
|||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
case DialogExResultLeft:
|
case DialogExResultLeft:
|
||||||
case DialogExResultCenter:
|
case DialogExResultCenter:
|
||||||
consumed = scene_manager_previous_scene(app->scene_manager);
|
if(app->from_favorites) {
|
||||||
|
storage_settings_scene_benchmark_confirm_on_exit(app);
|
||||||
|
view_dispatcher_stop(app->view_dispatcher);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
consumed = scene_manager_previous_scene(app->scene_manager);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case DialogExResultRight:
|
case DialogExResultRight:
|
||||||
scene_manager_next_scene(app->scene_manager, StorageSettingsBenchmark);
|
scene_manager_next_scene(app->scene_manager, StorageSettingsBenchmark);
|
||||||
|
|||||||
@@ -44,7 +44,13 @@ bool storage_settings_scene_factory_reset_on_event(void* context, SceneManagerEv
|
|||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
case DialogExResultLeft:
|
case DialogExResultLeft:
|
||||||
scene_manager_set_scene_state(app->scene_manager, StorageSettingsFactoryReset, 0);
|
scene_manager_set_scene_state(app->scene_manager, StorageSettingsFactoryReset, 0);
|
||||||
consumed = scene_manager_previous_scene(app->scene_manager);
|
if(app->from_favorites) {
|
||||||
|
storage_settings_scene_factory_reset_on_exit(app);
|
||||||
|
view_dispatcher_stop(app->view_dispatcher);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
consumed = scene_manager_previous_scene(app->scene_manager);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case DialogExResultRight:
|
case DialogExResultRight:
|
||||||
counter++;
|
counter++;
|
||||||
|
|||||||
@@ -41,7 +41,13 @@ bool storage_settings_scene_format_confirm_on_event(void* context, SceneManagerE
|
|||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
case DialogExResultLeft:
|
case DialogExResultLeft:
|
||||||
case DialogExResultCenter:
|
case DialogExResultCenter:
|
||||||
consumed = scene_manager_previous_scene(app->scene_manager);
|
if(app->from_favorites) {
|
||||||
|
storage_settings_scene_format_confirm_on_exit(app);
|
||||||
|
view_dispatcher_stop(app->view_dispatcher);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
consumed = scene_manager_previous_scene(app->scene_manager);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case DialogExResultRight:
|
case DialogExResultRight:
|
||||||
scene_manager_next_scene(app->scene_manager, StorageSettingsFormatting);
|
scene_manager_next_scene(app->scene_manager, StorageSettingsFormatting);
|
||||||
|
|||||||
@@ -69,8 +69,14 @@ bool storage_settings_scene_formatting_on_event(void* context, SceneManagerEvent
|
|||||||
if(event.type == SceneManagerEventTypeCustom) {
|
if(event.type == SceneManagerEventTypeCustom) {
|
||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
case DialogExResultLeft:
|
case DialogExResultLeft:
|
||||||
consumed = scene_manager_search_and_switch_to_previous_scene(
|
if(app->from_favorites) {
|
||||||
app->scene_manager, StorageSettingsStart);
|
storage_settings_scene_formatting_on_exit(app);
|
||||||
|
view_dispatcher_stop(app->view_dispatcher);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
consumed = scene_manager_search_and_switch_to_previous_scene(
|
||||||
|
app->scene_manager, StorageSettingsStart);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if(event.type == SceneManagerEventTypeBack) {
|
} else if(event.type == SceneManagerEventTypeBack) {
|
||||||
|
|||||||
@@ -56,7 +56,13 @@ bool storage_settings_scene_internal_info_on_event(void* context, SceneManagerEv
|
|||||||
if(event.type == SceneManagerEventTypeCustom) {
|
if(event.type == SceneManagerEventTypeCustom) {
|
||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
case DialogExResultLeft:
|
case DialogExResultLeft:
|
||||||
consumed = scene_manager_previous_scene(app->scene_manager);
|
if(app->from_favorites) {
|
||||||
|
storage_settings_scene_internal_info_on_exit(app);
|
||||||
|
view_dispatcher_stop(app->view_dispatcher);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
consumed = scene_manager_previous_scene(app->scene_manager);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,7 +78,13 @@ bool storage_settings_scene_sd_info_on_event(void* context, SceneManagerEvent ev
|
|||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
case DialogExResultLeft:
|
case DialogExResultLeft:
|
||||||
case DialogExResultCenter:
|
case DialogExResultCenter:
|
||||||
consumed = scene_manager_previous_scene(app->scene_manager);
|
if(app->from_favorites) {
|
||||||
|
storage_settings_scene_sd_info_on_exit(app);
|
||||||
|
view_dispatcher_stop(app->view_dispatcher);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
consumed = scene_manager_previous_scene(app->scene_manager);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case DialogExResultRight:
|
case DialogExResultRight:
|
||||||
scene_manager_next_scene(app->scene_manager, StorageSettingsUnmounted);
|
scene_manager_next_scene(app->scene_manager, StorageSettingsUnmounted);
|
||||||
|
|||||||
@@ -46,7 +46,13 @@ bool storage_settings_scene_unmount_confirm_on_event(void* context, SceneManager
|
|||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
case DialogExResultCenter:
|
case DialogExResultCenter:
|
||||||
case DialogExResultLeft:
|
case DialogExResultLeft:
|
||||||
consumed = scene_manager_previous_scene(app->scene_manager);
|
if(app->from_favorites) {
|
||||||
|
storage_settings_scene_unmount_confirm_on_exit(app);
|
||||||
|
view_dispatcher_stop(app->view_dispatcher);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
consumed = scene_manager_previous_scene(app->scene_manager);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case DialogExResultRight:
|
case DialogExResultRight:
|
||||||
scene_manager_next_scene(app->scene_manager, StorageSettingsUnmounted);
|
scene_manager_next_scene(app->scene_manager, StorageSettingsUnmounted);
|
||||||
|
|||||||
@@ -57,8 +57,14 @@ bool storage_settings_scene_unmounted_on_event(void* context, SceneManagerEvent
|
|||||||
if(event.type == SceneManagerEventTypeCustom) {
|
if(event.type == SceneManagerEventTypeCustom) {
|
||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
case DialogExResultCenter:
|
case DialogExResultCenter:
|
||||||
consumed = scene_manager_search_and_switch_to_previous_scene(
|
if(app->from_favorites) {
|
||||||
app->scene_manager, StorageSettingsStart);
|
storage_settings_scene_unmounted_on_exit(app);
|
||||||
|
view_dispatcher_stop(app->view_dispatcher);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
consumed = scene_manager_search_and_switch_to_previous_scene(
|
||||||
|
app->scene_manager, StorageSettingsStart);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if(event.type == SceneManagerEventTypeBack) {
|
} else if(event.type == SceneManagerEventTypeBack) {
|
||||||
|
|||||||
@@ -98,7 +98,10 @@ int32_t storage_settings_app(void* p) {
|
|||||||
StorageSettings* app = storage_settings_alloc();
|
StorageSettings* app = storage_settings_alloc();
|
||||||
|
|
||||||
if(!submenu_settings_helpers_app_start(app->settings_helper, p)) {
|
if(!submenu_settings_helpers_app_start(app->settings_helper, p)) {
|
||||||
|
app->from_favorites = false;
|
||||||
scene_manager_next_scene(app->scene_manager, StorageSettingsStart);
|
scene_manager_next_scene(app->scene_manager, StorageSettingsStart);
|
||||||
|
} else {
|
||||||
|
app->from_favorites = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
view_dispatcher_run(app->view_dispatcher);
|
view_dispatcher_run(app->view_dispatcher);
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ typedef struct {
|
|||||||
// helpers
|
// helpers
|
||||||
SubmenuSettingsHelperDescriptor* helper_descriptor;
|
SubmenuSettingsHelperDescriptor* helper_descriptor;
|
||||||
SubmenuSettingsHelper* settings_helper;
|
SubmenuSettingsHelper* settings_helper;
|
||||||
|
|
||||||
|
bool from_favorites;
|
||||||
} StorageSettings;
|
} StorageSettings;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|||||||
Reference in New Issue
Block a user