diff options
author | Skorpionm <85568270+Skorpionm@users.noreply.github.com> | 2022-01-27 19:38:47 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-27 19:38:47 +0300 |
commit | 53e7415d126d30e64c1ba275a1a725573a963535 (patch) | |
tree | 0d5002d87337a49cccd453005acddb9fdf003d54 /applications/subghz/scenes | |
parent | cb0369a7f369243098cd598a92a5f5a6faa0834d (diff) |
[FL-2215, FL-2168] Display long names and rename RAW files (#971)
* [FL-2215] SubGhz: fix long names on RAW and Delete screens
* [FL-2168] SubGhz: fix rename RAW
Diffstat (limited to 'applications/subghz/scenes')
4 files changed, 12 insertions, 13 deletions
diff --git a/applications/subghz/scenes/subghz_scene_delete_raw.c b/applications/subghz/scenes/subghz_scene_delete_raw.c index 5c620989..8f3292c2 100644 --- a/applications/subghz/scenes/subghz_scene_delete_raw.c +++ b/applications/subghz/scenes/subghz_scene_delete_raw.c @@ -17,15 +17,14 @@ void subghz_scene_delete_raw_on_enter(void* context) { SubGhz* subghz = context; string_t frequency_str; string_t modulation_str; - string_t text; string_init(frequency_str); string_init(modulation_str); - string_init(text); - string_printf(text, "Delete\n%s?", subghz->file_name); - widget_add_string_multiline_element( - subghz->widget, 64, 0, AlignCenter, AlignTop, FontPrimary, string_get_cstr(text)); + char delete_str[64]; + snprintf(delete_str, sizeof(delete_str), "\e#Delete %s?\e#", subghz->file_name); + widget_add_text_box_element( + subghz->widget, 0, 0, 128, 23, AlignCenter, AlignCenter, delete_str); widget_add_string_element( subghz->widget, 38, 25, AlignLeft, AlignTop, FontSecondary, "RAW signal"); @@ -44,7 +43,6 @@ void subghz_scene_delete_raw_on_enter(void* context) { string_clear(frequency_str); string_clear(modulation_str); - string_clear(text); widget_add_button_element( subghz->widget, GuiButtonTypeRight, "Delete", subghz_scene_delete_raw_callback, subghz); diff --git a/applications/subghz/scenes/subghz_scene_more_raw.c b/applications/subghz/scenes/subghz_scene_more_raw.c index 1047aef2..70ea56db 100644 --- a/applications/subghz/scenes/subghz_scene_more_raw.c +++ b/applications/subghz/scenes/subghz_scene_more_raw.c @@ -45,6 +45,7 @@ bool subghz_scene_more_raw_on_event(void* context, SceneManagerEvent event) { scene_manager_next_scene(subghz->scene_manager, SubGhzSceneDeleteRAW); return true; } else if(event.event == SubmenuIndexEdit) { + memset(subghz->file_name_tmp, 0, sizeof(subghz->file_name_tmp)); scene_manager_set_scene_state( subghz->scene_manager, SubGhzSceneMoreRAW, SubmenuIndexEdit); scene_manager_next_scene(subghz->scene_manager, SubGhzSceneSaveName); diff --git a/applications/subghz/scenes/subghz_scene_read_raw.c b/applications/subghz/scenes/subghz_scene_read_raw.c index aaa51c76..50edcb22 100644 --- a/applications/subghz/scenes/subghz_scene_read_raw.c +++ b/applications/subghz/scenes/subghz_scene_read_raw.c @@ -4,7 +4,7 @@ #include <lib/subghz/subghz_parser.h> #include <lib/toolbox/path.h> -#define RAW_FILE_NAME "Raw_temp" +#define RAW_FILE_NAME "Raw_signal_" bool subghz_scene_read_raw_update_filename(SubGhz* subghz) { bool ret = false; diff --git a/applications/subghz/scenes/subghz_scene_save_name.c b/applications/subghz/scenes/subghz_scene_save_name.c index d473fed7..142ba7c9 100644 --- a/applications/subghz/scenes/subghz_scene_save_name.c +++ b/applications/subghz/scenes/subghz_scene_save_name.c @@ -19,7 +19,8 @@ void subghz_scene_save_name_on_enter(void* context) { if(!strcmp(subghz->file_name, "")) { set_random_name(subghz->file_name, sizeof(subghz->file_name)); - + //highlighting the entire filename by default + dev_name_empty = true; } else { strcpy(subghz->file_name_tmp, subghz->file_name); if(scene_manager_get_scene_state(subghz->scene_manager, SubGhzSceneReadRAW) == @@ -27,8 +28,6 @@ void subghz_scene_save_name_on_enter(void* context) { subghz_get_next_name_file(subghz); } } - //highlighting the entire filename by default - dev_name_empty = true; text_input_set_header_text(text_input, "Name signal"); text_input_set_result_callback( @@ -67,6 +66,8 @@ bool subghz_scene_save_name_on_event(void* context, SceneManagerEvent event) { SubghzCustomEventManagerSet) { subghz_protocol_raw_set_last_file_name( (SubGhzProtocolRAW*)subghz->txrx->protocol_result, subghz->file_name); + scene_manager_set_scene_state( + subghz->scene_manager, SubGhzSceneReadRAW, SubghzCustomEventManagerNoSet); } else { subghz_file_name_clear(subghz); } @@ -86,12 +87,11 @@ bool subghz_scene_save_name_on_event(void* context, SceneManagerEvent event) { void subghz_scene_save_name_on_exit(void* context) { SubGhz* subghz = context; - // Clear view + // Clear validator void* validator_context = text_input_get_validator_callback_context(subghz->text_input); text_input_set_validator(subghz->text_input, NULL, NULL); validator_is_file_free(validator_context); + // Clear view text_input_reset(subghz->text_input); - scene_manager_set_scene_state( - subghz->scene_manager, SubGhzSceneReadRAW, SubghzCustomEventManagerNoSet); } |