1CHANGES FOR FRONTEND XSANE FOR SANE: 2------------------------------------ 3 4xsane-0.11 beta and before: 5--------------------------- 6 7 - based on gtk-1.0.x 8 - histogram 9 - online color enhancement 10 - gamma table: tested with 11 - 8, 10 and 12 input bits per color 12 - 8 output bits per color 13 - standard and advanced options in own (non scrollable) window 14 - photocopy function via postscript output (gray + color, not lineart) 15 - frontend/Makefile.in changed for xsane 16 17 18xsane-0.11 -> 0.12: 19------------------- 20 21 - added ps, jpeg and png(1+8bit) output format, selected by filename 22 - added lineart support for ps 23 - changed configure.in and config.h.in and included them into xsane 24 - changed device selection dialog: scanner vendor and model added 25 - added xsane-logo (winner from gimp-contest) to device-selection and about-window, 26 it is loaded from SANE_DATA_PATH/sane/xsane-logo.xpm (/usr/local/share/sane/...) 27 - histogram window now always exists and may be hidden 28 - changed handling of devicename given as commandline option: 29 sane_get_devices is called and the vendor, model and type get identified, 30 if the given device name does not fit to the beginning of an existing device name 31 the device selection is opened 32 33 34xsane-0.12 -> 0.13: 35------------------- 36 37 - file format detection now works with case insensetive 38 - changed font for device selection 39 - changed output format of device list for selection 40 - disabled gamma table for 1 bit grayscale (lineart) 41 - improved error handling of saving routines 42 - removed ram eater in preview routine 43 - added default gamma upload into preview scan routine 44 - added tiff-output-format 45 - changed lineart to grayscale conversion in saving-routines 46 - added test if selected output format is supported before scan 47 48 49 50xsane-0.13 -> 0.14: 51------------------- 52 53 - added info window that displays hidden options/values 54 - xsane compiles without sane-source-package now, 55 sane must be installed. 56 - if scan is started with save for unsupported graphics format 57 an error message comes up before scanning is started 58 - tested for param.depth>1 for gamma correction 59 - added test for sane major version number, abort if mismatch 60 61 62xsane-0.14 -> 0.15: 63------------------- 64 65 - if device is given as commandline option it is now loaded again 66 if it is not in the devicelist 67 - moved some functions in xsane.c out of a #ifdef HAVE_LIBGIMP .. #endif-block 68 - added sliders in the gray/red/green/blue-levels for black/gray/white points 69 - gamma correction in preview is now only done if depth > 1 70 - enhancement sliders are not shown in lineart mode any more 71 72 73xsane-0.15 -> 0.16: 74------------------- 75 76 - moved save-routines to xsane-save, named xsane* to xsane-* 77 - included progress-routines into xsane.c 78 - moved xsane.h to xsane-text.h 79 - moved definitions and external used function headers to xsane.h 80 - added test for depth > 1 before calculating preview histogram 81 - added test for preview_gamma_data_red before calculating preview histogram 82 - added test for preview_gamma_data_red before doing preview gamma correction 83 - added p->image_data_raw = malloc(3*p->image_width*p->image_height); 84 in xsane-preview.c/scan_start 85 - added authorization_callback routine 86 - renamed a lot of routines * -> xsane_* 87 - added p->previous_selection.active = FALSE; draw_selection(p); 88 to preview_gamma_correction to redraw selection 89 - added preview_update(p); to scan_done in xsane-preview.c to reactivate selection 90 - added header for saving >8bpp raw data (SANE_GRAYSCALE_RAW, SANE_RGB_RAW) 91 - added 16 bit saving routines for pnm(ascii), png and raw 92 - added 16 bit routines to xsane_read_image_data, added 16 bit gamma software support 93 94 95xsane-0.16 -> 0.17: 96------------------- 97 98 - xsane-gtk.c moved free(elem->menu); elem->menu = 0; in panel_destroy out of 99 the for-loop 100 - added some #ifdefs #endifs around saving routines for TIFF, PNG and JPEG 101 - added BIT_DEPTH as well known option, preview sets this value to 8 if it is greater than 8 102 - added range checks in calculation for auto enhancement values 103 - calculation of auto enhancement values is not called in lineart mode any more 104 105 106xsane-0.17 -> 0.18: 107------------------- 108 109 - added quit_xsane in xsane_choose_dialog_ok_callback if no device was opened 110 - added sane_get_parameters(..) in xsane_scan_dialog 111 - added xsane_increase_counter_in_filename to xsane-save.[ch] 112 - Filename counter is automatically increased after scan 113 - Changed setup_dialog callbacks, cancel does work now 114 - zoomfactor is calculated now if copy mode is selected 115 - added tooltips for xsane setup options 116 - changed "destroy"-event of authorization dialog to "delete_event" 117 - in gsg_message made the ok button default 118 - added gsg_decision routine 119 - added overwrite warning 120 - postscript images are saved in original size in scan mode now 121 122 123xsane-0.18 -> 0.19: 124------------------- 125 126 - added cancel callback routine for conversion/saving routines 127 - printer_resolution now is set if OK is pressed in setup 128 - overwrite warning is not shown in copy mode any more 129 - changed fclose to pclose for closing pipe to printer command 130 - restored xsane.resolution in xsane_pref_device_restore 131 - added Help menu, called Netscape -remote to open help-files 132 - set sensetivity of xsane dialog and histogram dialog while 133 scan and preview scan to false 134 - added some help(html) files to the doc directory 135 136 137xsane-0.19 -> 0.20: 138------------------- 139 140 - improved online help 141 - added own version number for xsane, there are three version 142 numbers now: 143 - xsane version 144 - sane version 145 - package version (e.g if there is a package of different frontends) 146 - added gamma value (gray, red, green, blue) for printer (copy mode) 147 - changed sane-style.rc -> xsane.style.rc 148 - changed PATH_SANE_DATA_DIR -> old PATH_SANE_DATA_DIR/sane 149 - preview gamma correction is done by the xsane gamma correction instead of 150 the Xserver gamma correction, there are also values for red, green and blue 151 now. 152 - spilt setup window into notebook pages 153 - replaced in xsane_pref_set_unit_callback preview_update by preview_area_resize, 154 the ruler units are updated now if unit is changed 155 - made menue length unit inactive if length unit is pixel 156 - added dialogs for batch scan list and fax page list, but not finished and disabled 157 - changed local includes from <...> to "..." 158 - test for filetype is only done in scanmode now 159 - added list of (up to 10) printers for photocopy mode 160 - added error messages if failed to open files 161 - added sigpipe_handler for handling broken pipe while writing to printercommand 162 163 164xsane-0.20 -> 0.21: 165------------------- 166 167 - in xsane-preview.c if backend does not use scanareaselection dev_selection[i] 168 is set to width/height of image 169 - replaced most sprintf by snprintf 170 - made menue length unit inactive if scanare is nut supported by the backend 171 - set maximum value in 16 bit saving routines to 16 bit/65535 172 - 1 bit/pixel png file is saved with 1 bit/pixel instead of 8 bit/pixel now 173 - added support for gtk-1.2 174 - font are set in xsane-style.rc now 175 176 177xsane-0.21 -> 0.22: 178------------------- 179 180 - split xsane.c in: 181 - xsane.c 182 - xsane-setup.c 183 - xsane-gamma.c 184 - xsane-front-gtk.c 185 - xsane-scan.c 186 - renamed xsane-gtk.c to xsane-back-gtk.c 187 - removed libtool from package 188 - added experimental fax support 189 190xsane-0.22 -> 0.23: 191------------------- 192 193 - changed configure.in, removed some unnecessary parts 194 and added error messages if gtk or sane is not installed 195 196 - removed copy-mode resolution bug (was not changed if zoom slider was moved) 197 - removed bug in faxmode if faxproject did not exist (fclose(0)) 198 - changed definition of struct xsane and struct xsane_setup 199 - added documentation-viewer-command to setup, netscaperemote is selected 200 via the keyword "netscape-remote" 201 202xsane-0.23 -> 0.24: 203------------------- 204 205 - removed some bugs in gamma value calculation for real scan (preview was ok) 206 - added activation for some windows after scan error 207 - removed bugs in startup if no device is available or selected, 208 the xsane.rc-file keeps untouched now 209 210 211xsane-0.24 -> 0.25: 212------------------- 213 214 - moved xsane_pixmap_new as xsane_create_histogram from xsane-front-gtk.c to 215 xsane-gamma.c 216 - now putting the histogram sliders directly into the slider preview instead 217 of drawing into the preview window, the sliders are not erased by other 218 other windows now 219 - added block_update_param flag, the update_param and update_histogram routines 220 are now called only one time if the preview scan area is changed 221 - added changing of one edge in preview scanarea (left mousebotton near the edge) 222 - added moving of preview scanarea (middle or right mousebutton) 223 - moved creation of histogram dialog to xsane-gamma.c 224 - removed some bugs in the preview, resizing the preview window should work now 225 - added an experimental zoom for the preview 226 227 228xsane-0.25 -> 0.26: 229------------------- 230 231 - removed some preview_update calls or replaced them by preview_update_selection 232 - renamed preview_update to preview_update_surface and made surface_changed a parameter 233 - ruler scaling is now ok in resized windows and zoomed previews 234 - added some range checks in preview_calculate_histogram 235 - parts in the preview window that are not part of the scan area are painted gray now 236 - added image_surface to preview structure, it stands for the surface of the scanned preview image 237 - renamed preview_get_image_scale to preview_get_scale_preview_to_image 238 - added routine preview_get_scale_device_to_preview 239 - added Zoom 20% out routine 240 - the selected area can be larger than the viewable preview now 241 - added Pipette functions (pick black, gray and white) - mouse pointer does change to pipetty icon 242 - p->aspect is calculated by image-size now if the surface is not defined (INF) in 243 preview_update_surface 244 - preview_update_surface is called now after preview scan and preview_restore_image 245 - moved the "Help" menu in the main dialog to the right 246 247 248xsane-0.26 -> 0.27: 249------------------- 250 251 - added scantips and index of backends to help menu 252 - changed configure.in, libpng should be found on (all ?) systems now 253 - black and white point sliders use the two additional pixels now 254 - user can preset (reduce) the preview area now 255 - added "Select visible area" button 256 - removed some bugs in gray gamma value calculation for real scan (preview was ok) 257 - setup of faxoptions: normal, fine and postscript option is saved now 258 259 260xsane-0.27 -> 0.28: 261------------------- 262 263 - added option negative into enhancement and changed create_gamma 264 draw_histogram and auto_enhancement to work with it! 265 266 - increased contrast range from -100..+100 to -100..+200 267 and brightness range from -100..+100 to -200..+200 268 because the old values were not sufficent for scanning negatives 269 270 - added selection for number of copies in copy mode 271 272 273xsane-0.28 -> 0.29: 274------------------- 275 276 - removed bug in xsane_set_resolution that could cause a segmentation fault 277 - added support for resolution of type CONSTRAINT_WORD_LIST 278 - xsane-mode (scan, copy, fax) can be selected as command line option (-s, -c, -f) now 279 - most texts that are defined in xsane are defined in xsane-text now 280 281 282xsane-0.29 -> 0.30: 283------------------- 284 285 - removed bug in xsane_set_resolution, now highest resolution can be set if 286 resolution is a list! 287 - added RGBI support - must be activated in xsane.h (SUPPORT_RGBI) 288 - added options rgb default and negative to preferences 289 - enhancement values are saved with device settings now 290 - The filename can be specified now for the file in which the device settings are saved 291 or from which they are loaded. 292 - changed extension from ".rc" to ".drc" (device rc) 293 - added header "XSANE_DEVICE_RC" to identify it as device-rc-file 294 - added calculation for color components to auto enhancement 295 - pipette functions: middle mouse button defines shadow/gray/highlight 296 for color components, left mouse button only defines gray values! 297 - auto enhancement values are set to standard values in 298 xsane_calculate_histogram if no values could be calculated 299 - histogram is cleared when sensitivity is set to false 300 - improved calculation of auto enhancement values 301 - increased contrast range from -100..+200 to -100..+300 (gray) and 302 -300..+300 (color) and brightness range from -200..+200 to -300..+300 303 304 305xsane-0.30 -> 0.31: 306------------------- 307 308 - changed filename character transformation: erase " ", "_" -> "__", "/" -> "_" 309 - device settings standard file name is vendor:model 310 so it does not matter any more if the sg-device name has changed 311 - the xsane main window can be a fixed or a scrolled, resizable window now. 312 selection is done with setup/display/"main window fixed", 313 the main window mode can be overwritten by specifying a command 314 line option: 315 -R or --Resizeable activates the resizeable, scrolled window, 316 -F or --Fixed activates the fixed (non resizable) window (default) 317 - histogram is cleared when info dialog or about dialog is opened 318 - changed version option from -V to -v 319 - added support for Automatic Document Feeder (scan until error) 320 this is experimentary because in the SANE-standard there is 321 no way defined how a frontend can identify an ADF. 322 The backend has to load the next document automatically! 323 - in xsane_enhancement_update replaced gtk_signal_emit_by_name 324 by gtk_signal_emit 325 - moved more texts to xsane-text.h 326 - changed all RGBI -> RGBA because the 4th channel is ALPHA 327 I think that SANE_FRAME_RGBA will be added to the sane standard 328 - gtk+-1.2.0 is minimum requirement: removed tests for 329 gtk_tooltips_set_tips, gtk_scrolled_window_add_with_viewport 330 and gtk_events_pending that were needed for gtk+-1.0.x 331 - added option "--device-settings file" to define default 332 filename for device-settings 333 - corrected "legal" size in preview 334 - added device_text to info and preview window title 335 - moved color definition to xsane_creat_histogram_dialog 336 - pixmap colors depend on histogram_dialog now because 337 the histogram dialog is the first dialog that exists 338 - renamed all gtk functions like defined in gtkcompat.h 339 (gtk+-1.0.x -> gtk+-1.2.x) 340 - removed bug in device selection, device can be selected 341 now with keyboard 342 - xsane info window prints gamma depth "none" in 1 bit modes 343 344 345xsane-0.31 -> 0.32: 346------------------- 347 348 - added option --no-mode-selection/-s to disable menu for 349 xsane mode selection 350 - prepared text outputs (in xsane-text.h) for NLS/gettext support 351 - multiple \n in scanf while reading saved preview image removed 352 - added AM_PROG_CC_STDC to configure.in for HP/UX 353 - added a break statement after each default in switch block 354 - changed test for multiple image scan, when sane_read returned with 355 SANE_STATUS_GOOD when the image is finished we start a new scan, 356 SANE_STATUS_EOF is expected when scanning should be stopped. 357 This way the Automatic Document Feeder is supported a way 358 like planned in the sane standard, the backend says 359 if the frontend shall call sane_start repeatadly. 360 361 362xsane-0.32 -> 0.33: 363------------------- 364 365 - removed change about SANE_STATUS_GOOD in multiple image mode. 366 Adf mode is detected by scanmode again. This would be better 367 selected by a mulit_image bit in the preferences block. 368 - added common rotuine xsane_set_sensitivity to xsane-front-gtk.c 369 - renamed xsane_test_adf to xsane_test_multi_scan 370 371 372xsane-0.33 -> 0.34: 373------------------- 374 375 - the preview selection is based on device coordinates instead of 376 preview window coordinates now 377 - added preview buttons and preview viewport to xsane_set_sensitivity 378 - info and about dialog use xsane_set_sensitivity now 379 - dummy_filename is created and opened for writing AFTER sane_start is called. 380 - sane_start() == NO_DOCS is not handled as error any more 381 - xsane_scan_done -> sane_cancel is called now if an error occurs 382 - if an error occurs while scanning the created file is removed 383 - xsane windows/buttons get inactive while setup dialog is open 384 - xsane_scan_done -> sane_cancel is called when main window is closed 385 (while scanning) 386 - if there are no standard device settings at program startup, xsane 387 take the backend predefined resolution (before this was set to 100) 388 - if no scanarea options are given, the preview works with 389 [0,INF] instead of [-INF,INF] now 390 - transformed all gif files in directory doc to jpeg format because of 391 all the trouble about the gif licence. Will never use gif again! 392 393 394xsane-0.34 -> 0.35: 395------------------- 396 397 - corrected doc/Makefile.in for change gif->jpg 398 - added tiff compression type selection for multi bit and one bit images to 399 setup: 400 none, CCITT 1D Huffman compression, CCITT Group 3 Fax compression, 401 CCITT Group 4 Fax compression, Lempel-Ziv & Welch, JPEG DCT compression, 402 pack bits 403 - implemented real single-bit format for tiff 404 - setup/jpeg quality selection is enabled if jpeglib or libtiff is available 405 - added gimp_image_set_resolution(...) to gimp saving routine 406 - added test for libgimp/gimpfeatures.h to configure.in and config.h.in 407 - disabled sensetivity while filename browse window is open 408 - added handling if fileselection window was closed 409 - moved filename "Browse" button from the right to to the left with disk-image inside 410 - (added image filetype menu to the image filename line - not ready) 411 - replaced button-texts negative, rgb default, auto, default, store and 412 restore by icons 413 414 415xsane-0.35 -> 0.36: 416------------------- 417 418 - moved xsane_generate_dummy_filename in xsane-scan.c out of a 419 #ifdef HAVE_LIBGIMP_H block 420 - changed some icons 421 - added #ifdef HAVE_LIBTIFF around TIFF-relevant definitions in 422 xsane_setup_dialog in xsane-setup.c 423 - included NLS/gettext version 0.10.35 424 - texts that are created by xsane can be converted to other languages 425 now - texts created by the backend can not be translated yet! 426 - added gettext relevant routines to aclocal.m4 and correct some bugs 427 - added french translation - thanks to Vincent Renardias <vincent@ldsol.com> 428 - added german translation table 429 - translation files "*.po" are created by "*.po.in" with help of the 430 preprocessor of gcc, all texts are #defined in frontend/xsane-text.h 431 432 433xsane-0.36 -> 0.37: 434------------------- 435 436 - added some texts to xsane-text.h and newlanguage.po.in[.in], 437 created file add-0.37.po.in where the new entries are listed 438 - moved generation of xsane.backend (backendname like umax) 439 from xsane_help_build_menu to xsane_device_dialog, needed for 440 translation of backend options 441 - added translation for backend options: 442 Backend translation is done with translation table sane-BACKENDNAME.mo 443 - removed bug in preview_update_selection() 444 (forgotten p->selection.active = TRUE) 445 The selection box is updated correct now 446 - removed bug in aclocal.m4: not fount "-lintl" when gettext is in glibc 447 448 449xsane-0.37 -> 0.38: 450------------------- 451 452 - changed STANDALONE -> XSANE_STANDALONE and 453 GIMP_EXTENSION -> XSANE_GIMP_EXTENSION because GIMP_EXTENSION 454 now (gimp-1.1.10) is used in the Gimp 455 - changed brightness and contrast range maximum form 300 to 400 % 456 - moved gimp installation texts to xsane-text.h 457 added entries to po/newlamguage* 458 - xsane -g now does not print anything and does not abort if gimp 459 support is compiled in 460 - changed lib/Makefile.in and sanei/Makefile in, make install should 461 work without a previous make now 462 - xsane gimp-plugin is selected via file/acquire now when 463 gimp-version >= 1.1.9 464 - . removed ../intl/libintl.a form frontend/Makefile.in and 465 . added CATOBJEXT=UNKNOWN and XGETTEXT=":" in if "gettext is in libc" 466 to aclocal.m4 467 hope this solves problems with missing "-lintl" now on all systems 468 - moved "show xxx" menu items form menu "Preferences" to menu "View" 469 - added continuous update to histogram sliders and preview selection 470 - added preferences menu item "Update policy" 471 - now options are only changable if SANE_CAP_SOFT_SELECT is set 472 - added test for bitdepth in xsane_scan_dialog for GIMP mode, 473 error message pops up when unsupported bit depths are selected 474 - moved case XSANE_PNM16 out of a #ifdef HAVE_LIBPNG block 475 - position of all windows and size of main window and preview window 476 is save in device settings, setting preview window geometry 477 does not work because window does not exist at relevant times. 478 479 480xsane-0.38 -> 0.39: 481------------------- 482 483 - bounded contrast to >=-100.0 484 - Added test if GIMP_CHECK_VERSION is defined 485 486 487xsane-0.39 -> 0.40: 488------------------- 489 490 - device name is saved in drc file now 491 - xsane version is saved in drc file now 492 - warning is printed if device rc file was not created for active device 493 - removed member device from struct preferences - was never used 494 - changed frontend/Makefile.in (XSCAN->BINPROGS) 495 - changed configure.in: 496 - changed order of some checks 497 - added status messages at the end 498 - added "--enable-intl-patch" which adds -lintl to check for libsane 499 - added "--disable-gimp" 500 - added "--disable-jpeg" 501 - added "--disable-tiff" 502 - added "--disable-png" 503 - moved xsane_generate_dummy_filename and fopen() into if XSANE_STANDALONE block, 504 there is no empty file created in gimp mode any more. 505 506 507xsane-0.40 -> 0.41: 508------------------- 509 510 - renamed xsane-incons.h -> xsane-icons.c and xsane-icons-def.h -> xsane-icons.h 511 - moved all includes that are needed by most xsane sources to xsane.h 512 problem with missing stdio.h is solved that way 513 - changed configure script: 514 - check for sane is moved to the end because of missing libintl, 515 - check for png is done with x_includes and x_libraries, 516 and libpng is added to lib after all checks are done 517 518 519xsane-0.41 -> 0.42: 520------------------- 521 522 - changed configure.in, error message about missing sane is also printed if sane.h 523 is not found. 524 - changed info row (size box, start button): the start button is made smaller when 525 the info box needs more place 526 - changed calculateion of size in info row from unisgned long to float 527 because unsigned long / 10 were to small to fit A4 with 1200x1200 dpi 528 - changed png part of configure, HAVE_LIBPNG is now defined again 529 - corrected png lineart saving 530 531 532xsane-0.42 -> 0.43: 533------------------- 534 535 - disabled LZW-compression for TIFF. 536 Unisys holds a patent for LZW compression. I am not sure 537 about the licence status of LZW and TIFF. GIF is not supported 538 because of the licence problem. LZW for TIFF is disabled now. 539 - removed all LZW entries in sourcecode and translation tables 540 541 542xsane-0.43 -> 0.44: 543------------------- 544 545 - renamed NOTEBOOK_PRINTER_OPTIONS to NOTEBOOK_COPY_OPTIONS 546 - added sane-problems-doc.html to the help menu 547 - added functions around "by ext" menu 548 - all functions in xsane-back-gtk.c are named with xsane_back_gtk_* now 549 550 551xsane-0.44 -> 0.45: 552------------------- 553 554 - added *s = 0; in sanei_codec_ascii.c when reading a string that 555 does not start with '"' 556 557 - added test "if (!w.status)" when reading a string in sanei_load_values.c 558 the missing test caused a segfault when a string was expected but 559 the line did not start with '"' 560 561 - merged together all needed sanei_* routines in xsane-rc-io.c 562 and renamed all sanei_* to xsane_rc_io_*, removed subdir sanei 563 and changed xsane.c and xsane-preferences.c to use xsane-rc-io.[ch] 564 and reprogrammed some things. 565 566 - renamed all xsane_pref_device_* to xsane_device_preferences_* 567 and moved them to xsane-device-preferences.c 568 569 - renamed sanei_w_[load|save]_values to xsane_device_preferencs_[load|save]_values 570 and moved them to xsane-device-preferences.c 571 572 573xsane-0.45 -> 0.46: 574------------------- 575 576 - changed xsane_rc_io_w_space: returns ENODATA instead of EINVAL at EOF 577 578 - added xsane_rc_io_w_skip_newline 579 580 - changed xsane_device_preferences_load_values: 581 - begin at start of file is only inciated if w.status == ENODATA 582 - if w.status is an other error, the line is skipped 583 584 - moved and renamed w_string, w_int, w_double from xsane-preferences.c 585 to xsane_rc_pref_* in xsane-rc-io.c 586 587 - repleaced fprintf/fscanf for reading xsane device preferences by 588 xsane_rc_io_w_* routines 589 This way the floating point values (xsane- gamma, brightness and contrast) 590 are saved different and the *.drc-files are incompatible in that point. 591 592 - added test for lineart mode (depth == 1) in xsane_enhancement_update 593 solves segmentation fault problem when device settings with lineart enabled 594 are loaded 595 596 597xsane-0.46 -> 0.47: 598------------------- 599 600 - if helpfile viewer is netscape-remote and netscape is not running 601 it is started 602 603 - replaced ENODATA (used for EOF detection in xsane-rc-io and 604 xsane-device-preferences) by XSANE_EOF (=-1) 605 (ENODATA is not defined on all systems) 606 607 - If faxproject does not exist, project data entries are made insensitive 608 and buttons "send project" and "delete project" are replaced by "create project" 609 610 - Added missing "&" in xsane_device_preferences_save_values: 611 xsane_rc_io_w_array(w, &len, (void **) &word_array, (WireCodecFunc) xsane_rc_io_w_word, sizeof(SANE_Word)); 612 that cause segmentation fault when writing bool, int or fixpoint arrays. 613 614 615xsane-0.47 -> 0.48: 616------------------- 617 618 - "START" button is made insensitive in fax mode if project does not exist. 619 620 - Preview window is created at the same time as the main dialog and it is destroyed 621 at program end. Disabling "show preview" hides the preview window. This way the preview 622 window placement does work correct. 623 624 - set default values in xsane_device_preferences_load_file(char *filename) 625 before reading the saved values, show_preview default = true 626 627 - Mouse pointers display relevant mode icons in preview window now. 628 629 - In copy mode the maximum selectable size that fits to the selected printer is drawn 630 by a rect now. Selection is limited to the printer size. 631 632 - if no local xsane.rc, xsane-style.rc or DEVICE.drc file exists it is loaded from SANE_DATA_DIR/xsane 633 634 - all xsane rc files are placed in a subdirectory xsane now (~/.sane/xsane, SANE_DATA/DIR/xsane) 635 636 - temporary files (previews, conversions) are saved in /tmp (defined in SANE_PATH_TMP in xsane.h) now 637 638 - added window decoration icon (top left) to each xsane window (does work with kwm, does not work with fvwm2) 639 640 - added warning icon and error icon 641 642 - removed xsane_files_exit_callback, now xsane_scan_win_delete is used for all exit program calls 643 644 - conversion-* and preview-* files are created with permission "-rw-------", 645 images- and project-files are created with "preferences.image_umask" 646 xsane.rc and *.drc are created with XSANE_DEFAULT_UMASK defined in xsane.h 647 648 - added file permission selection in preferences/saving options for image file and for directory (faxproject) 649 650 - disabled fileoptions (mkdir, rm, mv) in loading/saving preferences 651 652 653xsane-0.48 -> 0.49: 654------------------- 655 656 - added support for different x/y resolutions and zoom factors, 657 the y-resolution slider is added to the xsane main dialog now 658 659 - in gimp mode x- and y-resolution infos are set correct now 660 661 - added resolution and zoom icons for x- and y-dimension 662 663 - added fax_width and fax_height to preferences 664 665 - added paper size frame in fax mode preview 666 667 - added czech translation - thanks to by Stanislav Brabec <utx@k332.feld.cvut.cz> 668 669 - changed gimp_install_procedure(...): "RGB, GRAY" -> 0 670 671 - changed printer geometry setup from 1/72 ich to mm 672 673 - added setup entries for fax- width, height, left_offset and bottom_offset 674 675 - corrected terminating \0 of strings in sane_choose_device 676 677 - when button "Negative" is pressed the white/gray/black points 678 are also inverted 679 680 - split preview_restore_image into preview_restore_image and 681 preview_restore_image_from_file, it can zoom into a saved 682 image now. 683 684 - zoom functions are done now without a new preview scan. 685 3 different zoom levels are stored. 686 687 - in xsane_scan_start the output file is only opend once in multi pass scan 688 three pass scan does work now again. 689 690 - added several missing routines for gamma correction in three pass scan 691 692 693xsane-0.49 -> 0.50: 694------------------- 695 696 - removed bug in calculation of paper size in copy and fax mode 697 698 - added support for rotate image in xsane_save_ps 699 700 - added support for rotate (landscape mode) in copy mode and save-ps mode 701 and added preferences menu "Rotate Postscript" 702 703 - added bugfix for gtk_tooltips_set_colors as long as it does not work in gtk 704 705 - improved memory allocation routines and error handling in preview 706 707 - after the main window is created the resolution, resolution_x amd resolution_y 708 are made up to date now 709 710 - changed dynamic menue list definition in xsane_setup for TIFF_COMPRESSION menu 711 712 713xsane-0.50 -> 0.51: 714------------------- 715 716 - added some rangechecks to histogram->gamma calculation 717 it is done as histogram->gamma->histogram now 718 719 - changed redraw frame in preview_display_partial_image(), 720 now the old image is completely overpainted! 721 722 - added xsane_set_all_resolutions() to xsane_printer_callback, 723 now paper size frame is updated when printer is changed 724 725 - corrected wrong error message in setting of scansource_selection 726 from "unknown type" to "unknown constraint type" 727 728 - moved xsane.header_size = 0; to the end of xsane_scan_done so it is called in each case 729 the missing command was responsible for a segfault when starting a scan after xsane_cancel 730 has been called 731 732 - moved progress_bar from it's own window to the bottom of the main window 733 progress_bar texts are displayed in info frame and in progress bar 734 735 - added size in mm/cm/in to progress bar when not scanning 736 737 - in scales the number of digits is defined by quantization now, if no quantization is given 738 by backend (quant=0, SANE_TYPE_FIXED) x.2 digits are displayed 739 740 - corrected page_step for scales 741 742 - selection_active is reset in preview_display_partial_image instead of preview_paint_image 743 744 - updated czech translation file cs.po.in - thanks to Stansislav Brabec 745 746 747xsane-0.51 -> 0.52: 748------------------- 749 750 - changed gimp_install_procedure(...) for specified device: "RGB, GRAY" -> 0 751 752 - in xsane-scan.c and xsane-preview.c added " | GDK_INPUT_EXCEPTION" to 753 gdk_input_add(fd, GDK_INPUT_READ | GDK_INPUT_EXCEPTION, preview_read_image_data, p); 754 755 - added static int xsane_set_modus_defaults(void) 756 zoomfactor is set to 1.0 if copy mode is selected 757 full preview area is selected if copy or fax mode is selected 758 759 - removed a second xsane_device_preferences_restore(); in static void xsane_device_dialog(void) 760 761 - zoom factor keeps unchanged when printer is changed 762 763 - added psfile-geometry to setup/saving options, it is used when saving postscript in scanmode 764 765 - moved exisiting routines to open functions to xsane-front-gtk.c: 766 void xsane_define_output_filename(void); 767 void xsane_identify_output_format(char **ext); 768 769 - define_maximum_output_size is called in each routine that changes filename or fileextension 770 because the output frame is also drawn in scanmode with filetype postscript now 771 772 - included Stanislav Brabec's <utx@penguin.cz> sed-scripts and changes for Makefile.in in xsane-*/po 773 774 - added creation of newlanguage.po in po/Makefile.in 775 776 - updated german translation file de.po 777 778 - updated czech translation file cs.po - thanks to Stanislav Brabec <utx@k332.feld.cvut.cz> 779 780 - updated french translation file fr.po 781 782 783xsane-0.52 -> 0.53: 784------------------- 785 786 - added test if vendor, model and type strings do exists (pointer != 0) 787 otherwise "no vendor",... is printed 788 789 - changed 790 ext = &extension; 791 to 792 if (extension) 793 { 794 *ext = strdup(extension); 795 } 796 else 797 { 798 *ext = 0; 799 } 800 in xsane_identify_output_format - bad thing, I get old ;-) 801 802 - added new routine xsane_find_best_resolution that makes sure that the selected resolution 803 fits into range/quantization given by backend. 804 This is used by xsane_set_resolution and when resolution_list is created. 805 806 - added xsane_set_all_resolutions to xsane_set_modus_defaults 807 808 - xsane resolution can be changed by backend now 809 810 811xsane-0.53 -> 0.54: 812------------------- 813 814 - updated french translation table 815 816 - updated german translation table 817 818 - changed type of umask in preferences from mode_t to int because 819 sizeof(mode_t) is on some machines only 2 bytes what cause problems. 820 all calls of umask(foo) are changed to umask((mode_t) foo) 821 822 - changed preferences update_policy from GtkUpdateType to int. 823 824 - selection box can not be moved out of the preview window, the 825 size of the selection keeps unchanged in that case now. 826 827 - removed some gtk_main_iteration and reordered some selection drawing routines. 828 829 - removed unused files/directories from package: 830 sanei, include/sane/sanei_(some).h, po_old 831 832 833xsane-0.54 -> 0.55: 834------------------- 835 836 - added preview support for 16 bpp (transformed to 8bpp) 837 838 - added copyright line in devcie selection dialog 839 840 - preview selection frame is only active when backend supports coordinate selection 841 842 - added preview oversampling factor (multiplier for calculated preview resolution) 843 844 - added lineart enhancement: preview can be done in grayscale now, 845 threshold value change is displayed without a new preview scan. 846 847 - added "device options" to setup dialog: 848 - Scanner dependant options for grayscale->lineart conversion have 849 to be entered there. 850 851 - a color preview is now displayed gray when grayscale mode is selected 852 853 - updated de.po, cs.po, fr.po 854 855 - updated po/xsane-pot.sed 856 857 858xsane-0.55 -> 0.56: 859------------------- 860 861 - added hold timer to preview (update-policy=delayed) 862 863 - added hold timer to xsane_slider (update-policy=delayed) 864 865 - moved help menu from file to help 866 867 - added swedish (sv) translation - thanks to Johan Bengtsson <johanb@lls.se> 868 869 - removed bug in xsane_rc_io_w_string, it returns EINVAL now each time when the string 870 does not begin with " 871 872 873xsane-0.56 -> 0.57: 874------------------- 875 876 - made xsane_choose_device return type to void (was gint32) 877 878 - arranged device-preferences in struct xsane in the order they are used 879 as device preferences, made sure that all variable types are correct: 880 - changed type of xsane.mode from gint32 to int 881 - changed type of xsane.lineart_mode from gint32 to int 882 - changed type of xsane.show_preview from SANE_Bool to int 883 - changed type of xsane.enhancement_rgb_default from SANE_Bool to int 884 - changed type of xsane.fax_finemode from SANE_Bool to int 885 886 - added mask for *_lock in preview motion_notify_event handling 887 Preview selection can be done with locks activated now 888 889 - histogram is cleared before/redrawn after saving/loading device settings 890 891 - added xsane_control_option() that tests if option >= 0 and returns SANE_STATUS_INVAL if not 892 893 - added xsane_get_option_descriptor() that tests if option >= 0 and returns NULL if not 894 895 - changed parameters of preview_area_resize and added preview_area_resize_handler 896 897 - removed a lot of gtk_main_iterations from xsane_preview.c 898 they make problems in the redrawing order and can cause display problems 899 900 901xsane-0.57 -> 0.58: 902------------------- 903 904 - split the preview_event_handler into 905 - preview_press_button_event_handler 906 - preview_motion_event_handler 907 - preview_release_button_event_handler 908 909 - the preview_expose_event_handler now is called twice, 910 the second call has been placed in the preview_event_handler_before 911 912 - reactivated gtk_main_iteration after at the end of motion_event 913 914 - added warning window when xsane is started as root 915 916 - added selection of temporary directory in preferences/setup/saving options 917 918 - added gdk_input_remove(xsane.input_tag); before xsane_start_scan is called 919 in 3-pass scanning mode (suggestion from Heiko_Schroeder@t-online.de) 920 921 - changed output of "xsane -v" 922 923 - in xsane_scan_done moved xsane.header_size = 0; before test for ADF 924 Thanks to Russell Coggrave for the info about it. 925 926 - added gtk_set_locale() before gtk_init() 927 928 - added copyright sign "(c)" to translated texts because it is not available on all charsets 929 930 - temporary filenames are created random and unique (mktemp + random number) 931 due to security problems with fixed/calculateable tempfiles. 932 933 - the preview-files are created (empty) at program startup now 934 935 - when program exits the previews are erased 936 there is no way to store the preview images any more when the program is closed 937 938 - preview_restore_image() creates the xsane-startimage if no preview is stored 939 940 - renamed directory frontend to src 941 942 - create xsane-help script that opens online helpfile 943 944 945xsane-0.58 -> 0.59: 946------------------- 947 948 - preview_do_gamma_correction does test for 3 pass scanner color mode 949 950 - changed fax x-resolution and standard resolution from 98 ppi to 204 ppi 951 and with of faxpage from 210.0 to 215.7 (so we get 1728 pixels in x direction, 952 hxlafax-faq says that is the correct size) 953 954 - split preferences.printer[..].resolution -> lineart, grayscale and color_resolution 955 956 - added setlocale(LC_NUMERIC, "C"); in xsane_init() and #include <locale.h> in xsane.h 957 this should solve the problems with empty images (100%transparent) with gimp 958 and other problems that were caused by local settings (1.3 <=> 1,3). 959 960 - added setup-option "disable gimp preview gamma" 961 962 - added selection (preferences/setup/enhancement options) if autoenhancement changes gamma value 963 964 - renamed Preferences/Setup/"Device options" to "Enhancement options" 965 966 - removed xsane internal callbacks from dialog struct, the functions are called directly now 967 968 - changed the reading of the preview image header. The last newline character before the image 969 data starts again made some problems, this seems to depend on the data that follows. So I added 970 a fgets() command to skip the newline character - this seems to work. 971 972 - changed increase_filename_in_counter, does work now if the only character of the base-filename 973 is the counter 974 975 - reduced size of src/xsane-startimage.pnm (1MB => 0.6MB) 976 977 978xsane-0.59 -> 0.60: 979------------------- 980 981 - after filename counter is increased the cursor in the outputfilename entry is moved to the right 982 983 - in preview_read_image_data when image is complete: 984 preview_update_surface(p, 0); 985 is called before 986 preview_display_image(p); 987 this way the geometry of the first preview scan is correct. 988 989 - moved xsane_set_all_resolutions in xsane_update_xsane_callback(), 990 it now also is called when the backend only uses one reesolution 991 992 - added calibration image (xsane-calibration.pnm) that is loaded when setup window is created. 993 The xsane enhancement functions are disabled in calibration mode, the image can not be 994 resized (xscale = yscale = 1.0). 995 The previsous image is reloaded when the setup window is closed again. 996 997 - enviornment variable SANE_DEFAULT_DEVICE is used to activate the radiobutton in the 998 device selection menu 999 1000 - removed unused item "custom" from preview surface menu 1001 1002 - changed preview surface menu items: 1003 A3 -> A3P (portrait) 1004 A4 -> A4P (portrait) 1005 A4H -> A4L (landscape) 1006 A5 -> A5P (portrait) 1007 A5H -> A5L (landscape) 1008 1009 - removed script xsane-help, necessary command now is listed in xsane.PROBLEMS 1010 1011 1012xsane-0.60 -> 0.61: 1013------------------- 1014 1015 - added debug output function and messages (environment variable XSANE_DEBUG) 1016 1017 - moved all global variables and struct GSGdialog to global struct xsane 1018 1019 - cleaned up some variable names 1020 1021 - added free gamma curve dialog (not ready) 1022 1023 - prepared xsane for win32: 1024 - when BUGGY_GDK_INPUT_EXCEPTION is defined only blocking mode is used 1025 (needed because GDK input exception does not work on win32) 1026 - on win32 you cannot get a homedirectory, for this 1027 XSANE_FIXED_HOME_PATH has to be set to the path that shall be 1028 used as homedirectory 1029 - replaced all gtk_dialog_new by gtk_window_new and added hbox and vbox to the window 1030 (gtk_dialog_new does not work on WIN32) 1031 - added xsane.WIN32 and xsane.WIN32-compilation that describes how xsane 1032 is build on WIN32 with CYGWIN 1033 - replaced "/" in all paths, added label SLASH that is predefined to '/' if it is 1034 not defined by compiler option. For WIN32 it is set to '\' by compiler option 1035 - all fopen functions use argument "rb" or "wb" now (b=binary). This is needed for WIN32 1036 and the b is ignored on unix systems. 1037 - published binary version xsane-win32-0v01 and xsane-win32-0v02 based on 1038 xsane-pre0.61 versions 1039 1040 - removed an ugly bug: in struct Preferences there was predefined a string ("/tmp/") 1041 that caused a bad memory state when the string memory was freed, 1042 instead the string is defined in xsane_pref_restore now 1043 1044 - changes for tiff format: 1045 - added support for 16 bit tiff format. 1046 - predefined tiff-compression is changed from 5 to PACKBITS(16bit), JPEG(8bit), FAXG3(1bit). 1047 - add resoultion-tags and datetime-tag to tiff files. 1048 1049 - added "change directory" entry to preferences menu 1050 1051 - added "scanning for devices" dialog 1052 1053 1054xsane-0.61 -> 0.62: 1055------------------- 1056 1057 - updated manpage (was about 1 year old) 1058 1059 - removed sigprocmask.c from xsane-*/lib (not used) 1060 1061 - added icons (32x32 and 48x48) for unix(xpm) and Windows(ico) 1062 1063 - some additional changes for rotating preview 1064 1065 - removed bug in preview_get_color that caused segfault when 1066 click with pipette was placed into preview area but outside the image, 1067 ( there was no test for image size ) 1068 1069 - in info dialog tiff is now listed as supported 16 bit format 1070 1071 - filename counter is increased now if path or filename includes a "." 1072 and fileytpe is seleced by menu 1073 1074 - added possibility to move the edge of the preview selection frame 1075 thanks to Laurent Martelli for his suggestion for that 1076 1077 - added sane_get_parameters(xsane.dev, &xsane.param) at end of preview_scan_done 1078 this way it is made sure that xsane.param is correct after preview scan 1079 (was not correct in copy mode with lineart=grayscale->lineart preview) 1080 1081 - added explaination of "[DEVICE]" in xsane help message 1082 1083 - gimp handling now is always called in xsane_scan_done 1084 (was not called when an error occured or the cancel button was pressed). 1085 1086 - moved selection of fax finemode to fax-project window, image is always scanned 1087 in fine mode resolution. 1088 1089 - html-documentation is updated (a bit) 1090 1091 - removed bad "+ 0.5" from calculation in preview_set_option_float: word = SANE_FIX(value) + 0.5; 1092 1093 - included italian translation table (it.po), thanks to Mauro Colorio <macolori@tin.it> 1094 1095 - added error message in xsane_control_option if command failed 1096 1097 - p->startimage is set to 0 in preview_scan_start 1098 1099 1100xsane-0.62 -> 0.63: 1101------------------- 1102 1103 - added turkish translation (thanks to Togan Muftuoglu <toganm@turk.net>) 1104 1105 - changed gimp interface from 1.0 to 1.1.2x (GParam->GimpParam etc), 1106 added xsane-oldgimp.h that adds #defines for the old gimp interface 1107 1108 - added "make uninstall" 1109 1110 - changed confiure.in, added test for x_includes before it is used, 1111 renamed it to configure.old 1112 1113 - new configure.in file that does use "sane-config" now to find the sane libraries 1114 1115 1116xsane-0.63 -> 0.64: 1117------------------- 1118 1119 - changed xsane-oldgimp.h to work with gimp-1.0.4 1120 1121 - added info icon (green triangle with explanation mark) 1122 1123 - added info window function: xsane_back_gtk_info 1124 1125 - ADF mode: if first scan fails with NO_DOCS => error message: no docs 1126 if another scan ends with NO_DOCS => info message: scanned pages: # 1127 1128 - added some accelerator keys. The key definitions may change any time, 1129 this is a first test version. The key-definitions are listed in xsane.ACCELKEYS 1130 1131 - added grab_default for close buttton in info and about dialog 1132 1133 - changed test for sane-libs in aclocal.m4, "-lintl" is removed from 1134 the output of "sane-config --libs" 1135 (this caused segfaults when gettext is included in libc) 1136 1137 - added about translation dialog 1138 1139 - added options "-p", "--print-filenames", if enabled and xsane runs in scanmode it 1140 prints names of produced image files to stdout 1141 1142 - added options "-N name", "--force-filename name", if set the user filename selection 1143 is disabled and the given name is used as filename. The filename should be of the 1144 form "basename-00001.filetype". The size of the counter has to be suffisunt large. 1145 1146 - some changes in configure script (missing libs needed by sane are not linked any more) 1147 1148 1149xsane-0.64 -> 0.65: 1150------------------- 1151 1152 - src/Makefile.in: added usage of SANE_CFLAGS and GTK_CFLAGS 1153 1154 - added secure password transmission for authorisation (md5digest) 1155 1156 - ~/.sane/pass is used for reading user:password:resource from file before asking the user 1157 1158 - configure: removed test for X (AC_PATH_X), this is done in GTK (gtk-config) 1159 gtk includes and libs are used for png test (because png often is in X directories) 1160 1161 - changed xsane_*_with_pixmap: 1162 old status: routines used xsane.histogram_dialog->window as window for gdk_pixmap_create_from_xpm_d() 1163 this made problems with preview window if X default color depth differd from X color depth 1164 new status: routines are called with parameter GdkWindow *window now. 1165 1166 1167xsane-0.65 -> 0.66: 1168------------------- 1169 1170 - added setup menu for Automatic Document Feeder Scansource 1171 (ADF-Scansource name was predefined to "Automatic Document Feeder" before, 1172 now it can be defined for each device (is saved in decice settings)) 1173 1174 - changed setup for lineart->grayscale scanmode from entry to menu with available scanmodes 1175 1176 - updated xsane.WIN32-compilation and src/Makefile.in.WIN32 1177 I compiled a pre version of xsane-0.66 with the cygwin snapshot from 2000-12-10 and 1178 gtk+-dev-20001023.zip, glib-dev-20001023.zip, libiconv-dev-20001007.zip 1179 with the way described in xsane.WIN32-compilation without any problems. 1180 The problem with the fork() seems to be solved in this cygwin version. 1181 1182 - updated aclocal.m4 and configure (gimp test) 1183 1184 1185xsane-0.66 -> 0.67: 1186------------------- 1187 1188 - added test if (xsane.adf_scansource) before usage of xsane.adf_scansource 1189 (caused segfault when no ADF Scanmode was defined in setup) 1190 1191 1192xsane-0.67 -> 0.68: 1193------------------- 1194 1195 - changed src/Makefile.in.WIN32 so that the installation directory can 1196 be selected by configure --prefix=... and the used paths are more 1197 common to the one on unix (/usr/local => c:\sane) 1198 1199 - changed src/Makefile.in.WIN32 for gimp support (uncomment GIMP_LIBS) 1200 1201 - WIN32+gimp-support: set_gimp_PLUG_IN_INFO_PTR(&PLUG_IN_INFO) is called 1202 1203 - added extern GimpPlugIn PLUG_IN_INFO to xsane.h (needed in xsane.c for win32) 1204 1205 - replaced free(xsane.tile) by g_free(xsane.tile) 1206 (the free(...) caused a crash on win32) 1207 1208 - changed aclocal.m4: gimp test does work with gimp-1.0.x version again 1209 1210 - renamed xsane.WIN32 and xsane.WIN32-compilation to xsane-WIN32.txt 1211 and xsane-WIN32-compilation.txt (it is easer to use on windows) 1212 1213 - removed (#ifndef _WIN32) gtk_set_locale() from xsane.c for win32 1214 (when it was called gimp plugin created transparent images) 1215 1216 - saved xsane-style.rc in DOS mode (\n\r) 1217 1218 1219xsane-0.68 -> 0.69: 1220------------------- 1221 1222 - some changes in aclocal.m4 for gimp test: 1223 - When gimp-config is not found, the output of gtk-config is used 1224 - GTK_CFLAGS or GIMP_CFLAGS are added to CPPFLAGS for test for gimp.h and gimpfeatures.h 1225 - GTK_CFLAGS and GTK_LIBS are erased when gimp_config is available 1226 1227 - changed src/Makefile.in: GIMP_CFLAGS is used now 1228 1229 - saved xsane-style.rc in unix mode (\n) because DOS mode (\n\r) made problems 1230 1231 - added new way to call netscape remote command: 1232 at first xsane tries to find out if netscape is running, for this it tries to 1233 find out if there is a link "~/.netscape/lock". If this link exists netscape should 1234 be running and xsane calls "netscape -remote openFile(...)". Otherwise xsane calls 1235 "netscape ..." 1236 1237 - changed keywork "netscape-remote" as docviewer to "netscape" 1238 1239 - changed way to find out home directory in xsane-back-gtk.c: 1240 now getenv(ENVIRONMENT_HOME_DIR_NAME) is used instead of getpwuid(...)->pw_dir. 1241 (getenv is usable for Win32 and unix, getpwuid makes problems on Win32) 1242 1243 1244 1245xsane-0.69 -> 0.70: 1246------------------- 1247 1248 - removed some bugs in text for pipette in sane-xsane-preview-doc.html 1249 1250 - changed acloacal.m4: when gimp-config is not found we look for gimptool 1251 1252 - for WIN32 the filetypes listed in the filetype menu are ".jpg" and ".tif" 1253 instead of ".jpeg" and ".tiff" 1254 1255 - added manufacturer image to bottom of standard and advanced options window. 1256 The name of the image is "vendor"-logo.xpm" or "sane-"backend"-logo.xpm", 1257 the size of the image should be 256x48 pixels with a transparent background. 1258 1259 - changed src/Makfile.in: *-logo.xpm are installed (make install) and 1260 uninstalled (make uninstall) now 1261 1262 - changed src/Makfile.in.WIN32: *-logo.xpm are installed (make install)now 1263 1264 - several changes in xsane-preview.c for rotating preview by 0/90/180/270 degree 1265 the preview rotation is ready now 1266 1267 - added new routine xsane_save_rotate_image to xsane-save.c 1268 1269 - added new routine xsane_save_grayscale_image_as_lineart to xsane-save.c 1270 1271 - lineart images are saved in grayscale mode at first if transformation has to be done 1272 1273 - xsane_save_rotate_image is called beween scanning and saving image 1274 1275 - xsane_save_grayscale_image_as_lineart is called beween rotating and saving image 1276 1277 - aclocal.m4/configure: changed sane_major_version etc to SANE_CURRENT_MAJOR 1278 1279 - fileheader of raw format changed. This format is not defined, but some programs 1280 can read it as 16 bit pnm binary data, so we use a compatible header now: 1281 P5 1282 # This file is in a not public defined data format. 1283 # It is a 16 bit gray binary format. 1284 # Some programs can read this as pnm/pgm format. 1285 # SANE data follows. 1286 100 100 1287 65535 1288 1289 1290 1291xsane-0.70 -> 0.71: 1292------------------- 1293 1294 - corrected aspect ratio in xsane-preview.c in routine that calculates preview resolution 1295 1296 - corrected user definition of maximum scanner surface 1297 1298 - added translation of preview menu maximum surface(preset area) 1299 1300 - added tooltip for maximum surface(preset area) menu and rotation menu 1301 1302 - finished preview_autoselect_scanarea() 1303 1304 - added autoselect scanarea button to preview window 1305 1306 - changed automaitic increase of filename counter: 1307 - the step direction and length is not forced to +1, 1308 the user can select one of the values -2/-1/0/+1/+2. 1309 It is defined by preferences.filename_counter_step. 1310 This way it is possible to scan double sided papers 1311 with correct automatic page number generation. 1312 - the digits are not increased by a loop any more, 1313 the number is read, the new number is calculated 1314 and the new filename is generated. The user can 1315 select a minimum filename counter length now, 1316 it is defined in preferences.filename_counter_len 1317 and can be selected by the user in setup/saving options 1318 - when the number of digits are not enough the number is 1319 automatically increased now. 1320 - a message comes up when counter gets smaller than 0 1321 1322 - pipette the color is averaged on a square, the size of the 1323 square can be defined by the user 1324 1325 - updated html doc (not complete) 1326 1327 - added tooltips to permission buttons (r,w,x) 1328 permission texts: user, group, all, read, write, execute can be translated now. 1329 1330 - added japanese translation (thanks to Kimizuka Tomokazu <sgtom@pluto.dti.ne.jp>) 1331 1332 - renamed oldgimp.h to gimp-1_0-compat.h 1333 1334 1335xsane-0.71 -> 0.72: 1336------------------- 1337 1338 - changed default postscript viewer from xv to gv 1339 1340 - moved int i, select = 1; in static void xsane_saving_notebook() out of #ifdef HAVE_LIBTIFF block 1341 1342 - filename counter length correction is only done in sane_start when there is a user selectable filename 1343 1344 - if external filename is given the counter len is not touched when not necessary 1345 1346 - added "insert file" function to fax mode 1347 1348 - added output of gamma, brightness and contrast settings to pnm headers 1349 1350 - updated xsane online-documentation (html) 1351 1352 - added license dialog, it is shown when it was not already accepted for this xsane version 1353 (tested in local xsane.rc) 1354 1355 - about and about translation dialogs do not set XSane�s sensitivity to false any more 1356 1357 - copyright sign is now always defined as "(c)", can be translated with \251 if character is available 1358 1359 - device preferences are not saved/loaded any more when file selection is aborted 1360 1361 - in xsane_info_dialog the scanner type is translated now 1362 1363 - added accelerator keys to device selection dialog: 1364 Escape -> Cancel 1365 F1,F2,.. -> select device number 1,2,... 1366 1367 - added usleep(100ms) in device selection dialog before scanning for devices, this way we make 1368 sure that the text "scanning for devices" is displayed 1369 1370 - added some accelarator keys to the preview window: 1371 Alt ESC Cancel Preview Scan 1372 Alt KP+ Zoom in 1373 Alt KP- Zoom out 1374 Alt KP* Zoom not 1375 Alt KP/ Zoom undo 1376 Alt A Autoselect scanarea 1377 Alt V Select visible scanarea 1378 1379 - added accelerator key Escape to file-selection-dialog, about-dialog and about-translation-dialog 1380 attached to cancel/close button 1381 1382 - updated translations: 1383 - german translation 1384 - czech translation - thanks to Stanislav Brabec <utx@penguin.cz> 1385 - turkish translation - thanks to Togan Muftuoglo <toganm@yahoo.com> 1386 - japanese translation - thanks to Kimizuka Tomokazu <sgtom@pluto.dti.ne.jp> 1387 - french translation - thanks to Laurent Grawet <laurent.grawet@ibelgique.com> 1388 1389 1390xsane-0.72 -> 0.73: 1391------------------- 1392 1393 - moved call to display license after test for command line options, 1394 so it is not necessary to accept the license to print help/version/license 1395 1396 - added slowenian translation, thanks to Ales Kosir <ales.kosir@zaslon.com> 1397 1398 - an error message is printed when a preview file could not be created 1399 1400 - netscape is called with option new-window now 1401 1402 - rotating scanned image uses memory mapped image file if possible 1403 thanks to Salvador Pinto Abreu <spa@di.uevora.pt> for his suggestions 1404 1405 - xsane windows are set insensitive while faxproject is generated/queued. 1406 For this waitpid is called in a loop. 1407 1408 - before a html documentation is displayed xsane does test if the requetsted file 1409 does exist in the subdirectory language_dir = gettext("language_dir") 1410 (what e.g. gives "de" for german). If it does exist it is displayed, otherwise 1411 the original english doc is displayed. 1412 "language_dir" has to be part of the translation table, it should be 1413 translated to the correct translation direcotry name, e.g. de for german 1414 1415 - preferences.printer momory is defined dynamicall now (has been defined to 10 1416 pointers to printerdefinition before) 1417 1418 - chaged with of some setup fields - have been too small for large fonts 1419 1420 - xsane-scan:xsane_scan_dialog(): 1421 added test for color scan to the test if gamma tables for red, green and blue 1422 exists (coolscan backend defines color gamma tables in grayscale mode 1423 what caused segfault in xsane). 1424 1425 - added preselect scanarea after preview scan (selection in enhancment setup) 1426 1427 - added automatic color correction after preview scan (selection in enhancement setup) 1428 1429 - removed bug (that caused segfault when opening setup dialog) in xsane_enhance_notebook 1430 while setting up menu itmes for grayscale scanmode selection: 1431 replaced xsane.well_known.scanSOURCE xsane.well_known.scanMODE 1432 1433 - added option in prefences/setup saving options: save device preferences at exit 1434 1435 - now using always gdk_window_get_root_origin() to get a position of a window on desktop 1436 1437 1438xsane-0.73 -> 0.74: 1439------------------- 1440 1441 - transfering data to gimp plugin now is handled like saving to a special file format. 1442 this way it is possibe to support handheld scanners and to get advance of 1443 some xsane features like image rotation. 1444 1445 - corrected mmap() part in xsane-save.c/rotation: 1446 data is mmaped with offset pos0, the offset pos0 is removed from pointer calculation 1447 1448 - changed xsane_enhancement_by_histogram() and xsane_histogram_to_gamma(): the ranges 1449 for gamma, brightness and contrast are checked correct now 1450 1451 - added function preview_transform_coordinate_window_to_image(), it is used in 1452 preview_get_color(). Pipette functions do work with rotated preview now. 1453 1454 - corrected bug in ruler calculation. The rulers do work correct now with rotated preview 1455 1456 - corrected bug in reading 16 bit preview data: sizeof(buf16)-> sizeof(buf) 1457 now preview transformation from 16 to 8 bit is as fast as 8 bit preview 1458 1459 - preset areas are defined with position (new) and size (old) now. 1460 1461 - surface changes (size and rotation) do not change the selected preview area 1462 any more if possible 1463 1464 1465xsane-0.74 -> 0.75: 1466------------------- 1467 1468 - xsane_read_image_data() does reduce 16 bit images to 8 bit when necessary/requested 1469 1470 - when scanning with 16 bits/color in gimp mode, to jpeg-file or postscript-file 1471 xsane does ask if the image should be reduced to 8 bits/color 1472 1473 - added functions for mirroring preview and mirroring while rotating scan 1474 1475 - moved saving device preferences from xsane_quit() to xsane_scan_win_delete() 1476 and replaced call to xsane_quit() by xsane_exit() in choose_device dialog 1477 (this could cause a segfault). 1478 1479 - corrected a bug in calculation of histogram for rotation of 270 degree 1480 1481 - added xsane_bound_int(&mid, min, max) to xsane_calculate_auto_enhancement() 1482 a segfault could occur when autoenhancement was activated when only a few 1483 preview-pixels where available for calculation of autoenhancement values 1484 1485 1486xsane-0.75 -> 0.76: 1487------------------- 1488 1489 - rotoation routine: mmap does map the full image file (not only from pos0) 1490 1491 - added xsane.depth, it stores the depth of the scanned image, 1492 it may differ from xsane.param.depth when lineart is converted to grayscale 1493 or 16 bit image is reduced to 8 bit 1494 1495 - preview: preset_area list is read from xsane.rc 1496 1497 - added context menu to preview preset_area menu, the preset areas can 1498 be changed by user now 1499 1500 - transformation 16->8 bits/color: replaced val/256 by val >> 8, 1501 a user said that his compiler is too stupid for such an optimization 1502 1503 - updated translations: cs, de, fr, ja, sv 1504 1505 - calibration image is not rotated any more 1506 1507 - corrected exposure event handling (drawing of the selection frame) 1508 1509 - added call of preview_restore_image() at the beginning of preview_update_surface(). 1510 This way the correct image parameters are used for the calculation in 1511 preview_update_surface(). preview_restore_image() does not paint the image any 1512 more, this is done at the end of preview_update_surface() now. 1513 1514 - corrected bug in xsane_calculate_histogram() with zoomed and rotated preview 1515 with angels 90 and 270 degree. 1516 1517 - info dialog does print sane version as #.#.# (instead of #.#) again. 1518 sane-dll will return the version of the sane package from sane-1.0.5 1519 so it is possible to find out the used library version in most cases. 1520 1521 - xsane-scan.c: scan data is not written with fwrite() in 1 byte steps 1522 any more because it looks like some systems (at least HP 9000/B1000 1523 (processor PA8500/300 MHz, 384 MB RAM) operating system HP-UX 10.20) 1524 have problems with this. The data is stored in the read buffer when 1525 any transformation (gamma, 16->8 bit) is needed, the complete 1526 buffer that is read with sane_read is written in one part. 1527 1528 - added xsane.spec - created by Sebastian Wenzler <wenzler@techie.com> 1529 1530 - autoselection of scanarea is not done for startimage 1531 1532 - preview image files (level 0-2) are removed and recreated when 1533 the temporary directory is changed in the saving setup 1534 (Preview scan has to be reacquried after changing the temporary directory) 1535 1536 - directory selection dialogs (change working directory and select temporary directory) 1537 do not display filelist and delete-file widgets. 1538 1539 - xsane-preview.c and xsane-gamma.c: 1540 - raw preview data is stored with 16 bits/color 1541 - gamma correction is done with (8-16) bit to 8 bit enhanced data 1542 the gamma input bits is set to 12 (but could be changed if we 1543 add a widget that can change this value) 1544 12 bit = 4096 values for each gamma table, this is a good 1545 compromise between image quality, speed and memory usage 1546 - All this slows down gamma and histogram routines, because of this 1547 I accelerated these routines again: 1548 - replaced field indexes by optimized pointer routines 1549 - preview_motion_event_handler improved: continuous mode does use 1550 a timer function now. this way the selection has a higher priority 1551 than displaying the histograms. 1552 - the raw histogram is only recalculated and displayed when it has been changed. 1553 1554 - improved event handling of the histogram sliders: 1555 when continuous mode is active xsane_enhancement_by_histogram() is not called 1556 directly any more, it is called via the xsane_slider_hold_event handler now 1557 1558 - split setup notebook "saving options" into "saving options" and "image options" 1559 1560 - added option "reduce 16 bit image to 8 bit" to setup/image options 1561 This way you can use the preview with the full bit depth the scanner 1562 can output and save it as image with 8 bits/color. 1563 This is interesting e.g. when you scan slides or negatives. 1564 1565 - changed ouput in parameter box from "width x height (size unit)" to 1566 "witdh x height x depth (size unit)" 1567 1568 - filetype menu is displayed correct now when xsane main window is rebuild 1569 1570 - removed a bug in aclocal.m4 wehn gimp was not found 1571 1572 1573xsane-0.76 -> 0.77: 1574------------------- 1575 1576 - removed "+0.5" in calculation of gamma table. A gamma value of 1.000 does 1577 not change the image data any more 1578 1579 - xsane_update_gamma_curve(TRUE /* update raw */); is called when setup dialog is closed 1580 (apply and cancel), now the preview is displayed with correct gamma values when setup 1581 dialog is closed. 1582 1583 - configure does set gtk parameters correct when compiling gimp testprogram failed 1584 1585 - xsane internal gamma tables for scanning are created after sane_start is called, 1586 this makes sure that the gamma table size calculated with param.depth really is correct 1587 1588 - setup uses selected length unit 1589 1590 - length unit is printed in top left edge between rulers in preview window 1591 1592 - when length unit is saved as inch the length unit submenu "in" now is selected at program start 1593 1594 - removed xsane.spec because I got a mail that it does not produce working installations 1595 1596 - length unit also can be selected now when backend length unit is pixel, so it 1597 is possible to change the length unit of the setup window 1598 1599 - save device preferneces dialog is opened when user closes setup dialog and any 1600 device options have been changed 1601 1602 - replaced all fprintf(stderr, ... by DBG(... 1603 1604 - updated translations: cs, de, fr, ja, sv, tr 1605 1606 1607xsane-0.77 -> 0.78: 1608------------------- 1609 1610 - when the backend defines a new scanner surface it is updated correct now 1611 when the reduced preview surface does not limit the new surface 1612 (added expand_surface to preview_update_surface() 1613 1614 - preview scan is aborted when backend sends more image data than expected, 1615 the preview image is saved in this case 1616 1617 - the preview image is saved now when the preview scan is canceld, so the 1618 already scanned part of the preview keeps visible 1619 1620 - when two preview levels have comparable quality it is used the preview 1621 that is more up to date (scanned later) 1622 1623 - applied sanei_wire.c patches from sane-backends-1.0.5 to xsane-rc-io.c 1624 1625 - changed default values: histogram, and standard options windows are visible by default now 1626 1627 - added function (pirate icon) to delete preview image cache 1628 1629 - added mail project dialog 1630 1631 - added mail setup dialog 1632 1633 - added routines for sending images by mail (base64encoding, mail headers, smtp headers) 1634 1635 1636xsane-0.78 -> 0.79: 1637------------------- 1638 1639 - added test for lstat in configure/configure.in/config.h.in 1640 1641 - when lstat is available it is used for testing netscape lock file, 1642 otherwise stat is used 1643 1644 - changed order of include lines in xsane-save.c 1645 1646 - for OS/2: in xsane_back_gtk_make_path() a colon ":" is replacte by "_" 1647 1648 - changed last argument of xsane_back_gtk_set_tooltip from char to gchar 1649 1650 - added function xsane_widget_test_uposition(GtkWidget *gtk_window) 1651 that does test if gdk_window_get_deskrelative_origin or 1652 gdk_window_get_root_origin gives the correct positions. 1653 test is done with "scanning for devices" window. 1654 1655 - in xsane.c changed #if 1 to #ifdef BUGGY_GTK_TOOLTIPS_SET_COLORS 1656 1657 - split preview_increment_image_y in ... and preview_test_image_y, 1658 test is called before a byte is copied into the buffer 1659 1660 - xsane-preview.c: preview_scan_start: preview image memory is only cleaned for 1661 single pass mode and 1 pass of 3 pass mode (3 pass preview does work again) 1662 1663 - mail is sent in subprocess 1664 1665 - added "MIME-Version: 1.0" to mail header 1666 1667 - added mail status in mailfile, error messages while sending are stored in this file too 1668 1669 - aclocal.m4 test for gimp: moved saving of GTK_* to beginning of routine, 1670 the GTK_* things should be set correct now when gimp-config is not found 1671 1672 - xsane.h: mail is deactivated when png is not available 1673 1674 - added preferences menu item "Medium": 1675 The highlight/shadow/gamma values are defined to the intensity range 1676 of the selected medium (e.g. agfa negative). 1677 If possible the analog highlight/shadow function is used, 1678 if not then the scanner internal digital gamma table is used 1679 in bot then xsane�s internal gamma correction is used. 1680 When the correct medium is selected it only is necessary to 1681 do "soft" color corrections. Because of this the 400% values 1682 in brightness/contrast have been reduced to 100% values now. 1683 This is a typically range that e.g. also is used by the gimp. 1684 If someone needs the larger ranges, change the following definitions 1685 in sane.h: 1686 #define XSANE_BRIGHTNESS_MIN -100.0 1687 #define XSANE_BRIGHTNESS_MAX 100.0 1688 #define XSANE_CONTRAST_GRAY_MIN -100.0 1689 #define XSANE_CONTRAST_MIN -100.0 1690 #define XSANE_CONTRAST_MAX 100.0 1691 1692 - moved call xsane_update_counter_in_filename as correction for counter length from 1693 xsane_start_scan to xsane_scan_dialog (before open command), this way the 1694 counter also is correct when the file is not transformed (pnm). 1695 1696 - corrected xsane_update_counter_in_filename: removed some pointer bugs when skipping 1697 exisiting filenames 1698 1699 - added test for os2.h to configure/configure.in 1700 1701 - added set_gimp_PLUG_IN_INFO(&PLUG_IN_INFO); for os2 1702 1703 - removed "+0.5" in calculation of negative preview gamma table. A gamma value of 1.000 does 1704 not change the image data any more 1705 1706 - effective user id is set to real user id in all subprocesses 1707 1708 - cancel preview does now only call sane_cancel and tests for SANE_STATUS_CANCELLED while 1709 reading image data. 1710 1711 1712xsane-0.79 -> 0.80: 1713------------------- 1714 1715 - moved setting of medium gamma correction values from xsane_set_medium_callback in xsane.c 1716 to xsane_set_medium in xsane-gamma.c 1717 1718 - xsane_set_medium is called in xsane_scan_dialog and in preview_scan 1719 1720 - replaced predefined areas 10x14 cm and 14x10 cm by 10x15 cm and 15x10 cm 1721 1722 - updated documentation (partly) 1723 1724 - correcting image height when canceling conversion to jpeg format, 1725 program does not crash any more 1726 1727 - added russian translation - thanks to John Profic <profic@lrn.ru> 1728 1729 - solved problem with lineart image saved as png (wrong byte width) 1730 1731 - moved medium selection menue from preferences menu to xsane main dialog 1732 1733 - inactive backend options are not saved to the device-rc file 1734 1735 - added progress_bar to the paramter list of xsane_save_* 1736 1737 - added xsane-viewer.c and xsane-viewer.h to the src directory 1738 1739 - added fflush(outfile); to end of rotation routine, this seems to 1740 solve a problem of incomplete files when rotating the image file 1741 1742 - added routine xsane_read_pnm_header to get correct header offset 1743 and read geometrie values 1744 1745 - for saving routines now the header offset and geometrie values of 1746 xsane_load_pnm_header are used instead of xsane�s internal values 1747 1748 - changed handling of color identification: 1749 old: xsane_color == 0 => grayscale/lineart 1750 new: xsane_colors == 1 => grayscale/lineart 1751 1752 - when image is saved as postscript file (not copy mode etc) 1753 then the bounding box exactly surrounds the image now. 1754 Removed psfile parts from setup and preferences. 1755 1756 - xsane_widget_test_uposition(gtk_window) does wait now until 1757 gtk_window is realized before gtk_widget_set/get_uposition 1758 test is done 1759 1760 - for hpux added include of alloca.h to sane.h 1761 1762 - added function xsane_debug_message that is used for DBG when 1763 gcc is not used because defines with variable arguments is 1764 not ANSI. 1765 1766 - updated translations: cs, de, fr, ja, ru, tr 1767 1768 1769xsane-0.80 -> 0.81: 1770------------------- 1771 1772 - xsane-gamma.c: 1773 void xsane_calculate_raw_histogram(void): changed "maxval_raw = 0;" to "... = 1;" 1774 void xsane_calculate_enh_histogram(void): changed "maxval_enh = 0;" to "... = 1;" 1775 this avoids a floating point exception on some systems 1776 1777 - xsane-viewer.c: set default viewer size from 400, 400 to 1778 0.3 * screen_width, 0.5 * screen height 1779 1780 - xsane-save.c: xsane_save_rotate_image() swaps x and y resolution when 1781 rotation 90 or 270 degree 1782 1783 - removed slash at end of mkdir("~/.sane/xsane/"), OS/2 did not like this 1784 1785 - when temporary direcotry is not defined (xsane.rc does not exist) 1786 then xsane at first tries to read the environment variable 1787 defined by ENVIRONMENT_TEMP_DIR_NAME (default TMP) and if that 1788 does not exist it uses a predefined (TEMP_PATH) path. 1789 When xsane.rc does exist the temporary directory stored in xsane.rc is used. 1790 1791 - added blur and despeckle selction dialog to select filter radius 1792 1793 - changed viewer and preview window type from GTK_WINDOW_DIALOG to GTK_WINDOW_TOPLEVEL 1794 1795 - preview gamma does not have any effect to the enhanced histogram any more 1796 1797 - preview does medium gamma correction now when scanner does not support 1798 gamma tables 1799 1800 - medium selection is disabled for lineart mode, gamma table is set to default 1801 in this case. This guarantees that advanced lineart preview (by grayscale scan) 1802 does work conform to the real scan. 1803 1804 - default resolution set to 72 dpi (if no resolution is defined by backend) 1805 1806 - added scanning/valid/incomplete/invalid pixmap to preview action area 1807 1808 - preview cancel does call preview_get_image_data after canceling the 1809 scan, this makes sure that xsane does detect a cancled scan when 1810 gdk_input does not detect closing the select_fd (what happens when 1811 the backend does close the select_fd too early (what is allowed by 1812 the sane standard)) 1813 1814 - scan cancel does make sure that xsane_read_image_data is run 1815 after sane_cancel is called 1816 1817 - added SIGTERM handler: xsane_quit() is called on SIGTERM 1818 1819 - when faxproject/xsane-fax-list can not be created an error 1820 message is printed and the creation of the project is aborted 1821 1822 - in saving mode temporary conversion file is removed after conversion 1823 1824 - corrected wrong filenames while saving mail image after scanning 1825 1826 - added ocr function to viewer 1827 1828 1829xsane-0.81 -> 0.82: 1830------------------- 1831 1832 - number of medium items and area definitions is calculated by size of the 1833 structure now. 1834 1835 - Improved security of temporary file handling: 1836 - replaced mktemp() my mkstemp() in xsane_back_gtk_make_path. 1837 The filename format changed because mkstemp creates the file 1838 and so it is not possible to add an extension and the file 1839 has to end with "XXXXXX" what is replaced by the safe random number 1840 generated by mkstemp. 1841 1842 - before creating the image filename in xsane-scan.c the filename 1843 is removed only if the created file is not a temporary file. 1844 1845 - removed remove() in xsane_save_image_as_lineart() 1846 1847 - added routine xsane_create_secure_file() that makes sure that the created 1848 file does not follow a symlink 1849 1850 1851 - when an error occurs while saving a file or the saving is aborted then 1852 the created image is removed 1853 1854 - swaped order of opening inputfile and outputfile (outputfile now first) in 1855 xsane_save_image_as_lineart() 1856 1857 - viewer_save_callback(): several changes for saving as lineart 1858 1859 - moved xsane_update_histogram() at end of xsane_update_gamma_curve() 1860 into if (xsane.preview) block - this avoids segfault on some systems 1861 1862 - despeckle radius and blur radius dialogs are closed before routine is started 1863 1864 - removed bug in despeckle routine 1865 1866 - increased speed of despeckle routine by about factor 6 1867 1868 - changed despeckle radius range from 1-9 to 2-10 1869 1870 - changed blur radius range from 1-9 to 2-20 1871 1872 - routines xsane_draw_histogram_with_*() do not have parameter "int invert" any more, 1873 the inversion already is done in the medium dependant histogram of the preview. 1874 1875 - added image scaling routine to viewer 1876 1877 - added spanish translation (es.po) - thanks to 1878 Gustavo D. Vranjes <gvranjes@abaconet.com.ar> 1879 1880 - added dutch translation (nl.po) - thanks to 1881 "Wim Sinke" <sinke@wirehub.nl> 1882 1883 1884xsane-0.82 -> 0.83: 1885------------------- 1886 1887 - scaling image size does work for 16 bit images now 1888 1889 - xsane_create_secure_file() now always removes the file (not only if it is a link), 1890 this is needed because open(..., O_EXCL) does fail when the file exists (what can 1891 happend when we want to overwrite an existing file). 1892 1893 - removed buggy ";" at end of if statement in xsane_enhancement_negative_callback 1894 1895 - default mode is viewer instead of saving mode 1896 1897 - updated po-files: nl 1898 1899 - xsane-front-gtk.c: void xsane_progress_cancel(GtkWidget *widget, gpointer data) 1900 changed GtkSignalFunc callback = (GtkSignalFunc) data; to 1901 GtkFunction callback = (GtkFunction) data; 1902 1903 - added media, experimentally determined values with UMAX Powerlook3: 1904 Agfa XRG 200-4 1905 Agfa HDC 100 1906 Konica VX 100 1907 Rossmann HR 100 1908 1909 - preview.c: preview_update_surface calls preview_update_selection at first to 1910 make sure that the preview selection is up to date. Now xsane comes up with 1911 the saved area selection when e.g. transparency mode is stored which forces 1912 a change of the surface 1913 1914 - removed parameter negative from xsane_calculate_auto_enhancement, 1915 autoenhancement does work again when negative button is pressed 1916 1917 - added mode "--Medium-definition"/"-M": 1918 - preview is done without scanner gamma correction for medium 1919 - added two icons to the main dialog: medium new and medium delete 1920 1921 - added xsanedocdir to doc/Makefile.in and src/Makefile.in 1922 the path is used by xsane.c and the mentioned Makefiles 1923 1924 - removed in xsane-viewer.c, line 222: xsane_create_secure_file(outputfilename) before 1925 xsane_save_image_as(...) 1926 1927 1928xsane-0.83 -> 0.84: 1929------------------- 1930 1931 - if xsane-license.txt is not found when it shall be displayed then xsane does 1932 print an error message and behaves like when the user did not accept the license. 1933 1934 - if xsane-startimage.pnm is not found then an image of the size 1x1 pixel is 1935 created instead. This should normally never happen but some people start 1936 xsane without that it has been installed. Then the behaviour of the preview 1937 has been undefined before. 1938 1939 - removed "rm -f $cache_file" when gtk or sane was not found in configure.in, 1940 this was bad when a user used a global cache file 1941 1942 - viewer is created with image size - if possible 1943 1944 - added serbian translation file (sr.po) - thanks to Du�ko Rusmir <drusmir@gmx.ch> 1945 1946 - xsane_sigpipe_handler: changed 1947 xsane_cancel_save(0); 1948 to 1949 xsane_cancel_save(&xsane.cancel_save); 1950 1951 - updated po-files: es, fr, ja, nl, ru, sr, tr 1952 1953 - x and y resolution information are added to jpeg and png files now 1954 1955 - preview zoom buttons are now also available when backend does geometry 1956 options with unit pixel 1957 1958 - added Plustek logo 1959 1960 1961xsane-0.84 -> 0.85: 1962------------------- 1963 1964 - replaced xsane_control_option by back_gtk_set_option in xsane_set_resolution. 1965 if changing resolution causes a SANE_RELOAD_OPTIONS this is handled now. 1966 1967 - replaced xsane_save_scaled_image by a routine that does a blur over all covered pixel 1968 insetad of using one pixel in the middle of the covered area 1969 1970 - changed radius definition of blur and despeckle, now r=1 means nothing happens 1971 1972 - extended blur routine, radius is now of type float, so you e.g. can blur with a 1973 radius of 1.3. 1974 1975 - replaced all xsane*_scale_new* by xsane*_range_new*, the range can be displayed as: 1976 - slider (scale) + value on right 1977 - slider (scrollbar) + value on right 1978 - spinbutton 1979 - scale + spinbutton 1980 - scrollbar + spinbutton 1981 the user can select, which disply mode he likes to use. 1982 1983 - added timeout callback for xsane_resolution to set correct quantisation 1984 1985 - Some people complained that the user has to accept the GPL to use the program. 1986 In fact from the view of the GPL it is not necessary that the user accepts 1987 the license to run the program. But it is important that the user reads 1988 and accepts the "NO WARRANTY" part of the license. Due to this I created 1989 two license dialogs: 1990 - EULA-Dialog displays the "NO WARRANTY" part of the GPL 1991 - GPL-Dialog displays the compelte GPL 1992 To run the program the user has to accept the "NO WARRANTY" agreement 1993 after installation and each update of xsane. 1994 I hope this compromise is usable for every side. Please understand and 1995 accept that it is necessary in some countries that the user accepts the 1996 no warranty agreement to make sure that the authors and others do not 1997 have to pay any compensation in the case of any damage 1998 1999 - removed bug in scan and in preview-scan 16 bit routines when 2000 sane_read returned with odd number of bytes 2001 2002 - reduced maximum filename counter length from 10 digits to 9 digits. 2003 (10 digits need more than long int, long long int is not portable (not ANSI C)) 2004 2005 - update_counter_in_filename does not touch the counter when step = 0 and 2006 min_length = 0 2007 2008 - added preview function autoraise_scanarea (may be the name is stupid?): 2009 if you select this function and click to an image then the image 2010 is selected as scanarea 2011 2012 - colored preview pipette icons and zoom icons 2013 2014 - Changes/preparation for gtk+-2.0: 2015 2016 - added xsane-gtk-1_x-compat.h that wraps gtk+-2.0 functions to gtk+-1.x functions 2017 when gtk+-1.x is used 2018 2019 - replaced all gtk_accel_group_attach() by gtk_window_add_accel_group() and 2020 gtk_menu_set_accel_group() 2021 2022 - repleaced all GTK_WINDOW_DIALOG by GTK_WINDOW_TOPLEVEL 2023 2024 - addeded alternative part that uses gtk_text_view (gtk+-2.0) instead of gtk_text (gtk+-1.x) 2025 2026 - repleaced all gtk_signal_connect* by g_signal_connect* and defined makros for gtk+-1.x 2027 - repleaced all gtk_signal_handler* by g_signal_handlers* and defined makros for gtk+-1.x 2028 2029 - repleaced (gtk+-1.x) 2030 gtk_widget_draw(hist->pixmapwid, &rect); 2031 for gtk+-2.0 by 2032 gtk_widget_queue_draw(hist->pixmapwid); 2033 gdk_window_process_updates(hist->pixmapwid->window, FALSE); 2034 2035 - filename entry is not set directly by gtk_entry_set_text(), it is set 2036 by xsane_set_filename() now 2037 2038 2039xsane-0.85 -> 0.86: 2040------------------- 2041 2042 - reversed the change of xsane-0.84->0.85 that replaced 2043 xsane_control_option by back_gtk_set_option in xsane_set_resolution. 2044 If resolution change causes a SANE_RELOAD_OPTIONS this is not handled any 2045 more. 2046 Reason: It caused a segfault in different situations when panel_rebuild 2047 was called. I tried to implement that it works like expected, but the 2048 resolution option needs a lot of special cases handling that makes it 2049 very hard to handle this. Also the gtk slider does not work when 2050 the panel is rebuild each time when the value is changed. 2051 2052 - increased vendor length from 9 to 12 characters. 2053 2054 - changed dialog of viewer/scale 2055 - The dialog uses xsane_range instead of a spinbutton now 2056 - The scale sliders for x and y can be binded now, 2057 2058 - added %%Pages: 1 1 to header of postscript files in xsane-save.c 2059 2060 - changed preview zoom icons and function names: 2061 - changed icon and name of zoom_in to zoom_area 2062 - added new function zoom_in: if enabled a zoom cursor 2063 is selected and when the user clicks to the preview 2064 with the left or middle mouse button then it is zoomed 2065 to the clicked position 2066 2067 2068xsane-0.86 -> 0.87: 2069------------------- 2070 2071 - preview_update_maximum_output_size: function sets block bit 2072 at beginning of routine and resets it at end of routine, this 2073 way it is made sure that the function is not called 2074 recursive. This avoids infinite loops when backend 2075 changes geometry options. 2076 2077 - xsane-device-preferences.c: saving and loading device options 2078 does test for num_options now 2079 2080 - added xsane.ipc_pipefd and gdk_input_add(xsane.ipc_pipefd,...), 2081 a child process can write to the pipe and xsane displays the 2082 text in an error dialog (not for win32) 2083 - added inter process communication pipe. When a child process 2084 wants to display an error message it can write the message to 2085 ipc_pipefd[1] and xsane will display the message in an error dialog 2086 2087 - xsane_back_gtk_decision_dialog can handle multiple dialogs now, 2088 (used by xsane_back_gtk_error/warning/message/info 2089 2090 - added clear/redraw histogram to xsane_set_sensitivity() 2091 removed clear/redraw histogram near calls to xsane_set_sensitivity() 2092 2093 - add xsane_sigchld_handler to cleanup zombie child processes, 2094 this replaces xsane_mail_send_process_exited() 2095 2096 - changed progress bar pipe of ocr program: 2097 -default option is "-x" (gocr) 2098 -default progress keyword is "" (gocr) 2099 -expects to values: "%d %d\r", main, sub 2100 first value is used for progress bar, both are printed as text 2101 2102 - moved at the end of function xsane_device_dialog() 2103 the call xsane_set_all_resolutions(); after xsane_refresh_dialog(); 2104 this way the backend default resolution is not overwritten at program startup 2105 2106 - changed calculation of aspect for startimage in preview_update_surface() from image aspect 2107 to preview aspect 2108 2109 - xsane-scan.c saving lineart image as grayscale does work correct now: 2110 - fwrite writes correct number of bytes 2111 - x value is stored in global struct XSane so that it is not reset at 2112 the beginning of xsane_read_image_data() 2113 2114 - moved ocr routine from xsane-viewer.c to xsane-save.c 2115 2116 - ocr routine can be selected by saving image as ".txt" or ".text" format 2117 2118 - added filetype menu to fileselection dialog 2119 2120 - changed behaviour of filetype menues: the extension immedeatly is added to/changed in 2121 the filename (and is not added/corrected when the scan begins). 2122 Now the filetype menu does behave the same way as gimp does. This means that 2123 you e.g. can select filetype "jpeg" and name the file "image.pnm", in this 2124 case the filetype is (like selected) "jpeg". I do not like this, but this is 2125 how most programs do handle this situation. 2126 2127 - filetype is saved in preferences 2128 2129 - filetype "by ext" is handled as "" instead of NULL now 2130 2131 - selected working directory is saved in xsane preferences 2132 2133 - error_xpm, warning_xpm and info_xpm got a little 3d look 2134 2135 - added test for gtk2 to aclocal.m4 and configure.in/configure 2136 2137 - added bind_textdomain_codeset(xsane.prog_name, "UTF-8"); after bindtextdomain 2138 2139 - gtk-fileselection for selecting directories: for gtk2: 2140 - selection_entry hidden 2141 - added "/." to end of predefined path 2142 - for gtk1 the text in selection_entry is removed from the filename after selection has finished 2143 2144 - updated translations: de, tr, ja, es, fr, cs, sv 2145 2146 - new translation: sk (slovakian), thanks to Zdenko Podobn� <zdpo@mailbox.sk> 2147 2148 - changed configure script to support gtk2 2149 2150 2151xsane-0.87 -> 0.88: 2152------------------- 2153 2154 - xsane_back_gtk_range_new: made sure that digits is not negative 2155 and for gtk+-1 that digits<6 2156 2157 - xsane_load_mail_project: changed "char c" to "int c" to get a chance to 2158 identify EOF 2159 2160 - xsane_load_fax_project: changed "char c" to "int c" to get a chance to 2161 identify EOF 2162 2163 - xsane_resolution_list_callback: changed "gchar *name" to "const gchar *name" 2164 2165 - xsane_add_medium_definition: changed "char *definition_name" to "const gchar *definition_name" 2166 2167 - added xsane-batch-scan.[ch] 2168 2169 - added routine preview_create_batch_icon_from_file() to xsane-preview.c 2170 2171 - xsane_batch_scan_update_icon_list is called by xsane_enhancement_by_gamma via a timer 2172 this way a gamma correction also is visible in the icon list 2173 2174 - added xsane.scan_rotation that is used by xsane-scan.c instead of xsane.preview->rotation 2175 2176 - updated translations: cs, de, es, ja, ru, tr 2177 2178 2179xsane-0.88 -> 0.89: 2180------------------- 2181 2182 - 3 pass scanning: data interleaving is done in buffer, patch by <Oliver.Friedrich@hamburg.de> 2183 2184 - replaced fork() by spawnvp for ocr command in xsane-save.c (patch by Franz Bakan) 2185 2186 - xsane_save_jpeg does reduce a 16bit/sample images to 8bit/sample at first because jpeg does 2187 not support 16 bit/sample 2188 2189 - xsane_save_ps does reduce 16bit/sample images to 8bit/sample while saving 2190 2191 - When scanning to file (mode SAVE) then the warning about image depth reduction 16->8 bit/sample 2192 for jpeg and postscript is not printed any more. 2193 2194 - Since april 2000 there is defined a pnm (ppm/pgm) format for 16 bit binary images. 2195 With this format the unofficial RAW16 format that has been used by xsane until version 0.88 2196 becomes senseless. The RAW16 format has been removed, xsane does create 16 bit binary pnm files 2197 now (the difference between the RAW16 and the pnm16binary format is that the pnm16binary format 2198 always uses MSB first while RAW16 was written in machine byte order). 2199 In preferences-Setup->Image there is a selection if the pnm16 image shall be saved in ascii or 2200 binary format. 2201 When you have any problems with the pnm16binary format then make sure at first that the program 2202 you use does support it correct. imagemagic does support it, the xv version 3.10a does not 2203 support it. 2204 2205 - read_pnm_header now does read the gamma, contrast, brightness, threshold values, so when these 2206 data is saved in an image then it is correct now. 2207 2208 - gamma, brightness, contrast and threshold are added in the header of pnm files now 2209 2210 - when 16 bit image is scanned and "reduce 16bit image to 8bit" is selected and the image 2211 is saved as pnm then the file is created correct now 2212 2213 - batch scan thumbnail: replaced gdk_image by gtk_preview 2214 gdk_image needs pixel colors based on hardware, gtk_preview uses truecolor pixels. 2215 2216 - added po file converstion to utf8 in po/Makefile[.in] 2217 2218 - added documentation for batch scan window 2219 2220 - changed page size in range from (max-min)*1e-40 to (max-min)*1e-30 2221 because some systems like solaris had problems (one long bar that 2222 could not be moved) 2223 2224 - xsane-preview.c: in case of an error the error error text is created before 2225 preview_scan_done is called when parameters->* are needed for creating the 2226 error message 2227 2228 - made html pages compatible to html 4.01 2229 2230 - changed header of postscript files, may be this solves the printing problem on some systems 2231 2232 - added "%%EOF" to end of postscript files 2233 2234 - updated translations: cs, de, fr, ja, nl, ru, sv (update for 0.88), tr 2235 - new translations: pt, pt_BR 2236 2237 - add no_device icon in error message: no devices available 2238 2239 - added help_no_devices dialog 2240 2241 - added device icon in device_scanning_dialog 2242 2243 - added a frame in the decision dialog 2244 2245 - when preview_autoselect_scanarea does not find an image then 2246 the complete image is used 2247 2248 - added accelerator key ESC to decision dialog: 2249 when a reject button (right) is available then ESC=reject, 2250 when no reject button is available then ESC=OK. 2251 2252 - set block_update_maximum_output_size_clipping in preview_rotation_callback, 2253 now rotation does work like expected when in copy mode 2254 2255 - added paper_orientation menu in copy mode 2256 2257 2258 2259xsane-0.89 -> 0.90: 2260------------------- 2261 2262 - replaced "round(i+0.5)" in xsane_save_ps by "ceil(i)" because round is not 2263 available on all systems 2264 2265 - replaced order of includes for sys/types.h ans sys/stat.h in xsane.h 2266 2267 - removed some includes from some *.c files that are already in xsane.h 2268 2269 - added to xsane.h: 2270 #ifdef HAVE_OS2_H 2271 # define strcasecmp stricmp 2272 #endif 2273 2274 - always set position of outputfilename_entry to the right 2275 2276 - added test for (pid_status < 0) in xsane_fax_send in routine 2277 waiting for child process. The program does continue now 2278 when the fax is sent. 2279 2280 - fax setup: added "set program defaults" buttons for efax, hylafax and mgetty+sendfax 2281 2282 - bindtextdomain for backend is set for sane-"backendname" and sane-backends 2283 sane-backends is used when sane-"backendname" does not exist (no "" entry) 2284 2285 - set codeset for backend textdomain to "UTF-8" 2286 2287 - xsane-preview.c: motion_notify_event_handler: added 2288 if (p->selection_xedge != -1) and if (p->selection_yedge != -1) 2289 before setting new coordinates 2290 2291 - xsane-preview.c: added aspect_ratio function to motion_event_handler 2292 2293 - added aspect_ratio menu to preview window 2294 2295 - xsane-save.c: save_scaled_image: added " 0.5" to round image width and height 2296 2297 - xsane-viewer.c: added widgets to scale dialog that allow defining image size 2298 2299 - aclocal.m4: added "-lintl" when gettext is found in libintl 2300 2301 - aclocal.m4: added warning that check for gtk is not possible when pkg-config 2302 is not available 2303 2304 - added romanian (ro.po), vietnamese (vi.po) and danish (da.po) translation 2305 2306 - updated translation based on xsane-0.89 texts: es, it, ru 2307 2308 - updated translations: cs, de, fr, nl, sk, tr 2309 2310 - replaced some signals for spinbutton by signals for adjustments in xsane-viewer.c 2311 2312 - xsane_mail_dialog_close() and xsane_fax_dialog_close(): 2313 removed gtk_window_remove_accel_group(GTK_WINDOW(xsane.mail_dialog), xsane.accelerator_group); 2314 2315 - xsane-scan.c/xsane_read_image_data() and xsane-preview.c/preview_read_image_data: 2316 when we have no select_fd then we don't leave the scanloop with break; but 2317 we do a gtk_main_loop and continue; 2318 2319 - xsane-scan.c and xsane-preview.c: WIN32 now also does use the gdk_input_add functions. 2320 2321 - preview: added output of RGB values of the pixel under the pointer in the preview 2322 2323 - xsane_create_preview_gamma_curve: replaced 255 by 255.99999 to create correct preview gamma table 2324 2325 2326xsane-0.90 -> 0.91: 2327------------------- 2328 2329 - xsane_generate_dummy_filename(): use temporary file in case xsane.mode == XSANE_GIMP_EXTENSION 2330 2331 - changed <Shift> accellerator keys that used letters to other key (if possible same key with <Ctrl>, 2332 because with these accelartor keys it was not possible to enter these letters in any entries. 2333 2334 - added accelerator group to mail dialog again, it is now possible to enter all texts and use 2335 the accelerator keys at the same time 2336 2337 - added zoom of image under the pointer to the preview window 2338 2339 - removed all c++ style remarks "//" 2340 2341 - changed behaviour of medium definition mode: 2342 - The raw histogram now does show the raw data when the selected medium definition 2343 is not set to the full range 2344 - When creating a new medium definition the name of the used definition is preset 2345 - When creating a new medium definition then this definition is selected 2346 - When deleting a definition then the previous definition is selected 2347 2348 - renamed temporary file "preview-level*" to "xsane-preview-level*" 2349 2350 - position of batch scan dialog is saved in device preferences 2351 2352 - added chines tranlation (zh) 2353 2354 - corrected RGBA mode 2355 2356 - added blocking function to viewer: it is not possible to open two dialogs for the same 2357 viewer at the same time 2358 2359 - added signal handling for SIGINT and SIGHUP 2360 2361 - in Batch scanning mode sane_cancel is called between all scans! This has to be done 2362 because it is not allowed to change scan parameters between sane_start and sane_cancel. 2363 2364 2365xsane-0.91 -> 0.92: 2366------------------- 2367 2368 - moved setting of preview gamma table from preview_start_scan (called 3 times for 2369 3 pass scan) to preview_scan (called once when "preview scan" button is pressed). 2370 This should avoid error messages in 3 pass scanning mode 2371 2372 - removed parameter label from xsane_back_gtk_autobutton_new() 2373 2374 - xsane_back_gtk_autobutton_update sets range widget to insensitive in automatic mode 2375 2376 - added jpeg error_exit handler 2377 2378 - added several tests for errors after wrting image data (full disk) (not complete) 2379 2380 - if an advanced option is defined in a standard group then this option is listed in 2381 the advanced options window now. For this a standard group also is created in the 2382 advanced options window. If a group has no items then the group is not shown. 2383 2384 - an option without SANE_CAP_SOFT_DETECT is not read any more in xsane_control_option 2385 2386 - updated translations: sv 2387 2388 2389xsane-0.92 -> 0.93: 2390------------------- 2391 2392 - added ranlib to lib/Makefile.in to process liblib.a 2393 2394 - added 2 calls xsane_find_best_resolution() in xsane_resolution_widget_new() 2395 to make sure that active value really is selectable in a list of resolutions 2396 2397 - added range values 9-25% to scaling list of xsane-viewer: 9, 13, 18, 25, 35, 50, 71, 100, 141, 200, 282, 400 2398 2399 - when no docviewer is defined at xsane startup (generally when xsane is started the first time) then 2400 xsane tries to read the environment variable $BROWSER, if this fails it sets docviewer to netscape. 2401 2402 - xsane-preferences.c: mail dependant entries are only used when mail is activated 2403 2404 - replaced label HAVE_LIBGIMP_GIMP_H by HAVE_ANY_GIMP 2405 HAVE_ANY_GIMP is defined in configure.in when HAVE_GIMP=yes 2406 2407 - added HAVE_GIMP_2 parts to xsane.c, xsane.h and xsane-save.c 2408 HAVE_GIMP_2 is defined by configure.in when GIMP-2.0 was found 2409 2410 - created subdirectory m4 and put self written macros from aclocal.m4 to m4/*.m4, 2411 copied gtk.m4, gtk-2.0.m4 and gimp-2.0.m4 from aclocal installation to m4 subdirectory, 2412 gimp-orauch.m4 contains a modified gimp.m4 that also can handle gimp-1.0.x 2413 (the original script only does work when gimptool is installed, gimp-1.0.x comes without it) 2414 a new aclocal.m4 can be created with "aclocal -I m4/." 2415 2416 - configure.in: changed AM_FUNC_ALLOCA to AC_FUNC_ALLOCA 2417 2418 - configure.in + src/xsane.c: changed PACKAGE_VERSION to XSANE_PACKAGE_VERSION 2419 because PACKAGE_VERSION did not work any more, looks like a new feature of aclocal or autoconf 2420 2421 - updated translations: de, it, da, cs, nl, es, sk, ro, fr 2422 2423 - po/Makefile.in: added test for msgfmt, gmsgfmt, gencat 2424 2425xsane-0.93 -> 0.94: 2426------------------- 2427 2428 - changed "�s" to UTF8 codeset 2429 2430 - added test and warning message if option is defined without name (NULL) 2431 to xsane_panel_build 2432 2433 - added handling for options with of SANE_TYPE_INT and SANE_TYPE FIXED 2434 with CONSTRAINT_TYPE_NONE , uses spinbutton, no sliders 2435 2436 - changed default medium definition of Slide from highlight=30% to highlight=40% 2437 2438 - xsane_[back_gtk_]option_menu_new: added empty element to end of list 2439 xsane_[back_gtk_]option_menu_lookup: test for existing element before comparision 2440 2441 - moved media defintions from xsane.rc to xsane.mdf 2442 2443 - preview: preset area: added definition name to context menu items 2444 2445 - preview: add preset area: you can change the suggested name now 2446 2447 - medium definitions: added same context menue like in preset area menu, 2448 removed buttons "add medium" and "delete medium", they are in the 2449 contect menu now 2450 2451 - added documentation how to use a medium and how to define a medium 2452 2453 - improved documentation how to edit the preset area definitions 2454 2455 - in edit medium definition mode autmatic scanarea selection and automatic 2456 color correction is disbaled 2457 2458 - docs: replaced www.mostang.com/sane by www.sane-project.org 2459 and sane-devel@mostang.com by sane-devel@lists.alioth.debian.org 2460 2461 - batch_scan default list is loaded at program startup 2462 2463 - added test for BUGGY_GDK_INPUT_EXECEPTION in xsane.c and xsane-preview.c 2464 when gdk_input_add shall be used 2465 2466 - changed order in xsane.h: system includes are moved to the beginning of 2467 the file. This way it is possible to test for operating system header files 2468 to decide how some #defines are made 2469 2470 - added m4 makro test for msnative struct for windows 2471 2472 - BUGGY_GDK_INPUT_EXCEPTION is defined for windows 2473 2474 - src/Makefile.in: removed both "\" in 2475 -DPATH_XSANE_DOC_DIR=\$(xsanedocdir) -DPATH_SANE_DATA_DIR=\$(sanedatadir) 2476 2477 - created new xsane-WIN32-compilation.txt 2478 2479 - for windows the GTK1 version of xsane_window_get_position is used 2480 2481 - xsane_back_gtk_get_filename: directory is prepared with ending SLASH 2482 instead of ending "/.", this does work with windows now when SLASH is \ 2483 2484 2485xsane-0.94 -> 0.95: 2486------------------- 2487 2488 - For xsane-win32 the xsane icon is added to the windows ressource of xsane.exe: 2489 added definition of XSANE_ICON=xsane-icon.opc to configure[.in] 2490 added creation rule of xsane-icon.opc to src/Makefile[.in] 2491 added @XSANE_ICON@ to XSANE_OBJS 2492 2493 - in xsane_back_gtk_value_update: removed rounding (+ 0.5) in case SANE_TYPE_INT 2494 2495 - changed menues in the xsane main dialog: 2496 - added new menu "Window" 2497 - moved Window menue entries form "View" to "Window" 2498 - moved "Show resolution list" entry from menu "Preferences" to "View" 2499 - moved "Update policy" entry from menu "Preferences" to "View" 2500 - moved "Length unit" entry from menu "Preferences" to "View" 2501 2502 - added test if resolution list is displayed or scale is displayed in 2503 xsane_resolution_timer_callback(). Without this test it sometimes 2504 happened that pressing CTRL+L (Swap show resolution list) caused a 2505 segfault because the timer callback was executed in a moment where the 2506 adjustment is not valid 2507 2508 - added: if (???->window) 2509 before each: gdk_window_process_updates(???->window) 2510 in xsane-gamma.c, this made problems with gtk+2.x 2511 2512 - when a postscript file is added to a faxproject then the original name of the 2513 file is also used in the faxproject now. The pagecounter is still increased! 2514 2515 - fax fine mode selection is stored in preferences now 2516 2517 - handling of viewer filenames changed: 2518 - when an image is saved in the viewer then the viewer shows the filename in 2519 the window title and the viewer remembers the filename 2520 - when the image has been changed after it has been saved then the filename 2521 in the window title is shown in brackets 2522 - when the filename ends with a number (counter) then the number is automatically 2523 increased when the file is saved 2524 - when a saved image is cloned then the suggested filename of the cloned image is 2525 clone-of-"old-filename" 2526 2527 - viewer: added support for different modification restrictions 2528 - VIEWER_NO_MODIFICATION (only view) 2529 - VIEWER_NO_NAME_AND_SIZE_MODIFICATION (some filters allowed but keep size, e.g. fax) 2530 - VIEWER_NO_NAME_MODIFICATION (use given name, e.g. fax, mail) 2531 - VIEWER_FULL_MODIFICATION (normal mode) 2532 2533 - added undo function (1 step) to viewer 2534 2535 - changed menues in the xsane viewer dialog: 2536 - added menu "Edit" 2537 - added menu "Geometry" 2538 - moved Scale function from menu "File" to menu "Geometry" 2539 - added rotation and mirror functions to menu "Geometry" 2540 - added undo function to menu "Edit" 2541 2542 - changed button boxes/icons in the xsane viewer dialog: 2543 - added button boxes equal to menus: file, edit, filters, geometry 2544 - added undo icon to edit box 2545 - moved blur uand despeckle icon to filter box 2546 - moved scale, rotation and mirrir icons to geometry box 2547 2548 - replaced several "char buf[???];" by "char filename[PATH_MAX];" 2549 2550 - changed fax mode: 2551 - scanned images are stored in pnm format 2552 - for each list entry there is a data and a type information now 2553 - internal viewer is used now for pnm-fax files 2554 - faxviewer is used for ps files 2555 - before sending the fax pnm images are converted into ps images 2556 - after sending the fax ps images are erased 2557 2558 - changed e-mail mode: 2559 - scanned images are stored in pnm format 2560 - for each list entry there is a data and a type information now 2561 - internal viewer is used now for pnm-mail files 2562 - before sending the mail pnm images are converted into png images 2563 - after sending the mail the png images are erased 2564 - mail project status is translated now 2565 - BUGFIX: end of email text is marked with 0 byte 2566 2567 - added function xsane_viewer_set_sensitivity() 2568 - moved all gtk_widget_set_sensitive(GTK_WIDGET(v->button_box), TRUE/FALSE); to it 2569 - added several gtk_widget_set_sensitive(???_menu, TRUE/FALSE); commands to it 2570 - moved almost all v->block_actions to it 2571 - now it should not be possible any more to crash xsane by closing the viewer 2572 while it is saving something 2573 2574 - added info "reduce to lineart" to image_info + xsane-pnm-header 2575 2576 - renamed viewer v->reduce_to_lineart to v->allow_reduction_to_lineart 2577 2578 - save_image_as() now automatically reduces lineart images to pbm before saving 2579 2580 - new translations: hu 2581 2582 - updated translations: de, es, ja, pt, pt_BR, sk 2583 2584 2585xsane-0.95 -> 0.96: 2586------------------- 2587 2588 - fax progress bar does not change it's height any more when the fax dialog is resized 2589 2590 - mail progress bar does not change it's height any more when the mail dialog is resized 2591 2592 - added lockfile to mail project. The lockfile contains status and progress information 2593 from the mail_send_process and is used to display a progress_bar 2594 2595 - mail status is only translated when it is displayed via gtk, in the data structures 2596 the untranslated texts are used 2597 2598 - changed mail_attach_image_png to mail_attach_image, mime type is defined by parameter 2599 2600 - added filetype menu to mail dialog with filetypes PNG, JPEG and TIFF 2601 2602 - bugfix: viewer saves lineart PNM images again as lineart (bug in xsane-0.95) 2603 2604 - when image is saved as pnm and it is not reduced to lineart then the input file 2605 is copied with xsane_copy_file => much faster 2606 2607 - xsane-save.c: reordered function parameters for saving/conversion functions to 2608 (outfile, infile,...) or (output_filename, input_filename, ...) 2609 (before we had sometimes infile at first and sometimes outfile at first) 2610 2611 - xsane_set_sensitivity: mail_dialog and fax_dialog: 2612 the sensitivity off all but the progress_bar is set 2613 2614 - While mail is prepared (images are converted) the xsane sensitivity is set to 2615 FALSE to make sure that the xsane mode is not changed in this case. 2616 while sending the mail (after preparation) the xsane sensitivity is set to 2617 TRUE and the project entry sensitivity is also TRUE, it is allowed to 2618 changed xsane mode and to change the mailproject, because the 2619 sending of the mail is done in a separate process, so there is no 2620 influence by changing the mail project name. 2621 2622 - Comment: 2623 When xsane is closed while sending one or more mails then xsane is closed 2624 but the mail sending subprocesses are not terminated. 2625 2626 - added SMTP (HELO/FROM/RCPT/DATA) errors to mail status 2627 2628 - added xsane.fax_status, it is saved in the first line of the xsane-fax-list 2629 this means that the fax project directories are incompatible to earlier versions! 2630 2631 - added mail_status and fax_status = ..._CHANGED when a new page is added to 2632 the project 2633 2634 - updated images in documentation 2635 2636 - updated email modus in documentation 2637 2638 - email images are named "image-1" instead of "page-1" 2639 2640 - fax_dialog_delete() and mail_dialog_delete() return TRUE now. 2641 In windows it was possible to delete the dialogs what caused 2642 a crash when the window should be used or closed. 2643 2644 - translations: U=updated, N=not updated 2645 cs da de es fr hu it ja nl pt pt_BR ro ru sk sl sr sv tr vi zh 2646 U U U U U N N U U U U U U N N N N U U N 2647 2648 - xsane-preferences.c: when identifier is unknown or not a string then 2649 the parser does not abort or crash any more. 2650 XSane now should not have any problems with old config files. 2651 2652 2653xsane-0.96 -> 0.97: 2654------------------- 2655 2656 - write_smtp_footer(): changed ".\r\n" by "\r\n.\r\n", this 2657 solves problems with microsoft exchange servers. 2658 2659 - translations: U=updated, N=not updated, A=added/new 2660 cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh 2661 N N N N N N U N N A N N N N N N N N N N U 2662 2663 - xsane-save.c: xsane_copy_file(): removed fclose(infile) and fclose(outfile) 2664 this bug caused the error "*** glibc detected *** double free or corruption (!prev): 0x........ ***" 2665 with new gelibc versions 2666 xsane-save.c: xsane_copy_file_by_name(): added fclose(infile) and fclose(outfile) 2667 2668 - rmoved gtk_events_pending() from the waiting loop in xsane_back_gtk_get_filename, 2669 it looks like gtk_events_pending() increases CPU load very much. 2670 2671 - xsane-scan.c: function xsane_reduce_to_lineart(): corrected order of filenames in 2672 xsane_save_image_as_lineart() 2673 2674 - xsane_device_dialog(...): uses sane_control_option instead of xsane_control_option 2675 to read option number 0. This means that it is not needed that SANE_CAP_SOFT_DETECT 2676 is set for option number 0 2677 2678 2679xsane-0.97 -> 0.98: 2680------------------- 2681 2682 - void xsane_batch_scan_scan_list(void): 2683 added if (gtk_events_pending()) in while (xsane.scanning) 2684 (this was removed in xsane-0.97 what made a lot of trouble) 2685 2686 - corrected bad <Toolbox/...> italian transations for gimp plugin 2687 2688 - added Postscript Zlib-Compression and Ascii-85 compression 2689 (patch by Julien BLACHE <jb@jblache.org>) 2690 2691 - added (single page) PDF saving routine 2692 (patch by Julien BLACHE <jb@jblache.org>) 2693 2694 - added PDF and Postscript to mail-mode. PDF and Postscript documents can not 2695 be displayed inline in html mails. I also do not know a way to display a 2696 link to a document that is integrated in the mail. So the <IMAGE> tag 2697 has no effect for pdf and postscript documents in html mode. 2698 2699 - --print-filenames prints the filenames after conversion, so it is 2700 safe that the file exists and is complete 2701 2702 - selected medium definition is stored in preferences now 2703 2704 - BUGFIX for scanners that do not allow to set all resolutions. 2705 In fax mode and possibly also in copy mode the created pages 2706 had a wrong scaling when the scanner did not support the 2707 desired resolution: 2708 - xsane_set_resolution returns bestdpi = selected resolution 2709 - xsane_set_all_resolutions stores bestdpi as used resolution 2710 2711 - when option 0 (num_options) has not defined SANE_CAP_SOFT_DETECT 2712 then xsane prints a warning but does try to read the option value 2713 2714 - added xsane_mode (VIEWER/SAVE/EMAIL/FAX/etc) to preferences 2715 2716 - po/*: all po files are in UTF-8 code now 2717 to transform non-UTF-8 po files to UTF-8 put the po file 2718 into the IMPORT_PO_DIR directory and call in the po directory 2719 "make import-po-files" 2720 2721 - rename xsane-logo2.jpg to xsane-logo.jpg and changed all 2722 html files to xsane-logo.jpg 2723 2724 - viewer uses preferences.filetype instead of "by ext" 2725 2726 - localedir for sane-backends is set by sane-prefix instead of xsane-prefix 2727 2728 - replaced printf by g_print to get correct output on non-utf-8 terminals 2729 2730 - question mark '?' and asterisk '*' in filenames are replaced by underscore '_' 2731 2732 - translations: U=updated, N=not updated, A=added/new 2733 cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh 2734 U U U N N U U N N N N N N U U N N N N N N 2735 2736xsane-0.98 -> 0.98a: 2737-------------------- 2738 2739 - corrected gimp_plugin bug: 2740 xsane_mode now is hold in xsane.xsane_mode like bevore xsane-0.98, 2741 additionally preferences.xsane_mode is used to store the user 2742 selection 2743 the user selection is loaded at program start when nothing else is predefined 2744 2745 2746xsane-0.98a -> 0.98b: 2747--------------------- 2748 2749 - changed bug in header file due to conficting types in xsane-front-gtk.h 2750 from: int xsane_set_resolution(int well_known_option, double resolution); 2751 to: double xsane_set_resolution(int well_known_option, double resolution); 2752 2753 2754xsane-0.98b -> 0.99: 2755-------------------- 2756 2757 - added preferences/setup options: 2758 - save_ps_flatdecoded 2759 - save_pdf_flatdecoded 2760 - fax_ps_flatdecoded 2761 - printer[i].ps_flatdecoded 2762 2763 - changed xsane-preferences reading routines for printer definitions and 2764 preset area definitions 2765 2766 - changed postscript and tiff saving routines: 2767 - split in subroutines: 2768 - create_document_header (ps, pdf) 2769 - save image as page (ps, pdf, tiff) 2770 - create_document_trailer (ps, pdf) 2771 2772 - split xsane.c into xsane.c, xsane-fax-project.c and xsane-mail-project.c 2773 2774 - created xsane-multipage.c that adds a multipage project dialog 2775 supported file formats: 2776 - ps 2777 - pdf 2778 - tiff 2779 2780 - corrected viewer to display bits/sample and size correct 2781 2782 - changed handling of viewer filename and filetype selection: 2783 when a new viewer window is created then it copies the active 2784 filename and filetype. Changing the viewer�s selection does not 2785 change the prefered setting any more. 2786 2787 - when no resolution option is available then xsane uses a resolution 2788 of 72.0 dpi. This e.g. is used for postscript and PDF. 2789 2790 - changed tiff saving routine: 2791 - added deflate (zip) compression for 8 bit and 16 bit / sample images 2792 - corrected jpeg rgb compression 2793 2794 - changed mixed up e-mail names (mail, email, e-mail): 2795 - all xsane internal names are: email 2796 - all user visible texts are : e-mail 2797 - changed acceleration key for email mode to GDK_E 2798 - changed command line option from --mail and -m to --email and -e 2799 2800 - changed name of notebook "image" to "filetype" 2801 2802 - when force_filename is set then the filetype is defined by the filename 2803 instead of preferences.filetype 2804 2805 - project dialog position is saved in devices preferences now 2806 2807 - when a dialog is closed then the position is stored in preferences 2808 so it can be saved when the window is invisible at program exit 2809 2810 - changed handling of ADF: 2811 - removed ADF scanmode selection from setup 2812 - added entry for number of pages to scan in xsane main dialog 2813 - next scan is not started by 2814 g_signal_emit_by_name(xsane.start_button, "clicked"); /* press START button */ 2815 any more. This executed the next scan before all active scan subroutines 2816 have been finished. Now we use 2817 gtk_timeout_add(100, (GtkFunction)xsane_scan_dialog, NULL); 2818 to start xsane_scan_dialog after 100ms. 2819 2820 - batch scan window now uses preview levels (zoomed previews) to display batch icons 2821 2822 - added ASMTP authentication PLAIN and LOGIN 2823 2824 - changed size definition of preview window for GTK2 to gtk_window_resize() 2825 2826 - added $(DESTDIR) before each destination path in all Makefile.in 2827 2828 - made usage of MKINSTALLDIRS unique in all Makefile.in 2829 2830 - cleaned up subdir intl 2831 2832 - translations: U=updated (* for 0.99-pre1), N=not updated, A=added/new 2833 cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh 2834 U U U N N U N N U* U* N N N U N U N N U* N N 2835last upd 96 95 96 95 96 96 96 98 76 92 96 96 2836 2837 2838xsane-0.99 -> 0.991: 2839-------------------- 2840 - replaced all char buf[255], char buf[256] etc by char buf[TEXTBUFSIZE] 2841 with #define TEXTBUFSIZE 255 2842 2843 - replaced all char filename[255] etc by char filename[PATH_MAX] 2844 2845 - translations: U=updated (* for 0.99-pre1), N=not updated, A=added/new 2846 cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh 2847 N N N N N N U N N N N N N N N N N N N N N 2848 99 99 99 96 95 99 95 99 99 96 96 96 99 98 99 76 92 99 96 96 2849 2850 - added default multipage_filetype (PDF). 2851 No default multipage_filetype produced the following problem: 2852 - error message when creating multipage file: could not create secure file 2853 2854 - lineart images are expanded to grayscale in multipage mode. 2855 solves segmentation fault when "show page" in multipage project was selected 2856 2857 - corrected calculation of width and height in copy mode for backends 2858 that do not support arbitary resolutions 2859 2860 - multipage mode: lineart images (that are stored as grayscale images) 2861 are reduced to lineart before the page is put into the multipage file 2862 2863 - viewer shows image info with bit depth = 1 when reduce_to_lineart is set 2864 2865 - change handling of zoom (photocopy mode): 2866 - now there is only one zoom value even if there is a resolution_x and 2867 a resolution_y option, zoom_x and zoom_y are removed 2868 - the zoom factor is directly used to define the image output size 2869 (before the scanresolution was used to define the image output size) 2870 - the resolution is not changed any more when an other printer with a 2871 different printer resolution is selected 2872 - replaced all char buf[255], char buf[256] etc by char buf[TEXTBUFSIZE] 2873 2874xsane-0.991 -> 0.992: 2875--------------------- 2876 - there was still a bug concerning the gimp plugin 2877 when xsane has been quit in copy mode and afterwards 2878 started as gimp plugin then xsane used the printer paper 2879 size in the preview window. This is solved now: 2880 replaced preferences.xsane_mode by xsane.xsane_mode 2881 in xsane_define_maximum_output_size() 2882 2883 - xsane_save_scaled_image sometimes did not write the last line 2884 and produced a tuncated image. this is corrected now 2885 2886 - viewer: when saved image is cloned and the viewer of the cloned 2887 image is closed then no dialog pops up any more 2888 2889 - translations: U=updated, N=not updated, A=added/new 2890 ca cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh zh_CN 2891 A N N N N N N U N N N N N N N N N N N N N N A 2892 99299 99 99 96 95 99 95 99 99 96 96 96 99 98 99 76 92 99 96 96 992 2893 2894 - xsane-preview.c: preview_create_batch_icon(): 2895 bugfix: files (in) are closed directly after use now, 2896 bug report from Norman Hill - thanks 2897 2898 - corrected order of filetypes in xsane_back_gtk_filetype_menu_set_history, now 2899 the filetype are not mixed any more when the disk icon is pressed 2900 2901 - replaced all "\n" by "\r\n" in email 2902 2903 - corrected some signdness warnings in xsane-preview.c (buf) 2904 2905 - fixed memory bug that caused crash when setup was closed (display_notebook): 2906 added strdup to preferences.browser = strdup(getenv(STRINGIFY(ENVIRONMENT_BROWSER_NAME))); 2907 2908 - added command line option --xsane-rc / -r to change give alternative filename for xsane.rc 2909 2910 - added support for color management: 2911 - added tab "color management" to setup/preferences 2912 - preview can display ICC/ICM corrected images with 8bits/color and with 16bits/color input bit depth 2913 - viewer can display ICC/ICM corrected images with 8bits/color and with 16bits/color input bit depth 2914 - gamma correction and medium selection is disabled when color management is enabled 2915 - added support for embedded ICC/ICM files for 2916 - tiff 2917 - jpeg 2918 - png 2919 - gimp plugin 2920 2921 - replaced several GtkObject* by GtkWidget* to avoid type-punned-pointer warning 2922 2923 - replaced several (void**) typecasts in xsane-rc-io.c to avoid type-punned-pointer warning 2924 2925xsane-0.992 -> 0.993: 2926--------------------- 2927 2928 - removed proofing intent options saturation and perceptual, only relative and absolutle colorimetric are available now 2929 2930 - added CMS transformation to saving routines: pnm(8bit), pnm(16bit ascii and binary), png, jpeg, tiff, gimp-plugin, ps, pdf 2931 (missing routines: multipage) 2932 2933 - added support for gtk_file_chooser_dialog 2934 all filenames are handled as full paths (beginning with a slahs) now, 2935 the "change working directory" option has been removed 2936 2937 - made "CANCEL" and "OK" button positions the same as gimp uses it (CANCEL=left, OK=right) 2938 2939 - added browse function for projects directories 2940 2941 - removed bugs in mail mode: 2942 write(fd, "\r\n\r\n", 2) -> write(fd, "\r\n\r\n", 4) 2943 write(fd, "\r\n", 1) -> write(fd, "\r\n", 2) 2944 2945 - added embedded ICC profiles for postscript (CSA+CRD) and pdf 2946 2947 - added 12 bits/channel support for postscript 2948 2949 - added flatedecode without Asci85 compression for PDF 2950 2951 2952xsane-0.993 -> 0.994: 2953--------------------- 2954 2955 - corrected postscript bug: moved "/DeviceRGB setcolorspace" and "CSA... setcolorspace" from document setup to page setup 2956 2957 - added black point compensation to printer setup dialog 2958 2959 - xsane-scan.c: if (channels==1) then scanner_default_gray_icm_profile is used instead of scanner_default_color_icm_profile 2960 2961 - xsane-scan.c: bugfix segfault when scanning: when scanner_default_color_icm_profile is not defined then "" is used instead of scanner_default_color_icm_profile 2962 2963 2964xsane-0.994 -> 0.995: 2965--------------------- 2966 2967 - changed layout of copy setup, removed border around all setup tabs 2968 2969 - changed layout of xsane main window 2970 2971 - xsane-front-gtk.c: xsane_browse_filename_callback: xsane.cms_function_option_menu is only updated when xsane.enable_color_management is active 2972 2973 - xsane-save.c: write_smtp_header(): it is allowed to specify multiple mail receivers in a comma separated list now 2974 2975 - xsane-save.c: write_smtp_header(): MAIL FROM and RCPT TO use syntax "<user@domain.org>" instead of "user@domain.org" now 2976 2977 - xsane-front-gtk.c: created xsane_progress_bar_set_fraction which uses the gtk2 2978 functions when available and which only updates the progress_bar every 2.5 percent 2979 what speeds up several functions - especially saving file routines - 2980 2981 xsane*.c: replaced all gtk_progress_bar_update() by xsane_progress_bar_set_fraction() 2982 2983 - xsane-back-gtk.c: in function xsane_back_gtk_value_update() 2984 replaced comparison for SANE_FIX values 2985 if (new_val != val) 2986 by 2987 if (abs(new_val - val) > 1) 2988 2989 - changed all "scanarea" to "scan_area" or "scan area" 2990 2991 - xsane-gtk-1_x-compat.h: changed gtk_progress_bar_set_ellipsize() to 2992 gtk_progress_bar_set_ellipsize(pbar, mode) 2993 2994 - xsane_help_no_devices() changed buf size to 1024 2995 2996 - translations: U=updated, N=not updated, A=added/new 2997 ca cs da de es fi fr hu it ja nl pa pl pt pt_BR ro ru sk sl sr sv tr vi zh zh_CN 2998 U N U N N A N N U N N U N N N N N U N U N N N N N 2999 99599 99599 96 99595 99 99595 99 99599 96 96 96 99 99599 99592 99 96 96 992 3000 3001xsane-0.995 -> 0.996: 3002--------------------- 3003 3004 - removed bug when deleting medium types: removed free() command, added realloc() 3005 3006 - xsane_viewer.c: reduced maximum viewer size form gdk_screen_width/gdk_screen_height to 3007 gdk_screen_width-1/gdk_screen_height-1 3008 3009 - xsane-save.c: PDF: ICC object 4+5 are initialized with offset 0 3010 - xsane-save.c: PDF: objects with offset 0 are makred free (f) in xref table 3011 3012 3013xsane-0.996 -> 0.997: 3014--------------------- 3015 3016 - removed SANE_CAP_ALWAYS_SETTABLE (not SANE1) 3017 - added test for (opt->size == 0) for SANE_TYPE_STRING in xsane.c 3018 - in gtk_adjustment_new changed page_size from (min-max)*1e-30 to 0 3019 because new gtk versions don`t like non zero values for spinbuttons 3020 - added several gdk_drawable_unref(mask) 3021 3022xsane-0.997 -> 0.998: 3023--------------------- 3024 - removed bug saving image as 16 bit png: 3025 until now all low byte data has been a copy of the high byte data, 3026 so in fact all images saved untile xsane-0.997 are saved as 8 bit image 3027 in a 16 bit format. 3028 - changed some more gtk_adjustment_new(...) page_sizes to 0 3029 - added several bytes_read = and bytes_written = before fread, read, fwrite, write 3030 - added some items_done = before fscanf 3031 - corrected some format stings (missing "%s") 3032 3033 3034xsane-0.998 -> 0.999: 3035--------------------- 3036 - better preview window size calculation (thanks to Nils Phillipsen) 3037 - removed null-pointer bug in xsane_update_param (thanks to Nils Phillipsen) 3038 - manual page bugix 3039 - changed email password storage 3040