Recon/FreqMan set limit in load_freqman_file_ex (#1098)

* changed a hardcoded value by a define, changed the order for the database clean so it happens first, changed load_freqman_file_ex so it can take a max num of freqs as a parameter with a default to FREQMAN_MAX_PER_FILE
* added a swap and a set_db to clear as much as possible before the loading of a category
* added a define for Recon max per files
* remove unneeded comment
This commit is contained in:
gullradriel 2023-06-03 22:42:34 +02:00 committed by GitHub
parent 2fd3bf0136
commit f66f438487
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 23 additions and 22 deletions

View file

@ -95,6 +95,9 @@ void FreqManBaseView::change_category(int32_t category_id) {
last_category_id = current_category_id = category_id;
std::vector<freqman_entry>().swap(database);
menu_view.set_db(database);
if (!load_freqman_file(file_list[categories[current_category_id].second], database))
error_ = ERROR_ACCESS;
else {

View file

@ -930,7 +930,7 @@ void ReconView::frequency_file_load(bool stop_all_before) {
button_scanner_mode.set_text("RECON");
}
desc_cycle.set_style(&style_white);
if (!load_freqman_file_ex(file_input, frequency_list, load_freqs, load_ranges, load_hamradios)) {
if (!load_freqman_file_ex(file_input, frequency_list, load_freqs, load_ranges, load_hamradios, RECON_FREQMAN_MAX_PER_FILE)) {
file_name.set_style(&style_red);
desc_cycle.set_style(&style_red);
desc_cycle.set(" NO " + file_input + ".TXT FILE ...");
@ -943,7 +943,7 @@ void ReconView::frequency_file_load(bool stop_all_before) {
desc_cycle.set("/0 no entries in list");
file_name.set("BadOrEmpty " + file_input);
} else {
if (frequency_list.size() > FREQMAN_MAX_PER_FILE) {
if (frequency_list.size() > RECON_FREQMAN_MAX_PER_FILE) {
file_name.set_style(&style_yellow);
desc_cycle.set_style(&style_yellow);
}

View file

@ -44,6 +44,7 @@
namespace ui {
#define RECON_CFG_FILE "SETTINGS/recon.cfg"
#define RECON_FREQMAN_MAX_PER_FILE 99 // maximum tested limit for load frequency from freqman to work
class ReconView : public View {
public: