diff options
author | Mattia Rizzolo <mattia@mapreri.org> | 2014-10-03 14:05:01 +0000 |
---|---|---|
committer | Mattia Rizzolo <mattia@mapreri.org> | 2014-10-03 14:05:01 +0000 |
commit | e7e90b72fd3161c5d55fed49e100781dfa3e9408 (patch) | |
tree | 67cfcfae6b9a9e15701a332dfacbe0ca6440f16c /frontend/xsane-setup.c | |
parent | 2d113e8792747151bf5d830f1a1485f2f951f940 (diff) |
Imported Upstream version 0.84upstream/0.84
Diffstat (limited to 'frontend/xsane-setup.c')
-rw-r--r-- | frontend/xsane-setup.c | 1565 |
1 files changed, 0 insertions, 1565 deletions
diff --git a/frontend/xsane-setup.c b/frontend/xsane-setup.c deleted file mode 100644 index 637ea91..0000000 --- a/frontend/xsane-setup.c +++ /dev/null @@ -1,1565 +0,0 @@ -/* xsane -- a graphical (X11, gtk) scanner-oriented SANE frontend - - xsane-setup.c - - Oliver Rauch <Oliver.Rauch@Wolfsburg.DE> - Copyright (C) 1998-2000 Oliver Rauch - This file is part of the XSANE package. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -#include "xsane.h" -#include "xsane-back-gtk.h" -#include "xsane-front-gtk.h" -#include "xsane-preferences.h" -#include "xsane-preview.h" -#include "xsane-save.h" -#include "xsane-text.h" -#include "xsane-gamma.h" - -#ifdef HAVE_LIBPNG -#ifdef HAVE_LIBZ -#include <png.h> -#include <zlib.h> -#endif -#endif - -#ifdef HAVE_LIBTIFF -#include <tiff.h> -#endif - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -#define XSANE_GTK_NAME_IMAGE_PERMISSIONS "gtk_toggle_button_image_permissions" -#define XSANE_GTK_NAME_DIRECTORY_PERMISSIONS "gtk_toggle_button_directory_permissions" - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -struct XsaneSetup xsane_setup; - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -/* forward declarations: */ - -void xsane_new_printer(void); -void xsane_update_int(GtkWidget *widget, int *val); - -static void xsane_update_bool(GtkWidget *widget, int *val); -static void xsane_update_scale(GtkWidget *widget, double *val); -static void xsane_update_double(GtkWidget *widget, double *val); -static void xsane_setup_printer_update(void); -static void xsane_setup_printer_callback(GtkWidget *widget, gpointer data); -static void xsane_setup_printer_menu_build(GtkWidget *option_menu); -static void xsane_setup_printer_apply_changes(GtkWidget *widget, gpointer data); -static void xsane_setup_printer_new(GtkWidget *widget, gpointer data); -static void xsane_setup_printer_delete(GtkWidget *widget, gpointer data); -static void xsane_setup_display_apply_changes(GtkWidget *widget, gpointer data); -static void xsane_setup_saving_apply_changes(GtkWidget *widget, gpointer data); -static void xsane_setup_fax_apply_changes(GtkWidget *widget, gpointer data); -static void xsane_setup_options_ok_callback(GtkWidget *widget, gpointer data); - -void xsane_setup_dialog(GtkWidget *widget, gpointer data); - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -void xsane_new_printer(void) -{ - preferences.printernr = preferences.printerdefinitions++; - - preferences.printer[preferences.printernr] = calloc(sizeof(Preferences_printer_t), 1); - - preferences.printer[preferences.printernr]->name = strdup(PRINTERNAME); - preferences.printer[preferences.printernr]->command = strdup(PRINTERCOMMAND); - preferences.printer[preferences.printernr]->copy_number_option = strdup(PRINTERCOPYNUMBEROPTION); - preferences.printer[preferences.printernr]->resolution = 300; - preferences.printer[preferences.printernr]->width = 203.2; - preferences.printer[preferences.printernr]->height = 294.6; - preferences.printer[preferences.printernr]->leftoffset = 3.5; - preferences.printer[preferences.printernr]->bottomoffset = 3.5; - preferences.printer[preferences.printernr]->gamma = 1.0; - preferences.printer[preferences.printernr]->gamma_red = 1.0; - preferences.printer[preferences.printernr]->gamma_green = 1.0; - preferences.printer[preferences.printernr]->gamma_blue = 1.0; -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -void xsane_update_int(GtkWidget *widget, int *val) -{ - char *start, *end; - int v; - - start = gtk_entry_get_text(GTK_ENTRY(widget)); - if (!start) - return; - - v = (int) strtol(start, &end, 10); - if (end > start && v > 0) - { - *val = v; - } -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_update_bool(GtkWidget *widget, int *val) -{ - *val = (GTK_TOGGLE_BUTTON(widget)->active != 0); -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_update_scale(GtkWidget *widget, double *val) -{ - *val = GTK_ADJUSTMENT(widget)->value; -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_update_double(GtkWidget *widget, double *val) -{ - char *start, *end; - double v; - - start = gtk_entry_get_text(GTK_ENTRY(widget)); - if (!start) - return; - - v = strtod(start, &end); - if (end > start && v > 0.0) - { - *val = v; - } -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_setup_printer_update() -{ - char buf[256]; - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_name_entry), - (char *) preferences.printer[preferences.printernr]->name); - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_command_entry), - (char *) preferences.printer[preferences.printernr]->command); - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_copy_number_option_entry), - (char *) preferences.printer[preferences.printernr]->copy_number_option); - - snprintf(buf, sizeof(buf), "%d", preferences.printer[preferences.printernr]->resolution); - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_resolution_entry), buf); - snprintf(buf, sizeof(buf), "%3.2f", preferences.printer[preferences.printernr]->width); - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_width_entry), buf); - snprintf(buf, sizeof(buf), "%3.2f", preferences.printer[preferences.printernr]->height); - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_height_entry), buf); - snprintf(buf, sizeof(buf), "%3.2f", preferences.printer[preferences.printernr]->leftoffset); - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_leftoffset_entry), buf); - snprintf(buf, sizeof(buf), "%3.2f", preferences.printer[preferences.printernr]->bottomoffset); - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_bottomoffset_entry), buf); - snprintf(buf, sizeof(buf), "%1.2f", preferences.printer[preferences.printernr]->gamma); - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_gamma_entry), buf); - snprintf(buf, sizeof(buf), "%1.2f", preferences.printer[preferences.printernr]->gamma_red); - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_gamma_red_entry), buf); - snprintf(buf, sizeof(buf), "%1.2f", preferences.printer[preferences.printernr]->gamma_green); - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_gamma_green_entry), buf); - snprintf(buf, sizeof(buf), "%1.2f", preferences.printer[preferences.printernr]->gamma_blue); - gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_gamma_blue_entry), buf); -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_setup_printer_callback(GtkWidget *widget, gpointer data) -{ - preferences.printernr = (int) data; - xsane_setup_printer_update(); -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_setup_printer_menu_build(GtkWidget *option_menu) -{ - GtkWidget *printer_menu, *printer_item; - int i; - - printer_menu = gtk_menu_new(); - - for (i=0; i < preferences.printerdefinitions; i++) - { - printer_item = gtk_menu_item_new_with_label(preferences.printer[i]->name); - gtk_container_add(GTK_CONTAINER(printer_menu), printer_item); - gtk_signal_connect(GTK_OBJECT(printer_item), "activate", (GtkSignalFunc) xsane_setup_printer_callback, (void *) i); - gtk_widget_show(printer_item); - } - - gtk_option_menu_set_menu(GTK_OPTION_MENU(option_menu), printer_menu); - gtk_option_menu_set_history(GTK_OPTION_MENU(option_menu), preferences.printernr); -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_setup_printer_apply_changes(GtkWidget *widget, gpointer data) -{ - GtkWidget *option_menu = (GtkWidget *) data; - - if (preferences.printer[preferences.printernr]->name) - { - free((void *) preferences.printer[preferences.printernr]->name); - } - preferences.printer[preferences.printernr]->name = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.printer_name_entry))); - - if (preferences.printer[preferences.printernr]->command) - { - free((void *) preferences.printer[preferences.printernr]->command); - } - preferences.printer[preferences.printernr]->command = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.printer_command_entry))); - - if (preferences.printer[preferences.printernr]->copy_number_option) - { - free((void *) preferences.printer[preferences.printernr]->copy_number_option); - } - preferences.printer[preferences.printernr]->copy_number_option = - strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.printer_copy_number_option_entry))); - - xsane_update_int(xsane_setup.printer_resolution_entry, &preferences.printer[preferences.printernr]->resolution); - - xsane_update_double(xsane_setup.printer_width_entry, &preferences.printer[preferences.printernr]->width); - xsane_update_double(xsane_setup.printer_height_entry, &preferences.printer[preferences.printernr]->height); - xsane_update_double(xsane_setup.printer_leftoffset_entry, &preferences.printer[preferences.printernr]->leftoffset); - xsane_update_double(xsane_setup.printer_bottomoffset_entry, &preferences.printer[preferences.printernr]->bottomoffset); - - xsane_update_double(xsane_setup.printer_gamma_entry, &preferences.printer[preferences.printernr]->gamma); - xsane_update_double(xsane_setup.printer_gamma_red_entry, &preferences.printer[preferences.printernr]->gamma_red); - xsane_update_double(xsane_setup.printer_gamma_green_entry, &preferences.printer[preferences.printernr]->gamma_green); - xsane_update_double(xsane_setup.printer_gamma_blue_entry, &preferences.printer[preferences.printernr]->gamma_blue); - - if (option_menu) - { - xsane_setup_printer_menu_build(option_menu); - } - - xsane_define_maximum_output_size(); -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_setup_printer_new(GtkWidget *widget, gpointer data) -{ - GtkWidget *option_menu = (GtkWidget *) data; - - xsane_new_printer(); - xsane_setup_printer_update(); - - xsane_setup_printer_menu_build(option_menu); -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_setup_printer_delete(GtkWidget *widget, gpointer data) -{ - GtkWidget *option_menu = (GtkWidget *) data; - int i; - - preferences.printerdefinitions--; - - i = preferences.printernr; - while (i < preferences.printerdefinitions) - { - memcpy(preferences.printer[i], preferences.printer[i+1], sizeof(Preferences_printer_t)); - i++; - } - - if (preferences.printernr >= preferences.printerdefinitions) - { - preferences.printernr--; - } - - if (preferences.printerdefinitions == 0) - { - xsane_new_printer(); - preferences.printernr = 0; - } - - xsane_setup_printer_update(); - - xsane_setup_printer_menu_build(option_menu); -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -#ifdef HAVE_LIBTIFF -static void xsane_setup_tiff_compression_callback(GtkWidget *widget, gpointer data) -{ - xsane_setup.tiff_compression_nr = (int) data; -} - -/* -------------------------------------- */ - -static void xsane_setup_tiff_compression_1_callback(GtkWidget *widget, gpointer data) -{ - xsane_setup.tiff_compression_1_nr = (int) data; -} -#endif - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_setup_display_apply_changes(GtkWidget *widget, gpointer data) -{ - xsane_update_bool(xsane_setup.main_window_fixed_button, &preferences.main_window_fixed); - xsane_update_bool(xsane_setup.preview_preserve_button, &preferences.preserve_preview); - xsane_update_bool(xsane_setup.preview_own_cmap_button, &preferences.preview_own_cmap); - - xsane_update_double(xsane_setup.preview_gamma_entry, &preferences.preview_gamma); - xsane_update_double(xsane_setup.preview_gamma_red_entry, &preferences.preview_gamma_red); - xsane_update_double(xsane_setup.preview_gamma_green_entry, &preferences.preview_gamma_green); - xsane_update_double(xsane_setup.preview_gamma_blue_entry, &preferences.preview_gamma_blue); - - preferences.doc_viewer = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.doc_viewer_entry))); - - xsane_update_gamma(); -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_setup_saving_apply_changes(GtkWidget *widget, gpointer data) -{ -#ifdef HAVE_LIBJPEG - xsane_update_scale(xsane_setup.jpeg_image_quality_scale, &preferences.jpeg_quality); -#else -#ifdef HAVE_LIBTIFF - xsane_update_scale(xsane_setup.jpeg_image_quality_scale, &preferences.jpeg_quality); -#endif -#endif - -#ifdef HAVE_LIBPNG -#ifdef HAVE_LIBZ - xsane_update_scale(xsane_setup.pnm_image_compression_scale, &preferences.png_compression); -#endif -#endif - -#ifdef HAVE_LIBTIFF - preferences.tiff_compression_nr = xsane_setup.tiff_compression_nr; - preferences.tiff_compression_1_nr = xsane_setup.tiff_compression_1_nr; -#endif - - xsane_update_bool(xsane_setup.overwrite_warning_button, &preferences.overwrite_warning); - xsane_update_bool(xsane_setup.increase_filename_counter_button, &preferences.increase_filename_counter); - xsane_update_bool(xsane_setup.skip_existing_numbers_button, &preferences.skip_existing_numbers); - preferences.image_umask = 0777 - xsane_setup.image_permissions; - preferences.directory_umask = 0777 - xsane_setup.directory_permissions; -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_setup_fax_apply_changes(GtkWidget *widget, gpointer data) -{ - if (preferences.fax_command) - { - free((void *) preferences.fax_command); - } - preferences.fax_command = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.fax_command_entry))); - preferences.fax_receiver_option = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.fax_receiver_option_entry))); - preferences.fax_postscript_option = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.fax_postscript_option_entry))); - preferences.fax_normal_option = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.fax_normal_option_entry))); - preferences.fax_fine_option = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.fax_fine_option_entry))); - preferences.fax_viewer = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.fax_viewer_entry))); - - xsane_update_double(xsane_setup.fax_leftoffset_entry, &preferences.fax_leftoffset); - xsane_update_double(xsane_setup.fax_bottomoffset_entry, &preferences.fax_bottomoffset); - xsane_update_double(xsane_setup.fax_width_entry, &preferences.fax_width); - xsane_update_double(xsane_setup.fax_height_entry, &preferences.fax_height); -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_setup_options_ok_callback(GtkWidget *widget, gpointer data) -{ - xsane_setup_printer_apply_changes(0, 0); - xsane_setup_display_apply_changes(0, 0); - xsane_setup_saving_apply_changes(0, 0); - xsane_setup_fax_apply_changes(0, 0); - - xsane_pref_save(); - - gtk_widget_destroy((GtkWidget *)data); /* => xsane_destroy_setup_dialog_callback */ -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -void xsane_destroy_setup_dialog_callback(GtkWidget *widget, gpointer data) -{ - xsane_set_sensitivity(TRUE); - xsane_back_gtk_refresh_dialog(dialog); -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -void xsane_close_setup_dialog_callback(GtkWidget *widget, gpointer data) -{ - gtk_widget_destroy((GtkWidget *)data); /* => xsane_destroy_setup_dialog_callback */ -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_permission_toggled(GtkWidget *widget, gpointer data) -{ - int mask = (int) data; - int *permission = 0; - gchar *name = gtk_widget_get_name(widget); - - if (!strcmp(name, XSANE_GTK_NAME_IMAGE_PERMISSIONS)) - { - permission = &xsane_setup.image_permissions; - } - else if (!strcmp(name, XSANE_GTK_NAME_DIRECTORY_PERMISSIONS)) - { - permission = &xsane_setup.directory_permissions; - } - - if (permission) - { - if (GTK_TOGGLE_BUTTON(widget)->active) /* set bit */ - { - *permission = *permission | mask; - } - else /* erase bit */ - { - *permission = *permission & (0777-mask); - } - } -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -static void xsane_permission_box(GtkWidget *parent, gchar *name, gchar *description, int *permission, - int header, int x_sensitivity, int user_sensitivity) -{ - GtkWidget *hbox, *button, *label, *hspace; - - - if (header) - { - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(parent), hbox, FALSE, FALSE, 2); - - label = gtk_label_new("user"); - gtk_widget_set_usize(label, 75, 0); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - label = gtk_label_new("group"); - gtk_widget_set_usize(label, 75, 0); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - label = gtk_label_new("all"); - gtk_widget_set_usize(label, 75, 0); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - gtk_widget_show(hbox); - } - - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(parent), hbox, FALSE, FALSE, 2); - - button = gtk_toggle_button_new_with_label("r"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 256 ); - gtk_widget_set_usize(button, 21, 0); - gtk_widget_set_name(button, name); - gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 256); - gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); - gtk_widget_set_sensitive(button, user_sensitivity); - - button = gtk_toggle_button_new_with_label("w"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 128 ); - gtk_widget_set_usize(button, 21, 0); - gtk_widget_set_name(button, name); - gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 128); - gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); - gtk_widget_set_sensitive(button, user_sensitivity); - - button = gtk_toggle_button_new_with_label("x"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 64 ); - gtk_widget_set_usize(button, 21, 0); - gtk_widget_set_name(button, name); - gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 64); - gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); - gtk_widget_set_sensitive(button, x_sensitivity & user_sensitivity); - - - - hspace = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(hbox), hspace, FALSE, FALSE, 6); - gtk_widget_show(hspace); - - - - button = gtk_toggle_button_new_with_label("r"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 32 ); - gtk_widget_set_usize(button, 21, 0); - gtk_widget_set_name(button, name); - gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 32); - gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); - - button = gtk_toggle_button_new_with_label("w"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 16 ); - gtk_widget_set_usize(button, 21, 0); - gtk_widget_set_name(button, name); - gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 16); - gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); - - button = gtk_toggle_button_new_with_label("x"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 8 ); - gtk_widget_set_usize(button, 21, 0); - gtk_widget_set_name(button, name); - gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 8); - gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); - gtk_widget_set_sensitive(button, x_sensitivity); - - - - hspace = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(hbox), hspace, FALSE, FALSE, 6); - gtk_widget_show(hspace); - - - - button = gtk_toggle_button_new_with_label("r"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 4 ); - gtk_widget_set_usize(button, 21, 0); - gtk_widget_set_name(button, name); - gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 4); - gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); - - button = gtk_toggle_button_new_with_label("w"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 2 ); - gtk_widget_set_usize(button, 21, 0); - gtk_widget_set_name(button, name); - gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 2); - gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); - - button = gtk_toggle_button_new_with_label("x"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 1 ); - gtk_widget_set_usize(button, 21, 0); - gtk_widget_set_name(button, name); - gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 1); - gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); - gtk_widget_show(button); - gtk_widget_set_sensitive(button, x_sensitivity); - - - - hspace = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(hbox), hspace, FALSE, FALSE, 5); - gtk_widget_show(hspace); - - - - label = gtk_label_new(description); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - gtk_widget_show(hbox); - - while (gtk_events_pending()) - { - gtk_main_iteration(); - } -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ - -void xsane_setup_dialog(GtkWidget *widget, gpointer data) -{ - GtkWidget *setup_dialog, *setup_vbox, *vbox, *hbox, *button, *label, *text, *frame, *notebook; - GtkWidget *printer_option_menu; - char buf[64]; - -#ifdef HAVE_LIBTIFF - GtkWidget *tiff_compression_option_menu, *tiff_compression_menu, *tiff_compression_item; - int i, select = 1; - - typedef struct tiff_compression_t - { - char *name; - int number; - } tiff_compression; - -#define TIFF_COMPRESSION_NUMBER 3 -#define TIFF_COMPRESSION1_NUMBER 6 - - tiff_compression tiff_compression_strings[TIFF_COMPRESSION_NUMBER]; - tiff_compression tiff_compression1_strings[TIFF_COMPRESSION1_NUMBER]; - - tiff_compression_strings[0].name = MENU_ITEM_TIFF_COMP_NONE; - tiff_compression_strings[0].number = COMPRESSION_NONE; - tiff_compression_strings[1].name = MENU_ITEM_TIFF_COMP_JPEG; - tiff_compression_strings[1].number = COMPRESSION_JPEG; - tiff_compression_strings[2].name = MENU_ITEM_TIFF_COMP_PACKBITS; - tiff_compression_strings[2].number = COMPRESSION_PACKBITS; - - tiff_compression1_strings[0].name = MENU_ITEM_TIFF_COMP_NONE; - tiff_compression1_strings[0].number = COMPRESSION_NONE; - tiff_compression1_strings[1].name = MENU_ITEM_TIFF_COMP_CCITTRLE; - tiff_compression1_strings[1].number = COMPRESSION_CCITTRLE; - tiff_compression1_strings[2].name = MENU_ITEM_TIFF_COMP_CCITFAX3; - tiff_compression1_strings[2].number = COMPRESSION_CCITTFAX3; - tiff_compression1_strings[3].name = MENU_ITEM_TIFF_COMP_CCITFAX4; - tiff_compression1_strings[3].number = COMPRESSION_CCITTFAX4; - tiff_compression1_strings[4].name = MENU_ITEM_TIFF_COMP_JPEG; - tiff_compression1_strings[4].number = COMPRESSION_JPEG; - tiff_compression1_strings[5].name = MENU_ITEM_TIFF_COMP_PACKBITS; - tiff_compression1_strings[5].number = COMPRESSION_PACKBITS; - -#endif /* HAVE_LIBTIFF */ - - xsane_set_sensitivity(FALSE); - - setup_dialog = gtk_dialog_new(); - snprintf(buf, sizeof(buf), "%s %s", prog_name, WINDOW_SETUP); - gtk_window_set_title(GTK_WINDOW(setup_dialog), buf); - gtk_signal_connect(GTK_OBJECT(setup_dialog), "destroy", (GtkSignalFunc) xsane_destroy_setup_dialog_callback, setup_dialog); - xsane_set_window_icon(setup_dialog, 0); - - setup_vbox = GTK_DIALOG(setup_dialog)->vbox; - - notebook = gtk_notebook_new(); - gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_TOP); - gtk_box_pack_start(GTK_BOX(setup_vbox), notebook, FALSE, FALSE, 0); - gtk_widget_show(notebook); - - - - - /* Printer options notebook page */ - - setup_vbox = gtk_vbox_new(FALSE, 5); - - label = gtk_label_new(NOTEBOOK_COPY_OPTIONS); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), setup_vbox, label); - gtk_widget_show(setup_vbox); - - frame = gtk_frame_new(0); - gtk_container_set_border_width(GTK_CONTAINER(frame), 4); - gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN); - gtk_box_pack_start(GTK_BOX(setup_vbox), frame, TRUE, TRUE, 0); /* sizeable framehight */ - gtk_widget_show(frame); - - vbox = gtk_vbox_new(FALSE, 1); - gtk_container_add(GTK_CONTAINER(frame), vbox); - gtk_widget_show(vbox); - - - - hbox = gtk_hbox_new(FALSE, 2); - gtk_container_set_border_width(GTK_CONTAINER(hbox), 2); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - - label = gtk_label_new(TEXT_SETUP_PRINTER_SEL); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - printer_option_menu = gtk_option_menu_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, printer_option_menu, DESC_PRINTER_SETUP); - gtk_box_pack_end(GTK_BOX(hbox), printer_option_menu, FALSE, FALSE, 2); - gtk_widget_show(printer_option_menu); - gtk_widget_show(hbox); - - xsane_setup_printer_menu_build(printer_option_menu); - - /* printername : */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_PRINTER_NAME); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PRINTER_NAME); - gtk_widget_set_usize(text, 250, 0); - gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.printer[preferences.printernr]->name); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_name_entry = text; - - /* printcommand : */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_PRINTER_CMD); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PRINTER_COMMAND); - gtk_widget_set_usize(text, 250, 0); - gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.printer[preferences.printernr]->command); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_command_entry = text; - - /* copy number option : */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_COPY_NR_OPT); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_COPY_NUMBER_OPTION); - gtk_widget_set_usize(text, 250, 0); - gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.printer[preferences.printernr]->copy_number_option); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_copy_number_option_entry = text; - - /* printerresolution : */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_PRINTER_RES); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PRINTER_RESOLUTION); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%d", preferences.printer[preferences.printernr]->resolution); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_resolution_entry = text; - - - xsane_separator_new(vbox, 2); - - - /* printer width: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_PRINTER_WIDTH); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PRINTER_WIDTH); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%3.2f", preferences.printer[preferences.printernr]->width); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_width_entry = text; - - /* printer height: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_PRINTER_HEIGHT); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PRINTER_HEIGHT); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%3.2f", preferences.printer[preferences.printernr]->height); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_height_entry = text; - - /* printer left offset : */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_PRINTER_LEFT); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PRINTER_LEFTOFFSET); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%3.2f", preferences.printer[preferences.printernr]->leftoffset); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_leftoffset_entry = text; - - /* printer bottom offset : */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_PRINTER_BOTTOM); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PRINTER_BOTTOMOFFSET); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%3.2f", preferences.printer[preferences.printernr]->bottomoffset); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_bottomoffset_entry = text; - - - xsane_separator_new(vbox, 2); - - - /* printer gamma: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_PRINTER_GAMMA); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PRINTER_GAMMA); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%1.2f", preferences.printer[preferences.printernr]->gamma); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_gamma_entry = text; - - /* printer gamma red: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_PRINTER_GAMMA_RED); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PRINTER_GAMMA_RED); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%1.2f", preferences.printer[preferences.printernr]->gamma_red); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_gamma_red_entry = text; - - /* printer gamma green: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_PRINTER_GAMMA_GREEN); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PRINTER_GAMMA_GREEN); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%1.2f", preferences.printer[preferences.printernr]->gamma_green); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_gamma_green_entry = text; - - /* printer gamma blue: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_PRINTER_GAMMA_BLUE); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PRINTER_GAMMA_BLUE); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%1.2f", preferences.printer[preferences.printernr]->gamma_blue); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.printer_gamma_blue_entry = text; - - - xsane_separator_new(vbox, 4); - - /* "apply" "add printer" "delete printer" */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - button = gtk_button_new_with_label(BUTTON_APPLY); - gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_printer_apply_changes, printer_option_menu); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - button = gtk_button_new_with_label(BUTTON_ADD_PRINTER); - gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_printer_new, printer_option_menu); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - button = gtk_button_new_with_label(BUTTON_DELETE_PRINTER); - gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_printer_delete, printer_option_menu); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - gtk_widget_show(hbox); - - - - - /* Saving options notebook page */ - - setup_vbox = gtk_vbox_new(FALSE, 5); - - label = gtk_label_new(NOTEBOOK_SAVING_OPTIONS); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), setup_vbox, label); - gtk_widget_show(setup_vbox); - - frame = gtk_frame_new(0); - gtk_container_set_border_width(GTK_CONTAINER(frame), 4); - gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN); - gtk_box_pack_start(GTK_BOX(setup_vbox), frame, TRUE, TRUE, 0); /* sizeable framehight */ - gtk_widget_show(frame); - - vbox = gtk_vbox_new(FALSE, 1); - gtk_container_add(GTK_CONTAINER(frame), vbox); - gtk_widget_show(vbox); - - xsane_setup.image_permissions = 0777-preferences.image_umask; - xsane_permission_box(vbox, XSANE_GTK_NAME_IMAGE_PERMISSIONS, "Image-file permissions", &xsane_setup.image_permissions, - TRUE /* header */, FALSE /* x sens */, FALSE /* user sens */); - - xsane_setup.directory_permissions = 0777-preferences.directory_umask; - xsane_permission_box(vbox, XSANE_GTK_NAME_DIRECTORY_PERMISSIONS, "Directory permissions", &xsane_setup.directory_permissions, - FALSE /* header */, TRUE /* x sens */, FALSE /* user sens */); - - xsane_separator_new(vbox, 4); - - - /* overwrite warning */ - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - button = gtk_check_button_new_with_label(RADIO_BUTTON_OVERWRITE_WARNING); - xsane_back_gtk_set_tooltip(dialog->tooltips, button, DESC_OVERWRITE_WARNING); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.overwrite_warning); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2); - gtk_widget_show(button); - gtk_widget_show(hbox); - xsane_setup.overwrite_warning_button = button; - - /* increase filename counter */ - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - button = gtk_check_button_new_with_label(RADIO_BUTTON_INCREASE_COUNTER); - xsane_back_gtk_set_tooltip(dialog->tooltips, button, DESC_INCREASE_COUNTER); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.increase_filename_counter); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2); - gtk_widget_show(button); - gtk_widget_show(hbox); - xsane_setup.increase_filename_counter_button = button; - - /* increase filename counter */ - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - button = gtk_check_button_new_with_label(RADIO_BUTTON_SKIP_EXISTING_NRS); - xsane_back_gtk_set_tooltip(dialog->tooltips, button, DESC_SKIP_EXISTING); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.skip_existing_numbers); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2); - gtk_widget_show(button); - gtk_widget_show(hbox); - xsane_setup.skip_existing_numbers_button = button; - -#ifdef HAVE_LIBJPEG - xsane_separator_new(vbox, 4); -#else -#ifdef HAVE_LIBTIFF - xsane_separator_new(vbox, 4); -#else -#ifdef HAVE_LIBPNG -#ifdef HAVE_LIBZ - xsane_separator_new(vbox, 4); -#endif -#endif -#endif -#endif - -#ifdef HAVE_LIBJPEG - xsane_scale_new(GTK_BOX(vbox), TEXT_SETUP_JPEG_QUALITY, DESC_JPEG_QUALITY, 0.0, 100.0, 1.0, 1.0, 0.0, 0, - &preferences.jpeg_quality, (GtkObject **) &xsane_setup.jpeg_image_quality_scale, 0, TRUE); -#else -#ifdef HAVE_LIBTIFF - xsane_scale_new(GTK_BOX(vbox), TEXT_SETUP_JPEG_QUALITY, DESC_JPEG_QUALITY, 0.0, 100.0, 1.0, 1.0, 0.0, 0, - &preferences.jpeg_quality, (GtkObject **) &xsane_setup.jpeg_image_quality_scale, 0, TRUE); -#endif -#endif - -#ifdef HAVE_LIBPNG -#ifdef HAVE_LIBZ - xsane_scale_new(GTK_BOX(vbox), TEXT_SETUP_PNG_COMPRESSION, DESC_PNG_COMPRESSION, 0.0, Z_BEST_COMPRESSION, 1.0, 1.0, 0.0, 0, - &preferences.png_compression, (GtkObject **) &xsane_setup.pnm_image_compression_scale, 0, TRUE); -#endif -#endif - -#ifdef HAVE_LIBTIFF - /* TIFF MULTI BIT IMAGES COMPRESSION */ - - hbox = gtk_hbox_new(FALSE, 2); - gtk_container_set_border_width(GTK_CONTAINER(hbox), 2); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - - label = gtk_label_new(TEXT_SETUP_TIFF_COMPRESSION); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - tiff_compression_option_menu = gtk_option_menu_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, tiff_compression_option_menu, DESC_TIFF_COMPRESSION); - gtk_box_pack_end(GTK_BOX(hbox), tiff_compression_option_menu, FALSE, FALSE, 2); - gtk_widget_show(tiff_compression_option_menu); - gtk_widget_show(hbox); - - tiff_compression_menu = gtk_menu_new(); - - for (i=1; i <= TIFF_COMPRESSION_NUMBER; i++) - { - tiff_compression_item = gtk_menu_item_new_with_label(tiff_compression_strings[i-1].name); - gtk_container_add(GTK_CONTAINER(tiff_compression_menu), tiff_compression_item); - gtk_signal_connect(GTK_OBJECT(tiff_compression_item), "activate", - (GtkSignalFunc) xsane_setup_tiff_compression_callback, (void *) tiff_compression_strings[i-1].number); - gtk_widget_show(tiff_compression_item); - if (tiff_compression_strings[i-1].number == preferences.tiff_compression_nr) - { - select = i-1; - } - } - - - gtk_option_menu_set_menu(GTK_OPTION_MENU(tiff_compression_option_menu), tiff_compression_menu); - gtk_option_menu_set_history(GTK_OPTION_MENU(tiff_compression_option_menu), select); - xsane_setup.tiff_compression_nr = preferences.tiff_compression_nr; - - - /* TIFF ONE BIT IMAGES COMPRESSION */ - - hbox = gtk_hbox_new(FALSE, 2); - gtk_container_set_border_width(GTK_CONTAINER(hbox), 2); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - - label = gtk_label_new(TEXT_SETUP_TIFF_COMPRESSION_1); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - tiff_compression_option_menu = gtk_option_menu_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, tiff_compression_option_menu, DESC_TIFF_COMPRESSION_1); - gtk_box_pack_end(GTK_BOX(hbox), tiff_compression_option_menu, FALSE, FALSE, 2); - gtk_widget_show(tiff_compression_option_menu); - gtk_widget_show(hbox); - - tiff_compression_menu = gtk_menu_new(); - - for (i=1; i <= TIFF_COMPRESSION1_NUMBER; i++) - { - tiff_compression_item = gtk_menu_item_new_with_label(tiff_compression1_strings[i-1].name); - gtk_container_add(GTK_CONTAINER(tiff_compression_menu), tiff_compression_item); - gtk_signal_connect(GTK_OBJECT(tiff_compression_item), "activate", - (GtkSignalFunc) xsane_setup_tiff_compression_1_callback, (void *) tiff_compression1_strings[i-1].number); - gtk_widget_show(tiff_compression_item); - if (tiff_compression1_strings[i-1].number == preferences.tiff_compression_1_nr) - { - select = i-1; - } - } - - gtk_option_menu_set_menu(GTK_OPTION_MENU(tiff_compression_option_menu), tiff_compression_menu); - gtk_option_menu_set_history(GTK_OPTION_MENU(tiff_compression_option_menu), select); - - xsane_setup.tiff_compression_1_nr = preferences.tiff_compression_1_nr; - -#endif - - xsane_separator_new(vbox, 4); - - - /* apply button */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - button = gtk_button_new_with_label(BUTTON_APPLY); - gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_saving_apply_changes, 0); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - gtk_widget_show(hbox); - - - - - - /* Display options notebook page */ - - setup_vbox = gtk_vbox_new(FALSE, 5); - - label = gtk_label_new(NOTEBOOK_DISPLAY_OPTIONS); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), setup_vbox, label); - gtk_widget_show(setup_vbox); - - frame = gtk_frame_new(0); - gtk_container_set_border_width(GTK_CONTAINER(frame), 4); - gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN); - gtk_box_pack_start(GTK_BOX(setup_vbox), frame, TRUE, TRUE, 0); /* sizeable framehight */ - gtk_widget_show(frame); - - vbox = gtk_vbox_new(FALSE, 1); - gtk_container_add(GTK_CONTAINER(frame), vbox); - gtk_widget_show(vbox); - - /* main window fixed: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - button = gtk_check_button_new_with_label(RADIO_BUTTON_WINDOW_FIXED); - xsane_back_gtk_set_tooltip(dialog->tooltips, button, DESC_MAIN_WINDOW_FIXED); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.main_window_fixed); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2); - gtk_widget_show(button); - gtk_widget_show(hbox); - xsane_setup.main_window_fixed_button = button; - - - /* preserve preview image: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - button = gtk_check_button_new_with_label(RADIO_BUTTON_PRESERVE_PRVIEW); - xsane_back_gtk_set_tooltip(dialog->tooltips, button, DESC_PREVIEW_PRESERVE); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.preserve_preview); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2); - gtk_widget_show(button); - gtk_widget_show(hbox); - xsane_setup.preview_preserve_button = button; - - - /* private colormap: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - button = gtk_check_button_new_with_label(RADIO_BUTTON_PRIVATE_COLORMAP); - xsane_back_gtk_set_tooltip(dialog->tooltips, button, DESC_PREVIEW_COLORMAP); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.preview_own_cmap); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2); - gtk_widget_show(button); - gtk_widget_show(hbox); - xsane_setup.preview_own_cmap_button = button; - - - xsane_separator_new(vbox, 2); - - - /* preview gamma correction value: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - gtk_widget_show(hbox); - - label = gtk_label_new(TEXT_SETUP_PREVIEW_GAMMA); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma); - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PREVIEW_GAMMA); - gtk_widget_set_usize(text, 50, 0); - gtk_entry_set_text(GTK_ENTRY(text), buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - xsane_setup.preview_gamma_entry = text; - - /* red preview gamma correction value: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - gtk_widget_show(hbox); - - label = gtk_label_new(TEXT_SETUP_PREVIEW_GAMMA_RED); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma_red); - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PREVIEW_GAMMA_RED); - gtk_widget_set_usize(text, 50, 0); - gtk_entry_set_text(GTK_ENTRY(text), buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - xsane_setup.preview_gamma_red_entry = text; - - /* green preview gamma correction value: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - gtk_widget_show(hbox); - - label = gtk_label_new(TEXT_SETUP_PREVIEW_GAMMA_GREEN); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma_green); - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PREVIEW_GAMMA_GREEN); - gtk_widget_set_usize(text, 50, 0); - gtk_entry_set_text(GTK_ENTRY(text), buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - xsane_setup.preview_gamma_green_entry = text; - - /* blue preview gamma correction value: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - gtk_widget_show(hbox); - - label = gtk_label_new(TEXT_SETUP_PREVIEW_GAMMA_BLUE); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma_blue); - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_PREVIEW_GAMMA_BLUE); - gtk_widget_set_usize(text, 50, 0); - gtk_entry_set_text(GTK_ENTRY(text), buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - xsane_setup.preview_gamma_blue_entry = text; - - - xsane_separator_new(vbox, 2); - - - /* docviewer */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_HELPFILE_VIEWER); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_DOC_VIEWER); - gtk_widget_set_usize(text, 250, 0); - gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.doc_viewer); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.doc_viewer_entry = text; - - - xsane_separator_new(vbox, 4); - - - /* apply button */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - button = gtk_button_new_with_label(BUTTON_APPLY); - gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_display_apply_changes, 0); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - gtk_widget_show(hbox); - - - - - /* Fax options notebook page */ - - setup_vbox = gtk_vbox_new(FALSE, 5); - - label = gtk_label_new(NOTEBOOK_FAX_OPTIONS); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), setup_vbox, label); - gtk_widget_show(setup_vbox); - - frame = gtk_frame_new(0); - gtk_container_set_border_width(GTK_CONTAINER(frame), 4); - gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN); - gtk_box_pack_start(GTK_BOX(setup_vbox), frame, TRUE, TRUE, 0); /* sizeable framehight */ - gtk_widget_show(frame); - - vbox = gtk_vbox_new(FALSE, 1); - gtk_container_add(GTK_CONTAINER(frame), vbox); - gtk_widget_show(vbox); - - /* faxcommand : */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_FAX_COMMAND); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_FAX_COMMAND); - gtk_widget_set_usize(text, 250, 0); - gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_command); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.fax_command_entry = text; - - - /* fax receiver option: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_FAX_RECEIVER_OPTION); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_FAX_RECEIVER_OPT); - gtk_widget_set_usize(text, 50, 0); - gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_receiver_option); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.fax_receiver_option_entry = text; - - -/* fax postscript option: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_FAX_POSTSCRIPT_OPT); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_FAX_POSTSCRIPT_OPT); - gtk_widget_set_usize(text, 50, 0); - gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_postscript_option); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.fax_postscript_option_entry = text; - - - /* fax normal mode option : */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_FAX_NORMAL_MODE_OPT); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_FAX_NORMAL_OPT); - gtk_widget_set_usize(text, 50, 0); - gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_normal_option); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.fax_normal_option_entry = text; - - - /* fax fine mode option : */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_FAX_FINE_MODE_OPT); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_FAX_FINE_OPT); - gtk_widget_set_usize(text, 50, 0); - gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_fine_option); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.fax_fine_option_entry = text; - - - xsane_separator_new(vbox, 2); - - - /* faxviewer */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_FAX_VIEWER); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_FAX_VIEWER); - gtk_widget_set_usize(text, 250, 0); - gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_viewer); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.fax_viewer_entry = text; - - - xsane_separator_new(vbox, 4); - - /* fax width: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_FAX_WIDTH); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_FAX_WIDTH); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%3.2f", preferences.fax_width); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.fax_width_entry = text; - - /* fax height: */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_FAX_HEIGHT); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_FAX_HEIGHT); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%3.2f", preferences.fax_height); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.fax_height_entry = text; - - /* fax left offset : */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_FAX_LEFT); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_FAX_LEFTOFFSET); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%3.2f", preferences.fax_leftoffset); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.fax_leftoffset_entry = text; - - /* fax bottom offset : */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - label = gtk_label_new(TEXT_SETUP_FAX_BOTTOM); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); - gtk_widget_show(label); - - text = gtk_entry_new(); - xsane_back_gtk_set_tooltip(dialog->tooltips, text, DESC_FAX_BOTTOMOFFSET); - gtk_widget_set_usize(text, 50, 0); - snprintf(buf, sizeof(buf), "%3.2f", preferences.fax_bottomoffset); - gtk_entry_set_text(GTK_ENTRY(text), (char *) buf); - gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2); - gtk_widget_show(text); - gtk_widget_show(hbox); - xsane_setup.fax_bottomoffset_entry = text; - - xsane_separator_new(vbox, 4); - - /* apply button */ - - hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); - - button = gtk_button_new_with_label(BUTTON_APPLY); - gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_fax_apply_changes, 0); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - gtk_widget_show(hbox); - - - - - /* fill in action area: */ - hbox = GTK_DIALOG(setup_dialog)->action_area; - - button = gtk_button_new_with_label(BUTTON_OK); - GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); - gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_options_ok_callback, setup_dialog); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0); - gtk_widget_grab_default(button); - gtk_widget_show(button); - - button = gtk_button_new_with_label(BUTTON_CANCEL); - gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_close_setup_dialog_callback, setup_dialog); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - gtk_widget_show(setup_dialog); -} - -/* ---------------------------------------------------------------------------------------------------------------------- */ |