Xfw app frequency editor use defaults setting

This commit is contained in:
Willy-JL
2023-03-06 03:06:13 +00:00
parent 3ac08a2782
commit ed78b1043c
3 changed files with 14 additions and 9 deletions

View File

@@ -1,6 +1,7 @@
#include "../xtreme_app.h" #include "../xtreme_app.h"
enum VarItemListIndex { enum VarItemListIndex {
VarItemListIndexUseDefaults,
VarItemListIndexStaticFrequency, VarItemListIndexStaticFrequency,
VarItemListIndexDeleteStatic, VarItemListIndexDeleteStatic,
VarItemListIndexHopperFrequency, 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); 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) { static void xtreme_app_scene_protocols_frequencies_static_frequency_changed(VariableItem* item) {
XtremeApp* app = variable_item_get_context(item); XtremeApp* app = variable_item_get_context(item);
app->subghz_static_index = variable_item_get_current_value_index(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; VariableItemList* var_item_list = app->var_item_list;
VariableItem* item; 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); 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; app->subghz_static_index = 0;
variable_item_set_current_value_index(item, app->subghz_static_index); variable_item_set_current_value_index(item, app->subghz_static_index);

View File

@@ -33,10 +33,6 @@ static bool xtreme_app_back_event_callback(void* context) {
while(flipper_format_delete_key(file, "Add_standard_frequencies")); while(flipper_format_delete_key(file, "Add_standard_frequencies"));
flipper_format_write_bool(file, "Add_standard_frequencies", &app->subghz_use_defaults, 1); 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; if(!flipper_format_rewind(file)) break;
while(flipper_format_delete_key(file, "Frequency")); while(flipper_format_delete_key(file, "Frequency"));
FrequencyList_it(it, app->subghz_static_frequencies); 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_static_frequencies);
FrequencyList_init(app->subghz_hopper_frequencies); FrequencyList_init(app->subghz_hopper_frequencies);
app->subghz_use_defaults = true; app->subghz_use_defaults = true;
app->subghz_default_frequency = 0;
do { do {
uint32_t temp; uint32_t temp;
if(!flipper_format_file_open_existing(file, EXT_PATH("subghz/assets/setting_user"))) break; 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); 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; if(!flipper_format_rewind(file)) break;
while(flipper_format_read_uint32(file, "Frequency", &temp, 1)) { while(flipper_format_read_uint32(file, "Frequency", &temp, 1)) {
if(furi_hal_subghz_is_frequency_valid(temp)) { if(furi_hal_subghz_is_frequency_valid(temp)) {

View File

@@ -31,7 +31,6 @@ typedef struct {
TextInput* text_input; TextInput* text_input;
Popup* popup; Popup* popup;
bool subghz_use_defaults; bool subghz_use_defaults;
uint32_t subghz_default_frequency;
FrequencyList_t subghz_static_frequencies; FrequencyList_t subghz_static_frequencies;
uint8_t subghz_static_index; uint8_t subghz_static_index;
FrequencyList_t subghz_hopper_frequencies; FrequencyList_t subghz_hopper_frequencies;