diff options
Diffstat (limited to 'src/xsane-preview.c')
-rw-r--r-- | src/xsane-preview.c | 59 |
1 files changed, 23 insertions, 36 deletions
diff --git a/src/xsane-preview.c b/src/xsane-preview.c index 5bd6457..b59ef1b 100644 --- a/src/xsane-preview.c +++ b/src/xsane-preview.c @@ -2405,12 +2405,22 @@ int preview_create_batch_icon_from_file(Preview *p, FILE *in, Batch_Scan_Paramet void preview_create_batch_icon(Preview *p, Batch_Scan_Parameters *parameters) { - FILE *in; + FILE *in = NULL; int quality = 0; int time = 0; + int level; - in = fopen(xsane.preview->filename[0], "rb"); - quality = preview_create_batch_icon_from_file(xsane.preview, in, parameters, quality, &time); + for(level = 2; level >= 0; level--) + { + if (p->filename[level]) + { + in = fopen(p->filename[level], "rb"); /* read binary (b for win32) */ + if (in) + { + quality = preview_create_batch_icon_from_file(xsane.preview, in, parameters, quality, &time); + } + } + } if (quality <= 0) { @@ -2430,7 +2440,6 @@ void preview_create_batch_icon(Preview *p, Batch_Scan_Parameters *parameters) } fclose(in); } - /* ---------------------------------------------------------------------------------------------------------------------- */ static int preview_restore_image_from_file(Preview *p, FILE *in, int min_quality, int *min_time) @@ -4122,8 +4131,6 @@ static void preview_create_preset_area_menu(Preview *p, int selection) void preview_generate_preview_filenames(Preview *p) { char filename[PATH_MAX]; - char buf[256]; - int error_flag = 0; int i; DBG(DBG_proc, "preview_generate_preview_filenames\n"); @@ -4143,30 +4150,23 @@ void preview_generate_preview_filenames(Preview *p) } else { - p->filename[i] = NULL; /* mark filename does not exist */ DBG(DBG_error, "ERROR: could not create preview file %s\n", filename); - error_flag = 1; + p->filename[0] = NULL; /* mark filename does not exist */ + p->filename[1] = NULL; /* mark filename does not exist */ + p->filename[2] = NULL; /* mark filename does not exist */ + break; /* do not try next preview level, one error is enough */ } } else { DBG(DBG_error, "ERROR: could not create filename for preview level %d\n", i); - p->filename[i] = NULL; - error_flag = 2; + p->filename[0] = NULL; /* mark filename does not exist */ + p->filename[1] = NULL; /* mark filename does not exist */ + p->filename[2] = NULL; /* mark filename does not exist */ + break; /* do not try next preview level, one error is enough */ } } - if (error_flag == 1) - { - snprintf(buf, sizeof(buf), ERR_CREATE_PREVIEW_FILE); - xsane_back_gtk_error(buf, TRUE); - } - else if (error_flag == 2) - { - snprintf(buf, sizeof(buf), ERR_CREATE_PREVIEW_FILENAME); - xsane_back_gtk_error(buf, TRUE); - } - return; } @@ -4526,17 +4526,6 @@ Preview *preview_new(void) gtk_container_add(GTK_CONTAINER(frame), p->zoom); gtk_widget_show(p->zoom); -#if 0 - /* the RGB label */ - frame = gtk_frame_new(0); - gtk_box_pack_start(GTK_BOX(p->menu_box), frame, FALSE, FALSE, 3); - gtk_widget_show(frame); - p->rgb_label = gtk_label_new(0); - gtk_container_add(GTK_CONTAINER(frame), p->rgb_label); - gtk_widget_show(p->rgb_label); - preview_display_color_components(p, -1, -1); /* display "###, ###, ###" */ -#endif - gtk_widget_show(p->menu_box); /* the menu box is ready */ @@ -4592,7 +4581,6 @@ Preview *preview_new(void) gtk_widget_show(p->cancel); gtk_widget_set_sensitive(p->cancel, FALSE); -#if 1 /* the RGB label */ frame = gtk_frame_new(0); gtk_box_pack_start(GTK_BOX(action_box), frame, FALSE, FALSE, 3); @@ -4601,14 +4589,13 @@ Preview *preview_new(void) gtk_container_add(GTK_CONTAINER(frame), p->rgb_label); gtk_widget_show(p->rgb_label); preview_display_color_components(p, -1, -1); /* display "###, ###, ###" */ -#endif preview_update_surface(p, 0); gtk_widget_show(p->window); gtk_widget_show(p->top); - cursor = gdk_cursor_new(XSANE_CURSOR_PREVIEW); /* set default curosr */ + cursor = gdk_cursor_new(XSANE_CURSOR_PREVIEW); /* set default cursor */ gdk_window_set_cursor(p->window->window, cursor); gdk_cursor_unref(cursor); p->cursornr = XSANE_CURSOR_PREVIEW; @@ -4622,7 +4609,7 @@ Preview *preview_new(void) preview_display_valid(p); - return p; + return p; } |