]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change enable disable reset options
authorBastian Dehn <hhaalo@arcor.de>
Tue, 18 Feb 2025 19:15:03 +0000 (20:15 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Tue, 18 Feb 2025 19:15:03 +0000 (20:15 +0100)
src/kds_s2000w_handler_opts.c

index c72dac11b213988c3d01aba7382cff79bde7a2dc..de3176ce8ddc3248ddd385eaf4fca854ece08c12 100644 (file)
@@ -54,10 +54,9 @@ void _kds_s2000w_handler_opts_load_options(handler* h)
        resp = NULL;
 }
 
-void _kds_s2000w_handler_opts_set_autostart_on(handler* h)
+void _kds_s2000w_handler_opts_set_autostart_on(json_object* config)
 {
        uint32_t auto_start_value = AUTOSTART_ON;
-       json_object* config = json_object_object_get(h->current_scanner_config, "Configuration");
        json_object* value_object = json_object_object_get(config, "AutoStart");
        _kds_s2000w_handler_opts_write_int_value_to_json(value_object, &auto_start_value);
 }
@@ -204,7 +203,8 @@ void kds_s2000w_handler_opts_get_option(handler* h, uint32_t option, void* value
 
        if (h->current_scanner_config == NULL) {
                _kds_s2000w_handler_opts_load_options(h);
-               _kds_s2000w_handler_opts_set_autostart_on(h);
+               config = json_object_object_get(h->current_scanner_config, "Configuration");
+               _kds_s2000w_handler_opts_set_autostart_on(config);
                _kds_s2000w_handler_opts_set_options(h);
        }
 
@@ -393,12 +393,16 @@ void kds_s2000w_handler_opts_set_option(handler* h, uint32_t option, void* value
        if (h->read_info->scan_started)
                return;
 
+       json_object* config = NULL;
+
        if (h->current_scanner_config == NULL) {
                _kds_s2000w_handler_opts_load_options(h);
-               _kds_s2000w_handler_opts_set_autostart_on(h);
+               config = json_object_object_get(h->current_scanner_config, "Configuration");
+               _kds_s2000w_handler_opts_set_autostart_on(config);
        }
+       if (h->current_scanner_config != NULL)
+               config = json_object_object_get(h->current_scanner_config, "Configuration");
 
-       json_object* config = json_object_object_get(h->current_scanner_config, "Configuration");
        json_object* value_object = NULL;
 
        switch(option) {
@@ -539,10 +543,14 @@ void kds_s2000w_handler_opts_set_option(handler* h, uint32_t option, void* value
                        break;
                case 31:
                        _kds_s2000w_handler_opts_set_option_to_default(h);
-                       _kds_s2000w_handler_opts_set_autostart_on(h);
+                       config = json_object_object_get(h->current_scanner_config, "Configuration");
 
-                       SANE_Option_Descriptor* cropping_image = kds_s2000w_option_descriptors_get_by_name("cropping-image");
-                       cropping_image->cap |= SANE_CAP_SOFT_SELECT;
+                       _kds_s2000w_handler_opts_set_autostart_on(config);
+                       _kds_s2000w_handler_opts_set_enable_cropping_image(config);
+                       _kds_s2000w_handler_opts_set_enable_suboptions_cropping_image(config);
+                       _kds_s2000w_handler_opts_set_enable_color_brightness_and_contrast(config);
+                       _kds_s2000w_handler_opts_set_enable_color_aggressiveness(config);
+                       _kds_s2000w_handler_opts_set_enable_color_balance(config);
 
                        if (info != NULL)
                                *info = RELOAD_OPTIONS | RELOAD_PARAMS;