diff --git a/applications/main/infrared/scenes/infrared_scene_start.c b/applications/main/infrared/scenes/infrared_scene_start.c index 0403e40f8..a671c7592 100644 --- a/applications/main/infrared/scenes/infrared_scene_start.c +++ b/applications/main/infrared/scenes/infrared_scene_start.c @@ -38,26 +38,30 @@ void infrared_scene_start_on_enter(void* context) { infrared_scene_start_submenu_callback, infrared); - if(infrared->app_state.is_debug_enabled) { - submenu_add_item( - submenu, - "Learn New Remote RAW", - SubmenuIndexLearnNewRemoteRaw, - infrared_scene_start_submenu_callback, - infrared); - submenu_add_item( - submenu, - "Debug RX", - SubmenuIndexDebug, - infrared_scene_start_submenu_callback, - infrared); - submenu_add_item( - submenu, - "Debug Settings", - SubmenuIndexDebugSettings, - infrared_scene_start_submenu_callback, - infrared); - } + submenu_add_lockable_item( + submenu, + "Learn New Remote RAW", + SubmenuIndexLearnNewRemoteRaw, + infrared_scene_start_submenu_callback, + infrared, + !infrared->app_state.is_debug_enabled, + "Enable\nDebug!"); + submenu_add_lockable_item( + submenu, + "Debug RX", + SubmenuIndexDebug, + infrared_scene_start_submenu_callback, + infrared, + !infrared->app_state.is_debug_enabled, + "Enable\nDebug!"); + submenu_add_lockable_item( + submenu, + "Debug Settings", + SubmenuIndexDebugSettings, + infrared_scene_start_submenu_callback, + infrared, + !infrared->app_state.is_debug_enabled, + "Enable\nDebug!"); const uint32_t submenu_index = scene_manager_get_scene_state(scene_manager, InfraredSceneStart); diff --git a/applications/main/lfrfid/scenes/lfrfid_scene_extra_actions.c b/applications/main/lfrfid/scenes/lfrfid_scene_extra_actions.c index efa319c1e..d322b2d01 100644 --- a/applications/main/lfrfid/scenes/lfrfid_scene_extra_actions.c +++ b/applications/main/lfrfid/scenes/lfrfid_scene_extra_actions.c @@ -37,14 +37,14 @@ void lfrfid_scene_extra_actions_on_enter(void* context) { lfrfid_scene_extra_actions_submenu_callback, app); - if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug)) { - submenu_add_item( - submenu, - "Read RAW RFID data", - SubmenuIndexRAW, - lfrfid_scene_extra_actions_submenu_callback, - app); - } + submenu_add_lockable_item( + submenu, + "Read RAW RFID data", + SubmenuIndexRAW, + lfrfid_scene_extra_actions_submenu_callback, + app, + !furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug), + "Enable\nDebug!"); submenu_set_selected_item( submenu, scene_manager_get_scene_state(app->scene_manager, LfRfidSceneExtraActions)); diff --git a/applications/main/nfc/scenes/nfc_scene_start.c b/applications/main/nfc/scenes/nfc_scene_start.c index 2a116fe09..67f25e5a7 100644 --- a/applications/main/nfc/scenes/nfc_scene_start.c +++ b/applications/main/nfc/scenes/nfc_scene_start.c @@ -30,10 +30,14 @@ void nfc_scene_start_on_enter(void* context) { submenu_add_item( submenu, "Add Manually", SubmenuIndexAddManually, nfc_scene_start_submenu_callback, nfc); - if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug)) { - submenu_add_item( - submenu, "Debug", SubmenuIndexDebug, nfc_scene_start_submenu_callback, nfc); - } + submenu_add_lockable_item( + submenu, + "Debug", + SubmenuIndexDebug, + nfc_scene_start_submenu_callback, + nfc, + !furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug), + "Enable\nDebug!"); submenu_set_selected_item( submenu, scene_manager_get_scene_state(nfc->scene_manager, NfcSceneStart)); diff --git a/applications/main/subghz/scenes/subghz_scene_ext_module_settings.c b/applications/main/subghz/scenes/subghz_scene_ext_module_settings.c index a96208074..6bd97c805 100644 --- a/applications/main/subghz/scenes/subghz_scene_ext_module_settings.c +++ b/applications/main/subghz/scenes/subghz_scene_ext_module_settings.c @@ -129,48 +129,50 @@ void subghz_scene_ext_module_settings_on_enter(void* context) { variable_item_set_current_value_index(item, value_index_pwr); variable_item_set_current_value_text(item, ext_mod_power_text[value_index_pwr]); - if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug)) { - item = variable_item_list_add( - subghz->variable_item_list, - "Debug Pin", - DEBUG_P_COUNT, - subghz_scene_receiver_config_set_debug_pin, - subghz); - value_index_dpin = subghz->txrx->debug_pin_state; - variable_item_set_current_value_index(item, value_index_dpin); - variable_item_set_current_value_text(item, debug_pin_text[value_index_dpin]); + item = variable_item_list_add( + subghz->variable_item_list, + "Debug Pin", + DEBUG_P_COUNT, + subghz_scene_receiver_config_set_debug_pin, + subghz); + value_index_dpin = subghz->txrx->debug_pin_state; + variable_item_set_current_value_index(item, value_index_dpin); + variable_item_set_current_value_text(item, debug_pin_text[value_index_dpin]); + variable_item_set_locked( + item, !furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug), "Enable\nDebug!"); - item = variable_item_list_add( - subghz->variable_item_list, - "Counter incr.", - DEBUG_COUNTER_COUNT, - subghz_scene_receiver_config_set_debug_counter, - subghz); - switch(furi_hal_subghz_get_rolling_counter_mult()) { - case 1: - value_index_cnt = 0; - break; - case 2: - value_index_cnt = 1; - break; - case 3: - value_index_cnt = 2; - break; - case 4: - value_index_cnt = 3; - break; - case 5: - value_index_cnt = 4; - break; - case 10: - value_index_cnt = 5; - break; - default: - break; - } - variable_item_set_current_value_index(item, value_index_cnt); - variable_item_set_current_value_text(item, debug_counter_text[value_index_cnt]); + item = variable_item_list_add( + subghz->variable_item_list, + "Counter incr.", + DEBUG_COUNTER_COUNT, + subghz_scene_receiver_config_set_debug_counter, + subghz); + switch(furi_hal_subghz_get_rolling_counter_mult()) { + case 1: + value_index_cnt = 0; + break; + case 2: + value_index_cnt = 1; + break; + case 3: + value_index_cnt = 2; + break; + case 4: + value_index_cnt = 3; + break; + case 5: + value_index_cnt = 4; + break; + case 10: + value_index_cnt = 5; + break; + default: + break; } + variable_item_set_current_value_index(item, value_index_cnt); + variable_item_set_current_value_text(item, debug_counter_text[value_index_cnt]); + variable_item_set_locked( + item, !furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug), "Enable\nDebug!"); view_dispatcher_switch_to_view(subghz->view_dispatcher, SubGhzViewIdVariableItemList); } diff --git a/applications/main/subghz/scenes/subghz_scene_start.c b/applications/main/subghz/scenes/subghz_scene_start.c index eb14315a8..00b7ddbac 100644 --- a/applications/main/subghz/scenes/subghz_scene_start.c +++ b/applications/main/subghz/scenes/subghz_scene_start.c @@ -52,10 +52,14 @@ void subghz_scene_start_on_enter(void* context) { SubmenuIndexExtSettings, subghz_scene_start_submenu_callback, subghz); - if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug)) { - submenu_add_item( - subghz->submenu, "Test", SubmenuIndexTest, subghz_scene_start_submenu_callback, subghz); - } + submenu_add_lockable_item( + subghz->submenu, + "Test", + SubmenuIndexTest, + subghz_scene_start_submenu_callback, + subghz, + !furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug), + "Enable\nDebug!"); submenu_set_selected_item( subghz->submenu, scene_manager_get_scene_state(subghz->scene_manager, SubGhzSceneStart));