Skip to content

Commit 2c46d2f

Browse files
committed
Merge remote-tracking branch '956MB:feat/menu-more-info' into 956/prs #354
2 parents 28680ab + 921d76f commit 2c46d2f

File tree

4 files changed

+265
-51
lines changed

4 files changed

+265
-51
lines changed

applications/main/momentum_app/scenes/momentum_app_scene_interface_mainmenu.c

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
#include "../momentum_app.h"
22

3+
#define ONLY_MSG "Only in PS4,\nVertical and\nMNTM styles!"
4+
#define CANT_MSG "Can't show in\nthe selected\nstyle!"
5+
36
enum VarItemListIndex {
47
VarItemListIndexMenuStyle,
58
VarItemListIndexResetMenu,
@@ -31,6 +34,51 @@ static void momentum_app_scene_interface_mainmenu_menu_style_changed(VariableIte
3134
variable_item_set_current_value_text(item, menu_style_names[index]);
3235
momentum_settings.menu_style = index;
3336
app->save_settings = true;
37+
38+
// Quick and dirty work around to refresh the list to update the locked items,
39+
// and isn't noticeable at all.
40+
scene_manager_previous_scene(app->scene_manager);
41+
scene_manager_next_scene(app->scene_manager, MomentumAppSceneInterfaceMainmenu);
42+
}
43+
44+
static void momentum_app_scene_interface_mainmenu_name_changed(VariableItem* item) {
45+
MomentumApp* app = variable_item_get_context(item);
46+
bool value = variable_item_get_current_value_index(item);
47+
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
48+
momentum_settings.menu_name = value;
49+
app->save_settings = true;
50+
}
51+
52+
static void momentum_app_scene_interface_mainmenu_level_changed(VariableItem* item) {
53+
MomentumApp* app = variable_item_get_context(item);
54+
bool value = variable_item_get_current_value_index(item);
55+
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
56+
momentum_settings.menu_level = value;
57+
app->save_settings = true;
58+
}
59+
60+
static void momentum_app_scene_interface_mainmenu_time_changed(VariableItem* item) {
61+
MomentumApp* app = variable_item_get_context(item);
62+
bool value = variable_item_get_current_value_index(item);
63+
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
64+
momentum_settings.menu_time = value;
65+
app->save_settings = true;
66+
}
67+
68+
static void momentum_app_scene_interface_mainmenu_battery_changed(VariableItem* item) {
69+
MomentumApp* app = variable_item_get_context(item);
70+
bool value = variable_item_get_current_value_index(item);
71+
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
72+
momentum_settings.menu_battery = value;
73+
app->save_settings = true;
74+
}
75+
76+
static void momentum_app_scene_interface_mainmenu_otg_changed(VariableItem* item) {
77+
MomentumApp* app = variable_item_get_context(item);
78+
bool value = variable_item_get_current_value_index(item);
79+
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
80+
momentum_settings.menu_otg = value;
81+
app->save_settings = true;
3482
}
3583

3684
static void momentum_app_scene_interface_mainmenu_app_changed(VariableItem* item) {
@@ -70,6 +118,7 @@ void momentum_app_scene_interface_mainmenu_on_enter(void* context) {
70118
MomentumApp* app = context;
71119
VariableItemList* var_item_list = app->var_item_list;
72120
VariableItem* item;
121+
MenuStyle style = momentum_settings.menu_style;
73122

74123
item = variable_item_list_add(
75124
var_item_list,
@@ -108,6 +157,45 @@ void momentum_app_scene_interface_mainmenu_on_enter(void* context) {
108157

109158
variable_item_list_add(var_item_list, "Remove Item", 0, NULL, app);
110159

160+
bool lock_all = style != MenuStylePs4 && style != MenuStyleVertical && style != MenuStyleMNTM;
161+
bool lock_vertical = style == MenuStyleVertical;
162+
bool lock_ps4_vertical = style == MenuStylePs4 || style == MenuStyleVertical;
163+
164+
item = variable_item_list_add(
165+
var_item_list, "Show Name", 2, momentum_app_scene_interface_mainmenu_name_changed, app);
166+
variable_item_set_current_value_index(item, momentum_settings.menu_name);
167+
variable_item_set_current_value_text(item, momentum_settings.menu_name ? "ON" : "OFF");
168+
variable_item_set_locked(item, lock_all || lock_vertical, lock_vertical ? CANT_MSG : ONLY_MSG);
169+
170+
item = variable_item_list_add(
171+
var_item_list, "Show Level", 2, momentum_app_scene_interface_mainmenu_level_changed, app);
172+
variable_item_set_current_value_index(item, momentum_settings.menu_level);
173+
variable_item_set_current_value_text(item, momentum_settings.menu_level ? "ON" : "OFF");
174+
variable_item_set_locked(item, lock_all || lock_vertical, lock_vertical ? CANT_MSG : ONLY_MSG);
175+
176+
item = variable_item_list_add(
177+
var_item_list, "Show Time", 2, momentum_app_scene_interface_mainmenu_time_changed, app);
178+
variable_item_set_current_value_index(item, momentum_settings.menu_time);
179+
variable_item_set_current_value_text(item, momentum_settings.menu_time ? "ON" : "OFF");
180+
variable_item_set_locked(item, lock_all, ONLY_MSG);
181+
182+
item = variable_item_list_add(
183+
var_item_list,
184+
"Show Battery",
185+
2,
186+
momentum_app_scene_interface_mainmenu_battery_changed,
187+
app);
188+
variable_item_set_current_value_index(item, momentum_settings.menu_battery);
189+
variable_item_set_current_value_text(item, momentum_settings.menu_battery ? "ON" : "OFF");
190+
variable_item_set_locked(item, lock_all, ONLY_MSG);
191+
192+
item = variable_item_list_add(
193+
var_item_list, "Show OTG (5v)", 2, momentum_app_scene_interface_mainmenu_otg_changed, app);
194+
variable_item_set_current_value_index(item, momentum_settings.menu_otg);
195+
variable_item_set_current_value_text(item, momentum_settings.menu_otg ? "ON" : "OFF");
196+
variable_item_set_locked(
197+
item, lock_all || lock_ps4_vertical, lock_ps4_vertical ? CANT_MSG : ONLY_MSG);
198+
111199
variable_item_list_set_enter_callback(
112200
var_item_list, momentum_app_scene_interface_mainmenu_var_item_list_callback, app);
113201

0 commit comments

Comments
 (0)