diff --git a/applications/main/momentum_app/scenes/momentum_app_scene_protocols_freqs_add.c b/applications/main/momentum_app/scenes/momentum_app_scene_protocols_freqs_add.c index b44419256..aa51add21 100644 --- a/applications/main/momentum_app/scenes/momentum_app_scene_protocols_freqs_add.c +++ b/applications/main/momentum_app/scenes/momentum_app_scene_protocols_freqs_add.c @@ -36,7 +36,7 @@ void momentum_app_scene_protocols_freqs_add_on_enter(void* context) { momentum_app_scene_protocols_freqs_add_number_input_callback, app, 0, - 0, // TODO: support leaving default value empty, change min to 100000 + 100000, 999999); view_dispatcher_switch_to_view(app->view_dispatcher, MomentumAppViewNumberInput); diff --git a/applications/services/gui/modules/number_input.c b/applications/services/gui/modules/number_input.c index df7c768d6..058710d51 100644 --- a/applications/services/gui/modules/number_input.c +++ b/applications/services/gui/modules/number_input.c @@ -206,7 +206,7 @@ static void number_input_add_digit(NumberInputModel* model, char* newChar) { } model->current_number = strtol(furi_string_get_cstr(model->text_buffer), NULL, 10); if(model->current_number == 0) { - furi_string_reset(model->text_buffer); + furi_string_set(model->text_buffer, "0"); } } @@ -417,7 +417,9 @@ void number_input_set_result_callback( int32_t max_value) { furi_check(number_input); - current_number = CLAMP(current_number, max_value, min_value); + if(current_number != 0) { + current_number = CLAMP(current_number, max_value, min_value); + } with_view_model( number_input->view, @@ -426,7 +428,11 @@ void number_input_set_result_callback( model->callback = callback; model->callback_context = callback_context; model->current_number = current_number; - furi_string_printf(model->text_buffer, "%ld", current_number); + if(current_number != 0) { + furi_string_printf(model->text_buffer, "%ld", current_number); + } else { + furi_string_set(model->text_buffer, ""); + } model->min_value = min_value; model->max_value = max_value; },