From 23337be110e44acd2f922fed0c92c5130abc1bba Mon Sep 17 00:00:00 2001 From: Mattia Rizzolo Date: Fri, 3 Oct 2014 16:20:28 +0200 Subject: Imported Upstream version 0.999 --- src/xsane-back-gtk.c | 4 ++++ src/xsane-front-gtk.c | 7 +++++-- src/xsane-preview.c | 20 ++++++++++++++++++++ src/xsane-setup.c | 4 ++-- src/xsane.h | 6 +++--- 5 files changed, 34 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/xsane-back-gtk.c b/src/xsane-back-gtk.c index 4701dc6..bca9eb2 100644 --- a/src/xsane-back-gtk.c +++ b/src/xsane-back-gtk.c @@ -1130,6 +1130,10 @@ static void xsane_back_gtk_filetype2_callback(GtkWidget *widget, gpointer data) } snprintf(filename, sizeof(filename), "%s%s", chooser_filename, new_filetype); } + else + { + snprintf(filename, sizeof(filename), "%s", chooser_filename); + } if (filechooser_filetype) { diff --git a/src/xsane-front-gtk.c b/src/xsane-front-gtk.c index 35aa89d..4c973fb 100644 --- a/src/xsane-front-gtk.c +++ b/src/xsane-front-gtk.c @@ -1709,7 +1709,7 @@ void xsane_update_param(void *arg) gtk_label_set(GTK_LABEL(xsane.info_label), buf); - if (xsane.preview->surface_unit == SANE_UNIT_MM) + if (xsane.preview && xsane.preview->surface_unit == SANE_UNIT_MM) { double dx, dy; @@ -1724,7 +1724,10 @@ void xsane_update_param(void *arg) xsane_update_histogram(TRUE /* update raw */); - preview_display_valid(xsane.preview); + if (xsane.preview) + { + preview_display_valid(xsane.preview); + } } /* ---------------------------------------------------------------------------------------------------------------------- */ diff --git a/src/xsane-preview.c b/src/xsane-preview.c index f089dd1..3eb6479 100644 --- a/src/xsane-preview.c +++ b/src/xsane-preview.c @@ -4666,6 +4666,9 @@ void preview_update_surface(Preview *p, int surface_changed) SANE_Unit unit; double min, max; int expand_surface = 0; + gint min_width, min_height; + GdkScreen *screen; + GdkRectangle geometry; DBG(DBG_proc, "preview_update_surface\n"); @@ -4849,8 +4852,25 @@ void preview_update_surface(Preview *p, int surface_changed) { DBG(DBG_info, "preview_update_surface: defining size of preview window\n"); +/* p->preview_window_width = 0.3 * gdk_screen_width(); p->preview_window_height = 0.5 * gdk_screen_height(); +*/ + /* ensure preview window fits on displays, account for multi-head */ + min_width = gdk_screen_width(); + min_height = gdk_screen_height(); + + screen = gdk_screen_get_default(); + for (i = 0; i < gdk_screen_get_n_monitors(screen); i++) + { + gdk_screen_get_monitor_geometry(screen, i, &geometry); + min_width = MIN(min_width, geometry.width); + min_height = MIN(min_height, geometry.height); + } + + p->preview_window_width = 0.3 * min_width; + p->preview_window_height = 0.5 * min_height; + preview_area_correct(p); /* calculate preview_width and height */ gtk_widget_set_size_request(GTK_WIDGET(p->window), p->preview_width, p->preview_height); } diff --git a/src/xsane-setup.c b/src/xsane-setup.c index f047584..a61833a 100644 --- a/src/xsane-setup.c +++ b/src/xsane-setup.c @@ -729,7 +729,7 @@ static void xsane_setup_email_apply_changes(GtkWidget *widget, gpointer data) /* this is very simple but better than nothing */ for (i=0; i - Copyright (C) 1998-2007 Oliver Rauch + Copyright (C) 1998-2013 Oliver Rauch This file is part of the XSANE package. This program is free software; you can redistribute it and/or modify @@ -91,10 +91,10 @@ /* ---------------------------------------------------------------------------------------------------------------------- */ -#define XSANE_VERSION "0.998" +#define XSANE_VERSION "0.999" #define XSANE_AUTHOR "Oliver Rauch" #define XSANE_COPYRIGHT "Oliver Rauch" -#define XSANE_DATE "1998-2010" +#define XSANE_DATE "1998-2013" #define XSANE_EMAIL_ADR "Oliver.Rauch@xsane.org" #define XSANE_HOMEPAGE "http://www.xsane.org" #define XSANE_COPYRIGHT_TXT XSANE_DATE " " XSANE_COPYRIGHT -- cgit v1.2.3