From ed78b1043cd77cfa1b4cbc041b349ea01fdc9c61 Mon Sep 17 00:00:00 2001 From: Willy-JL Date: Mon, 6 Mar 2023 03:06:13 +0000 Subject: [PATCH] Xfw app frequency editor use defaults setting --- .../xtreme_app_scene_protocols_frequencies.c | 14 ++++++++++++++ applications/main/xtreme_app/xtreme_app.c | 8 -------- applications/main/xtreme_app/xtreme_app.h | 1 - 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/applications/main/xtreme_app/scenes/xtreme_app_scene_protocols_frequencies.c b/applications/main/xtreme_app/scenes/xtreme_app_scene_protocols_frequencies.c index 3336ae3df..ad0608e82 100644 --- a/applications/main/xtreme_app/scenes/xtreme_app_scene_protocols_frequencies.c +++ b/applications/main/xtreme_app/scenes/xtreme_app_scene_protocols_frequencies.c @@ -1,6 +1,7 @@ #include "../xtreme_app.h" enum VarItemListIndex { + VarItemListIndexUseDefaults, VarItemListIndexStaticFrequency, VarItemListIndexDeleteStatic, VarItemListIndexHopperFrequency, @@ -12,6 +13,14 @@ void xtreme_app_scene_protocols_frequencies_var_item_list_callback(void* context view_dispatcher_send_custom_event(app->view_dispatcher, index); } +static void xtreme_app_scene_protocols_frequencies_use_defaults_changed(VariableItem* item) { + XtremeApp* app = variable_item_get_context(item); + bool value = variable_item_get_current_value_index(item); + variable_item_set_current_value_text(item, value ? "ON" : "OFF"); + app->subghz_use_defaults = value; + app->save_subghz_frequencies = true; +} + static void xtreme_app_scene_protocols_frequencies_static_frequency_changed(VariableItem* item) { XtremeApp* app = variable_item_get_context(item); app->subghz_static_index = variable_item_get_current_value_index(item); @@ -35,6 +44,11 @@ void xtreme_app_scene_protocols_frequencies_on_enter(void* context) { VariableItemList* var_item_list = app->var_item_list; VariableItem* item; + item = variable_item_list_add( + var_item_list, "Use Defaults", 2, xtreme_app_scene_protocols_frequencies_use_defaults_changed, app); + variable_item_set_current_value_index(item, app->subghz_use_defaults); + variable_item_set_current_value_text(item, app->subghz_use_defaults ? "ON" : "OFF"); + item = variable_item_list_add(var_item_list, "Static Freq", FrequencyList_size(app->subghz_static_frequencies), xtreme_app_scene_protocols_frequencies_static_frequency_changed, app); app->subghz_static_index = 0; variable_item_set_current_value_index(item, app->subghz_static_index); diff --git a/applications/main/xtreme_app/xtreme_app.c b/applications/main/xtreme_app/xtreme_app.c index 1bc900071..3149375c3 100644 --- a/applications/main/xtreme_app/xtreme_app.c +++ b/applications/main/xtreme_app/xtreme_app.c @@ -33,10 +33,6 @@ static bool xtreme_app_back_event_callback(void* context) { while(flipper_format_delete_key(file, "Add_standard_frequencies")); flipper_format_write_bool(file, "Add_standard_frequencies", &app->subghz_use_defaults, 1); - if(!flipper_format_rewind(file)) break; - while(flipper_format_delete_key(file, "Default_frequency")); - flipper_format_write_uint32(file, "Default_frequency", &app->subghz_default_frequency, 1); - if(!flipper_format_rewind(file)) break; while(flipper_format_delete_key(file, "Frequency")); FrequencyList_it(it, app->subghz_static_frequencies); @@ -154,16 +150,12 @@ XtremeApp* xtreme_app_alloc() { FrequencyList_init(app->subghz_static_frequencies); FrequencyList_init(app->subghz_hopper_frequencies); app->subghz_use_defaults = true; - app->subghz_default_frequency = 0; do { uint32_t temp; if(!flipper_format_file_open_existing(file, EXT_PATH("subghz/assets/setting_user"))) break; flipper_format_read_bool(file, "Add_standard_frequencies", &app->subghz_use_defaults, 1); - if(!flipper_format_rewind(file)) break; - flipper_format_read_uint32(file, "Default_frequency", &app->subghz_default_frequency, 1); - if(!flipper_format_rewind(file)) break; while(flipper_format_read_uint32(file, "Frequency", &temp, 1)) { if(furi_hal_subghz_is_frequency_valid(temp)) { diff --git a/applications/main/xtreme_app/xtreme_app.h b/applications/main/xtreme_app/xtreme_app.h index 70fd17328..f783db08d 100644 --- a/applications/main/xtreme_app/xtreme_app.h +++ b/applications/main/xtreme_app/xtreme_app.h @@ -31,7 +31,6 @@ typedef struct { TextInput* text_input; Popup* popup; bool subghz_use_defaults; - uint32_t subghz_default_frequency; FrequencyList_t subghz_static_frequencies; uint8_t subghz_static_index; FrequencyList_t subghz_hopper_frequencies;