diff --git a/firmware/application/analog_audio_app.hpp b/firmware/application/analog_audio_app.hpp index 67b66cf6a..dace3245a 100644 --- a/firmware/application/analog_audio_app.hpp +++ b/firmware/application/analog_audio_app.hpp @@ -117,12 +117,8 @@ private: { 15 * 8, 0 * 16 } }; - NumberField field_vga { - { 18 * 8, 0 * 16}, - 2, - { max2837::vga::gain_db_range.minimum, max2837::vga::gain_db_range.maximum }, - max2837::vga::gain_db_step, - ' ', + VGAGainField field_vga { + { 18 * 8, 0 * 16 } }; OptionsField options_modulation { diff --git a/firmware/application/ui_receiver.cpp b/firmware/application/ui_receiver.cpp index cf8e8ef31..0494d47cf 100644 --- a/firmware/application/ui_receiver.cpp +++ b/firmware/application/ui_receiver.cpp @@ -318,4 +318,24 @@ void LNAGainField::on_focus() { } } +/* VGAGainField **********************************************************/ + +VGAGainField::VGAGainField( + Point parent_pos +) : NumberField { + parent_pos, 2, + { max2837::vga::gain_db_range.minimum, max2837::vga::gain_db_range.maximum }, + max2837::vga::gain_db_step, + ' ', + } +{ +} + +void VGAGainField::on_focus() { + //Widget::on_focus(); + if( on_show_options ) { + on_show_options(); + } +} + } /* namespace ui */ diff --git a/firmware/application/ui_receiver.hpp b/firmware/application/ui_receiver.hpp index fa74f970d..6aff9ddad 100644 --- a/firmware/application/ui_receiver.hpp +++ b/firmware/application/ui_receiver.hpp @@ -315,6 +315,15 @@ public: void on_focus() override; }; +class VGAGainField : public NumberField { +public: + std::function on_show_options; + + VGAGainField(Point parent_pos); + + void on_focus() override; +}; + } /* namespace ui */ #endif/*__UI_RECEIVER_H__*/