freqman: limiting description size to 30, and minor fix (#1977)

* Limiting description size to 30 as it was documented before

* cosmetic adjustement

---------

Co-authored-by: GullCode <gullradriel@hotmail.com>
This commit is contained in:
gullradriel 2024-03-11 16:40:47 +01:00 committed by GitHub
parent 866e12fbc5
commit 910fd82051
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 9 additions and 8 deletions

View File

@ -228,7 +228,7 @@ void FrequencyManagerView::on_edit_freq() {
void FrequencyManagerView::on_edit_desc() { void FrequencyManagerView::on_edit_desc() {
temp_buffer_ = current_entry().description; temp_buffer_ = current_entry().description;
text_prompt(nav_, temp_buffer_, desc_edit_max, [this](std::string& new_desc) { text_prompt(nav_, temp_buffer_, freqman_max_desc_size, [this](std::string& new_desc) {
auto entry = current_entry(); auto entry = current_entry();
entry.description = std::move(new_desc); entry.description = std::move(new_desc);
db_.replace_entry(current_index(), entry); db_.replace_entry(current_index(), entry);

View File

@ -40,8 +40,6 @@ class FreqManBaseView : public View {
void focus() override; void focus() override;
static constexpr size_t desc_edit_max = 0x80;
protected: protected:
using options_t = OptionsField::options_t; using options_t = OptionsField::options_t;
@ -63,11 +61,11 @@ class FreqManBaseView : public View {
/* The top section (category) is 20px tall. */ /* The top section (category) is 20px tall. */
Labels label_category{ Labels label_category{
{{0, 2}, "Category:", Color::light_grey()}}; {{0, 2}, "F:", Color::light_grey()}};
OptionsField options_category{ OptionsField options_category{
{9 * 8, 2}, {3 * 8, 2},
14 /* length */, 20 /* length */,
{}}; {}};
FreqManUIList freqlist_view{ FreqManUIList freqlist_view{

View File

@ -376,7 +376,7 @@ bool parse_freqman_entry(std::string_view str, freqman_entry& entry) {
} else if (key == "c") { } else if (key == "c") {
entry.tone = parse_tone_key(value); entry.tone = parse_tone_key(value);
} else if (key == "d") { } else if (key == "d") {
entry.description = trim(value); entry.description = trim(value).substr(0, freqman_max_desc_size);
} else if (key == "f") { } else if (key == "f") {
entry.type = freqman_type::Single; entry.type = freqman_type::Single;
parse_int(value, entry.frequency_a); parse_int(value, entry.frequency_a);
@ -492,7 +492,7 @@ freqman_entry FreqmanDB::operator[](Index index) const {
return entry; return entry;
else if (read_raw_) { else if (read_raw_) {
entry.type = freqman_type::Raw; entry.type = freqman_type::Raw;
entry.description = trim(*line_text); entry.description = trim(*line_text).substr(0, freqman_max_desc_size);
return entry; return entry;
} }
} }

View File

@ -162,6 +162,9 @@ std::string freqman_entry_get_step_string_short(freqman_index_t step);
* ensure app memory stability. */ * ensure app memory stability. */
constexpr size_t freqman_default_max_entries = 150; constexpr size_t freqman_default_max_entries = 150;
/* Limiting description to 30 as specified by the format */
constexpr size_t freqman_max_desc_size = 30;
struct freqman_load_options { struct freqman_load_options {
/* Loads all entries when set to 0. */ /* Loads all entries when set to 0. */
size_t max_entries{freqman_default_max_entries}; size_t max_entries{freqman_default_max_entries};