[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
This commit is contained in:
parent
cb0369a7f3
commit
53e7415d12
@ -17,15 +17,14 @@ void subghz_scene_delete_raw_on_enter(void* context) {
|
|||||||
SubGhz* subghz = context;
|
SubGhz* subghz = context;
|
||||||
string_t frequency_str;
|
string_t frequency_str;
|
||||||
string_t modulation_str;
|
string_t modulation_str;
|
||||||
string_t text;
|
|
||||||
|
|
||||||
string_init(frequency_str);
|
string_init(frequency_str);
|
||||||
string_init(modulation_str);
|
string_init(modulation_str);
|
||||||
string_init(text);
|
|
||||||
|
|
||||||
string_printf(text, "Delete\n%s?", subghz->file_name);
|
char delete_str[64];
|
||||||
widget_add_string_multiline_element(
|
snprintf(delete_str, sizeof(delete_str), "\e#Delete %s?\e#", subghz->file_name);
|
||||||
subghz->widget, 64, 0, AlignCenter, AlignTop, FontPrimary, string_get_cstr(text));
|
widget_add_text_box_element(
|
||||||
|
subghz->widget, 0, 0, 128, 23, AlignCenter, AlignCenter, delete_str);
|
||||||
|
|
||||||
widget_add_string_element(
|
widget_add_string_element(
|
||||||
subghz->widget, 38, 25, AlignLeft, AlignTop, FontSecondary, "RAW signal");
|
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(frequency_str);
|
||||||
string_clear(modulation_str);
|
string_clear(modulation_str);
|
||||||
string_clear(text);
|
|
||||||
|
|
||||||
widget_add_button_element(
|
widget_add_button_element(
|
||||||
subghz->widget, GuiButtonTypeRight, "Delete", subghz_scene_delete_raw_callback, subghz);
|
subghz->widget, GuiButtonTypeRight, "Delete", subghz_scene_delete_raw_callback, subghz);
|
||||||
|
@ -45,6 +45,7 @@ bool subghz_scene_more_raw_on_event(void* context, SceneManagerEvent event) {
|
|||||||
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneDeleteRAW);
|
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneDeleteRAW);
|
||||||
return true;
|
return true;
|
||||||
} else if(event.event == SubmenuIndexEdit) {
|
} else if(event.event == SubmenuIndexEdit) {
|
||||||
|
memset(subghz->file_name_tmp, 0, sizeof(subghz->file_name_tmp));
|
||||||
scene_manager_set_scene_state(
|
scene_manager_set_scene_state(
|
||||||
subghz->scene_manager, SubGhzSceneMoreRAW, SubmenuIndexEdit);
|
subghz->scene_manager, SubGhzSceneMoreRAW, SubmenuIndexEdit);
|
||||||
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneSaveName);
|
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneSaveName);
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include <lib/subghz/subghz_parser.h>
|
#include <lib/subghz/subghz_parser.h>
|
||||||
#include <lib/toolbox/path.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 subghz_scene_read_raw_update_filename(SubGhz* subghz) {
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
|
@ -19,7 +19,8 @@ void subghz_scene_save_name_on_enter(void* context) {
|
|||||||
|
|
||||||
if(!strcmp(subghz->file_name, "")) {
|
if(!strcmp(subghz->file_name, "")) {
|
||||||
set_random_name(subghz->file_name, sizeof(subghz->file_name));
|
set_random_name(subghz->file_name, sizeof(subghz->file_name));
|
||||||
|
//highlighting the entire filename by default
|
||||||
|
dev_name_empty = true;
|
||||||
} else {
|
} else {
|
||||||
strcpy(subghz->file_name_tmp, subghz->file_name);
|
strcpy(subghz->file_name_tmp, subghz->file_name);
|
||||||
if(scene_manager_get_scene_state(subghz->scene_manager, SubGhzSceneReadRAW) ==
|
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);
|
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_header_text(text_input, "Name signal");
|
||||||
text_input_set_result_callback(
|
text_input_set_result_callback(
|
||||||
@ -67,6 +66,8 @@ bool subghz_scene_save_name_on_event(void* context, SceneManagerEvent event) {
|
|||||||
SubghzCustomEventManagerSet) {
|
SubghzCustomEventManagerSet) {
|
||||||
subghz_protocol_raw_set_last_file_name(
|
subghz_protocol_raw_set_last_file_name(
|
||||||
(SubGhzProtocolRAW*)subghz->txrx->protocol_result, subghz->file_name);
|
(SubGhzProtocolRAW*)subghz->txrx->protocol_result, subghz->file_name);
|
||||||
|
scene_manager_set_scene_state(
|
||||||
|
subghz->scene_manager, SubGhzSceneReadRAW, SubghzCustomEventManagerNoSet);
|
||||||
} else {
|
} else {
|
||||||
subghz_file_name_clear(subghz);
|
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) {
|
void subghz_scene_save_name_on_exit(void* context) {
|
||||||
SubGhz* subghz = context;
|
SubGhz* subghz = context;
|
||||||
|
|
||||||
// Clear view
|
// Clear validator
|
||||||
void* validator_context = text_input_get_validator_callback_context(subghz->text_input);
|
void* validator_context = text_input_get_validator_callback_context(subghz->text_input);
|
||||||
text_input_set_validator(subghz->text_input, NULL, NULL);
|
text_input_set_validator(subghz->text_input, NULL, NULL);
|
||||||
validator_is_file_free(validator_context);
|
validator_is_file_free(validator_context);
|
||||||
|
|
||||||
|
// Clear view
|
||||||
text_input_reset(subghz->text_input);
|
text_input_reset(subghz->text_input);
|
||||||
scene_manager_set_scene_state(
|
|
||||||
subghz->scene_manager, SubGhzSceneReadRAW, SubghzCustomEventManagerNoSet);
|
|
||||||
}
|
}
|
||||||
|
@ -237,8 +237,8 @@ void subghz_read_raw_draw(Canvas* canvas, SubghzReadRAWModel* model) {
|
|||||||
elements_button_left(canvas, "New");
|
elements_button_left(canvas, "New");
|
||||||
elements_button_center(canvas, "Send");
|
elements_button_center(canvas, "Send");
|
||||||
elements_button_right(canvas, "More");
|
elements_button_right(canvas, "More");
|
||||||
canvas_draw_str_aligned(
|
elements_text_box(
|
||||||
canvas, 58, 28, AlignCenter, AlignTop, string_get_cstr(model->file_name));
|
canvas, 4, 12, 110, 44, AlignCenter, AlignCenter, string_get_cstr(model->file_name));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SubghzReadRAWStatusTX:
|
case SubghzReadRAWStatusTX:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user