mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-23 05:24:46 -07:00
[FL-3947] Pinning of settings options (#4077)
* feat: pinning settings in favorites * include archive in unit tests fw * change settings icon * update text with suggestions from the ui team * Small touch of constness --------- Co-authored-by: あく <alleteam@gmail.com> Co-authored-by: hedger <hedger@users.noreply.github.com> Co-authored-by: hedger <hedger@nanode.su>
This commit is contained in:
@@ -1,64 +1,16 @@
|
||||
#include "../power_settings_app.h"
|
||||
|
||||
enum PowerSettingsSubmenuIndex {
|
||||
PowerSettingsSubmenuIndexBatteryInfo,
|
||||
PowerSettingsSubmenuIndexReboot,
|
||||
PowerSettingsSubmenuIndexOff,
|
||||
};
|
||||
|
||||
static void power_settings_scene_start_submenu_callback(void* context, uint32_t index) {
|
||||
furi_assert(context);
|
||||
PowerSettingsApp* app = context;
|
||||
view_dispatcher_send_custom_event(app->view_dispatcher, index);
|
||||
}
|
||||
|
||||
void power_settings_scene_start_on_enter(void* context) {
|
||||
PowerSettingsApp* app = context;
|
||||
Submenu* submenu = app->submenu;
|
||||
|
||||
submenu_add_item(
|
||||
submenu,
|
||||
"Battery Info",
|
||||
PowerSettingsSubmenuIndexBatteryInfo,
|
||||
power_settings_scene_start_submenu_callback,
|
||||
app);
|
||||
submenu_add_item(
|
||||
submenu,
|
||||
"Reboot",
|
||||
PowerSettingsSubmenuIndexReboot,
|
||||
power_settings_scene_start_submenu_callback,
|
||||
app);
|
||||
submenu_add_item(
|
||||
submenu,
|
||||
"Power OFF",
|
||||
PowerSettingsSubmenuIndexOff,
|
||||
power_settings_scene_start_submenu_callback,
|
||||
app);
|
||||
submenu_set_selected_item(
|
||||
submenu, scene_manager_get_scene_state(app->scene_manager, PowerSettingsAppSceneStart));
|
||||
|
||||
view_dispatcher_switch_to_view(app->view_dispatcher, PowerSettingsAppViewSubmenu);
|
||||
submenu_settings_helpers_scene_enter(app->settings_helper);
|
||||
}
|
||||
|
||||
bool power_settings_scene_start_on_event(void* context, SceneManagerEvent event) {
|
||||
PowerSettingsApp* app = context;
|
||||
bool consumed = false;
|
||||
|
||||
if(event.type == SceneManagerEventTypeCustom) {
|
||||
if(event.event == PowerSettingsSubmenuIndexBatteryInfo) {
|
||||
scene_manager_next_scene(app->scene_manager, PowerSettingsAppSceneBatteryInfo);
|
||||
} else if(event.event == PowerSettingsSubmenuIndexReboot) {
|
||||
scene_manager_next_scene(app->scene_manager, PowerSettingsAppSceneReboot);
|
||||
} else if(event.event == PowerSettingsSubmenuIndexOff) {
|
||||
scene_manager_next_scene(app->scene_manager, PowerSettingsAppScenePowerOff);
|
||||
}
|
||||
scene_manager_set_scene_state(app->scene_manager, PowerSettingsAppSceneStart, event.event);
|
||||
consumed = true;
|
||||
}
|
||||
return consumed;
|
||||
return submenu_settings_helpers_scene_event(app->settings_helper, event);
|
||||
}
|
||||
|
||||
void power_settings_scene_start_on_exit(void* context) {
|
||||
PowerSettingsApp* app = context;
|
||||
submenu_reset(app->submenu);
|
||||
submenu_settings_helpers_scene_exit(app->settings_helper);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user