From fc713daa126fadb1a309c5dd2ae7b09e26a081d7 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Tue, 18 Feb 2025 19:10:26 +0100 Subject: [PATCH] change enable cropping image from config --- src/kds_s2000w_handler_opts.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/kds_s2000w_handler_opts.c b/src/kds_s2000w_handler_opts.c index 19cf5c8..5597077 100644 --- a/src/kds_s2000w_handler_opts.c +++ b/src/kds_s2000w_handler_opts.c @@ -96,18 +96,22 @@ void _kds_s2000w_handler_opts_set_options(handler* h) resp = NULL; } -void _kds_s2000w_handler_opts_set_soft_select_cropping_image(json_object* value_object, void* value) +void _kds_s2000w_handler_opts_set_enable_cropping_image(json_object* config) { + json_object* cropping_mode = json_object_object_get(config, "CroppingMode"); + const char* cropping_mode_value = json_object_get_string(cropping_mode); + + json_object* copping_image = json_object_object_get(config, "CroppingImage"); SANE_Option_Descriptor* cropping_image = kds_s2000w_option_descriptors_get_by_name("cropping-image"); cropping_image->cap |= SANE_CAP_SOFT_SELECT; - if (strcmp(value, "Automatic") == 0) { - _kds_s2000w_handler_opts_write_string_value_to_json(value_object, "EntireDocument"); + if (strcmp(cropping_mode_value, "Automatic") == 0) { + _kds_s2000w_handler_opts_write_string_value_to_json(copping_image, "EntireDocument"); cropping_image->cap &= ~SANE_CAP_SOFT_SELECT; } - if (strcmp(value, "Manual") == 0) { - _kds_s2000w_handler_opts_write_string_value_to_json(value_object, "PartialDocument"); + if (strcmp(cropping_mode_value, "Manual") == 0) { + _kds_s2000w_handler_opts_write_string_value_to_json(copping_image, "PartialDocument"); cropping_image->cap &= ~SANE_CAP_SOFT_SELECT; } } @@ -349,9 +353,7 @@ void kds_s2000w_handler_opts_set_option(handler* h, uint32_t option, void* value case 7: value_object = json_object_object_get(config, "CroppingMode"); _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value); - - value_object = json_object_object_get(config, "CroppingImage"); - _kds_s2000w_handler_opts_set_soft_select_cropping_image(value_object, value); + _kds_s2000w_handler_opts_set_enable_cropping_image(config); if (info != NULL) *info = RELOAD_OPTIONS; -- 2.39.5