summaryrefslogtreecommitdiff
path: root/src/xsane-setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xsane-setup.c')
-rw-r--r--src/xsane-setup.c508
1 files changed, 378 insertions, 130 deletions
diff --git a/src/xsane-setup.c b/src/xsane-setup.c
index be15672..b420643 100644
--- a/src/xsane-setup.c
+++ b/src/xsane-setup.c
@@ -3,7 +3,7 @@
xsane-setup.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2002 Oliver Rauch
+ Copyright (C) 1998-2005 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -30,6 +30,7 @@
#include "xsane-preview.h"
#include "xsane-save.h"
#include "xsane-gamma.h"
+#include "xsane-batch-scan.h"
#ifdef HAVE_LIBPNG
#ifdef HAVE_LIBZ
@@ -86,6 +87,7 @@ static void xsane_mail_notebook(GtkWidget *notebook);
#endif
static void xsane_display_notebook(GtkWidget *notebook);
static void xsane_enhance_notebook_sensitivity(int lineart_mode);
+static void xsane_setup_show_range_mode_callback(GtkWidget *widget, gpointer data);
static void xsane_setup_lineart_mode_callback(GtkWidget *widget, gpointer data);
static void xsane_enhance_notebook(GtkWidget *notebook);
@@ -147,7 +149,8 @@ void xsane_new_printer(void)
void xsane_update_int(GtkWidget *widget, int *val)
{
- char *start, *end;
+ const char *start;
+ char *end;
int v;
DBG(DBG_proc, "xsane_update_init\n");
@@ -185,7 +188,8 @@ static void xsane_update_scale(GtkWidget *widget, double *val)
static void xsane_update_geometry_double(GtkWidget *widget, double *val, double length_multiplier)
{
- char *start, *end;
+ const char *start;
+ char *end;
double v;
DBG(DBG_proc, "xsane_update_geometry_double\n");
@@ -208,7 +212,8 @@ static void xsane_update_geometry_double(GtkWidget *widget, double *val, double
/* returns 0 if value is unchaned */
static int xsane_update_double(GtkWidget *widget, double *val)
{
- char *start, *end;
+ const char *start;
+ char *end;
double v;
int value_changed = 0;
@@ -294,7 +299,7 @@ static void xsane_setup_printer_menu_build(GtkWidget *option_menu)
{
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);
+ g_signal_connect(GTK_OBJECT(printer_item), "activate", (GtkSignalFunc) xsane_setup_printer_callback, (void *) i);
gtk_widget_show(printer_item);
}
@@ -445,6 +450,8 @@ 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_own_cmap_button, &preferences.preview_own_cmap);
+ preferences.show_range_mode = xsane_setup.show_range_mode;
+
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);
@@ -453,13 +460,15 @@ static void xsane_setup_display_apply_changes(GtkWidget *widget, gpointer data)
xsane_update_double(xsane_setup.preview_oversampling_entry, &preferences.preview_oversampling);
- if (preferences.doc_viewer)
+ if (preferences.browser)
{
- free((void *) preferences.doc_viewer);
+ free((void *) preferences.browser);
}
- preferences.doc_viewer = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.doc_viewer_entry)));
+ preferences.browser = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.browser_entry)));
xsane_update_gamma_curve(TRUE /* update raw */);
+
+ xsane_batch_scan_update_icon_list(); /* update gamma of batch scan icons */
}
/* ---------------------------------------------------------------------------------------------------------------------- */
@@ -598,6 +607,7 @@ static void xsane_setup_image_apply_changes(GtkWidget *widget, gpointer data)
preferences.tiff_compression1_nr = xsane_setup.tiff_compression1_nr;
#endif
+ xsane_update_bool(xsane_setup.save_pnm16_as_ascii_button, &preferences.save_pnm16_as_ascii);
xsane_update_bool(xsane_setup.reduce_16bit_to_8bit_button, &preferences.reduce_16bit_to_8bit);
xsane_define_maximum_output_size();
@@ -681,6 +691,20 @@ static void xsane_setup_ocr_apply_changes(GtkWidget *widget, gpointer data)
free((void *) preferences.ocr_outputfile_option);
}
preferences.ocr_outputfile_option = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.ocr_outputfile_option_entry)));
+
+ xsane_update_bool(xsane_setup.ocr_use_gui_pipe_entry, &preferences.ocr_use_gui_pipe);
+
+ if (preferences.ocr_gui_outfd_option)
+ {
+ free((void *) preferences.ocr_gui_outfd_option);
+ }
+ preferences.ocr_gui_outfd_option = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.ocr_gui_outfd_option_entry)));
+
+ if (preferences.ocr_progress_keyword)
+ {
+ free((void *) preferences.ocr_progress_keyword);
+ }
+ preferences.ocr_progress_keyword = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.ocr_progress_keyword_entry)));
}
/* ---------------------------------------------------------------------------------------------------------------------- */
@@ -754,7 +778,7 @@ static void xsane_permission_toggled(GtkWidget *widget, gpointer data)
{
int mask = (int) data;
int *permission = 0;
- gchar *name = gtk_widget_get_name(widget);
+ const gchar *name = gtk_widget_get_name(widget);
DBG(DBG_proc, "xsane_permission_toggled\n");
@@ -795,17 +819,17 @@ static void xsane_permission_box(GtkWidget *parent, gchar *name, gchar *descript
gtk_box_pack_start(GTK_BOX(parent), hbox, FALSE, FALSE, 2);
label = gtk_label_new(TEXT_SETUP_PERMISSION_USER);
- gtk_widget_set_usize(label, 75, 0);
+ gtk_widget_set_size_request(label, 75, -1);
gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
gtk_widget_show(label);
label = gtk_label_new(TEXT_SETUP_PERMISSION_GROUP);
- gtk_widget_set_usize(label, 75, 0);
+ gtk_widget_set_size_request(label, 75, -1);
gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
gtk_widget_show(label);
label = gtk_label_new(TEXT_SETUP_PERMISSION_ALL);
- gtk_widget_set_usize(label, 75, 0);
+ gtk_widget_set_size_request(label, 75, -1);
gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
gtk_widget_show(label);
@@ -819,9 +843,9 @@ static void xsane_permission_box(GtkWidget *parent, gchar *name, gchar *descript
button = gtk_toggle_button_new_with_label("r");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 256 );
xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_READ);
- gtk_widget_set_usize(button, 21, 0);
+ gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
- gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 256);
+ g_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);
@@ -829,9 +853,9 @@ static void xsane_permission_box(GtkWidget *parent, gchar *name, gchar *descript
button = gtk_toggle_button_new_with_label("w");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 128 );
xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_WRITE);
- gtk_widget_set_usize(button, 21, 0);
+ gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
- gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 128);
+ g_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);
@@ -839,9 +863,9 @@ static void xsane_permission_box(GtkWidget *parent, gchar *name, gchar *descript
button = gtk_toggle_button_new_with_label("x");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 64 );
xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_EXECUTE);
- gtk_widget_set_usize(button, 21, 0);
+ gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
- gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 64);
+ g_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);
@@ -857,27 +881,27 @@ static void xsane_permission_box(GtkWidget *parent, gchar *name, gchar *descript
button = gtk_toggle_button_new_with_label("r");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 32 );
xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_READ);
- gtk_widget_set_usize(button, 21, 0);
+ gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
- gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 32);
+ g_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 );
xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_WRITE);
- gtk_widget_set_usize(button, 21, 0);
+ gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
- gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 16);
+ g_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 );
xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_EXECUTE);
- gtk_widget_set_usize(button, 21, 0);
+ gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
- gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 8);
+ g_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);
@@ -893,27 +917,27 @@ static void xsane_permission_box(GtkWidget *parent, gchar *name, gchar *descript
button = gtk_toggle_button_new_with_label("r");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 4 );
xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_READ);
- gtk_widget_set_usize(button, 21, 0);
+ gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
- gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 4);
+ g_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 );
xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_WRITE);
- gtk_widget_set_usize(button, 21, 0);
+ gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
- gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 2);
+ g_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 );
xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_EXECUTE);
- gtk_widget_set_usize(button, 21, 0);
+ gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
- gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 1);
+ g_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);
@@ -952,7 +976,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
gtk_widget_show(setup_vbox);
frame = gtk_frame_new(0);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
+ gtk_container_set_border_width(GTK_CONTAINER(frame), 7);
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);
@@ -990,7 +1014,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_NAME);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
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);
@@ -1008,7 +1032,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_COMMAND);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
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);
@@ -1026,7 +1050,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_COPY_NUMBER_OPTION);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
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);
@@ -1048,7 +1072,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_LINEART_RESOLUTION);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
snprintf(buf, sizeof(buf), "%d", preferences.printer[preferences.printernr]->lineart_resolution);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -1068,7 +1092,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_GRAYSCALE_RESOLUTION);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
snprintf(buf, sizeof(buf), "%d", preferences.printer[preferences.printernr]->grayscale_resolution);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -1088,7 +1112,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_COLOR_RESOLUTION);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
snprintf(buf, sizeof(buf), "%d", preferences.printer[preferences.printernr]->color_resolution);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -1112,7 +1136,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_WIDTH);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.printer[preferences.printernr]->width / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -1132,7 +1156,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_HEIGHT);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.printer[preferences.printernr]->height / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -1152,7 +1176,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_LEFTOFFSET);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.printer[preferences.printernr]->leftoffset / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -1172,7 +1196,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_BOTTOMOFFSET);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.printer[preferences.printernr]->bottomoffset / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -1195,7 +1219,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_GAMMA);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
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);
@@ -1214,7 +1238,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_GAMMA_RED);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
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);
@@ -1233,7 +1257,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_GAMMA_GREEN);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
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);
@@ -1252,7 +1276,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_GAMMA_BLUE);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
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);
@@ -1268,18 +1292,22 @@ static void xsane_printer_notebook(GtkWidget *notebook)
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_APPLY);
+#else
button = gtk_button_new_with_label(BUTTON_APPLY);
- gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_printer_apply_changes, printer_option_menu);
+#endif
+ g_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);
+ g_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);
+ g_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);
@@ -1290,7 +1318,7 @@ static void xsane_printer_notebook(GtkWidget *notebook)
static void xsane_setup_browse_tmp_path_callback(GtkWidget *widget, gpointer data)
{
- gchar *old_tmp_path;
+ const gchar *old_tmp_path;
char tmp_path[256];
char windowname[256];
@@ -1300,7 +1328,7 @@ static void xsane_setup_browse_tmp_path_callback(GtkWidget *widget, gpointer dat
strncpy(tmp_path, old_tmp_path, sizeof(tmp_path));
snprintf(windowname, sizeof(windowname), "%s %s", xsane.prog_name, WINDOW_TMP_PATH);
- xsane_back_gtk_get_filename(windowname, tmp_path, sizeof(tmp_path), tmp_path, TRUE, FALSE, TRUE);
+ xsane_back_gtk_get_filename(windowname, tmp_path, sizeof(tmp_path), tmp_path, NULL, TRUE, FALSE, TRUE, FALSE);
gtk_entry_set_text(GTK_ENTRY(xsane_setup.tmp_path_entry), tmp_path);
}
@@ -1324,7 +1352,7 @@ static void xsane_saving_notebook(GtkWidget *notebook)
gtk_widget_show(setup_vbox);
frame = gtk_frame_new(0);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
+ gtk_container_set_border_width(GTK_CONTAINER(frame), 7);
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);
@@ -1344,7 +1372,7 @@ static void xsane_saving_notebook(GtkWidget *notebook)
gtk_widget_show(label);
text = gtk_entry_new_with_max_length(255);
- gtk_widget_set_usize(text, 70, 0); /* set minimum size */
+ gtk_widget_set_size_request(text, 70, -1); /* set minimum size */
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_TMP_PATH);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.tmp_path);
gtk_box_pack_start(GTK_BOX(hbox), text, TRUE, TRUE, 4);
@@ -1352,7 +1380,7 @@ static void xsane_saving_notebook(GtkWidget *notebook)
xsane_setup.tmp_path_entry = text;
button = gtk_button_new_with_label(BUTTON_BROWSE);
- gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_browse_tmp_path_callback, NULL);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_browse_tmp_path_callback, NULL);
gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 2);
xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_BUTTON_TMP_PATH_BROWSE);
gtk_widget_show(button);
@@ -1414,7 +1442,7 @@ static void xsane_saving_notebook(GtkWidget *notebook)
filename_counter_len_menu = gtk_menu_new();
- for (i=0; i <= 10; i++)
+ for (i=0; i <= 9; i++)
{
if (i)
{
@@ -1426,8 +1454,7 @@ static void xsane_saving_notebook(GtkWidget *notebook)
}
filename_counter_len_item = gtk_menu_item_new_with_label(buf);
gtk_container_add(GTK_CONTAINER(filename_counter_len_menu), filename_counter_len_item);
- gtk_signal_connect(GTK_OBJECT(filename_counter_len_item), "activate",
- (GtkSignalFunc) xsane_setup_filename_counter_len_callback, (void *) i);
+ g_signal_connect(GTK_OBJECT(filename_counter_len_item), "activate", (GtkSignalFunc) xsane_setup_filename_counter_len_callback, (void *) i);
gtk_widget_show(filename_counter_len_item);
if (preferences.filename_counter_len == i)
{
@@ -1465,8 +1492,12 @@ static void xsane_saving_notebook(GtkWidget *notebook)
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_APPLY);
+#else
button = gtk_button_new_with_label(BUTTON_APPLY);
- gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_saving_apply_changes, NULL);
+#endif
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_saving_apply_changes, NULL);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
@@ -1534,7 +1565,7 @@ static void xsane_image_notebook(GtkWidget *notebook)
gtk_widget_show(setup_vbox);
frame = gtk_frame_new(0);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
+ gtk_container_set_border_width(GTK_CONTAINER(frame), 7);
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);
@@ -1544,6 +1575,17 @@ static void xsane_image_notebook(GtkWidget *notebook)
gtk_widget_show(vbox);
+ /* save pnm16 as ascii */
+ 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_SAVE_PNM16_AS_ASCII);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_SAVE_PNM16_AS_ASCII);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.save_pnm16_as_ascii);
+ gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2);
+ gtk_widget_show(button);
+ gtk_widget_show(hbox);
+ xsane_setup.save_pnm16_as_ascii_button = button;
+
/* reduce 16bit to 8bit */
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
@@ -1571,18 +1613,18 @@ static void xsane_image_notebook(GtkWidget *notebook)
#endif
#ifdef HAVE_LIBJPEG
- xsane_scale_new(GTK_BOX(vbox), TEXT_SETUP_JPEG_QUALITY, DESC_JPEG_QUALITY, 0.0, 100.0, 1.0, 10.0, 0.0, 0,
+ xsane_range_new(GTK_BOX(vbox), TEXT_SETUP_JPEG_QUALITY, DESC_JPEG_QUALITY, 0.0, 100.0, 1.0, 10.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, 10.0, 0.0, 0,
+ xsane_range_new(GTK_BOX(vbox), TEXT_SETUP_JPEG_QUALITY, DESC_JPEG_QUALITY, 0.0, 100.0, 1.0, 10.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, 10.0, 0.0, 0,
+ xsane_range_new(GTK_BOX(vbox), TEXT_SETUP_PNG_COMPRESSION, DESC_PNG_COMPRESSION, 0.0, Z_BEST_COMPRESSION, 1.0, 10.0, 0,
&preferences.png_compression, (GtkObject **) &xsane_setup.pnm_image_compression_scale, 0, TRUE);
#endif
#endif
@@ -1610,8 +1652,7 @@ static void xsane_image_notebook(GtkWidget *notebook)
{
tiff_compression_item = gtk_menu_item_new_with_label(tiff_compression16_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_compression16_callback, (void *) tiff_compression16_strings[i-1].number);
+ g_signal_connect(GTK_OBJECT(tiff_compression_item), "activate", (GtkSignalFunc) xsane_setup_tiff_compression16_callback, (void *) tiff_compression16_strings[i-1].number);
gtk_widget_show(tiff_compression_item);
if (tiff_compression16_strings[i-1].number == preferences.tiff_compression16_nr)
{
@@ -1646,8 +1687,7 @@ static void xsane_image_notebook(GtkWidget *notebook)
{
tiff_compression_item = gtk_menu_item_new_with_label(tiff_compression8_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_compression8_callback, (void *) tiff_compression8_strings[i-1].number);
+ g_signal_connect(GTK_OBJECT(tiff_compression_item), "activate", (GtkSignalFunc) xsane_setup_tiff_compression8_callback, (void *) tiff_compression8_strings[i-1].number);
gtk_widget_show(tiff_compression_item);
if (tiff_compression8_strings[i-1].number == preferences.tiff_compression8_nr)
{
@@ -1683,8 +1723,7 @@ static void xsane_image_notebook(GtkWidget *notebook)
{
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_compression1_callback, (void *) tiff_compression1_strings[i-1].number);
+ g_signal_connect(GTK_OBJECT(tiff_compression_item), "activate", (GtkSignalFunc) xsane_setup_tiff_compression1_callback, (void *) tiff_compression1_strings[i-1].number);
gtk_widget_show(tiff_compression_item);
if (tiff_compression1_strings[i-1].number == preferences.tiff_compression1_nr)
{
@@ -1707,8 +1746,12 @@ static void xsane_image_notebook(GtkWidget *notebook)
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_APPLY);
+#else
button = gtk_button_new_with_label(BUTTON_APPLY);
- gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_image_apply_changes, NULL);
+#endif
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_image_apply_changes, NULL);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
@@ -1717,10 +1760,39 @@ static void xsane_image_notebook(GtkWidget *notebook)
/* ---------------------------------------------------------------------------------------------------------------------- */
+typedef struct
+{
+ char *identifier;
+ char *fax_command;
+ char *fax_receiver_option;
+ char *fax_postscript_option;
+ char *fax_normal_option;
+ char *fax_fine_option;
+} fax_program_options_type;
+
+fax_program_options_type fax_program[] =
+{
+ {" hylafax ", "sendfax", "-d", "", "-l", "-m"},
+ {" mgetty+sendfax ", "faxspool", "", "", "-n", ""},
+ {" efax ", "fax send", "", "", "-l", ""},
+};
+
+static void xsane_fax_notebook_set_faxprogram_default_callback(GtkWidget *widget, int program_number)
+{
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.fax_command_entry), (char *) fax_program[program_number].fax_command);
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.fax_receiver_option_entry), (char *) fax_program[program_number].fax_receiver_option);
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.fax_postscript_option_entry), (char *) fax_program[program_number].fax_postscript_option);
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.fax_normal_option_entry), (char *) fax_program[program_number].fax_normal_option);
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.fax_fine_option_entry), (char *) fax_program[program_number].fax_fine_option);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
static void xsane_fax_notebook(GtkWidget *notebook)
{
GtkWidget *setup_vbox, *vbox, *hbox, *button, *label, *text, *frame;
char buf[64];
+ int i;
DBG(DBG_proc, "xsane_fax_notebook\n");
@@ -1733,7 +1805,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
gtk_widget_show(setup_vbox);
frame = gtk_frame_new(0);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
+ gtk_container_set_border_width(GTK_CONTAINER(frame), 7);
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);
@@ -1753,7 +1825,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_COMMAND);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
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);
@@ -1772,7 +1844,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_RECEIVER_OPT);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
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);
@@ -1791,7 +1863,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_POSTSCRIPT_OPT);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
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);
@@ -1810,7 +1882,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_NORMAL_OPT);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
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);
@@ -1829,7 +1901,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_FINE_OPT);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
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);
@@ -1837,6 +1909,26 @@ static void xsane_fax_notebook(GtkWidget *notebook)
xsane_setup.fax_fine_option_entry = text;
+ /* fax set program default options : */
+
+ 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_PROGRAM_DEFAULTS);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
+ gtk_widget_show(label);
+
+ for (i=0; i < sizeof(fax_program)/sizeof(fax_program_options_type); i++)
+ {
+ button = gtk_button_new_with_label(fax_program[i].identifier);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_fax_notebook_set_faxprogram_default_callback, (void *) i);
+ gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 10);
+ gtk_widget_show(button);
+ }
+
+ gtk_widget_show(hbox);
+
+
xsane_separator_new(vbox, 2);
@@ -1851,7 +1943,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_VIEWER);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
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);
@@ -1873,7 +1965,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_WIDTH);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.fax_width / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -1893,7 +1985,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_HEIGHT);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.fax_height / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -1913,7 +2005,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_LEFTOFFSET);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.fax_leftoffset / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -1933,7 +2025,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_BOTTOMOFFSET);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.fax_bottomoffset / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -1948,8 +2040,12 @@ static void xsane_fax_notebook(GtkWidget *notebook)
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_APPLY);
+#else
button = gtk_button_new_with_label(BUTTON_APPLY);
- gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_fax_apply_changes, NULL);
+#endif
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_fax_apply_changes, NULL);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
@@ -1986,7 +2082,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
gtk_widget_show(setup_vbox);
frame = gtk_frame_new(0);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
+ gtk_container_set_border_width(GTK_CONTAINER(frame), 7);
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);
@@ -2006,7 +2102,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_MAIL_FROM);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.mail_from);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2024,7 +2120,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_MAIL_REPLY_TO);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.mail_reply_to);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2045,7 +2141,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SMTP_SERVER);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.mail_smtp_server);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2063,7 +2159,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SMTP_PORT);
- gtk_widget_set_usize(text, 50, 0);
+ gtk_widget_set_size_request(text, 50, -1);
snprintf(buf, sizeof(buf), "%d", preferences.mail_smtp_port);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -2083,7 +2179,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
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_POP3_AUTHENTIFICATION);
- gtk_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_setup_pop3_authentification_callback, (void *) pop3_vbox);
+ g_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_setup_pop3_authentification_callback, (void *) pop3_vbox);
xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_POP3_AUTHENTIFICATION);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.mail_pop3_authentification);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2);
@@ -2105,7 +2201,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_POP3_SERVER);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.mail_pop3_server);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2123,7 +2219,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_POP3_PORT);
- gtk_widget_set_usize(text, 50, 0);
+ gtk_widget_set_size_request(text, 50, -1);
snprintf(buf, sizeof(buf), "%d", preferences.mail_pop3_port);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -2142,7 +2238,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_POP3_USER);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.mail_pop3_user);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2167,7 +2263,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_POP3_PASS);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) password);
gtk_entry_set_visibility(GTK_ENTRY(text), 0);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -2191,7 +2287,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_MAIL_VIEWER);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.mail_viewer);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2206,8 +2302,12 @@ static void xsane_mail_notebook(GtkWidget *notebook)
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_APPLY);
+#else
button = gtk_button_new_with_label(BUTTON_APPLY);
- gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_mail_apply_changes, NULL);
+#endif
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_mail_apply_changes, NULL);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
@@ -2219,7 +2319,7 @@ static void xsane_mail_notebook(GtkWidget *notebook)
static void xsane_ocr_notebook(GtkWidget *notebook)
{
- GtkWidget *setup_vbox, *vbox, *hbox, *label, *text, *frame;
+ GtkWidget *setup_vbox, *vbox, *hbox, *label, *text, *frame, *button;
DBG(DBG_proc, "xsane_ocr_notebook\n");
@@ -2232,7 +2332,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
gtk_widget_show(setup_vbox);
frame = gtk_frame_new(0);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
+ gtk_container_set_border_width(GTK_CONTAINER(frame), 7);
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);
@@ -2241,7 +2341,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
gtk_container_add(GTK_CONTAINER(frame), vbox);
gtk_widget_show(vbox);
- /* ocrcommand : */
+ /* ocr command : */
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
@@ -2252,7 +2352,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_OCR_COMMAND);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.ocr_command);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2260,7 +2360,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
xsane_setup.ocr_command_entry = text;
- /* ocrinputfileoption : */
+ /* ocr inputfile option : */
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
@@ -2271,7 +2371,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_OCR_INPUTFILE_OPT);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.ocr_inputfile_option);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2279,7 +2379,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
xsane_setup.ocr_inputfile_option_entry = text;
- /* ocroutputfileoption : */
+ /* ocr outputfile option : */
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
@@ -2290,12 +2390,79 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_OCR_OUTPUTFILE_OPT);
- gtk_widget_set_usize(text, 250, 0);
+ gtk_widget_set_size_request(text, 250, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.ocr_outputfile_option);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
gtk_widget_show(hbox);
xsane_setup.ocr_outputfile_option_entry = text;
+
+
+ /* ocr use gui pipe button */
+ 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_OCR_USE_GUI_PIPE);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_OCR_USE_GUI_PIPE_OPT);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.ocr_use_gui_pipe);
+ gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2);
+ gtk_widget_show(button);
+ gtk_widget_show(hbox);
+ xsane_setup.ocr_use_gui_pipe_entry = button;
+
+
+ /* ocr gui outfd 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_OCR_OUTFD_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(xsane.tooltips, text, DESC_OCR_OUTFD_OPT);
+ gtk_widget_set_size_request(text, 250, -1);
+ gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.ocr_gui_outfd_option);
+ gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
+ gtk_widget_show(text);
+ gtk_widget_show(hbox);
+ xsane_setup.ocr_gui_outfd_option_entry = text;
+
+
+ /* ocr progress keyword : */
+
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+
+ label = gtk_label_new(TEXT_SETUP_OCR_PROGRESS_KEYWORD);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
+ gtk_widget_show(label);
+
+ text = gtk_entry_new();
+ xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_OCR_PROGRESS_KEYWORD);
+ gtk_widget_set_size_request(text, 250, -1);
+ gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.ocr_progress_keyword);
+ gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
+ gtk_widget_show(text);
+ gtk_widget_show(hbox);
+ xsane_setup.ocr_progress_keyword_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);
+
+#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_APPLY);
+#else
+ button = gtk_button_new_with_label(BUTTON_APPLY);
+#endif
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_ocr_apply_changes, NULL);
+ gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
+ gtk_widget_show(button);
+ gtk_widget_show(hbox);
}
/* ---------------------------------------------------------------------------------------------------------------------- */
@@ -2303,7 +2470,18 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
static void xsane_display_notebook(GtkWidget *notebook)
{
GtkWidget *setup_vbox, *vbox, *hbox, *button, *label, *text, *frame;
+ GtkWidget *show_range_mode_option_menu, *show_range_mode_menu, *show_range_mode_item;
char buf[64];
+ int i, select = 1;
+
+ typedef struct show_range_mode_t
+ {
+ char *name;
+ int number;
+ } show_range_mode;
+
+#define SHOW_RANGE_MODE_NUMBER 5
+ show_range_mode show_range_mode_strings[SHOW_RANGE_MODE_NUMBER];
DBG(DBG_proc, "xsane_display_notebook\n");
@@ -2316,7 +2494,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
gtk_widget_show(setup_vbox);
frame = gtk_frame_new(0);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
+ gtk_container_set_border_width(GTK_CONTAINER(frame), 7);
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);
@@ -2352,7 +2530,59 @@ static void xsane_display_notebook(GtkWidget *notebook)
xsane_separator_new(vbox, 2);
+
+ /* show range type menu */
+ /* bit 0 (val 1) : show scale */
+ /* bit 1 (val 2) : show scrollbar */
+ /* bit 2 (val 4) : show spinbutton */
+ /* bit 3 (val 8) : show scale val */
+ show_range_mode_strings[0].name = MENU_ITEM_RANGE_SCALE;
+ show_range_mode_strings[0].number = 9; /* 1 + 8 = scale + value */
+ show_range_mode_strings[1].name = MENU_ITEM_RANGE_SCROLLBAR;
+ show_range_mode_strings[1].number = 10; /* 2 + 4 = scrollbar + value */
+ show_range_mode_strings[2].name = MENU_ITEM_RANGE_SPINBUTTON;
+ show_range_mode_strings[2].number = 4;
+ show_range_mode_strings[3].name = MENU_ITEM_RANGE_SCALE_SPIN;
+ show_range_mode_strings[3].number = 5; /* 1 + 4 = scale + spinbutton */
+ show_range_mode_strings[4].name = MENU_ITEM_RANGE_SCROLL_SPIN;
+ show_range_mode_strings[4].number = 6; /* 2 + 4 = scrollbar + spinbutton */
+
+ 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_SHOW_RANGE_MODE);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
+ gtk_widget_show(label);
+
+ show_range_mode_option_menu = gtk_option_menu_new();
+ xsane_back_gtk_set_tooltip(xsane.tooltips, show_range_mode_option_menu, DESC_SHOW_RANGE_MODE);
+ gtk_box_pack_end(GTK_BOX(hbox), show_range_mode_option_menu, FALSE, FALSE, 2);
+ gtk_widget_show(show_range_mode_option_menu);
+ gtk_widget_show(hbox);
+
+ show_range_mode_menu = gtk_menu_new();
+
+ for (i=1; i <= SHOW_RANGE_MODE_NUMBER; i++)
+ {
+ show_range_mode_item = gtk_menu_item_new_with_label(show_range_mode_strings[i-1].name);
+ gtk_container_add(GTK_CONTAINER(show_range_mode_menu), show_range_mode_item);
+ g_signal_connect(GTK_OBJECT(show_range_mode_item), "activate", (GtkSignalFunc) xsane_setup_show_range_mode_callback, (void *) show_range_mode_strings[i-1].number);
+ gtk_widget_show(show_range_mode_item);
+ if (show_range_mode_strings[i-1].number == preferences.show_range_mode)
+ {
+ select = i-1;
+ }
+ }
+
+ gtk_option_menu_set_menu(GTK_OPTION_MENU(show_range_mode_option_menu), show_range_mode_menu);
+ gtk_option_menu_set_history(GTK_OPTION_MENU(show_range_mode_option_menu), select);
+ xsane_setup.show_range_mode = preferences.show_range_mode;
+
+ xsane_separator_new(vbox, 2);
+
+
/* preview oversampling value: */
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
@@ -2366,7 +2596,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_oversampling);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_OVERSAMPLING);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2389,7 +2619,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_GAMMA);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2408,7 +2638,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma_red);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_GAMMA_RED);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2427,7 +2657,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma_green);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_GAMMA_GREEN);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2446,7 +2676,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma_blue);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_GAMMA_BLUE);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2479,12 +2709,12 @@ static void xsane_display_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_DOC_VIEWER);
- gtk_widget_set_usize(text, 250, 0);
- gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.doc_viewer);
+ gtk_widget_set_size_request(text, 250, -1);
+ gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.browser);
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_setup.browser_entry = text;
xsane_separator_new(vbox, 4);
@@ -2495,8 +2725,12 @@ static void xsane_display_notebook(GtkWidget *notebook)
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_APPLY);
+#else
button = gtk_button_new_with_label(BUTTON_APPLY);
- gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_display_apply_changes, NULL);
+#endif
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_display_apply_changes, NULL);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
@@ -2534,6 +2768,13 @@ static void xsane_enhance_notebook_sensitivity(int lineart_mode)
/* ---------------------------------------------------------------------------------------------------------------------- */
+static void xsane_setup_show_range_mode_callback(GtkWidget *widget, gpointer data)
+{
+ xsane_setup.show_range_mode = (int) data;
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
static void xsane_setup_lineart_mode_callback(GtkWidget *widget, gpointer data)
{
xsane_setup.lineart_mode = (int) data;
@@ -2611,7 +2852,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
gtk_widget_show(setup_vbox);
frame = gtk_frame_new(0);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
+ gtk_container_set_border_width(GTK_CONTAINER(frame), 7);
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);
@@ -2648,8 +2889,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
{
lineart_mode_item = gtk_menu_item_new_with_label(lineart_mode_strings[i-1].name);
gtk_container_add(GTK_CONTAINER(lineart_mode_menu), lineart_mode_item);
- gtk_signal_connect(GTK_OBJECT(lineart_mode_item), "activate",
- (GtkSignalFunc) xsane_setup_lineart_mode_callback, (void *) lineart_mode_strings[i-1].number);
+ g_signal_connect(GTK_OBJECT(lineart_mode_item), "activate", (GtkSignalFunc) xsane_setup_lineart_mode_callback, (void *) lineart_mode_strings[i-1].number);
gtk_widget_show(lineart_mode_item);
if (lineart_mode_strings[i-1].number == xsane.lineart_mode)
{
@@ -2675,7 +2915,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", xsane.threshold_min);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_THRESHOLD_MIN);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2695,7 +2935,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", xsane.threshold_max);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_THRESHOLD_MAX);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2715,7 +2955,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", xsane.threshold_mul);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_THRESHOLD_MUL);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2735,7 +2975,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", xsane.threshold_off);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_THRESHOLD_OFF);
- gtk_widget_set_usize(text, 80, 0);
+ gtk_widget_set_size_request(text, 80, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2783,7 +3023,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
{
gray_item = gtk_menu_item_new_with_label(_BGT(opt->constraint.string_list[i]));
gtk_container_add(GTK_CONTAINER(gray_menu), gray_item);
- gtk_signal_connect(GTK_OBJECT(gray_item), "activate", (GtkSignalFunc) xsane_setup_grayscale_mode_callback, (void *) opt->constraint.string_list[i]);
+ g_signal_connect(GTK_OBJECT(gray_item), "activate", (GtkSignalFunc) xsane_setup_grayscale_mode_callback, (void *) opt->constraint.string_list[i]);
gtk_widget_show(gray_item);
if (xsane.grayscale_scanmode)
@@ -2873,8 +3113,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%d x %d pixel", j, j);
preview_pipette_range_item = gtk_menu_item_new_with_label(buf);
gtk_container_add(GTK_CONTAINER(preview_pipette_range_menu), preview_pipette_range_item);
- gtk_signal_connect(GTK_OBJECT(preview_pipette_range_item), "activate",
- (GtkSignalFunc) xsane_setup_preview_pipette_range_callback, (void *) j);
+ g_signal_connect(GTK_OBJECT(preview_pipette_range_item), "activate", (GtkSignalFunc) xsane_setup_preview_pipette_range_callback, (void *) j);
gtk_widget_show(preview_pipette_range_item);
if (preferences.preview_pipette_range == j)
{
@@ -2915,7 +3154,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
adf_item = gtk_menu_item_new_with_label(MENU_ITEM_SELECTION_NONE);
gtk_container_add(GTK_CONTAINER(adf_menu), adf_item);
- gtk_signal_connect(GTK_OBJECT(adf_item), "activate", (GtkSignalFunc) xsane_setup_adf_mode_callback, NULL);
+ g_signal_connect(GTK_OBJECT(adf_item), "activate", (GtkSignalFunc) xsane_setup_adf_mode_callback, NULL);
gtk_widget_show(adf_item);
opt = xsane_get_option_descriptor(xsane.dev, xsane.well_known.scansource);
@@ -2938,7 +3177,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
{
adf_item = gtk_menu_item_new_with_label(_BGT(opt->constraint.string_list[i]));
gtk_container_add(GTK_CONTAINER(adf_menu), adf_item);
- gtk_signal_connect(GTK_OBJECT(adf_item), "activate", (GtkSignalFunc) xsane_setup_adf_mode_callback, (void *) opt->constraint.string_list[i]);
+ g_signal_connect(GTK_OBJECT(adf_item), "activate", (GtkSignalFunc) xsane_setup_adf_mode_callback, (void *) opt->constraint.string_list[i]);
gtk_widget_show(adf_item);
@@ -2977,8 +3216,12 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_APPLY);
+#else
button = gtk_button_new_with_label(BUTTON_APPLY);
- gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_enhance_apply_changes, NULL);
+#endif
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_enhance_apply_changes, NULL);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
@@ -2998,18 +3241,16 @@ void xsane_setup_dialog(GtkWidget *widget, gpointer data)
device_options_changed = 0;
- xsane_clear_histogram(&xsane.histogram_raw);
- xsane_clear_histogram(&xsane.histogram_enh);
xsane_set_sensitivity(FALSE);
xsane.preview->calibration = 1; /* show monitor calibration image */
- setup_dialog = gtk_window_new(GTK_WINDOW_DIALOG);
+ setup_dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(setup_dialog), GTK_WIN_POS_MOUSE);
snprintf(buf, sizeof(buf), "%s %s", xsane.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);
+ g_signal_connect(GTK_OBJECT(setup_dialog), "destroy", (GtkSignalFunc) xsane_destroy_setup_dialog_callback, setup_dialog);
xsane_set_window_icon(setup_dialog, 0);
/* set the main vbox */
@@ -3043,16 +3284,23 @@ void xsane_setup_dialog(GtkWidget *widget, gpointer data)
gtk_container_set_border_width(GTK_CONTAINER(hbox), 5);
gtk_widget_show(hbox);
-
+#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_OK);
+#else
button = gtk_button_new_with_label(BUTTON_OK);
+#endif
GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
- gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_options_ok_callback, setup_dialog);
+ g_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);
+#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
+#else
button = gtk_button_new_with_label(BUTTON_CANCEL);
- gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_close_setup_dialog_callback, setup_dialog);
+#endif
+ g_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);