From: Bastian Dehn Date: Sun, 28 Jan 2024 18:21:26 +0000 (+0100) Subject: add config reset button X-Git-Tag: v1.0.0^2~401 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=fefd2cac572d368abd8eebb574fb0485c43010d8;p=sane-kds-s2000w-net.git add config reset button --- diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 5c42468..7aba359 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -112,7 +112,7 @@ void kds_s2000w_handler_get_option(int option, void* value) } int* int_value_ptr = (int*) value; - *int_value_ptr = json_object_object_length(config) + 1; + *int_value_ptr = json_object_object_length(config) + 3; break; case 2: value_object = json_object_object_get(config, "DPI"); diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 2fc4c87..4aee330 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -142,6 +142,9 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( case 23: kds_s2000w_option_descriptor_scan_source(&option_descriptors[option]); break; + case 24: + kds_s2000w_option_descriptor_config_reset(&option_descriptors[option]); + break; default: return NULL; break; diff --git a/src/kds_s2000w_option_descriptors.c b/src/kds_s2000w_option_descriptors.c index fc2fe37..addfcde 100644 --- a/src/kds_s2000w_option_descriptors.c +++ b/src/kds_s2000w_option_descriptors.c @@ -2,7 +2,7 @@ #include #include "kds_s2000w_option_descriptors.h" -#define MAX_OPTION_COUNT 24 +#define MAX_OPTION_COUNT 25 SANE_Word* constraint_dpi = NULL; SANE_String_Const* constraint_scanside = NULL; @@ -107,7 +107,6 @@ void kds_s2000w_option_descriptor_num_options(SANE_Option_Descriptor* descriptor descriptor->unit = SANE_UNIT_NONE; descriptor->cap = SANE_CAP_SOFT_DETECT; descriptor->constraint_type = SANE_CONSTRAINT_NONE; - descriptor->constraint.string_list = NULL; descriptor->type = SANE_TYPE_INT; descriptor->size = sizeof(SANE_Int); } @@ -120,7 +119,6 @@ void kds_s2000w_option_descriptor_standard_group(SANE_Option_Descriptor* descrip descriptor->unit = SANE_UNIT_NONE; descriptor->cap = SANE_CAP_SOFT_DETECT; descriptor->constraint_type = SANE_CONSTRAINT_NONE; - descriptor->constraint.string_list = NULL; descriptor->type = SANE_TYPE_GROUP; descriptor->size = 0; } @@ -182,7 +180,6 @@ void kds_s2000w_option_descriptor_skip_blank_pages(SANE_Option_Descriptor* descr descriptor->desc = "Blank Image Deletion Mode"; descriptor->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT; descriptor->constraint_type = SANE_CONSTRAINT_NONE; - descriptor->constraint.string_list = NULL; descriptor->type = SANE_TYPE_BOOL; descriptor->size = sizeof(SANE_Bool); } @@ -194,7 +191,6 @@ void kds_s2000w_option_descriptor_auto_start(SANE_Option_Descriptor* descriptor) descriptor->desc = "autostart"; descriptor->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT; descriptor->constraint_type = SANE_CONSTRAINT_NONE; - descriptor->constraint.string_list = NULL; descriptor->type = SANE_TYPE_BOOL; descriptor->size = sizeof(SANE_Bool); } @@ -469,4 +465,16 @@ void kds_s2000w_option_descriptor_scan_source(SANE_Option_Descriptor* descriptor descriptor->type = SANE_TYPE_STRING; descriptor->unit = SANE_UNIT_NONE; descriptor->size = sizeof(SANE_String) * 50; +} + +void kds_s2000w_option_descriptor_config_reset(SANE_Option_Descriptor* descriptor) +{ + descriptor->name = "config-reset"; + descriptor->title = "Konfiguration zuruecksetzen"; + descriptor->desc = "Laedt die default Konfiguration des Scanners"; + descriptor->cap = SANE_CAP_SOFT_SELECT; + descriptor->constraint_type = SANE_CONSTRAINT_NONE; + descriptor->type = SANE_TYPE_BUTTON; + descriptor->unit = SANE_UNIT_NONE; + descriptor->size = 0; } \ No newline at end of file diff --git a/src/kds_s2000w_option_descriptors.h b/src/kds_s2000w_option_descriptors.h index 091786e..74a1ea4 100644 --- a/src/kds_s2000w_option_descriptors.h +++ b/src/kds_s2000w_option_descriptors.h @@ -28,4 +28,5 @@ void kds_s2000w_option_descriptor_binarization_mode(SANE_Option_Descriptor* desc void kds_s2000w_option_descriptor_binarization_contrast(SANE_Option_Descriptor* descriptor); void kds_s2000w_option_descriptor_max_document_length(SANE_Option_Descriptor* descriptor); void kds_s2000w_option_descriptor_scan_source(SANE_Option_Descriptor* descriptor); +void kds_s2000w_option_descriptor_config_reset(SANE_Option_Descriptor* descriptor); #endif \ No newline at end of file